@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--fg:#ededed;--muted:#8f8f8f;--line:#1f1f1f;--line-strong:#2e2e2e;--hover:#0a0a0a;--amber:#ffb224;--earth:#3ea8ff;--fail:#ff5b4f;--good:#46a758;--works:#fff;--terrain:#1f1f1f;--terrain-edge:#8f8f8f;--grid:#161616;--grid-zero:#3a3a3a;--mono:"Geist Mono Variable", ui-monospace, monospace;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Geist Variable,system-ui,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--fg:#171717;--muted:#666;--line:#eaeaea;--line-strong:#d4d4d4;--hover:#f7f7f7;--amber:#d48806;--earth:#0a72ef;--fail:#e5484d;--good:#18794e;--works:#111;--terrain:#e4e4e4;--terrain-edge:#8f8f8f;--grid:#f2f2f2;--grid-zero:#c8c8c8}*{box-sizing:border-box}body,h1,h2,p{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line-strong);background:0 0;border-radius:6px;padding:6px 10px;transition:border-color .15s,background-color .15s}button:hover{border-color:var(--muted)}.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.brand img{height:22px;display:block}:root[data-theme=light] .logo-dark,:root:not([data-theme=light]) .logo-light{display:none}.theme{border:1px solid var(--line-strong);border-radius:8px;gap:2px;padding:2px;display:flex}.theme button{color:var(--muted);border:none;border-radius:6px;padding:3px 10px;font-size:13px}.theme button:hover{color:var(--fg)}.theme button[aria-checked=true]{background:var(--line);color:var(--fg)}.top nav{align-items:center;gap:20px;font-size:14px;display:flex}.top nav a{color:var(--muted);text-decoration:none}.top nav a[aria-current=page],.top nav a:hover{color:var(--fg)}.grid{border-left:1px solid var(--line);border-right:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));max-width:1240px;margin:0 auto;display:grid}.grid>*{border-bottom:1px solid var(--line);padding:28px}.intro{grid-column:1/-1;gap:12px;display:grid}.intro h1{letter-spacing:-.03em;font-size:clamp(28px,4vw,44px);font-weight:600}.intro p{max-width:720px;color:var(--muted);line-height:1.6}h2{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:13px;font-weight:500}.map-panel{border-right:1px solid var(--line);grid-column:span 7}.map-frame{position:relative}.drag-hint{background:var(--fg);color:var(--bg);pointer-events:none;border-radius:999px;padding:6px 12px;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.map-chance{font-family:var(--mono);background:var(--bg);border:1px solid var(--line-strong);border-radius:999px;padding:4px 10px;font-size:18px;display:none;position:absolute;top:12px;left:12px}#map{aspect-ratio:1;border:1px solid var(--line-strong);cursor:crosshair;touch-action:none;width:100%;display:block}.aim-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:14px;padding-bottom:14px;display:flex}.aim-coords{font-family:var(--mono);font-size:15px}.copy{color:var(--muted);padding:2px 8px;font-size:12px}.copy:hover{color:var(--fg)}.aim-detail{color:var(--muted);flex-basis:100%;font-size:12px}.legend{color:var(--muted);flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.swatch{vertical-align:-1px;width:10px;height:10px;margin-right:8px;display:inline-block}.swatch.zone{background:color-mix(in srgb, var(--amber) 35%, transparent);border:1px solid var(--amber)}.swatch.works{background:var(--works);outline:1px solid var(--line-strong)}.swatch.fails{background:var(--fail)}.swatch.ring{border:1.5px solid var(--fg);border-radius:50%}.readout{flex-direction:column;grid-column:span 5;gap:20px;display:flex}.site-field{gap:6px;display:grid;position:relative}.site-open{text-align:left;border-radius:8px;justify-self:start;align-items:center;gap:10px;height:36px;padding:0 10px 0 12px;font-size:14px;font-weight:500;display:flex}.site-open svg{color:var(--muted);transition:transform .15s}.site-open[aria-expanded=true]{background:var(--hover)}.site-open[aria-expanded=true] svg{transform:rotate(180deg)}.site-popover{z-index:10;background:var(--bg);border:1px solid var(--line-strong);border-radius:12px;width:min(100%,360px);padding:6px;position:absolute;top:66px;left:0;box-shadow:0 12px 32px #00000040}.site-popover .note{padding:8px 10px 6px}.site-menu{margin:0;padding:0;list-style:none}.site-menu li{cursor:pointer;border-radius:8px;outline:none;grid-template-columns:1fr auto;gap:2px 12px;padding:10px;display:grid}.site-menu li:hover,.site-menu li:focus-visible{background:var(--hover)}.site-menu li[aria-selected=true] .option-name:after{content:" ✓";color:var(--muted)}.option-name{font-weight:500}.option-chance{font-family:var(--mono)}.option-note{color:var(--muted);grid-column:1/-1;font-size:12px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.chance{font-family:var(--mono);letter-spacing:-.06em;color:var(--fail);font-size:clamp(72px,9vw,120px);font-weight:500;line-height:.9}.chance.good{color:var(--fg)}.caption{color:var(--muted);margin-top:-8px;font-size:14px;line-height:1.5}.caption strong{color:var(--fg);font-weight:500}.needs{background:var(--line);border:1px solid var(--line);gap:1px;margin:0;display:grid}.needs div{background:var(--bg);grid-template-columns:1fr auto;align-items:baseline;gap:2px 12px;padding:14px 16px;display:grid}.needs dt{font-weight:500}.needs dd{color:var(--muted);margin:0;font-size:13px}.needs .value{font-family:var(--mono);color:var(--fg);grid-area:1/2;font-size:22px}.needs .value.short{color:var(--fail)}.needs .need{text-align:right;grid-area:2/2}.note{color:var(--muted);font-size:12px;line-height:1.5}.needs+.note{margin-top:-12px}.date-field{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}.date-field .field-label{flex-basis:100%}.field-label{color:var(--muted);font-size:13px}.date-control{border:1px solid var(--line-strong);border-radius:8px;grid-template-columns:auto auto auto;justify-self:start;align-items:center;display:grid}.step{width:32px;height:34px;color:var(--muted);border:none;place-items:center;padding:0;display:grid}.step:hover:not(:disabled){color:var(--fg)}.step:disabled{opacity:.3;cursor:default}.date-open{height:34px;font-family:var(--mono);border:none;border-radius:0;padding:0 8px;font-size:14px}.date-open:hover,.date-open[aria-expanded=true]{background:var(--hover)}.date-popover{z-index:10;background:var(--bg);border:1px solid var(--line-strong);border-radius:12px;width:min(100%,360px);padding:12px;position:absolute;top:68px;left:0;box-shadow:0 12px 32px #00000040}.month-head{text-align:center;grid-template-columns:auto 1fr auto;align-items:center;margin-bottom:8px;font-weight:500;display:grid}.month-head .step{height:32px}.weekdays,.days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.weekdays span{text-align:center;color:var(--muted);padding-bottom:4px;font-size:11px}.days button{height:36px;font-family:var(--mono);background:color-mix(in srgb, var(--fg) calc(4% + 16% * var(--chance)), transparent);border:none;border-radius:6px;padding:0;font-size:13px}.days button.good{background:color-mix(in srgb, var(--amber) calc(20% + 60% * var(--chance)), transparent)}.days button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.days button:disabled{color:var(--line-strong);cursor:default;background:0 0}.date-popover .note{margin-top:10px}.slip{height:36px;font-size:13px}.when{border:1px solid var(--line-strong);border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:14px 16px;display:flex}.when span{color:var(--muted);flex-basis:100%;font-size:13px}.when strong{font-size:18px;font-weight:500}.when button{background:var(--fg);color:var(--bg);border-color:var(--fg);margin-left:auto;font-weight:500}.best{align-self:flex-start;font-size:13px}.best.primary{background:var(--fg);color:var(--bg);border-color:var(--fg);font-weight:500}.calendar-panel,.horizon-panel,.sites-panel{grid-column:1/-1}.calendar{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding-top:18px;display:grid}.calendar button{background:var(--grid);border:none;border-radius:2px;height:44px;padding:0;position:relative}.calendar button:after{content:"";height:calc(var(--chance) * 100%);background:var(--muted);border-radius:2px;position:absolute;inset:auto 0 0}.calendar button.good:after{background:var(--amber)}.calendar button[aria-pressed=true]{outline:2px solid var(--fg);outline-offset:1px}.calendar button[data-month]:before{content:attr(data-month);color:var(--muted);font-size:11px;position:absolute;top:-18px;left:0}.events{font-family:var(--mono);margin-bottom:14px;font-size:15px}.lede{max-width:720px;color:var(--muted);margin-bottom:16px;line-height:1.6}.horizon-panel h3{margin:24px 0 12px;font-size:14px;font-weight:500}#timeline{cursor:pointer;touch-action:none;width:100%;height:126px;display:block}.moment-row{align-items:center;gap:12px;margin-top:4px;display:flex}.play{width:32px;height:32px;fill:var(--fg);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.play[data-playing=true] .play-icon,.play[data-playing=false] .pause-icon{display:none}.moment{font-family:var(--mono);font-size:13px}.moment-row+.note{margin-top:6px}#sky{width:100%;height:300px;display:block}.horizon-panel .note{margin-top:10px}.cards{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.card{text-align:left;background:var(--bg);border:none;border-radius:0;align-content:start;gap:6px;padding:18px;display:grid}.card:hover{background:var(--hover)}.card[aria-pressed=true]{box-shadow:inset 0 2px 0 var(--fg)}.card-name{font-weight:500}.card-value{font-family:var(--mono);letter-spacing:-.04em;font-size:40px}.card-label{color:var(--muted);font-size:13px}.card-fact{font-size:13px}.card-source{color:var(--muted);font-size:11px;line-height:1.4}.foot{max-width:1240px;color:var(--muted);margin:0 auto;padding:24px 28px 40px;font-size:12px;line-height:1.6}@media (pointer:coarse){.site-open,.date-open,.step{height:44px}.shifts button,.slip,.best,.when button,.theme button{min-height:44px}.days button{height:44px}}@media (width<=480px){.top{padding:12px 16px}.top nav a[href=\/]{display:none}}@media (width<=860px){.map-chance{display:block}.map-panel,.readout{border-right:none;grid-column:1/-1}.grid>*{padding:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}#sky{height:240px}}.full{grid-column:1/-1}.half{grid-column:span 6}.half+.half{border-left:1px solid var(--line)}.verdict{color:var(--good);margin-bottom:12px;font-size:18px;font-weight:500}.checks{border-collapse:collapse;width:100%;font-size:14px}.checks th{text-align:left;color:var(--muted);font-size:12px;font-weight:500}.checks th,.checks td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 12px 12px 0}.mono{font-family:var(--mono)}.pass{color:var(--good);white-space:nowrap}.fail{color:var(--fail);white-space:nowrap}.scatter svg{width:100%;max-width:440px;display:block}.scatter text{fill:var(--muted);font-size:11px}.scatter .axis{fill:var(--fg);font-size:12px}.scatter .grid{stroke:var(--line)}.scatter .diagonal{stroke:var(--grid-zero)}.scatter circle{stroke:var(--bg);stroke-width:2px}.scatter .sun{fill:var(--amber)}.scatter .earth{fill:var(--earth)}.stat{font-family:var(--mono);margin-top:12px;font-size:14px}.prose p,.prose li{color:var(--fg);max-width:760px;line-height:1.65}.prose ol,.prose ul{gap:10px;margin:0;padding-left:20px;display:grid}.prose strong{color:var(--fg);font-weight:500}.prose a,.note a{color:var(--fg)}.refs li{font-size:13px}@media (width<=860px){.half{grid-column:1/-1}.half+.half{border-left:none}}
