:root{--bg:#05070b;--rail:#05070bc7;--surface:#0c111adb;--line:#96b4d724;--fg:#e6edf5;--muted:#93a3b8;--faint:#5d6c81;--dust:#9db2cc;--quiet:#facc15;--alarm:#f43f5e;--band:#5eead4;--font-display:"Big Shoulders Display", "Arial Narrow", "Roboto Condensed", sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--gutter:clamp(16px, 2.2vw, 28px);--rail-width:380px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--fg);font:15px/1.5 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100svh;margin:0}h1,h2,h3,p,dl,dd,ul{margin:0}ul{padding:0;list-style:none}:focus-visible{outline:2px solid var(--band);outline-offset:3px}.app{min-height:100svh;padding-inline:var(--gutter);padding-block:var(--gutter) 40px;flex-direction:column;gap:18px;display:flex}.rail{display:contents}.masthead{order:0}.tabs{order:1}.scene{height:clamp(320px,92vw,56svh);margin-inline:calc(var(--gutter) * -1);order:2;position:relative;overflow:hidden}.panel--now{order:3}.panel--notes{order:4}.panel--day{order:5}.hint{order:6}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.tabs{border:1px solid var(--line);background:#080c13d1;border-radius:16px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:4px;display:grid}.tab{min-width:0;font:500 10px/1.1 var(--font-mono);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;gap:5px;padding:8px 2px 7px;display:flex}.tab-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.tab-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab:hover{color:var(--fg)}.tab[aria-selected=true]{background:var(--band);color:var(--bg)}.tab:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.scene-canvas{width:100%;height:100%;display:block}.scene-labels{pointer-events:none;position:absolute;inset:0}.scene-label{font:500 11px/1 var(--font-mono);letter-spacing:.08em;color:#aac0dc8c;white-space:nowrap}.scene-label--now{color:var(--band);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 14px color-mix(in srgb, var(--band) 70%, transparent)}.scene-label--guide{color:#d6e6ffb8;margin-left:78px;font-size:10px}.scene-label--strong{color:var(--fg)}.scene-label--who{color:#9bd8ff;font-size:10px}.scene-callout{border:1px solid var(--line);font:500 11.5px/1.25 var(--font-body);color:var(--fg);white-space:nowrap;background:#05070bcc;border-radius:5px;padding:4px 8px}.scene--fallback{border-block:1px dashed var(--line);height:auto;color:var(--muted);text-align:center;place-items:center;padding:24px;display:grid}.scene--fallback p{max-width:44ch}.eyebrow,.label{font:500 11px/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.label .unit{letter-spacing:.04em;text-transform:none}.masthead-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.masthead-actions{align-items:center;gap:8px;display:flex}.about-open{border:1px solid var(--line);font:500 11px/1 var(--font-mono);letter-spacing:.08em;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:5px 11px}.about-open:hover{color:var(--fg)}.about-open:focus-visible,.about-close:focus-visible,.about-source:focus-visible{outline:2px solid var(--band);outline-offset:2px}.about{width:min(560px, calc(100vw - 2 * var(--gutter)));border:1px solid var(--line);background:var(--bg);max-height:min(86svh,760px);color:var(--fg);border-radius:16px;margin:auto;padding:0;box-shadow:0 24px 80px #0009}.about::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030508b3}.about-body{gap:18px;padding:clamp(20px,4vw,30px);display:grid}.about-top{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.about-top h2{font:800 clamp(1.8rem, 5vw, 2.2rem)/1 var(--font-display);letter-spacing:.02em;text-transform:uppercase}.about-close{border:1px solid var(--line);font:500 11px/1 var(--font-mono);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:5px 11px}.about-close:hover{color:var(--fg)}.about-intro{color:var(--fg);font-size:15px;line-height:1.55}.about-facts{gap:14px;display:grid}.about-facts dt{font:500 10px/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:4px}.about-facts dd{color:var(--muted);font-size:14px;line-height:1.55}.about-photo{border:1px solid var(--line);border-radius:10px;width:100%;max-width:360px;height:auto;margin-top:10px;display:block}.about-stack{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.about-stack li{border:1px solid var(--line);font:500 11px/1.2 var(--font-mono);color:var(--fg);border-radius:999px;padding:4px 9px}.about-source{font:500 12px var(--font-mono);color:var(--band);justify-self:start}.langs{border:1px solid var(--line);border-radius:999px;gap:2px;padding:2px;display:flex}.lang{font:500 11px/1 var(--font-mono);letter-spacing:.08em;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 9px}.lang:hover{color:var(--fg)}.lang[aria-pressed=true]{background:var(--line);color:var(--fg)}.lang:focus-visible{outline:2px solid var(--band);outline-offset:1px}.masthead h1{font:800 clamp(2.5rem, 5vw, 3.1rem)/.92 var(--font-display);letter-spacing:.02em;text-transform:uppercase;text-wrap:balance;margin-block:4px 10px}.status{font:12px/1.4 var(--font-mono);color:var(--muted);align-items:center;gap:9px;display:flex}.status-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.status--live .status-dot{background:var(--band);animation:2.4s ease-out infinite pulse}.status--quiet .status-dot{background:var(--quiet)}.status--error .status-dot{background:var(--alarm)}.panel{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.panel h3.label{margin-top:8px}.empty{max-width:40ch;color:var(--muted);font-size:14px}.reading{align-items:baseline;gap:10px;animation:.7s ease-out settle;display:flex}.reading-value{font:800 clamp(5.5rem, 14vw, 8.5rem)/.8 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--band);text-shadow:0 0 42px color-mix(in srgb, var(--band) 35%, transparent)}.reading-unit{font:500 14px var(--font-mono);color:var(--muted)}.chip{border:1px solid color-mix(in srgb, var(--band) 35%, transparent);background:color-mix(in srgb, var(--band) 12%, transparent);font:500 13px/1.2 var(--font-body);color:var(--band);border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:5px 11px;display:inline-flex}.chip-dot{background:var(--band);border-radius:50%;flex:none;width:7px;height:7px}.minor{grid-auto-columns:auto;grid-auto-flow:column;justify-content:start;gap:0 24px;display:grid}.minor dt{font:500 10px/1.8 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--faint)}.minor dd{font:700 1.9rem/1 var(--font-display);font-variant-numeric:tabular-nums}.minor-unit{font:500 12px var(--font-mono);color:var(--muted);margin-left:3px}.minor dd.minor-text{font:500 14px/1.3 var(--font-body);padding-top:6px}.meter{gap:8px;display:grid}.meter-figure{align-items:baseline;gap:8px;display:flex}.meter-value{font:700 2.6rem/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--band)}.meter-unit{font:12px var(--font-mono);color:var(--muted)}.meter-track{background:#96b4d71f;border-radius:3px;height:6px;position:relative}.meter-fill{background:var(--band);box-shadow:0 0 12px color-mix(in srgb, var(--band) 50%, transparent);border-radius:3px;position:absolute;inset:0 auto 0 0}.meter-mark{background:var(--fg);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.meter-verdict{color:var(--muted);font-size:13px}.facts{display:grid}.facts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-block:6px;font-size:14px;display:flex}.facts dt{color:var(--muted)}.facts dd{font-variant-numeric:tabular-nums;text-align:right}.facts dd span{color:var(--faint);font-size:13px}.legend{gap:2px;display:grid}.legend li{color:var(--muted);border-radius:4px;grid-template-columns:12px 64px 1fr;align-items:center;gap:10px;padding:4px 8px;font-size:13px;display:grid}.legend li.is-current{background:color-mix(in srgb, var(--band) 13%, transparent);color:var(--fg)}.swatch{background:var(--band);border-radius:3px;width:12px;height:12px}.legend-range{font:12px var(--font-mono);font-variant-numeric:tabular-nums}.sizes{color:var(--muted);gap:6px;font-size:13px;display:grid}.sizes li{align-items:center;gap:10px;display:flex}.size-dot{flex:none;place-items:center;width:12px;height:12px;display:grid}.size-dot:before{content:"";background:var(--dust);border-radius:50%}.size-dot--fine:before{width:3px;height:3px}.size-dot--mid:before{width:5px;height:5px}.size-dot--coarse:before{width:8px;height:8px}.foot{max-width:60ch;color:var(--faint);font-size:12px;line-height:1.55}.panel--notes>p:not([class]){max-width:60ch;color:var(--muted);font-size:14px}.breath-count{font:800 clamp(3rem, 7vw, 4.2rem)/.85 var(--font-display);font-variant-numeric:tabular-nums;color:var(--band);text-shadow:0 0 36px color-mix(in srgb, var(--band) 30%, transparent)}.breath-caption{font:12px/1.45 var(--font-mono);color:var(--muted)}.size-table{grid-template-columns:repeat(5,auto);justify-content:start;gap:0 18px;display:grid}.size-table div{gap:2px;display:grid}.size-table dt{font:500 10px/1.4 var(--font-mono);color:var(--faint)}.size-table dd{font:600 14px/1.2 var(--font-mono);font-variant-numeric:tabular-nums}.key{gap:6px;display:grid}.key li{grid-template-columns:12px auto 1fr;align-items:center;gap:10px;font-size:13px;display:grid}.key-name{font:500 12px var(--font-mono)}.key-detail{color:var(--muted)}.key-line{max-width:60ch;color:var(--muted);align-items:flex-start;gap:10px;font-size:13px;display:flex}.sheet-swatch{background:#9bd8ff40;border:1px solid #9bd8ff;border-radius:3px;flex:none;width:14px;height:14px;margin-top:2px}.notice{color:var(--quiet);font-size:13px}.hint{font:11px/1.4 var(--font-mono);letter-spacing:.06em;text-align:center;color:var(--faint)}.tooltip{z-index:10;border:1px solid var(--line);border-left:2px solid var(--band);background:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;border-radius:6px;gap:4px;min-width:184px;padding:10px 12px;display:grid;position:fixed;box-shadow:0 12px 30px #00000073}.tooltip-time{font:500 11px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.tooltip-value{font:800 2.3rem/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--band)}.tooltip-value span{font:12px var(--font-mono);color:var(--muted);margin-left:4px}.tooltip-minor{color:var(--muted);font-size:13px}.tooltip-band{align-items:center;gap:7px;font-size:13px;display:flex}@media (width>=960px){.app{height:100svh;padding:0;display:block;overflow:hidden}.scene{--scene-inset-left:var(--rail-width);height:auto;min-height:0;margin:0;position:fixed;inset:0}.rail{z-index:1;width:var(--rail-width);height:100svh;padding:var(--gutter);background:linear-gradient(90deg, var(--rail) 0%, var(--rail) 80%, transparent 100%);scrollbar-width:thin;flex-direction:column;gap:22px;display:flex;position:relative;overflow-y:auto}.hint{bottom:var(--gutter);left:calc(var(--rail-width) + (100vw - var(--rail-width)) / 2);white-space:nowrap;pointer-events:none;position:fixed;transform:translate(-50%)}.scene--fallback{padding-left:calc(var(--rail-width) + 24px)}.tabs{z-index:2;top:var(--gutter);left:calc(var(--rail-width) + (100vw - var(--rail-width)) / 2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;display:flex;position:fixed;transform:translate(-50%)}.tab{letter-spacing:.05em;border-radius:999px;flex-direction:row;gap:7px;padding:8px 14px;font-size:12px;line-height:1}.tab-icon{width:14px;height:14px}}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--band) 70%, transparent)}to{box-shadow:0 0 0 10px color-mix(in srgb, var(--band) 0%, transparent)}}@keyframes settle{0%{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.status--live .status-dot,.reading{animation:none}}
