:root{
  --bg:#0a2540; --border:#3d6a94; --text-dim:#cfe0f0; --text:#ffffff;
  --accent:#4A90D9; --accent-2:#7FB3E8; --down:#c96a63;
  --grid-line:rgba(207,224,240,.09);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;height:100%}
body{
  background:var(--bg);color:var(--text);
  font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;
  background-image:
    linear-gradient(var(--grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:28px 28px;
  display:grid;place-items:center;min-height:100vh;padding:24px;position:relative;
}

.tick{position:fixed;width:22px;height:22px;pointer-events:none;border-color:var(--accent)}
.tick-tl{top:14px;left:14px;border-top:1.5px solid var(--accent);border-left:1.5px solid var(--accent)}
.tick-tr{top:14px;right:14px;border-top:1.5px solid var(--accent);border-right:1.5px solid var(--accent)}
.tick-bl{bottom:14px;left:14px;border-bottom:1.5px solid var(--accent);border-left:1.5px solid var(--accent)}
.tick-br{bottom:14px;right:14px;border-bottom:1.5px solid var(--accent);border-right:1.5px solid var(--accent)}

.login-panel{width:min(360px,90vw);display:flex;flex-direction:column;gap:26px}
.login-brand{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
.login-wordmark{font-weight:600;font-size:19px;letter-spacing:.1em;color:var(--text)}
.login-sub{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.14em;color:var(--text-dim)}

.login-form{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field span{font-family:ui-monospace,monospace;font-size:9.5px;letter-spacing:.2em;color:var(--text-dim)}
.field input{background:rgba(255,255,255,.03);border:1px solid var(--border);padding:11px 12px;color:var(--text);
  border-radius:2px;font-size:15px}
.field input::placeholder{color:var(--text-dim);opacity:.5}
.field input:focus-visible{border-color:var(--accent);outline:none}

.login-error{font-family:ui-monospace,monospace;font-size:11px;color:var(--down);line-height:1.5;display:none}
.login-error.is-error{display:block}

.login-go{margin-top:6px;padding:12px;background:rgba(74,144,217,.12);border:1px solid var(--accent);
  border-radius:2px;color:var(--accent-2);font-weight:500;font-size:13px;
  letter-spacing:.1em;cursor:pointer;transition:background .2s}
.login-go:hover{background:rgba(74,144,217,.24)}
.login-go:focus-visible{outline:1px solid var(--accent);outline-offset:2px}

.login-foot{text-align:center;font-family:ui-monospace,monospace;font-size:10px;color:var(--text-dim);
  opacity:.6;letter-spacing:.04em}

.mcp-btn{appearance:none;-webkit-appearance:none;width:100%;margin:4px 0 0;padding:9px 14px;
  background:rgba(74,144,217,.06);border:1px dashed var(--border);
  border-radius:2px;color:var(--text-dim);font-family:ui-monospace,monospace;font-size:10.5px;
  letter-spacing:.1em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.mcp-btn:hover{border-color:var(--accent);border-style:solid;color:var(--accent-2)}
.mcp-btn:focus-visible{outline:1px solid var(--accent);outline-offset:2px}
.mcp-btn-icon{color:var(--accent);font-size:13px}

.mcp-panel{display:none;margin-top:8px;border:1px solid var(--border);border-left:2px solid var(--accent);
  background:rgba(255,255,255,.02);padding:14px 16px;flex-direction:column;gap:14px}
.mcp-panel.is-open{display:flex}
.mcp-panel-title{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:.14em;color:var(--accent)}

.mcp-step{display:flex;gap:10px;align-items:flex-start}
.mcp-step-n{font-family:ui-monospace,monospace;font-size:10px;color:var(--border);padding-top:2px;flex-shrink:0}
.mcp-step-label{font-family:ui-monospace,monospace;font-size:10.5px;letter-spacing:.06em;color:var(--text);margin-bottom:5px}
.mcp-step-text{font-size:12px;color:var(--text-dim);margin:0;line-height:1.6}

.mcp-code{display:block;background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:2px;
  padding:8px 10px;font-family:ui-monospace,monospace;font-size:10.5px;color:var(--accent-2);
  white-space:pre-wrap;word-break:break-all;line-height:1.5}
.mcp-code-inline{background:rgba(0,0,0,.35);border:1px solid var(--border);border-radius:2px;
  padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px;color:var(--accent-2)}

.mcp-copy{appearance:none;-webkit-appearance:none;margin-top:6px;padding:4px 10px;background:none;
  border:1px solid var(--border);border-radius:2px;color:var(--text-dim);
  font-family:ui-monospace,monospace;font-size:9.5px;letter-spacing:.08em;cursor:pointer}
.mcp-copy:hover{border-color:var(--accent);color:var(--accent-2)}
.mcp-copy.copied{border-color:var(--accent);color:var(--accent-2)}
