:root{--primary:#1976d2;--bg:#f5f5f5;--paper:#fff;--text:#121212;--muted:#555;--line:#e0e0e0;--sleep:#ed6c02;--wake:#2e7d32;--zero:#e3e3e3;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--primary:#90caf9;--bg:#121212;--paper:#1e1e1e;--text:#f5f5f5;--muted:#aaa;--line:#2c2c2c;--sleep:#ffa726;--wake:#66bb6a;--zero:#2a2a2a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,sans-serif}a{color:var(--primary)}h1{letter-spacing:-.02em;margin:0 0 1rem;font-size:clamp(2rem,5.5vw,3.25rem);line-height:1.1}h2{margin:0 0 .75rem;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2}main{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,3rem) 2rem}.bar{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem calc(max(0px,50% - 36rem) + clamp(1rem,4vw,3rem));display:flex}.logo img{width:auto;height:32px;display:block}.bar nav{white-space:nowrap;gap:1.25rem;font-weight:600;display:flex}.bar nav a{text-decoration:none}@media (width<=30rem){.bar nav{gap:.75rem;font-size:.9rem}.logo img{height:26px}}footer{border-top:1px solid var(--line);justify-content:center;gap:1.5rem;padding:2rem 1rem;font-size:.875rem;display:flex}footer a{color:var(--muted)}.hero{align-items:center;gap:2rem;padding:3.5rem 0 2.5rem;display:grid}@media (width>=56rem){.hero{grid-template-columns:1fr 1fr;gap:3.5rem}}.lead{max-width:38rem;margin:0 0 1rem;font-size:1.15rem}.fact{color:var(--muted);margin:0}.fact+.fact{margin-top:.5rem}.stat{background:var(--paper);border-left:6px solid var(--sleep);border-radius:12px;padding:1.5rem 1.75rem}@media (width<=30rem){.stat{padding:1.25rem}}.stat p{margin:0}.stat .big{font-size:1.1rem}.stat .big strong{color:var(--sleep);font-size:3.25rem;line-height:1}.stat .sub{color:var(--muted);font-size:.95rem}.diagram{margin:0}.diagram svg{width:100%;height:auto;display:block}.diagram .t{fill:var(--text);font-weight:600}.diagram .m{fill:var(--muted)}.week svg{margin:1rem 0 .5rem;font-size:13px}@media (width<=30rem){.week svg{font-size:15px}}.week .label{fill:var(--muted)}.week .on,.swatch.on{fill:var(--primary);background:var(--primary)}.week .off,.swatch.off{fill:var(--zero);background:var(--zero)}.legend{color:var(--muted);flex-wrap:wrap;gap:.4rem 1.25rem;margin:0 0 1rem;font-size:.85rem;display:flex}.swatch{vertical-align:-2px;border-radius:3px;width:.9rem;height:.9rem;margin-right:.35rem;display:inline-block}.doors{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem;padding-bottom:3rem;display:grid}.door{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1.25rem 1.4rem}.door:first-child{border:2px solid var(--primary)}.door h2{font-size:1.2rem}.door p{color:var(--muted);margin:0 0 .75rem}.door ul{gap:.3rem;margin:0;padding:0;font-weight:600;list-style:none;display:grid}.band{border-top:1px solid var(--line);text-align:center;padding:3rem 0}.steps{counter-reset:step;text-align:left;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.steps li{background:var(--paper);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:.35rem;padding:1.25rem;display:flex}.steps li span:last-child{color:var(--muted)}.steps strong:before{counter-increment:step;content:counter(step) ". ";color:var(--muted)}.badge{color:var(--primary);display:flex}.badge.sleep{color:var(--sleep)}.badge.wake{color:var(--wake)}.badge .icon{width:2rem;height:2rem}.parts svg{max-width:46rem;margin:1.5rem auto 0;font-size:16px}.parts .tall{max-width:24rem;display:none}@media (width<=40rem){.parts .wide{display:none}.parts .tall{display:block}}.parts .frame{fill:none;stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:6 5}.parts .cap{fill:var(--muted);font-size:14px;font-weight:600}.parts .box{fill:var(--paper);stroke:var(--primary);stroke-width:2px}.parts .box.own{stroke:var(--sleep)}.parts .box.ext{stroke:var(--muted);stroke-dasharray:4 3}.parts .m{font-size:13px}.parts .arrow{fill:none;stroke:var(--muted);stroke-width:2px}.parts .head{fill:var(--muted)}.gone{background:var(--paper);border-radius:12px;max-width:38rem;margin:3.5rem auto;padding:1.5rem 1.75rem}.gone p{margin:0}.legal{background:var(--paper);border-radius:12px;max-width:46rem;margin:3rem auto;padding:1.5rem 1.75rem 2rem}.legal h1{font-size:clamp(1.8rem,4vw,2.4rem)}.legal h2{margin:2rem 0 .5rem;font-size:1.25rem}.legal .updated{color:var(--muted)}
