:root{--bg1:#22306a;--bg2:#0d142c;--panel:#18224a;--panel2:#0e1530;--ink:#f3f5ff;--mut:#aab6e8;--acc:#ffd23f;--ok:#2fa84f;--near:#c9a227;--bad:#b33a3a;--line:#ffffff22;--hdr:#0a1024}
@media (prefers-color-scheme:light){:root:not(.dark){--bg1:#e9eeff;--bg2:#f7f9ff;--panel:#ffffff;--panel2:#eef2ff;--ink:#141a33;--mut:#4a5580;--acc:#b8860b;--line:#00000018;--hdr:#1a2350}}
:root.light{--bg1:#e9eeff;--bg2:#f7f9ff;--panel:#ffffff;--panel2:#eef2ff;--ink:#141a33;--mut:#4a5580;--acc:#b8860b;--line:#00000018;--hdr:#1a2350}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:radial-gradient(circle at 30% 0,var(--bg1),var(--bg2) 65%) fixed;color:var(--ink);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--acc)}button{font:inherit}
.tg-h{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--hdr);color:#fff;position:sticky;top:0;z-index:5}
.tg-h .home{color:#ffd23f;font-weight:900;text-decoration:none;white-space:nowrap;font-size:15px}.tg-h h1{flex:1;margin:0;font-size:18px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-h .ib{background:#ffffff1a;color:#fff;border:0;border-radius:10px;min-width:38px;height:38px;cursor:pointer;font-size:17px}.tg-h .ib:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}
main.tg{flex:1;width:100%;max-width:620px;margin:0 auto;padding:14px 14px 30px}
.tg-sub{text-align:center;color:var(--mut);margin:4px 0 12px;font-size:14px}
.panel{background:var(--panel);border-radius:16px;padding:14px;box-shadow:0 6px 20px #0003;margin:10px 0}
.btn{background:var(--acc);color:#111;border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer;min-height:44px}.btn.sec{background:var(--panel2);color:var(--ink);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:default}
.ac{position:relative}.ac-row{display:flex;gap:6px}.ac input{flex:1;min-width:0;font-size:17px;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--panel2);color:var(--ink)}
.ac-list{position:absolute;left:0;right:0;top:100%;z-index:4;background:var(--panel);border-radius:12px;box-shadow:0 10px 30px #0008;max-height:290px;overflow:auto;margin-top:4px}.ac-list:empty{display:none}
.ac-list div{padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--line)}.ac-list div.on,.ac-list div:hover{background:var(--panel2)}.ac-list small{color:var(--mut)}
.tg-m{position:fixed;inset:0;background:#000b;display:flex;align-items:center;justify-content:center;padding:12px;z-index:20}.tg-m[hidden]{display:none}
.tg-mc{background:var(--panel);color:var(--ink);border-radius:18px;padding:18px;max-width:460px;width:100%;max-height:92vh;overflow:auto;text-align:center}.tg-mc h2{margin:.2em 0 .4em}
.stats{display:flex;justify-content:space-around;margin:10px 0}.stats div{font-size:24px;font-weight:900}.stats small{display:block;font-size:11px;font-weight:500;color:var(--mut)}
.share pre{white-space:pre-wrap;word-break:break-word;background:var(--panel2);padding:10px;border-radius:10px;text-align:left;font-size:15px}
.next{margin-top:12px;text-align:left}.next a{display:flex;gap:10px;align-items:center;padding:9px;border-radius:12px;background:var(--panel2);margin:6px 0;text-decoration:none;color:var(--ink)}.next a b{display:block}.next a small{color:var(--mut)}
.arch{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.arch a{padding:7px 10px;border-radius:8px;background:var(--panel2);color:var(--ink);text-decoration:none;font-size:14px}
.toggle{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--mut);cursor:pointer}.toggle input{width:20px;height:20px}
.src{font-size:12px;color:var(--mut);text-align:center;margin-top:16px}.src a{color:var(--mut)}
.tile{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;padding:6px;background:var(--panel2);min-width:60px;font-weight:700}.tile.ok{background:var(--ok);color:#fff}.tile.near{background:var(--near);color:#111}.tile small{font-size:10px;opacity:.8;font-weight:500}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.foot{text-align:center;padding:14px;color:var(--mut);font-size:13px}.foot a{color:var(--mut)}

.tg-notice{position:fixed;left:50%;transform:translateX(-50%);bottom:max(10px,env(safe-area-inset-bottom));z-index:15;width:calc(100% - 20px);max-width:620px;display:flex;gap:10px;align-items:center;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-left:6px solid var(--acc);border-radius:14px;padding:10px 12px;box-shadow:0 8px 28px #0006;font-size:13px;line-height:1.4}.tg-notice span{flex:1}.tg-notice .btn{padding:8px 16px;min-height:38px}body.has-notice{padding-bottom:90px}
.prose{line-height:1.6}.prose h2{margin-top:1.4em}.prose li{margin:.3em 0}
