:root{--bg: #fafaf9;--bg-elev: #ffffff;--bg-sunk: #f3f1ec;--fg: #1a1a1a;--fg-mute: #5a5a5a;--fg-faint: #9a9a9a;--line: #e6e4e0;--line-strong: #c9c6c0;--accent: #16a085;--accent-strong: #0e8a72;--accent-soft: #16a08522;--danger: #c0392b;--success: #2e7d63;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .05), 0 12px 32px rgba(0, 0, 0, .08);--radius: 8px;--radius-lg: 12px;--ease: cubic-bezier(.2, .8, .2, 1);--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--katex-fg: inherit}[data-theme=dark]{--bg: #0d0e10;--bg-elev: #16181a;--bg-sunk: #0a0b0c;--fg: #ececec;--fg-mute: #a4a4a4;--fg-faint: #6a6a6a;--line: #262829;--line-strong: #393b3d;--accent: #2dd4bf;--accent-strong: #5eead4;--accent-soft: #2dd4bf2a;--danger: #ef6f5e;--success: #4ade80;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .45)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0d0e10;--bg-elev: #16181a;--bg-sunk: #0a0b0c;--fg: #ececec;--fg-mute: #a4a4a4;--fg-faint: #6a6a6a;--line: #262829;--line-strong: #393b3d;--accent: #2dd4bf;--accent-strong: #5eead4;--accent-soft: #2dd4bf2a;--danger: #ef6f5e;--success: #4ade80;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .45)}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .25s var(--ease),color .25s var(--ease)}::selection{background:var(--accent-soft);color:var(--fg)}a{color:var(--accent);text-decoration:none;transition:color .12s var(--ease)}a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent-soft);border-radius:4px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:18px;height:52px;padding:0 24px;background:color-mix(in srgb,var(--bg-elev) 92%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.brand{font-weight:600;font-size:15px;color:var(--fg);letter-spacing:-.005em;display:inline-flex;align-items:center;gap:8px}.brand:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.brand:hover{text-decoration:none;color:var(--accent)}.topbar nav{display:flex;gap:4px;margin-left:8px}.topbar nav a{color:var(--fg-mute);font-size:13px;padding:6px 10px;border-radius:6px;transition:color .12s var(--ease),background .12s var(--ease)}.topbar nav a:hover{color:var(--fg);background:var(--bg-sunk);text-decoration:none}.topbar nav a.active{color:var(--fg);background:var(--accent-soft)}.spacer{flex:1}.muted{color:var(--fg-mute);font-size:13px}.app{max-width:880px;margin:0 auto;padding:40px 24px 96px;animation:fadeUp .35s var(--ease) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}h1{font-size:28px;font-weight:650;letter-spacing:-.025em;line-height:1.2;margin:0 0 8px}h2{font-size:18px;font-weight:600;letter-spacing:-.01em;margin:32px 0 12px;color:var(--fg)}h2 .muted{font-weight:400;font-size:13px;margin-left:2px}p.lede{color:var(--fg-mute);margin:0 0 28px;font-size:14.5px;line-height:1.6;max-width:64ch}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card{display:block;padding:18px 20px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--fg);position:relative;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease),background .18s var(--ease)}.card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);border-radius:var(--radius) 0 0 var(--radius);opacity:0;transition:opacity .18s var(--ease)}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lg);transform:translateY(-2px);text-decoration:none}.card:hover:after{opacity:1}.card .ttl{font-weight:600;font-size:15px;letter-spacing:-.005em;margin-bottom:4px;line-height:1.35}.card .sub{color:var(--fg-mute);font-size:12.5px;line-height:1.45}.qlist{display:flex;flex-direction:column;gap:8px}.qlist .qrow{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);color:var(--fg);transition:border-color .15s var(--ease),background .15s var(--ease),transform .15s var(--ease)}.qlist .qrow:hover{border-color:var(--line-strong);background:var(--bg-elev);transform:translate(2px);text-decoration:none}.qlist .qrow .id{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-faint);min-width:96px;letter-spacing:.01em}.qlist .qrow .preview{color:var(--fg);flex:1;font-size:14px;line-height:1.5}.qlist .qrow .tag{font-size:10.5px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:999px;background:var(--accent-soft);white-space:nowrap}.btn,.btn-ghost{font:inherit;font-size:14px;font-weight:500;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg-elev);color:var(--fg);cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .06s var(--ease),box-shadow .15s var(--ease)}.btn:hover{border-color:var(--accent);color:var(--accent-strong)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 2px #00000014,0 0 0 0 var(--accent-soft)}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;box-shadow:0 2px 8px var(--accent-soft)}[data-theme=dark] .btn.primary,[data-theme=dark] .btn.primary:hover{color:#0d0e10}.btn[disabled]{opacity:.5;cursor:progress}.btn-ghost{background:transparent;color:var(--fg-mute);border-color:transparent}.btn-ghost:hover{color:var(--fg);background:var(--bg-sunk)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:16px;line-height:1;background:transparent;color:var(--fg-mute);border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),transform .25s var(--ease);-webkit-user-select:none;user-select:none}.icon-btn:hover{color:var(--fg);border-color:var(--line);background:var(--bg-sunk);transform:rotate(20deg)}.icon-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}form.stack{display:flex;flex-direction:column;gap:14px;max-width:360px}form.stack label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--fg-mute);font-weight:500;letter-spacing:.01em}form.stack input,form.stack textarea{font:inherit;font-size:14px;color:var(--fg);background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;outline:none;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}form.stack input:hover,form.stack textarea:hover{border-color:var(--line-strong)}form.stack input:focus,form.stack textarea:focus{border-color:var(--accent);background:var(--bg-elev);box-shadow:0 0 0 3px var(--accent-soft)}form.stack textarea{min-height:180px;font-family:var(--font-mono);font-size:13px;line-height:1.55;resize:vertical}form.stack .actions{display:flex;gap:10px;align-items:center}.error{color:var(--danger);font-size:13px}.ok{color:var(--success);font-size:13px}.prose{color:var(--fg);line-height:1.72;font-size:15px}.prose h1,.prose h2,.prose h3{margin:22px 0 10px;letter-spacing:-.015em}.prose h3{font-size:16px}.prose p{margin:10px 0}.prose ul,.prose ol{margin:10px 0;padding-left:24px}.prose li{margin:4px 0}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-sunk);color:var(--fg);padding:1.5px 6px;border-radius:5px;border:1px solid var(--line)}.prose pre{background:var(--bg-sunk);padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);overflow:auto;line-height:1.55}.prose pre code{background:transparent;border:0;padding:0}.prose blockquote{margin:14px 0;padding:4px 14px;border-left:3px solid var(--accent-soft);color:var(--fg-mute)}.prose .katex,.prose .katex-display{color:var(--fg)}[data-theme=dark] .prose .katex,[data-theme=dark] .prose .katex-display{color:#f3f4f6}.prose .katex-display{margin:16px 0;padding:8px 4px;overflow-x:auto}.prose .katex-display>.katex{font-size:1.08em}.panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 24px;margin:22px 0;box-shadow:var(--shadow);animation:fadeUp .3s var(--ease) both}.panel.success{border-color:color-mix(in srgb,var(--success) 60%,var(--line))}.panel.fail{border-color:color-mix(in srgb,var(--danger) 60%,var(--line))}.panel-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.panel-head .verdict{font-weight:600;font-size:15px}.panel.success .verdict{color:var(--success)}.panel.fail .verdict{color:var(--danger)}.auth-wrap{max-width:380px;margin:96px auto;padding:32px 28px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.auth-wrap h1{font-size:22px;margin-bottom:4px}.auth-wrap .lede{margin-bottom:22px}.auth-wrap .auth-toggle{margin-top:20px;font-size:13px;color:var(--fg-mute)}.auth-wrap form.stack{max-width:none}.badge{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:999px;border:1px solid var(--line-strong);color:var(--fg-mute);background:var(--bg-sunk)}.badge.open{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,var(--line));background:color-mix(in srgb,var(--danger) 8%,transparent)}.badge.resolved{color:var(--success);border-color:color-mix(in srgb,var(--success) 50%,var(--line));background:color-mix(in srgb,var(--success) 8%,transparent)}.muted-empty{text-align:center;padding:48px 16px;color:var(--fg-faint);border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--bg-sunk)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 640px){.topbar{padding:0 16px;gap:12px}.topbar nav{gap:2px;margin-left:0}.topbar nav a{padding:6px 8px;font-size:12.5px}.app{padding:28px 18px 80px}h1{font-size:24px}.qlist .qrow{flex-wrap:wrap;gap:8px}.qlist .qrow .id{min-width:0}.panel{padding:16px 18px}.auth-wrap{margin:48px 16px;padding:24px 20px}}
