:root{--bg:#f5f8f9;--card:#fff;--ink:#16252b;--mute:#5d7078;--line:#dbe5e8;--acc:#0e7490;--acc-soft:#e3f3f7;--acc-ink:#0b5a70;--warn:#fff7e0;--shadow:0 1px 2px rgba(15,40,50,.06),0 4px 14px rgba(15,40,50,.05)}
@media(prefers-color-scheme:dark){:root{--bg:#0f1b20;--card:#16262d;--ink:#e6f0f3;--mute:#93a9b1;--line:#27404a;--acc:#4fc3dc;--acc-soft:#173642;--acc-ink:#8fdcee;--warn:#2b2713;--shadow:none}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--acc-ink);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:920px;margin:0 auto;padding:0 16px}
.top{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-in{display:flex;align-items:center;gap:16px;height:60px}
.brand{font-weight:700;letter-spacing:.02em;color:var(--ink);display:flex;align-items:center;gap:8px;white-space:nowrap}
.dot{width:12px;height:12px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px var(--acc-soft)}
.sbox{position:relative;flex:1}
.sbox input{width:100%;font:inherit;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink);outline:none}
.sbox input:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.sbox.lg input{padding:16px 18px;font-size:1.15rem;background:var(--card);box-shadow:var(--shadow);border-radius:14px}
.res{list-style:none;margin:6px 0 0;padding:6px;position:absolute;left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(10,30,40,.18);max-height:60vh;overflow:auto;z-index:30}
.res li a{display:flex;gap:12px;align-items:baseline;padding:8px 10px;border-radius:8px;color:var(--ink)}
.res li a:hover,.res li.on a{background:var(--acc-soft);text-decoration:none}
.res .cd{min-width:64px}
.res .none{padding:10px;color:var(--mute)}
.cd{font:600 .88rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--acc-ink);background:var(--acc-soft);padding:2px 8px;border-radius:6px;white-space:nowrap}
main.wrap{padding:26px 16px 40px;min-height:60vh}
.crumbs{font-size:.88rem;color:var(--mute);margin-bottom:14px;display:flex;flex-wrap:wrap;gap:2px 0}
.crumbs i{font-style:normal;margin:0 8px;opacity:.6}
h1{font-size:1.65rem;line-height:1.3;margin:.2em 0 .4em}
h2{font-size:1.1rem;margin:1.6em 0 .6em}
.badge{display:inline-block;background:var(--acc);color:#fff;padding:1px 12px;border-radius:8px;font-size:1.05rem;vertical-align:2px;margin-right:6px}
.badge.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
@media(prefers-color-scheme:dark){.badge{color:#06222b}}
.meta{color:var(--mute);margin:.2em 0}
.box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 20px 12px;margin:18px 0;box-shadow:var(--shadow)}
.box h2{margin-top:.9em}
.ih{font-weight:700;margin:1em 0 .2em;color:var(--acc-ink)}
.il,.ib{margin:.25em 0}
.ib{padding-left:1.1em;text-indent:-1.1em}
.sym{background:var(--warn);border-radius:8px;padding:8px 12px;font-size:.92rem;margin:10px 0}
.list{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.list li+li{border-top:1px solid var(--line)}
.list a{display:flex;gap:14px;align-items:baseline;padding:10px 16px;color:var(--ink)}
.list a:hover{background:var(--acc-soft);text-decoration:none}
.list a span{flex:1}
.list a em{font-style:normal;color:var(--mute);font-size:.85rem}
.tree .d1 a{padding-left:38px}.tree .d2 a{padding-left:60px}.tree .d3 a{padding-left:82px}.tree .d4 a{padding-left:104px}
.hero{text-align:center;padding:36px 0 14px}
.hero h1{font-size:2rem}
.hero p{color:var(--mute);margin:.4em auto 18px;max-width:560px}
.hero .sbox{max-width:640px;margin:0 auto;text-align:left}
.hero .stat{font-size:.9rem;margin-top:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.card{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;color:var(--ink);box-shadow:var(--shadow);align-items:center}
a.card:hover{border-color:var(--acc);text-decoration:none}
.card .rn{grid-row:span 2;font-weight:700;color:var(--acc);min-width:34px}
.card .ct{font-weight:600;line-height:1.35}
.card .cr{color:var(--mute);font-size:.85rem}
.card.off{opacity:.5}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}
.pn a{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;color:var(--ink);font-size:.92rem}
.pn a:hover{border-color:var(--acc);text-decoration:none}
.pn a.r{text-align:right}
.pn small{display:block;color:var(--mute)}
.foot{border-top:1px solid var(--line);color:var(--mute);font-size:.85rem;padding:18px 0}
@media(max-width:560px){h1{font-size:1.35rem}.hero h1{font-size:1.5rem}.pn{grid-template-columns:1fr}.tree .d3 a,.tree .d4 a{padding-left:60px}}
.ext{margin:18px 0}
.ext .lead{font-size:1.08rem;margin:.4em 0 1em}
.ext h2{border-top:1px solid var(--line);padding-top:1em}
.bl{margin:.3em 0;padding-left:1.3em}.bl li{margin:.3em 0}
.alert{background:#fdecec;border:1px solid #f1b9b9;border-radius:12px;padding:2px 18px 10px;margin:22px 0}
.alert h2{border:0;color:#a11b1b;font-size:1.02rem;margin-top:.9em;padding-top:0}
@media(prefers-color-scheme:dark){.alert{background:#341a1c;border-color:#6b3034}.alert h2{color:#ff9d9d}}
details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 16px;margin:8px 0}
summary{cursor:pointer;font-weight:600}
details p{margin:.6em 0 .2em}
.disc{font-size:.88rem;color:var(--mute);margin-top:22px}
.src{margin:.3em 0;padding-left:1.3em}.src li{margin:.25em 0;word-break:break-word}

.notice{background:#fff0b8;border-bottom:3px solid #e0a800;color:#4a3500}
.notice .wrap{display:flex;gap:12px;align-items:flex-start;padding-top:12px;padding-bottom:12px}
.notice p{margin:0;font-size:.95rem;line-height:1.5}
.notice .ni{font-size:1.5rem;line-height:1.2;color:#b57a00}
.notice strong{color:#3a2a00}
@media(prefers-color-scheme:dark){.notice{background:#4a3a08;border-color:#c99200;color:#ffe9a8}.notice strong{color:#fff3c9}.notice .ni{color:#ffcf4d}}
h3.pz{font-size:.95rem;margin:1.2em 0 .2em;color:var(--mute)}
.mk{margin-top:26px;border-top:1px dashed var(--line);padding-top:12px}
.cform{display:grid;gap:14px;max-width:560px;margin:18px 0}
.cform label{display:grid;gap:4px;font-weight:600;font-size:.95rem}
.cform input,.cform textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff);color:inherit}
.cform button{justify-self:start;padding:10px 22px;border:0;border-radius:8px;background:#0f766e;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.cform button:hover{background:#0b5d57}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmsg{padding:12px 14px;border-radius:8px;font-weight:600}
.fmsg.ok{background:#dcfce7;color:#14532d}
.fmsg.err{background:#fee2e2;color:#7f1d1d}
.foot a{color:inherit;text-decoration:underline}
.cform select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card,#fff);color:inherit}
.toplink{order:3;margin-left:auto;font-weight:600;color:var(--ink);white-space:nowrap}.toplink:hover{color:var(--acc)}.report{margin-top:6px;font-size:.9rem}
.doc{max-width:760px}.doc h2{margin-top:1.6em}.op{background:var(--warn,#fff3c4);padding:2px 6px;border-radius:4px}
.e404{text-align:center;max-width:620px;margin:20px auto}.e404 .big{font-size:5rem;font-weight:800;color:var(--acc);margin:0;line-height:1}.e404 .bl{text-align:left}
