:root{--paper:#faf7f2;--card:#fff;--ink:#263034;--muted:#5e6567;--line:#d9d4cc;--door:#9e1c1f;--door-ink:#fff;--lamp:#e8a33d;--font:"Overpass","Helvetica Neue",Arial,sans-serif;--display:"Montserrat","Helvetica Neue",Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#171b1d;--card:#20262a;--ink:#eceae6;--muted:#a7adaf;--line:#353d42;--door:#b8292d}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font);border-top:8px solid var(--door);padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);margin:0;font-size:17px;line-height:1.5}.wrap{max-width:680px;margin:0 auto;padding:32px 20px 56px}.logo{mix-blend-mode:multiply;width:100%;max-width:240px;height:auto;margin:0 auto 24px;display:block}@media (prefers-color-scheme:dark){.logo{mix-blend-mode:normal;background:#fff;border-radius:8px;padding:12px}}h1,h2,.name{font-family:var(--display);letter-spacing:-.01em;font-weight:700}h1{text-align:center;margin:0 0 12px;font-size:clamp(1.8rem,6.5vw,2.6rem);line-height:1.12}.lede{color:var(--muted);text-align:center;max-width:52ch;margin:0 auto 28px;font-size:1.05rem}a{color:inherit}:focus-visible{outline:3px solid var(--lamp);outline-offset:2px}.board{background:var(--card);border:2px solid var(--ink);border-radius:6px;padding:4px 18px}.floor{border-top:2px solid var(--ink);grid-template-columns:36px 1fr;gap:14px;padding:12px 0;display:grid}.floor:first-child{border-top:0}.floor-num{background:var(--door);width:32px;height:36px;color:var(--door-ink);font-family:var(--display);border-radius:16px 16px 2px 2px;place-items:center;margin-top:4px;font-weight:700;display:grid}.floor ul{margin:0;padding:0;list-style:none}.floor li{border-radius:3px;justify-content:space-between;align-items:baseline;gap:12px;margin:0 -8px;padding:8px;scroll-margin-top:24px;display:flex}.floor li+li{border-top:1px solid var(--line)}.name{font-size:1.12rem;font-weight:600}.cap{color:var(--muted);white-space:nowrap;font-size:.92rem}.floor li:target{box-shadow:inset 3px 0 0 var(--lamp);background:#e8a33d38}.btn{text-align:center;width:100%;font:inherit;background:var(--door);color:var(--door-ink);border-radius:4px;padding:15px 18px 13px;font-size:1.05rem;font-weight:800;text-decoration:none;display:block}.btn:hover{filter:brightness(1.1)}h2{margin:40px 0 14px;font-size:1.45rem}.tabs{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px;display:grid}.tab{font:inherit;background:var(--card);color:var(--ink);border:2px solid var(--ink);cursor:pointer;box-shadow:0 2px 0 var(--ink);border-radius:4px;padding:14px 12px 12px;font-size:1rem;font-weight:800;line-height:1.25;transition:transform 80ms,box-shadow 80ms}.tab:hover{background:var(--paper)}.tab:active{box-shadow:0 0 0 var(--ink);transform:translateY(2px)}.tab[aria-selected=true]{background:var(--door);border-color:var(--door);color:var(--door-ink);box-shadow:0 0 0 var(--door);transform:translateY(2px)}@media (prefers-color-scheme:dark){.tab:hover{background:#ffffff0f}}.panel h3{margin:20px 0 6px;font-size:1rem}.panel h3:first-child{margin-top:0}ol{margin:0;padding-left:1.3em}ol li{margin:0 0 6px;padding-left:4px}ol li .btn{margin:2px 0 6px}.pick{color:var(--muted);margin:-4px 0 12px}.result{border-left:4px solid var(--door);background:var(--card);margin:28px 0 0;padding:16px 18px}@media (prefers-color-scheme:dark){.result{border-left-color:var(--door)}}.result p{margin:0}.result p+p{margin-top:8px}.notes{color:var(--muted);margin:24px 0 0;padding:0;font-size:.95rem;list-style:none}.notes li{margin:0 0 8px}.notes strong{color:var(--ink)}footer{border-top:1px solid var(--line);color:var(--muted);margin-top:44px;padding-top:18px;font-size:.9rem}@media (width<=480px){body{font-size:16px}.wrap{padding:28px 16px 40px}.lede{margin-bottom:22px}.board{padding:4px 12px}.floor{grid-template-columns:30px 1fr;gap:10px}.floor-num{width:28px;height:28px;font-size:.95rem}.name{font-size:1.08rem}.tabs{grid-template-columns:1fr;gap:8px}.tab{text-align:left;padding:14px 16px 12px}h2{margin-top:40px}}@media (width>=700px){.btn{width:auto;display:inline-block}}@media (prefers-reduced-motion:no-preference){.floor li:target{animation:1.6s ease-out flash}@keyframes flash{0%{background-color:#e8a33db3}}}
