:root{color-scheme:dark;--paper:#090d15;--panel:#111a29;--ink:#edf3fd;--muted:#9daac1;--line:#29364d;--accent:#a8c8ff;--good:#85d5ae;--bad:#ffacb8}*{box-sizing:border-box}body.hub{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;line-height:1.7}a{color:inherit}.hub main{max-width:880px;margin:auto;padding:28px 20px 60px}.mast{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;font-size:13px;color:var(--muted)}.mast a{text-decoration:none}.intro{padding:36px 0 24px}.intro h1{font:700 clamp(34px,7vw,48px)/1.3 "STKaiti","KaiTi",serif;margin:0 0 14px;letter-spacing:.04em}.intro p{color:var(--muted);margin:0}.overview{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.overview span{font-size:13px;color:var(--muted)}.overview strong{font-size:24px;color:var(--ink);margin-right:5px;font-variant-numeric:tabular-nums}.continue{border:1px solid #426799;border-radius:12px;background:#152238;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;text-decoration:none;margin:0 0 24px}.continue small{display:block;color:var(--muted)}.controls{display:grid;gap:16px;margin-bottom:24px}.search{width:100%;font:inherit;font-size:16px;border-radius:10px;border:1px solid var(--line);background:#101725;color:var(--ink);padding:12px 15px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button,.site-nav button{font:inherit;font-size:14px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.filters button[aria-pressed=true]{background:#253957;border-color:#6591cc;color:#fff}.subject{margin-top:30px}.subject h2{font-size:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:0}.subject h2 span{font-weight:400;font-size:12px;color:var(--muted)}.topic{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid #202b3e;align-items:center}.topic-main{display:block;text-decoration:none;min-width:0}.topic-title{font-size:16px;font-weight:600;display:block;margin-bottom:5px}.topic-meta{font-size:12px;color:var(--muted)}.topic-main:hover .topic-title{color:var(--accent)}.topic-actions{display:flex;gap:8px;align-items:center}.topic-actions a{text-decoration:none;font-size:13px;padding:7px 12px;border-radius:8px;background:#1b2a40;color:var(--accent)}.topic-actions .wrong-link{color:var(--bad);background:#33202d}.progress-line{height:3px;background:#1b2739;margin-top:10px;max-width:260px;border-radius:3px;overflow:hidden}.progress-line span{display:block;height:100%;background:#82aee9;width:0}.hub footer{font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:36px;padding-top:18px}.hub footer p{margin:6px 0}.empty{padding:28px 0;color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-nav{position:relative;max-width:880px;margin:0 auto 22px!important;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid #35435c;border-radius:10px;background:#101725;color:#edf3fd;font:14px/1.6 "Microsoft YaHei",sans-serif}.site-nav a{color:#aacdff;text-decoration:none}.site-nav .site-status{margin-left:auto;color:#b6c5dc;font-size:12px}.site-nav button{color:#e2bdc5;border-color:#514150;padding:6px 10px}.site-note,.site-wrongbook{box-sizing:border-box;max-width:880px;margin:22px auto;padding:18px;border:1px solid #35435c;background:#101725;border-radius:10px;color:#edf3fd;font:14px/1.8 "Microsoft YaHei",sans-serif}.site-note a,.site-wrongbook a{color:#aacdff}.site-wrongbook h2{font-size:18px;margin:0 0 10px}.site-wrongbook li{margin:8px 0 8px 20px}.site-wrongbook p{color:#b6c5dc;margin:6px 0}.site-storage-note{color:#ffc6a4}.site-question{scroll-margin-top:20px}.site-question .opt{min-height:44px}.site-question:target{outline:2px solid #678bba;outline-offset:3px}@media(max-width:520px){.hub main{padding:20px 16px 40px}.intro{padding-top:28px}.overview{grid-template-columns:repeat(2,1fr);gap:12px 20px}.topic{grid-template-columns:1fr}.topic-actions{justify-content:flex-end}.topic-title{font-size:16px}.site-nav{padding:10px}.site-nav .site-status{width:100%;margin:0}.subject h2 span{max-width:55%;text-align:right}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
