:root { --ink:#16211d; --muted:#6b7771; --line:#d9e2db; --paper:#f6f8f5; --accent:#1b6b52; --accent-dark:#104633; --warm:#e8f0e9; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif; }
a { color:var(--accent); text-decoration:none; }
a:hover { color:var(--accent-dark); text-decoration:underline; }
.topbar { height:68px; display:flex; align-items:center; justify-content:space-between; padding:0 5vw; border-bottom:1px solid var(--line); background:rgba(255,255,255,.88); }
.brand { color:var(--ink); font-weight:800; letter-spacing:.08em; }.brand span { color:var(--muted); font-size:10px; margin-left:10px; letter-spacing:.16em; }.top-actions { display:flex; gap:18px; align-items:center; font-size:13px; }.text-button { padding:0; border:0; border-radius:0; color:var(--accent); background:transparent; font:inherit; }.text-button:hover { color:var(--accent-dark); background:transparent; text-decoration:underline; }
.home-shell { max-width:1180px; margin:0 auto; padding:64px 28px 100px; }.hero { max-width:840px; }.eyebrow { color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.16em; }.hero h1 { margin:14px 0 10px; font-size:clamp(34px,5vw,64px); line-height:1.08; letter-spacing:-.04em; }.hero p { color:var(--muted); font-size:17px; line-height:1.8; }
.search-box { display:flex; max-width:760px; margin-top:28px; padding:7px; border:1px solid var(--line); border-radius:16px; background:white; box-shadow:0 12px 40px rgba(30,73,52,.08); }.search-box input { flex:1; min-width:0; padding:14px 16px; border:0; outline:0; color:var(--ink); font-size:16px; background:transparent; }.search-box button, button { border:0; border-radius:11px; padding:12px 20px; color:white; background:var(--accent); font-weight:700; cursor:pointer; }.search-box button:hover, button:hover { background:var(--accent-dark); }.search-hint { font-size:12px!important; margin-top:10px; }
.status-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:64px 0; }.status-card { padding:20px; border:1px solid var(--line); border-radius:14px; background:white; }.status-card span { display:block; color:var(--muted); font-size:12px; }.status-card strong { display:block; margin-top:8px; font-size:22px; }
.results-panel { padding-top:24px; border-top:1px solid var(--line); }.hidden { display:none; }.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:18px; }.section-heading h2 { margin:7px 0 0; font-size:28px; }.muted { color:var(--muted); font-size:13px; }.result-card { padding:22px 0; border-bottom:1px solid var(--line); }.result-type,.result-path { color:var(--muted); font-size:12px; }.result-card h3 { margin:7px 0; font-size:20px; }.result-card p { line-height:1.7; }.result-links { display:flex; gap:18px; font-size:13px; }.pager { display:flex; align-items:center; justify-content:center; gap:18px; padding:28px 0; }.secondary { color:var(--accent); background:var(--warm); }.secondary:disabled { opacity:.4; cursor:not-allowed; }.empty { padding:36px 0; color:var(--muted); }.error { color:#a33; }
.login-shell { min-height:100vh; display:grid; place-items:center; padding:24px; }.login-card { width:min(460px,100%); padding:42px; background:white; border:1px solid var(--line); border-radius:20px; box-shadow:0 18px 60px rgba(30,73,52,.1); }.login-card h1 { margin:16px 0 8px; }.login-card label { display:block; margin-top:18px; font-size:13px; font-weight:700; }.login-card input { display:block; width:100%; margin-top:7px; padding:13px; border:1px solid var(--line); border-radius:9px; font-size:16px; }.login-card button { width:100%; margin-top:24px; }.error { color:#a33; }.document-shell { max-width:900px; margin:0 auto; padding:64px 28px; }.document-shell h1 { font-size:42px; line-height:1.2; }.path { padding:13px; border-radius:8px; background:var(--warm); color:var(--muted); overflow:auto; }.actions { display:flex; gap:12px; margin:28px 0; }.button { display:inline-flex; align-items:center; justify-content:center; padding:12px 18px; color:white; background:var(--accent); border-radius:10px; font-weight:700; }.button.secondary { color:var(--accent); }.button.standard-file-button { color:#0d3d2d; background:#e4efe8; border:1px solid #9bb9aa; }
.notice { padding:16px; border-left:3px solid var(--accent); color:var(--muted); background:white; }
.reader-page { background:#eef2ee; }.reader-toolbar { position:sticky; top:0; z-index:10; min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 4vw; border-bottom:1px solid var(--line); background:rgba(255,255,255,.95); backdrop-filter:blur(12px); }.reader-actions { display:flex; gap:18px; align-items:center; font-size:13px; }.reader-shell { width:min(1180px,calc(100% - 32px)); margin:30px auto 80px; }.reader-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-bottom:12px; color:var(--muted); font-size:12px; }.markdown-body { padding:54px 62px; border:1px solid var(--line); border-radius:12px; background:white; box-shadow:0 16px 50px rgba(24,60,44,.08); font-family:"Songti SC","STSong","Noto Serif CJK SC",serif; font-size:16px; line-height:1.85; overflow-wrap:anywhere; }.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4 { scroll-margin-top:84px; color:#101b17; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; line-height:1.35; }.markdown-body h1 { margin:0 0 1em; padding-bottom:.45em; border-bottom:2px solid var(--ink); font-size:2em; }.markdown-body h2 { margin:2em 0 .8em; padding-bottom:.35em; border-bottom:1px solid var(--line); font-size:1.55em; }.markdown-body h3 { margin:1.7em 0 .65em; font-size:1.25em; }.markdown-body p { margin:1em 0; }.markdown-body a { text-decoration:underline; text-underline-offset:3px; }.markdown-body img { display:block; max-width:100%; height:auto; margin:22px auto; }.markdown-body blockquote { margin:1.2em 0; padding:4px 18px; border-left:4px solid #9bb9aa; color:#4f5f57; background:#f3f7f4; }.markdown-body pre { padding:16px; border-radius:8px; overflow:auto; color:#eff8f2; background:#15231d; }.markdown-body code { padding:.15em .35em; border-radius:4px; background:#edf2ee; font:90%/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }.markdown-body pre code { padding:0; color:inherit; background:transparent; }.markdown-body table { width:100%; margin:1.5em 0; border-collapse:collapse; table-layout:auto; font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif; font-size:14px; }.markdown-body th,.markdown-body td { min-width:70px; padding:9px 10px; border:1px solid #879a90; vertical-align:middle; white-space:normal; }.markdown-body th { color:#13241d; background:#e5eee8; font-weight:700; }.markdown-body tbody tr:nth-child(even) td { background:#f8faf8; }.markdown-body hr { margin:2.5em 0; border:0; border-top:1px solid var(--line); }.markdown-body .footnote { font-size:13px; color:var(--muted); }
.api-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100vh - 48px); padding:30px; border:1px solid var(--line); border-radius:20px; color:var(--ink); background:white; box-shadow:0 28px 90px rgba(16,70,51,.24); }.api-dialog::backdrop { background:rgba(10,30,22,.46); backdrop-filter:blur(3px); }.dialog-heading { display:flex; align-items:start; justify-content:space-between; gap:20px; }.dialog-heading h2 { margin:8px 0 0; font-size:30px; }.icon-button { width:38px; height:38px; padding:0; border-radius:50%; color:var(--muted); background:var(--paper); font-size:24px; line-height:1; }.icon-button:hover { color:var(--ink); background:var(--warm); }.api-actions,.generated-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }.api-actions { margin:24px 0; }.generated-token { margin:20px 0 30px; padding:20px; border:1px solid #b8cfc2; border-radius:14px; background:#f3f8f5; }.generated-token label { display:block; margin-bottom:8px; font-size:13px; font-weight:700; }.generated-token textarea { width:100%; resize:vertical; padding:12px; border:1px solid var(--line); border-radius:9px; color:var(--ink); background:white; font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; }.generated-token p { margin:12px 0 0; color:var(--muted); font-size:12px; line-height:1.65; }.token-list-section { padding-top:22px; border-top:1px solid var(--line); }.section-heading.compact { margin-bottom:8px; }.section-heading.compact h3 { margin:0; }.token-item { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding:16px 0; border-bottom:1px solid var(--line); }.token-main { flex:1; min-width:0; }.token-item strong { font:600 13px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace; }.token-item p { margin:5px 0 0; color:var(--muted); font-size:12px; }.saved-api-link { margin-top:10px; }.saved-api-link textarea { width:100%; resize:vertical; padding:9px 10px; border:1px solid var(--line); border-radius:8px; color:#27453a; background:#f8faf8; font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace; }.saved-api-link > div { display:flex; align-items:center; gap:12px; margin-top:7px; }.compact-button { padding:7px 10px; font-size:12px; }.small-link { font-size:12px; }.token-controls { display:flex; align-items:center; gap:10px; }.token-status { padding:5px 8px; border-radius:999px; font-size:11px; font-weight:700; }.token-status.active { color:#0d5c3f; background:#ddf1e7; }.token-status.expired,.token-status.revoked { color:#6f5a52; background:#eee9e6; }.danger-button { padding:8px 10px; color:#9b2f2f; background:#f8e8e8; font-size:12px; }.danger-button:hover { color:white; background:#9b2f2f; }
@media (max-width:900px) { .status-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:700px) { .topbar { padding:0 20px; }.brand span { display:none; }.top-actions { gap:12px; }.home-shell { padding:42px 20px; }.status-grid { grid-template-columns:1fr; margin:44px 0; }.search-box { border-radius:12px; }.search-box button { padding:11px 14px; }.section-heading { align-items:start; flex-direction:column; gap:8px; }.login-card { padding:30px 22px; }.api-dialog { padding:22px; }.token-item { align-items:flex-start; flex-direction:column; }.token-controls { width:100%; justify-content:space-between; }.reader-toolbar { align-items:flex-start; flex-direction:column; }.reader-actions { width:100%; justify-content:space-between; }.reader-shell { width:100%; margin-top:0; }.reader-meta { padding:14px 18px 0; }.markdown-body { padding:30px 20px; border-width:1px 0; border-radius:0; font-size:15px; }.markdown-body table { display:block; width:max-content; max-width:100%; overflow-x:auto; } }
