.tl-wrap{display:grid;gap:.5rem}.tl-toolbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tl-snaps{display:flex;gap:.1875rem}.tl-snaps button{font-size:.6875rem;min-width:2.5rem;min-height:2.25rem;padding:0 .5rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-3)}.tl-snaps button[aria-pressed=true]{border-color:var(--rig-1);background:color-mix(in srgb,var(--rig-1) 16%,var(--surface));color:var(--ink)}.tl-hint{font-size:.6875rem;flex:1;min-width:10rem}.tl{position:relative;display:grid}.tl--vertical{grid-template-columns:3.25rem minmax(0,1fr);min-height:34rem}.tl--horizontal{grid-template-rows:1.5rem minmax(0,1fr)}.tl-axis{position:relative;touch-action:pan-y}.tl--vertical .tl-axis{border-right:1px solid var(--line-soft)}.tl--horizontal .tl-axis{margin-left:5rem;border-bottom:1px solid var(--line-soft)}.tl-tick{position:absolute;font-size:.6875rem;color:var(--ink-3)}.tl--vertical .tl-tick{right:.5rem;transform:translateY(-50%)}.tl--horizontal .tl-tick{top:.125rem;transform:translate(-50%)}.tl-lanes{position:relative}.tl--vertical .tl-lanes{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.375rem;padding-left:.375rem}.tl--horizontal .tl-lanes{display:grid;gap:1px}.tl-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none}.tl--horizontal .tl-backdrop{margin-left:5rem}.tl-band{position:absolute}.tl--vertical .tl-band{left:0;right:0}.tl--horizontal .tl-band{top:0;bottom:0}.tl-band--twilight{background:repeating-linear-gradient(115deg,color-mix(in srgb,var(--sun) 12%,transparent) 0 4px,transparent 4px 9px)}.tl-band--dark{background:color-mix(in srgb,var(--ink) 4%,transparent)}.tl--vertical .tl-band--moon{box-shadow:inset 2px 0 color-mix(in srgb,var(--moon) 55%,transparent)}.tl--horizontal .tl-band--moon{box-shadow:inset 0 2px color-mix(in srgb,var(--moon) 55%,transparent)}.tl--vertical .tl-lane{display:grid;grid-template-rows:auto minmax(0,1fr)}.tl--horizontal .tl-lane{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:center;min-height:4rem}.tl-lane-head{display:flex;align-items:center;gap:.375rem;padding:.25rem .125rem;font-size:.75rem}.tl-lane-head b{font-weight:620}.tl-lane-head .tnum{font-size:.6875rem}.tl-chip{width:.5rem;height:.5rem;border-radius:2px;background:var(--c);flex:none}.tl-track{position:relative;touch-action:none;cursor:crosshair;border-radius:var(--radius-sm)}.tl--horizontal .tl-track{height:3.5rem}.tl--vertical .tl-track{height:100%}.tl-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:.6875rem;color:var(--ink-3);font-style:italic;pointer-events:none}.tl-selection{position:absolute;border:1.5px dashed var(--c);background:color-mix(in srgb,var(--c) 18%,transparent);border-radius:var(--radius-sm);display:grid;place-items:center;pointer-events:none;z-index:4}.tl--vertical .tl-selection{left:0;right:0}.tl--horizontal .tl-selection{top:.1875rem;bottom:.1875rem}.tl-selection span{font-size:.625rem;color:var(--ink);background:var(--surface);padding:.0625rem .3125rem;border-radius:3px}.tl-block{position:absolute;display:flex;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--c) 70%,transparent);background:color-mix(in srgb,var(--c) 26%,var(--bg));color:var(--ink);overflow:hidden;cursor:grab;z-index:2;touch-action:none}.tl--vertical .tl-block{left:0;right:0;flex-direction:column}.tl--horizontal .tl-block{top:.1875rem;bottom:.1875rem;flex-direction:row}.tl-block[data-active]{background:color-mix(in srgb,var(--c) 40%,var(--bg));box-shadow:0 0 0 1px var(--c)}.tl-block[data-issue=warn]{border-color:var(--warn)}.tl-block[data-issue=blocking]{border-color:var(--critical);border-style:dashed;border-width:1.5px}.tl-block[data-dragging]{z-index:6;cursor:grabbing;box-shadow:0 4px 16px #0000008c}.tl-block[data-tapped]{box-shadow:0 0 0 2px var(--c)}.tl-block-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:.0625rem;padding:.25rem .4375rem;overflow:hidden;pointer-events:none}.tl-block-name{font-size:.75rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-block-meta{font-size:.625rem;color:color-mix(in srgb,var(--ink) 78%,transparent);white-space:nowrap}.tl-usable{position:absolute;background:var(--ok);pointer-events:none;opacity:.9}.tl--vertical .tl-usable{left:0;width:3px}.tl--horizontal .tl-usable{bottom:0;height:3px}.tl-handle{flex:none;position:relative;background:color-mix(in srgb,var(--c) 55%,transparent);touch-action:none}.tl-handle:after{content:"";position:absolute;inset:-8px}.tl--vertical .tl-handle{height:6px;width:100%;cursor:ns-resize}.tl--horizontal .tl-handle{width:6px;height:100%;cursor:ew-resize}.tl-handle:hover{background:var(--c)}@media(pointer:coarse){.tl-handle{background:var(--c)}.tl-handle:after{inset:-12px}.tl--vertical .tl-handle{height:9px}.tl--horizontal .tl-handle{width:9px}.tl-handle:before{content:"";position:absolute;inset:0;margin:auto;background:color-mix(in srgb,var(--bg) 55%,transparent);border-radius:1px}.tl--vertical .tl-handle:before{width:1.75rem;height:2px}.tl--horizontal .tl-handle:before{width:2px;height:1.75rem}}.tl-cursor{position:absolute;pointer-events:none;z-index:5}.tl--vertical .tl-cursor{left:0;right:0;height:0;border-top:1px dashed var(--ink-3)}.tl--horizontal .tl-cursor{top:0;bottom:0;width:0;border-left:1px dashed var(--ink-3);margin-left:5rem}.tl-scrub{width:100%;height:2.5rem;margin:0;-webkit-appearance:none;appearance:none;background:transparent}.tl-scrub::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:var(--line)}.tl-scrub::-moz-range-track{height:3px;border-radius:2px;background:var(--line)}.tl-scrub::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;border-radius:50%;background:var(--ink);border:3px solid var(--surface);margin-top:-.5rem}.tl-scrub::-moz-range-thumb{width:1.25rem;height:1.25rem;border-radius:50%;background:var(--ink);border:3px solid var(--surface)}.sp-scrim{position:fixed;inset:0;background:#00000080;z-index:40}.sp{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:82dvh;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:.625rem;padding:.875rem .875rem calc(1rem + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -6px 24px #00000073}.sp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.sp-head h2{font-size:1.25rem;letter-spacing:-.02em}.sp-head p{font-size:.75rem;margin-top:.125rem}.sp-close{color:var(--ink-3);font-size:1rem}.sp-search{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.625rem .75rem;min-height:var(--tap);width:100%}.sp-loading{font-size:.8125rem;padding:.75rem 0}.sp-list{overflow-y:auto;display:grid;gap:.375rem;overscroll-behavior:contain}.sp-item{display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:.625rem;align-items:center;text-align:left;padding:.5rem .625rem;min-height:3.5rem;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink)}.sp-item:disabled{opacity:1;cursor:default}.sp-item[data-level=ok]{border-left:3px solid var(--ok)}.sp-item[data-level=warn]{border-left:3px solid var(--warn)}.sp-item[data-level=bad]{border-left:3px solid var(--critical);opacity:.75}.sp-usable{display:grid;place-items:center;height:2.25rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:620;background:var(--surface)}.sp-usable[data-level=ok]{color:var(--ok)}.sp-usable[data-level=warn]{color:var(--warn)}.sp-usable[data-level=bad]{color:var(--critical)}.sp-item-body{display:grid;gap:.0625rem;min-width:0}.sp-item-top{display:flex;align-items:baseline;gap:.375rem;flex-wrap:wrap}.sp-item-top b{font-size:.875rem;font-weight:600}.sp-item-sub{font-size:.6875rem;color:var(--ink-3)}.sp-badge{font-size:.5625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.0625rem .3125rem;border-radius:3px;background:color-mix(in srgb,var(--rig-1) 20%,var(--surface));color:var(--rig-1)}.sp-item-issue{font-size:.6875rem;line-height:1.35}.sp-item-issue[data-level=warn]{color:var(--warn)}.sp-item-issue[data-level=blocking]{color:var(--critical)}.sp-item-issue[data-level=info]{color:var(--ink-3)}.sp-foot{font-size:.6875rem;line-height:1.45}@media(min-width:46rem){.sp{left:auto;right:1.5rem;bottom:1.5rem;width:26rem;max-height:76dvh;border:1px solid var(--line);border-radius:var(--radius)}}.rc{display:grid;gap:.5rem;padding-top:.625rem;border-top:1px solid var(--line-soft)}.rc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem .75rem;margin:0}.rc-grid dt{font-size:.625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:620}.rc-grid dd{margin:.0625rem 0 0;font-size:.8125rem}.rc-progress{display:grid;gap:.25rem}.rc-bar{display:flex;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.rc-done{background:var(--ok)}.rc-tonight{background:color-mix(in srgb,var(--rig-1) 85%,transparent)}.rc-progress-text{font-size:.6875rem;color:var(--ink-2)}.rc-mismatch{font-size:.6875rem;color:var(--warn);border-left:2px solid currentColor;padding-left:.5rem;line-height:1.45}.rc-note{font-size:.75rem;line-height:1.5;color:var(--ink-2)}.bs{position:fixed;left:0;right:0;bottom:calc(3.5rem + env(safe-area-inset-bottom,0px));z-index:20;max-height:74dvh;overflow-y:auto;overscroll-behavior:contain;display:grid;gap:.75rem;padding:1rem 1rem 1.5rem;background:var(--surface);border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -6px 24px #00000073}.bs-close{position:absolute;top:.25rem;right:.25rem;color:var(--ink-3);font-size:1rem}.bs-head h2{font-size:1.0625rem}.bs-head p{font-size:.75rem;margin-top:.125rem}.bs-times{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.bs-time{display:grid;gap:.25rem}.bs-time-row{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 2.5rem;gap:.25rem;align-items:stretch}.bs-time-row button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:1.125rem;line-height:1;min-height:var(--tap)}.bs-time-row input{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem .375rem;min-height:var(--tap);text-align:center;font-size:1rem;width:100%}.bs-error{font-size:.75rem;color:var(--critical)}.bs-field{display:grid;gap:.25rem}.bs-field select{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem;min-height:var(--tap)}.bs-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem .625rem;margin:0;padding-top:.5rem;border-top:1px solid var(--line-soft)}.bs-stats dt{font-size:.5625rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:620}.bs-stats dd{margin:.0625rem 0 0;font-size:.875rem}.bs-stats dd[data-level=ok]{color:var(--ok)}.bs-stats dd[data-level=warn]{color:var(--warn)}.bs-stats dd[data-level=bad]{color:var(--critical)}.bs-stats dd small{font-size:.6875rem;color:var(--ink-3)}.bs-plan{display:grid;gap:.5rem;padding:.625rem;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-2)}.bs-plan-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.bs-plan-total{font-size:.9375rem;font-weight:600}.bs-plan-total small{font-size:.625rem;color:var(--ink-3);font-weight:400}.bs-plan-total[data-over]{color:var(--warn)}.bs-plan-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.4375rem}.bs-plan-grid input,.bs-plan-grid select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.4375rem;min-height:2.75rem;width:100%;text-align:center}.bs-plan-grid select{text-align:left;font-size:.75rem}.bs-plan-grid input[type=number]::-webkit-outer-spin-button,.bs-plan-grid input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bs-plan-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.bs-drizzle{display:inline-flex;align-items:center;gap:.4375rem;font-size:.8125rem;min-height:2.5rem;color:var(--ink-2)}.bs-drizzle[aria-pressed=true]{color:var(--ink)}.bs-drizzle-box{width:1.25rem;height:1.25rem;border-radius:4px;border:1.5px solid var(--line);display:grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--bg)}.bs-drizzle[aria-pressed=true] .bs-drizzle-box{background:var(--rig-1);border-color:var(--rig-1)}.bs-fill{font-size:.6875rem;color:var(--rig-1);min-height:2.5rem;padding:0 .5rem}.bs-plan-note{font-size:.6875rem;line-height:1.4;color:var(--ink-3)}.bs-plan-note[data-warn]{color:var(--warn)}.bs-transit{font-size:.75rem;line-height:1.45;color:var(--ink-2);border-left:2px solid var(--line);padding-left:.5rem}.bs-transit[data-inside]{color:var(--ok);border-left-color:currentColor}.bs-issues{list-style:none;margin:0;padding:0;display:grid;gap:.3125rem}.bs-issues li{font-size:.75rem;line-height:1.45;border-left:2px solid currentColor;padding-left:.5rem}.bs-issues li[data-level=info]{color:var(--ink-3)}.bs-issues li[data-level=warn]{color:var(--warn)}.bs-issues li[data-level=blocking]{color:var(--critical)}.bs-remove{justify-self:start;font-size:.75rem;color:var(--critical);min-height:var(--tap);padding:0 .5rem;text-decoration:underline;text-underline-offset:3px}@media(min-width:46rem){.bs{left:auto;right:1.5rem;bottom:1.5rem;width:25rem;border:1px solid var(--line);border-radius:var(--radius)}}.ac{display:grid;gap:.3125rem}.ac svg{width:100%;height:13rem;display:block;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);touch-action:none;cursor:ew-resize}.ac-twilight{fill:color-mix(in srgb,var(--sun) 10%,transparent)}.ac-dark{fill:color-mix(in srgb,var(--ink) 4%,transparent)}.ac-grid{stroke:var(--line-soft);stroke-width:1;stroke-dasharray:3 4}.ac-horizon{stroke:var(--line);stroke-width:1.5}.ac-tick{stroke:var(--line);stroke-width:1}.ac-axis-label{fill:var(--ink-3);font-size:11px;font-family:var(--mono)}.ac-line{fill:none;stroke:var(--c);vector-effect:non-scaling-stroke}.ac-line--outside{stroke-width:1.25;opacity:.32;stroke-dasharray:4 3}.ac-line--inside{stroke-width:2.5;stroke-linecap:round}.ac-transit{fill:var(--c);stroke:var(--surface);stroke-width:1.5}.ac-now{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.ac-legend{font-size:.625rem;line-height:1.4}@media(min-width:46rem){.ac svg{height:16rem}}.tt{display:flex;flex-wrap:wrap;gap:.3125rem;align-items:center}.tt-chip{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;padding:.25rem .625rem;min-height:2.25rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-3)}.tt-chip[aria-pressed=true]{border-color:color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 14%,var(--surface));color:var(--ink)}.tt-dot{width:.5rem;height:.5rem;border-radius:50%;flex:none;border:1.5px solid var(--c)}.tt-chip[aria-pressed=true] .tt-dot{background:var(--c)}.tt-all{font-size:.625rem;color:var(--ink-3);min-height:2.25rem;padding:0 .375rem;text-decoration:underline;text-underline-offset:3px}.nv{display:grid;gap:.875rem;padding:.875rem .875rem 1.5rem}.nv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.nv-sub{font-size:.75rem;margin-top:.125rem}.nv-date{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.5rem .625rem;font-size:.8125rem;min-height:var(--tap)}.nv-regime{background:color-mix(in srgb,var(--warn) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line));border-radius:var(--radius-sm);padding:.5rem .625rem;font-size:.8125rem}.nv-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;background:var(--line-soft);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color .3s}.nv-facts>div{background-color:var(--surface);padding:.5rem .625rem;transition:background-color .35s ease}.nv-facts[data-phase=day]>div{background-color:color-mix(in srgb,var(--sun) 28%,var(--surface))}.nv-facts[data-phase=civil]>div{background-color:color-mix(in srgb,var(--sun) 15%,var(--surface))}.nv-facts[data-phase=nautical]>div{background-color:color-mix(in srgb,#3f6bbf 22%,var(--surface))}.nv-facts[data-phase=astronomical]>div{background-color:color-mix(in srgb,#24356b 26%,var(--surface))}.nv-facts[data-phase=night]>div{background-color:var(--surface)}.nv-facts[data-phase=day]{border-color:color-mix(in srgb,var(--sun) 55%,var(--line))}.nv-facts[data-phase=civil]{border-color:color-mix(in srgb,var(--sun) 38%,var(--line))}.nv-facts[data-phase=nautical]{border-color:color-mix(in srgb,#3f6bbf 45%,var(--line))}.nv-facts[data-phase=astronomical]{border-color:color-mix(in srgb,#24356b 48%,var(--line))}:root[data-theme=red] .nv-facts[data-phase=day]>div{background-color:color-mix(in srgb,var(--ink) 24%,var(--surface))}:root[data-theme=red] .nv-facts[data-phase=civil]>div{background-color:color-mix(in srgb,var(--ink) 16%,var(--surface))}:root[data-theme=red] .nv-facts[data-phase=nautical]>div{background-color:color-mix(in srgb,var(--ink) 10%,var(--surface))}:root[data-theme=red] .nv-facts[data-phase=astronomical]>div{background-color:color-mix(in srgb,var(--ink) 5%,var(--surface))}:root[data-theme=red] .nv-facts{border-color:var(--line)}.nv-facts dd{margin:.125rem 0 0;font-size:1.0625rem;letter-spacing:-.02em}.nv-facts dd small{font-size:.625rem}.nv-issues{display:grid;gap:.375rem}.nv-issue{display:grid;grid-template-columns:.5rem minmax(0,1fr);gap:.625rem;align-items:start;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.5rem .625rem;font-size:.8125rem;line-height:1.45}.nv-dot{width:.5rem;height:.5rem;border-radius:50%;margin-top:.375rem;background:var(--ink-3)}.nv-issue[data-level=ok] .nv-dot{background:var(--ok)}.nv-issue[data-level=warn] .nv-dot{background:var(--warn)}.nv-issue[data-level=critical] .nv-dot{background:var(--critical)}.nv-issue[data-level=critical]{border-color:color-mix(in srgb,var(--critical) 45%,var(--line))}.nv-clock{display:flex;align-items:baseline;justify-content:center;gap:.5rem;font-size:1.25rem;letter-spacing:-.02em}.nv-clock span{font-size:.6875rem;font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;font-weight:620;padding:.125rem .4375rem;border-radius:999px;border:1px solid currentColor;color:var(--ink-3)}.nv-clock[data-phase=day] span{color:var(--sun)}.nv-clock[data-phase=civil] span{color:color-mix(in srgb,var(--sun) 70%,var(--ink-2))}.nv-clock[data-phase=nautical] span{color:#6b8fd6}.nv-clock[data-phase=astronomical] span{color:#7f8fd0}.nv-clock[data-phase=night] span{color:var(--ok)}:root[data-theme=red] .nv-clock span{color:var(--ink-2)}.nv-chart{display:grid;gap:.4375rem}.nv-chart-head{display:flex;align-items:baseline;justify-content:space-between}.nv-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.nv-buttons{display:flex;gap:.375rem}.nv-buttons button{font-size:.75rem;min-height:2.5rem;padding:0 .75rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--ink-2)}.nv-buttons button:first-child{border-color:color-mix(in srgb,var(--rig-1) 50%,var(--line));color:var(--rig-1)}.nv-buttons .nv-danger{color:var(--ink-3)}.nv-tip{font-size:.75rem;line-height:1.55}.nv-blocking{font-size:.75rem;line-height:1.45;color:var(--critical);border-left:2px solid currentColor;padding-left:.5rem}.nv-rejected{font-size:.8125rem;border-top:1px solid var(--line-soft);padding-top:.625rem}.nv-rejected summary{color:var(--ink-3);min-height:var(--tap);display:flex;align-items:center}.nv-rejected ul{margin:.25rem 0 0;padding-left:1.125rem;display:grid;gap:.25rem}.nv-sheet{position:fixed;left:0;right:0;bottom:calc(3.5rem + env(safe-area-inset-bottom,0px));max-height:72dvh;overflow-y:auto;background:var(--surface);border-top:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow);padding:1rem 1rem 1.5rem;display:grid;gap:.625rem;z-index:20}.nv-sheet-close{position:absolute;top:.25rem;right:.25rem;color:var(--ink-3);font-size:1rem}.nv-sheet-sub{font-size:.75rem}.nv-factors{list-style:none;margin:0;padding:0;display:grid;gap:.625rem}.nv-factors li{display:grid;gap:.25rem}.nv-factor-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.8125rem;font-weight:560}.nv-bar{height:3px;border-radius:2px;background:var(--line);overflow:hidden}.nv-bar i{display:block;height:100%;background:var(--rig-1)}.nv-factors p{font-size:.75rem;line-height:1.4}.nv-notes{margin:0;padding-left:1.125rem;font-size:.75rem;color:var(--warn);display:grid;gap:.1875rem}@media(min-width:46rem){.nv{padding:1.25rem 1.5rem 2rem;max-width:68rem}.nv-facts{grid-template-columns:repeat(6,minmax(0,1fr))}.nv-sheet{right:1.5rem;left:auto;bottom:1.5rem;width:24rem;border-radius:var(--radius);border:1px solid var(--line)}}.app{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100dvh}.app-main{overflow-y:auto;overscroll-behavior:contain;padding-bottom:.5rem}.pad{padding:1rem;display:grid;gap:.75rem}.app-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.app-nav-item{display:grid;justify-items:center;align-content:center;gap:.125rem;min-height:3.5rem;color:var(--ink-3);transition:color .12s}.app-nav-item[aria-current=page]{color:var(--ink)}.app-nav-item[aria-current=page] .app-nav-glyph{color:var(--rig-1)}.app-nav-glyph{font-size:1.125rem;line-height:1}.app-nav-label{font-size:.625rem;letter-spacing:.02em}.app-theme{position:fixed;top:calc(.5rem + env(safe-area-inset-top,0px));right:.5rem;z-index:30;width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;font-size:1rem;background:color-mix(in srgb,var(--surface) 82%,transparent);border:1px solid var(--line);color:var(--ink-2);backdrop-filter:blur(6px)}.app-busy{position:fixed;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:.25rem .75rem;font-size:.6875rem;color:var(--ink-2);box-shadow:var(--shadow)}.app-loading{min-height:12rem;display:grid;place-items:center;color:var(--ink-3);font-size:.75rem}.app-error{position:fixed;z-index:40;left:.75rem;right:.75rem;bottom:calc(4.25rem + env(safe-area-inset-bottom,0px));display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border:1px solid color-mix(in srgb,var(--bad) 55%,var(--line));border-radius:var(--radius);background:var(--surface-2);color:var(--bad);box-shadow:var(--shadow);font-size:.75rem}.app-error button{min-height:2rem;color:var(--ink);text-decoration:underline}@media(min-width:46rem){.app-error{left:7.25rem;bottom:.75rem;max-width:32rem}}@media(min-width:46rem){.app{grid-template-rows:none;grid-template-columns:6.5rem minmax(0,1fr)}.app-main{grid-column:2}.app-nav{grid-column:1;grid-row:1;grid-auto-flow:row;grid-auto-columns:none;align-content:start;gap:.25rem;padding:.75rem .375rem;border-top:0;border-right:1px solid var(--line)}}:root{--bg: #05070d;--surface: #0b101b;--surface-2: #111828;--line: #1d2740;--line-soft: #161e30;--ink: #e2e8f6;--ink-2: #a3afc9;--ink-3: #6b7896;--rig-1: #5b9cff;--rig-2: #b77df0;--rig-3: #3fd5c0;--rig-4: #f2a65a;--ok: #5fd98a;--warn: #ffb454;--critical: #ff6b6b;--moon: #f2e2b0;--sun: #ffcf6b;--hop: #ffd84d;--hop-glow: rgb(255 216 77 / .25);--radius: 10px;--radius-sm: 6px;--tap: 48px;--sans: ui-sans-serif, "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: ui-monospace, "Cascadia Code", "SF Mono", "JetBrains Mono", Consolas, monospace;--shadow: 0 2px 12px rgb(0 0 0 / .45);color-scheme:dark}:root[data-theme=light]{--bg: #f3f5fa;--surface: #ffffff;--surface-2: #eef1f8;--line: #ccd5e6;--line-soft: #e2e8f3;--ink: #0e1526;--ink-2: #414e6d;--ink-3: #74809c;--rig-1: #2563c9;--rig-2: #8340c4;--rig-3: #12897a;--rig-4: #b3630c;--ok: #167a45;--warn: #9c5a00;--critical: #bc2626;--moon: #8a6f22;--sun: #a86c05;--hop: #9c7a00;--hop-glow: rgb(156 122 0 / .18);--shadow: 0 2px 10px rgb(15 23 42 / .1);color-scheme:light}:root[data-theme=red]{--bg: #000000;--surface: #0a0000;--surface-2: #140202;--line: #3a0d0d;--line-soft: #240707;--ink: #ff4d3d;--ink-2: #c23026;--ink-3: #7d1d18;--rig-1: #ff6152;--rig-2: #c93a2e;--rig-3: #96261d;--rig-4: #ff8b7d;--ok: #d4463a;--warn: #ff6152;--critical: #ff9083;--moon: #b8362a;--sun: #ff6152;--hop: #ff9083;--hop-glow: rgb(255 144 131 / .2);--shadow: none;color-scheme:dark}:root[data-theme=red] img,:root[data-theme=red] canvas{filter:grayscale(1) sepia(1) hue-rotate(-38deg) saturate(6) brightness(.62)}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg: #f3f5fa;--surface: #ffffff;--surface-2: #eef1f8;--line: #ccd5e6;--line-soft: #e2e8f3;--ink: #0e1526;--ink-2: #414e6d;--ink-3: #74809c;--rig-1: #2563c9;--rig-2: #8340c4;--rig-3: #12897a;--rig-4: #b3630c;--ok: #167a45;--warn: #9c5a00;--critical: #bc2626;--moon: #8a6f22;--sun: #a86c05;--shadow: 0 2px 10px rgb(15 23 42 / .1);color-scheme:light}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}*{-webkit-tap-highlight-color:transparent}h1,h2,h3{margin:0;font-weight:620;letter-spacing:-.015em;text-wrap:balance}h1{font-size:1.25rem}h2{font-size:1rem}h3{font-size:.875rem}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--rig-1);outline-offset:2px;border-radius:4px}.tnum{font-family:var(--mono);font-variant-numeric:tabular-nums}.u-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.u-muted{color:var(--ink-3)}.u-dim{color:var(--ink-2)}.u-label{font-size:.625rem;font-weight:650;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3)}.u-tap{min-height:var(--tap);min-width:var(--tap);display:inline-flex;align-items:center;justify-content:center}.u-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
