[hidden] { display:none !important; }
.site-account { display:flex; align-items:center; gap:12px; font-size:13px; margin-left:20px; white-space:nowrap; }
.account-email { max-width:190px; overflow:hidden; text-overflow:ellipsis; }
.quiet-button { font:inherit; color:inherit; background:transparent; border:1px solid currentColor; padding:8px 12px; cursor:pointer; border-radius:0; }
.quiet-button:hover { background:rgba(255,255,255,.1); }
button:disabled { opacity:.55; cursor:not-allowed; }
.mcp-entry { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.mcp-entry>.mono { font-size:11px; letter-spacing:0; color:var(--muted); }
.mcp-entry h3 { margin:8px 0; font-size:24px; font-weight:500; line-height:1.4; }
.mcp-entry p { max-width:500px; color:var(--muted); font-size:14px; line-height:1.8; }
.mcp-entry-actions { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; margin-top:20px; font-size:14px; }
.mcp-entry-actions a { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 0; }
.mcp-entry-actions .mcp-entry-primary { background:#fff; color:var(--blue); padding:12px 18px; font-size:16px; font-weight:600; }
.mcp-entry-actions a:hover { text-decoration:underline; text-underline-offset:4px; }
html.mcp-modal-open { overflow:hidden; scrollbar-gutter:stable; }
.mcp-dialog { --muted:#d4e1ff; --line:rgba(255,255,255,.32); color-scheme:dark; width:min(1140px,calc(100% - 64px)); max-width:none; max-height:calc(100dvh - 64px); padding:0; border:1px solid rgba(255,255,255,.8); background:var(--blue); color:#fff; box-shadow:0 24px 100px rgba(0,10,50,.4); overflow:hidden; margin:auto; }
.mcp-dialog::backdrop { background:rgba(0,16,61,.72); backdrop-filter:blur(5px); }
.mcp-dialog-shell { display:flex; flex-direction:column; max-height:inherit; min-height:0; }
.mcp-dialog-header { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:26px 32px; border-bottom:1px solid var(--line); background:var(--blue); color:#fff; flex-shrink:0; }
.mcp-eyebrow { font-size:11px; letter-spacing:0; color:#d0ddff; }
.mcp-dialog-header h2 { font-size:30px; line-height:1.35; letter-spacing:0; margin:6px 0 8px; font-weight:600; }
.mcp-dialog-header h2:focus { outline:none; }
.mcp-dialog-header p { font-size:15px; line-height:1.7; color:#e1eaff; max-width:620px; }
.mcp-close { display:flex; align-items:center; gap:12px; min-height:44px; flex-shrink:0; padding:8px 14px; border:1px solid rgba(255,255,255,.65); background:transparent; color:#fff; font-size:15px; }
.mcp-close span { font-size:26px; line-height:1; }
.mcp-close:hover { background:rgba(255,255,255,.15); }
.mcp-dialog-content { padding:24px 32px 28px; overflow-y:auto; overscroll-behavior:contain; min-height:0; font-size:16px; line-height:1.7; }
.mcp-workspace { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:24px; align-items:start; }
.mcp-key-card,.mcp-connect-card { padding:26px 24px 24px; border:1px solid rgba(255,255,255,.5); background:rgba(0,24,90,.12); min-width:0; transition:box-shadow .3s ease,border-color .3s ease; }
.mcp-workspace[data-flow-target=key] .mcp-key-card,.mcp-workspace[data-flow-target=config] .mcp-connect-card { border-color:rgba(255,255,255,.9); box-shadow:0 8px 28px rgba(0,13,65,.18); }
.mcp-flow-indicator { position:absolute; left:0; top:0; height:5px; z-index:1; pointer-events:none; background:linear-gradient(90deg,#9ecaff,#e0efff,#9ecaff); border-radius:3px; box-shadow:0 2px 14px rgba(175,215,255,.65); transform-origin:50% 50%; will-change:transform; }
.mcp-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mcp-key-count { color:var(--muted); background:rgba(255,255,255,.07); border:1px solid var(--line); padding:2px 9px; font-size:13px; flex-shrink:0; }
.mcp-workspace h3 { font-size:22px; line-height:1.4; font-weight:600; margin:0; }
.mcp-card-intro { margin:10px 0 20px; color:var(--muted); font-size:15px; }
.mcp-dialog :is(input,textarea,button,a,summary):focus-visible { outline:3px solid #b9dcff; outline-offset:3px; }
.mcp-dialog .mcp-close:focus-visible { outline-color:#fff; }
.mcp-dialog a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.mcp-dialog .muted { font-size:14px; color:var(--muted); line-height:1.7; }
.mcp-dialog label:not(.acknowledgement) { display:block; font-size:15px; font-weight:600; margin:16px 0 8px; }
.mcp-dialog input:not([type=checkbox]),.mcp-dialog textarea { width:100%; min-width:0; border:1px solid rgba(255,255,255,.6); border-radius:0; padding:12px 14px; background:rgba(0,17,73,.3); color:#fff; font:inherit; font-size:16px; box-sizing:border-box; }
.mcp-dialog input::placeholder { color:#c4d2f3; opacity:1; }
.acknowledgement { display:flex; align-items:flex-start; gap:10px; margin:20px 0; font-size:14px; line-height:1.8; color:var(--muted); }
.acknowledgement input { margin:5px 0 0; width:17px; height:17px; flex-shrink:0; accent-color:#fff; }
.account-primary { display:flex; justify-content:center; align-items:center; gap:16px; width:100%; min-height:48px; padding:12px 16px; background:var(--blue); border:1px solid var(--blue); color:#fff; font:inherit; font-size:16px; font-weight:600; cursor:pointer; }
.account-primary:hover:not(:disabled) { background:#00288f; }
.mcp-dialog .quiet-button { border-color:rgba(255,255,255,.6); font-size:14px; min-height:42px; }
.mcp-dialog .quiet-button:hover { background:rgba(255,255,255,.12); }
.mcp-dialog .account-primary { background:#fff; color:var(--blue); border-color:#fff; }
.mcp-dialog .account-primary:hover:not(:disabled) { background:#e7efff; border-color:#e7efff; }
.account-status { font-size:14px; line-height:1.75; color:var(--muted); margin:16px 0 0; overflow-wrap:anywhere; }
.account-status:empty { display:none; }
.account-status.is-error,.mcp-sign-in { color:#ffe3d9; padding:12px 14px; background:rgba(65,7,24,.4); border-left:3px solid #ffb3a2; }
.mcp-sign-in { margin:0 0 20px; font-size:15px; }
.mcp-card-heading { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:10px; margin:16px 0 4px; }
.mcp-dialog details { border-top:1px solid var(--line); margin-top:20px; padding-top:16px; }
.mcp-dialog summary { cursor:pointer; font-size:15px; font-weight:600; line-height:1.8; }
.mcp-dialog summary>span { color:var(--muted); font-size:13px; font-weight:400; margin-left:10px; }
.key-list { display:grid; gap:12px; max-height:335px; overflow-y:auto; padding:4px; margin:-4px; scrollbar-width:thin; }
.key-list:empty::after { content:'还没有密钥。在下方创建一枚，即可复制配置。'; display:block; padding:20px 16px; border:1px dashed rgba(255,255,255,.5); background:rgba(255,255,255,.04); color:var(--muted); font-size:15px; }
.key-row { border:1px solid var(--line); background:rgba(255,255,255,.035); transition:border-color .2s ease,background .2s ease; }
.key-row.is-selected { border-color:#fff; background:rgba(255,255,255,.14); box-shadow:inset 3px 0 0 #fff; }
.key-choice { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; width:100%; padding:14px 14px 8px; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.key-choice:hover:not(:disabled) { background:rgba(255,255,255,.08); }
.key-choice strong { font-size:16px; line-height:1.5; overflow-wrap:anywhere; font-weight:600; }
.key-choice code { grid-column:1; grid-row:2; font-size:12px; line-height:1.8; color:var(--muted); overflow-wrap:anywhere; }
.key-selection-label { grid-column:2; grid-row:1 / 3; align-self:center; color:var(--muted); font-size:13px; white-space:nowrap; }
.is-selected .key-selection-label { color:#fff; font-weight:600; }
.key-row-footer { display:flex; gap:8px; align-items:center; justify-content:space-between; padding:0 14px 10px; }
.key-meta { font-size:12px; color:var(--muted); line-height:1.8; margin:0; }
.key-delete { border:0; background:transparent; color:#ffd1c8; font:inherit; font-size:13px; cursor:pointer; flex-shrink:0; padding:7px 0 7px 10px; min-height:36px; }
.key-delete:hover:not(:disabled) { color:#ffe9e4; text-decoration:underline; text-underline-offset:3px; }
.mcp-dialog .mcp-create { margin-top:18px; padding:16px; border:1px solid var(--line); background:rgba(255,255,255,.045); }
.mcp-create summary { color:#fff; }
.mcp-create summary>span { float:right; font-size:20px; color:#fff; }
.mcp-dialog .mcp-restore-form { margin-top:18px; padding:16px; border:1px solid rgba(255,255,255,.5); background:rgba(255,255,255,.06); }
.mcp-restore-form h4 { font-size:16px; font-weight:600; margin:0 0 8px; }
.config-tabs { display:flex; gap:8px; margin:20px 0; padding:5px; background:rgba(0,19,78,.2); border:1px solid var(--line); }
.config-tabs button { flex:1; padding:10px 12px; border:1px solid transparent; background:transparent; color:var(--muted); font:inherit; font-size:16px; font-weight:600; border-radius:0; }
.config-tabs button:hover:not([aria-selected=true]) { background:rgba(255,255,255,.08); color:#fff; }
.config-tabs button[aria-selected=true] { background:#fff; color:var(--blue); border-color:#fff; }
.config-notice { font-size:21px; line-height:1.5; font-weight:600; color:var(--muted); margin:4px 0 18px; }
.mcp-connect-card>.mcp-card-intro { overflow-wrap:anywhere; padding:12px 14px; background:rgba(255,255,255,.055); border:1px solid var(--line); margin-bottom:16px; }
.is-ready .config-notice { color:#fff; }
.config-actions { display:flex; flex-wrap:wrap; gap:10px; }
.config-actions .account-primary:disabled { background:rgba(255,255,255,.1); color:var(--muted); border-color:var(--line); opacity:1; }
.config-copy-status:not(:empty) { color:#e5fff2; background:rgba(0,25,83,.32); border-left:3px solid #a2f4cd; padding:10px 12px; }
.mcp-dialog .config-preview { margin-top:16px; padding-top:14px; }
.config-destination { margin-top:20px; padding:16px; border:1px solid var(--line); background:rgba(255,255,255,.05); }
.config-destination>span { display:block; color:var(--muted); font-size:14px; }
.config-destination>code { display:block; font-size:16px; color:#fff; margin:5px 0 8px; overflow-wrap:anywhere; }
.config-destination>p { font-size:14px; line-height:1.8; color:var(--muted); }
.mcp-dialog .mcp-config { display:block; margin:14px 0; resize:vertical; font-family:var(--mono); font-size:13px; line-height:1.8; white-space:pre; overflow:auto; background:rgba(0,17,73,.3); tab-size:2; }
.key-secret textarea { display:block; resize:vertical; margin:12px 0; min-height:80px; overflow-wrap:anywhere; font-family:var(--mono); font-size:13px; }
.config-security { margin-top:12px; font-size:13px; line-height:1.8; color:var(--muted); }
.mcp-dialog .mcp-local-guide { margin-top:24px; }
.mcp-guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:18px; }
.mcp-guide-grid h3 { font-size:17px; margin-bottom:12px; }
.mcp-guide-grid p,.mcp-guide-grid ol { font-size:14px; color:var(--muted); line-height:1.9; margin:12px 0 0; }
.mcp-guide-grid ol { padding-left:22px; }
.mcp-guide-grid li+li { margin-top:8px; }
.mcp-guide-grid code { overflow-wrap:anywhere; color:#fff; font-size:13px; }
.mcp-guide-grid .mcp-service-url { display:block; font-size:14px; }
.mcp-boundary { font-size:13px; line-height:1.85; color:var(--muted); margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.mcp-visually-hidden { position:absolute; width:1px !important; height:1px; padding:0 !important; margin:-1px !important; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.mcp-legacy { margin:80px 6%; font-size:18px; }.mcp-legacy h1 { font-size:30px; margin-bottom:18px; }.mcp-legacy a { text-decoration:underline; }
.auth-message,.website-privacy { max-width:800px; margin:80px auto; padding:0 24px; color:#16294c; font:16px/1.9 system-ui,sans-serif; }
.website-privacy h1 { font-size:32px; line-height:1.4; }.website-privacy h2 { font-size:22px; margin-top:36px; }
.website-privacy a,.auth-message a { color:#002fa7; }
@media(max-width:1100px) { .site-account { margin-left:12px; }.mcp-workspace { gap:18px; }.mcp-key-card,.mcp-connect-card { padding:20px; } }
@media(max-width:820px) { .mcp-workspace { grid-template-columns:1fr; }.mcp-guide-grid { grid-template-columns:1fr; gap:20px; }.mcp-dialog-header { padding:22px; }.mcp-dialog-content { padding:22px; }.key-list { max-height:none; } }
@media(max-width:760px) {
 .site-header { flex-wrap:wrap; gap:12px 20px; height:auto; min-height:92px; padding:16px 0; }.site-account { margin-left:auto; gap:8px; font-size:12px; }.account-email { max-width:160px; }.site-account .quiet-button { padding:5px 8px; }
 .mcp-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); }.mcp-dialog-header { padding:20px; gap:12px; }.mcp-dialog-header h2 { font-size:24px; }.mcp-dialog-header p { font-size:14px; }.mcp-close { padding:6px 10px; gap:6px; font-size:14px; }.mcp-dialog-content { padding:20px; }.mcp-workspace h3 { font-size:21px; }.config-destination>code { font-size:15px; }
}
@media(max-width:390px) { .site-account { flex-basis:100%; justify-content:flex-end; }.mcp-dialog-header { padding:18px 16px; }.mcp-dialog-header h2 { font-size:22px; }.mcp-dialog-content { padding:16px; }.mcp-key-card,.mcp-connect-card { padding:18px; }.mcp-eyebrow { font-size:10px; }.mcp-close { min-width:42px; }.config-tabs button { padding:10px 6px; font-size:15px; } }
@media(prefers-reduced-motion:reduce) { .mcp-dialog-content { scroll-behavior:auto; }.mcp-key-card,.mcp-connect-card,.key-row { transition:none; } }
