@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/caa77eaf0c6cae2c-s.0zo05ppef7j78.woff2)format("woff2");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:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/6260001f568fa40d-s.03t2stz_54~98.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/2aa781f449db21e3-s.p.0jjtl0l8vf29i.woff2)format("woff2");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:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_652a746-module__4mGe9G__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_652a746-module__4mGe9G__variable{--demo-font-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.0xyeb7czu1stb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.0vnh8.d8wxa2x.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.0~.8lt~vdqmc3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.00z~hoalba5dm.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0vwgtotjdgnhr.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.09.f.n_ccld80.woff2)format("woff2");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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_539fd3e2-module__w182zW__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_539fd3e2-module__w182zW__variable{--demo-font-body:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");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:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_16ab6fa6-module__oHA7oq__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_16ab6fa6-module__oHA7oq__variable{--demo-font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
.demo-root{--ground:#f5f6f3;--panel:#fff;--ink:#16181b;--muted:#646a70;--line:#e2e4df;--garnet:#8c1d2b;--garnet-soft:#f3e4e5;--live:#2f8f5b;--wave:#8c1d2b;--wave-fill:#8c1d2b14;--ax:#8c1d2b;--ay:#3e6a8a;--az:#b7791f;--display:var(--demo-font-display), ui-sans-serif, system-ui, sans-serif;--body:var(--demo-font-body), ui-sans-serif, system-ui, sans-serif;--mono:var(--demo-font-mono), ui-monospace, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--ground);min-height:100vh;color:var(--ink);font:16px/1.5 var(--body);padding:0 20px}.demo-root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ground:#121416;--panel:#1a1d20;--ink:#edeeec;--muted:#9aa0a5;--line:#2a2e32;--garnet:#e0717d;--garnet-soft:#3a2226;--live:#5cc48a;--wave:#e0717d;--wave-fill:#e0717d1a;--ax:#e0717d;--ay:#7fa8c9;--az:#e0b25c}html:has(.demo-root){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f6f3}html:has(.demo-root) body{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f6f3}html:has(.demo-root[data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#121416}html:has(.demo-root[data-theme=dark]) body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#121416}.demo-root *,.demo-root :before,.demo-root :after{box-sizing:border-box;border-color:var(--line)}.demo-root .wrap{flex-direction:column;gap:28px;max-width:1180px;margin:0 auto;padding-block:28px 40px;display:flex}.demo-root .kicker{font:12px var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.demo-root header.top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.demo-root h1{font:700 clamp(30px, 4.4vw, 52px) / 1.05 var(--display);letter-spacing:-.02em;text-wrap:balance;margin:6px 0 0}.demo-root .lede{color:var(--muted);margin:10px 0 0;font-size:clamp(17px,1.8vw,21px)}.demo-root .lede b{color:var(--ink);font-weight:500}.demo-root .clock{font:500 clamp(26px, 3vw, 36px) var(--mono);font-variant-numeric:tabular-nums}.demo-root .stations{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;display:flex}.demo-root .st{border-top:1px solid var(--line);grid-template-columns:200px 1fr 230px;align-items:center;gap:24px;padding:20px 24px;display:grid}.demo-root .st:first-child{border-top:0}.demo-root .who{flex-direction:column;gap:4px;min-width:0;display:flex}.demo-root .name{font:700 24px var(--display)}.demo-root .sensor{font:13px var(--mono);color:var(--muted);overflow-wrap:anywhere}.demo-root .dot{font:12px var(--mono);color:var(--live);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:6px;display:inline-flex}.demo-root .dot:before{content:"";background:var(--live);border-radius:50%;width:8px;height:8px;animation:2s infinite demo-pulse}.demo-root .dot.wait{color:var(--muted)}.demo-root .dot.wait:before{background:var(--muted)}@keyframes demo-pulse{50%{opacity:.35}}.demo-root canvas.wave{width:100%;height:120px;display:block}.demo-root .state{text-align:right}.demo-root .word{font:700 clamp(28px, 3.4vw, 44px) / 1 var(--display);letter-spacing:-.01em;transition:color .3s}.demo-root .word.on{color:var(--garnet)}.demo-root .conf{font:13px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:6px}.demo-root .st.empty{color:var(--muted);font-size:17px;display:block}.demo-root h2{font:700 22px var(--display);margin:0}.demo-root .sub{color:var(--muted);margin:2px 0 0;font-size:15px}.demo-root .routine{grid-template-columns:1fr 320px;gap:24px;display:grid}.demo-root .tl{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:14px;padding:20px 24px;display:flex}.demo-root .events{flex-direction:column;gap:0;min-height:180px;display:flex}.demo-root .ev{border-top:1px solid var(--line);grid-template-columns:70px 1fr auto;align-items:baseline;gap:14px;padding:10px 0;animation:.4s ease-out demo-in;display:grid}.demo-root .ev:first-child{border-top:0}@keyframes demo-in{0%{background:var(--garnet-soft)}to{background:0 0}}.demo-root .ev time{font:500 15px var(--mono);font-variant-numeric:tabular-nums;color:var(--muted)}.demo-root .ev .what{font-size:17px;font-weight:500}.demo-root .ev .src{font:12px var(--mono);color:var(--muted)}.demo-root .events .none{color:var(--muted);padding:10px 0;font-size:15px}.demo-root .check{background:var(--garnet-soft);border-radius:14px;flex-direction:column;gap:10px;padding:20px 22px;display:flex}.demo-root .check .k{font:12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--garnet)}.demo-root .check p{margin:0;font-size:17px}.demo-root .check .rule{font:500 15px var(--mono);color:var(--ink)}.demo-root .check p.sub{color:var(--muted);font-size:15px}.demo-root .how{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:24px;padding-top:20px;display:grid}.demo-root .how div{flex-direction:column;gap:4px;display:flex}.demo-root .how .n{font:12px var(--mono);color:var(--garnet);letter-spacing:.06em}.demo-root .how b{font:700 18px var(--display)}.demo-root .how span{color:var(--muted);font-size:15px}.demo-root .nav{font:13px var(--mono);text-transform:uppercase;letter-spacing:.05em;flex-wrap:wrap;gap:6px 18px;display:flex}.demo-root .nav a{color:var(--muted);text-decoration:none}.demo-root .nav a:hover,.demo-root .nav a[aria-current=page]{color:var(--ink)}.demo-root .panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:16px;min-width:0;padding:20px 24px;display:flex}.demo-root .grid2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.demo-root .row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.demo-root .field{flex-direction:column;gap:6px;min-width:0;display:flex}.demo-root .field>span,.demo-root .label{font:12px var(--mono);color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.demo-root .fields{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.demo-root input[type=text],.demo-root input[type=password],.demo-root input[type=number],.demo-root select,.demo-root textarea{font:16px var(--body);color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;min-width:0;padding:10px 12px}.demo-root input:focus-visible,.demo-root select:focus-visible,.demo-root textarea:focus-visible,.demo-root button:focus-visible,.demo-root a:focus-visible{outline:2px solid var(--garnet);outline-offset:2px}.demo-root .btn{font:500 15px var(--body);color:var(--ink);background:var(--panel);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;text-decoration:none;display:inline-flex}.demo-root .btn:hover{border-color:var(--muted)}.demo-root .btn:disabled{opacity:.45;cursor:not-allowed}.demo-root .btn.primary{background:var(--garnet);border-color:var(--garnet);color:#fff}.demo-root[data-theme=dark] .btn.primary{color:#121416}.demo-root .btn.big{font:700 22px var(--display);border-radius:12px;padding:14px 32px}.demo-root .btn.small{border-radius:8px;padding:5px 10px;font-size:13px}.demo-root .pick{border:1px solid var(--line);cursor:pointer;background:var(--panel);-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.demo-root .pick input{accent-color:var(--garnet);width:18px;height:18px}.demo-root .pick.on{border-color:var(--garnet);background:var(--garnet-soft)}.demo-root .pick b{font:700 17px var(--display)}.demo-root .muted{color:var(--muted)}.demo-root .mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.demo-root .msg{background:var(--garnet-soft);color:var(--ink);border-radius:10px;padding:10px 14px;font-size:15px}.demo-root .msg.good{background:color-mix(in srgb, var(--live) 14%, transparent)}.demo-root .tags{flex-wrap:wrap;gap:6px;display:flex}.demo-root .tag{font:13px var(--mono);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:2px 10px}.demo-root .stage{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(12px,2vh,28px);min-height:70vh;padding:24px;transition:background .2s;display:flex;container-type:inline-size}.demo-root .stage.go{background:var(--garnet-soft);border-color:var(--garnet)}.demo-root .stage-k{font:500 min(60px, 6vh, 7cqw) / 1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.demo-root .stage.go .stage-k{color:var(--garnet)}.demo-root .stage-word{font:700 min(300px, 22vh, calc(130cqw / var(--chars,6))) / .95 var(--display);letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;max-width:100%}.demo-root .stage.go .stage-word{color:var(--garnet)}.demo-root .stage.rest .stage-word,.demo-root .stage.paused .stage-word{color:var(--muted)}.demo-root .stage-n{font:700 min(320px, 26vh, 40cqw) / 1 var(--display);font-variant-numeric:tabular-nums}.demo-root .stage-next{font:500 min(44px, 4.5vh, 5.5cqw) var(--display);font-variant-numeric:tabular-nums;color:var(--muted)}.demo-root .stage-next b{color:var(--ink);text-transform:uppercase}.demo-root .bar{background:var(--line);border-radius:999px;width:min(100%,1000px);height:clamp(22px,3.2vw,48px);overflow:hidden}.demo-root .bar>div{background:var(--garnet);border-radius:inherit;height:100%}.demo-root .stage.rest .bar>div{background:var(--muted)}.demo-root .stage-alert{font:600 min(48px, 5vh, 6cqw) / 1.15 var(--display);color:var(--panel);background:var(--garnet);border-radius:12px;max-width:100%;padding:.35em .7em}.demo-root .run-devs{gap:10px}.demo-root .run-dev{border:1px solid var(--line);background:var(--panel);border-radius:999px;align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:14px;display:inline-flex}.demo-root .run-dev .mono{color:var(--live);font-size:12px}.demo-root .run-dev.bad{border-color:var(--garnet)}.demo-root .run-dev.bad .mono{color:var(--garnet)}.demo-root .dev.discarded{opacity:.5}.demo-root .csv-btn{align-items:center;gap:8px;display:inline-flex}.demo-root .csv-err{font:12px var(--mono);color:var(--garnet)}.demo-root .keys{font:13px var(--mono);color:var(--muted)}.demo-root kbd{font:12px var(--mono);border:1px solid var(--line);background:var(--panel);border-bottom-width:2px;border-radius:6px;padding:1px 6px}.demo-root .progress{flex-wrap:wrap;gap:10px;display:flex}.demo-root .prog{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;gap:6px;min-width:140px;padding:10px 14px;display:flex}.demo-root .prog .top{font:500 15px var(--mono);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;display:flex}.demo-root .prog .mini{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.demo-root .prog .mini>div{background:var(--garnet);height:100%}.demo-root .prog.done .mini>div{background:var(--live)}.demo-root .reps{flex-direction:column;display:flex}.demo-root .rep{border-top:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:center;gap:16px;padding:12px 0;display:grid}.demo-root .rep:first-child{border-top:0}.demo-root .rep.discarded{opacity:.5}.demo-root .rep .lbl{font:700 18px var(--display);text-transform:uppercase}.demo-root .rep .devs{flex-wrap:wrap;gap:10px 18px;min-width:0;display:flex}.demo-root .rep .dev{grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:4px 12px;min-width:0;display:grid}.demo-root .rep .dev .spark{width:120px;color:var(--wave)}.demo-root .rep .dev .q{font:12px var(--mono);color:var(--muted)}.demo-root .rep .dev .q.bad{color:var(--garnet);font-weight:500}.demo-root .rep .dev .q.good{color:var(--live)}.demo-root table.counts{border-collapse:collapse;width:100%;font:14px var(--mono);font-variant-numeric:tabular-nums}.demo-root table.counts th,.demo-root table.counts td{border-top:1px solid var(--line);text-align:right;white-space:nowrap;padding:8px 10px}.demo-root table.counts th:first-child,.demo-root table.counts td:first-child{text-align:left}.demo-root table.counts thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-top:0;font-size:12px;font-weight:400}.demo-root table.counts tfoot td{font-weight:500}.demo-root .scroll-x{overflow-x:auto}@media (max-width:820px){.demo-root .st{grid-template-columns:1fr auto;gap:10px 16px}.demo-root .st canvas.wave{grid-area:2/1/auto/-1}.demo-root .routine,.demo-root .how,.demo-root .grid2{grid-template-columns:1fr}.demo-root .rep{grid-template-columns:1fr auto}.demo-root .rep .devs{grid-area:2/1/auto/-1}}@media (max-width:480px){.demo-root{padding:0 16px}.demo-root .st{padding:16px}}@media (prefers-reduced-motion:reduce){.demo-root .dot:before,.demo-root .ev{animation:none}.demo-root .word,.demo-root .stage{transition:none}}.demo-root .check .teach{font:500 15px var(--mono);color:var(--garnet);border-bottom:1px solid;align-self:flex-start;margin-top:4px;text-decoration:none}.demo-root .check .teach:hover,.demo-root .check .teach:focus-visible{border-bottom-width:2px}.demo-root .learned{font:13px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;margin:6px 0 0}.demo-root .learned .n{color:var(--ink);border-radius:4px;padding:0 2px;font-weight:600}.demo-root .learned .n.bump{animation:1.6s ease-out demo-bump}@keyframes demo-bump{0%{background:var(--garnet-soft);color:var(--garnet)}to{background:0 0}}@media (prefers-reduced-motion:reduce){.demo-root .learned .n.bump{animation:none}}@media (max-width:1023px){.demo-root .check .teach{background:var(--garnet);color:#fff;min-height:56px;font:700 19px var(--display);border:0;border-radius:12px;justify-content:center;align-self:stretch;align-items:center;padding:12px 20px;display:flex}.demo-root[data-theme=dark] .check .teach{color:#121416}}@media (max-width:640px){.demo-root .wrap{gap:20px;padding-block:18px 32px}.demo-root .clock{display:none}.demo-root .st{gap:8px 12px;padding:14px 16px}.demo-root .name{font-size:21px}.demo-root .word{font-size:30px}.demo-root canvas.wave{height:84px}.demo-root .tl,.demo-root .check{padding:16px}.demo-root .ev{grid-template-columns:64px 1fr auto;gap:10px}.demo-root .events{min-height:96px}}.demo-root .tch{flex-direction:column;gap:20px;max-width:520px;margin:0 auto;padding-block:20px 40px;font-size:18px;display:flex}.demo-root .tch-top h1{font-size:clamp(32px,9vw,44px)}.demo-root .tch-step{flex-direction:column;gap:14px;display:flex}.demo-root .tch-step h2{font:700 24px/1.2 var(--display);align-items:center;gap:10px;display:flex}.demo-root .tch-n{background:var(--garnet);color:#fff;width:34px;height:34px;font:700 18px var(--display);border-radius:50%;flex:none;place-items:center;display:inline-grid}.demo-root .tch-muted{color:var(--muted);margin:0;font-size:17px}.demo-root .tch-big{margin:0;font-size:20px}.demo-root .tch-list{flex-direction:column;gap:12px;display:flex}.demo-root .tch-btn{border:2px solid var(--ink);background:var(--panel);width:100%;min-height:56px;color:var(--ink);font:700 19px var(--display);text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:14px;justify-content:center;align-items:center;padding:12px 20px;text-decoration:none;display:flex}.demo-root .tch-btn.big{min-height:72px;font-size:24px}.demo-root .tch-btn.primary{background:var(--garnet);border-color:var(--garnet);color:#fff}.demo-root .tch-btn:active{transform:scale(.98)}.demo-root .tch-btn:disabled{opacity:.6}.demo-root .tch-btn:focus-visible,.demo-root .tch-chip:focus-visible,.demo-root .tch-link:focus-visible,.demo-root .tch-new input:focus-visible{outline:3px solid var(--garnet);outline-offset:2px}.demo-root .tch-link{min-height:48px;color:var(--garnet);font:500 18px var(--body);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:center;padding:8px 16px;text-decoration:underline}.demo-root .tch-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.demo-root .tch-chip{border:2px solid var(--line);background:var(--panel);min-height:64px;color:var(--ink);text-align:left;cursor:pointer;touch-action:manipulation;border-radius:14px;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;padding:10px 14px;display:flex}.demo-root .tch-chip .nm{font:700 19px/1.15 var(--display);overflow-wrap:anywhere}.demo-root .tch-chip .ct{color:var(--muted);font-size:15px}.demo-root .tch-chip:active{border-color:var(--garnet)}.demo-root .tch-new{flex-direction:column;gap:10px;padding-top:6px;display:flex}.demo-root .tch-new label{font-size:18px;font-weight:500}.demo-root .tch-new input{border:2px solid var(--line);background:var(--panel);width:100%;min-height:56px;color:var(--ink);font:400 19px var(--body);border-radius:12px;padding:12px 14px}.demo-root .tch-new input[aria-invalid]{border-color:var(--garnet)}.demo-root .tch-err{color:var(--garnet);margin:0;font-size:17px;font-weight:500}.demo-root .tch-note{background:var(--garnet-soft);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.demo-root .tch-note p{margin:0;font-size:18px}.demo-root .tch-sum{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.demo-root .tch-sum p{margin:0;font-size:18px}.demo-root .tch-sum-word{color:var(--garnet);overflow-wrap:anywhere;font:700 36px/1.1 var(--display)!important}.demo-root .tch-done{text-align:center;align-items:stretch}.demo-root .tch-done h2{justify-content:center;font-size:40px}.demo-root .tch-tick{background:var(--live);color:#fff;width:84px;height:84px;font:700 46px var(--display);border-radius:50%;place-items:center;margin:0 auto;display:grid}.demo-root .tch-run{z-index:50;padding:24px 16px calc(24px + env(safe-area-inset-bottom));background:var(--ground);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:fixed;inset:0;overflow-y:auto}.demo-root .tch-run p{margin:0}.demo-root .tch-run-k{font:500 20px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.demo-root .tch-run-word{font:700 clamp(44px, 14vw, 88px) / 1 var(--display);letter-spacing:-.01em;overflow-wrap:anywhere;max-width:100%}.demo-root .tch-run-word.go{color:var(--garnet)}.demo-root .tch-run-word.rest{color:var(--live)}.demo-root .tch-run-count{font:700 clamp(96px, 34vw, 180px) / 1 var(--display);font-variant-numeric:tabular-nums;color:var(--garnet)}.demo-root .tch-run-hint{color:var(--muted);font-size:20px}.demo-root .tch-run-msg{max-width:26ch;font-size:21px}.demo-root .tch-run .tch-btn{max-width:420px}.demo-root .tch-bar{background:var(--garnet-soft);border-radius:11px;width:min(100%,520px);height:22px;overflow:hidden}.demo-root .tch-bar span{background:var(--garnet);transform-origin:0;height:100%;display:block}.demo-root .tch-ticks{gap:14px;margin:8px 0 0;padding:0;list-style:none;display:flex}.demo-root .tch-ticks li{border:2px solid var(--line);width:48px;height:48px;font:700 20px var(--display);color:var(--muted);border-radius:50%;place-items:center;display:grid}.demo-root .tch-ticks li.on{background:var(--live);border-color:var(--live);color:#fff}
