@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.270md_-rr62el.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0lsanbtneewqp.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_232cfe1b-module__JbiS3W__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_232cfe1b-module__JbiS3W__variable{--font-dm-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.1wwzpfhzaj2r0.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.2rlzm4mj5kw8e.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:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_db29ffd5-module__txtN7G__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.instrument_serif_db29ffd5-module__txtN7G__variable{--font-instrument:"Instrument Serif", "Instrument Serif Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.2tuvx2ggl0uf7.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.048ctm9k7u_u3.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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.2t3qiyt2vl-ta.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.2_s53-223o24o.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:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_75bd3c92-module__99VPGa__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_75bd3c92-module__99VPGa__variable{--font-dm-mono:"DM Mono", "DM Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070d0c;--panel:#0b1413;--raise:#111d1b;--raise-2:#172623;--line:#1f302d;--line-2:#2a3f3b;--ink:#e8f1ef;--ink-2:#a9bab7;--ink-3:#6f827f;--teal:#3abdb5;--brand:#2fa9a1;--teal-glow:#3abdb52e;--coral:#f08a64;--coral-glow:#f08a6429;--gold:#e6c36a;--violet:#9b8cf0;--font-body:var(--font-dm-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-instrument), Georgia, serif;--font-mono:var(--font-dm-mono), ui-monospace, Menlo, monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;font-size:15px;line-height:1.5}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}h1,h2,h3{text-wrap:balance;margin:0;font-weight:400}p{margin:0}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.display{font-family:var(--font-display)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--teal);font-size:10.5px;font-weight:600}.eyebrow.coral{color:var(--coral)}.muted{color:var(--ink-3)}.soft{color:var(--ink-2)}.small{font-size:12.5px}.tiny{font-size:11px}.bold{font-weight:600}.center{text-align:center}.app{background:var(--panel);background-image:radial-gradient(600px 300px at 80% -10%,#3abdb514,#0000 60%);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex}@media (min-width:520px){body{background-image:radial-gradient(900px 500px at 75% -10%,#3abdb51a,#0000 60%)}.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.page{padding:calc(var(--safe-top) + 18px) 18px 110px;flex:1;align-content:start;gap:14px;display:grid}.demo-bar{text-align:center;background:var(--coral-glow);color:var(--coral);padding:6px 12px;font-size:11.5px;font-weight:600}.tabs{-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);width:100%;max-width:480px;padding:8px 6px calc(10px + var(--safe-bottom));z-index:20;background:#0a1211eb;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{color:var(--ink-3);flex-direction:column;align-items:center;gap:3px;padding:4px;font-size:10.5px;text-decoration:none;display:flex}.tab svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:23px;height:23px}.tab[aria-current=page]{color:var(--teal)}.h-xl{font-family:var(--font-display);font-size:34px;line-height:1.04}.h-lg{font-family:var(--font-display);font-size:26px;line-height:1.1}.row{align-items:center;gap:12px;display:flex}.between{justify-content:space-between}.stack{gap:12px;display:grid}.stack-sm{gap:8px;display:grid}.tile{background:var(--raise);border:1px solid var(--line);border-radius:22px;padding:16px}.tile.dashed{background:0 0;border-style:dashed}.tile.glow{background:linear-gradient(140deg,#3abdb52e,#3abdb508 70%);border-color:#3abdb559}.chip{letter-spacing:.04em;background:var(--teal-glow);color:var(--teal);white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:10.5px;font-weight:700}.chip.coral{background:var(--coral-glow);color:var(--coral)}.chip.plain{background:var(--raise-2);color:var(--ink-2)}.btn{text-align:center;cursor:pointer;border:0;border-radius:16px;width:100%;padding:15px 16px;font-weight:700;text-decoration:none;display:block}.btn.primary{background:var(--teal);color:#04201e}.btn.ghost{background:var(--raise-2);border:1px solid var(--line-2);color:var(--ink)}.btn.link{color:var(--teal);background:0 0;width:auto;padding:8px}.btn.small{border-radius:13px;width:auto;padding:10px 16px;font-size:14px}.btn:disabled{opacity:.55;cursor:default}.field{width:100%;font:inherit;border:1px solid var(--line-2);background:var(--raise);color:var(--ink);border-radius:16px;padding:15px 16px;font-size:17px}.field:focus{border-color:var(--teal);outline:none}.code{letter-spacing:.4em;text-align:center;font-family:var(--font-mono);font-size:26px}.error{color:var(--coral);font-size:13px}.sig{border:1px solid var(--line);background:linear-gradient(#0e1c1a,#0a1413);border-radius:22px;position:relative;overflow:hidden}.sig canvas{width:100%;height:86px;display:block}.sig .over span{white-space:nowrap}.sig .over{justify-content:space-between;align-items:center;gap:10px;padding:0 14px 10px;display:flex}.bar{background:var(--line);border-radius:9px;height:6px;overflow:hidden}.bar>i{background:linear-gradient(90deg, var(--brand), var(--teal));border-radius:9px;height:100%;display:block}.week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.week .d{text-align:center;color:var(--ink-3);justify-items:center;gap:4px;font-size:10.5px;display:grid}.week .dot{border:1.5px solid var(--line-2);border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.week .dot.on{background:var(--teal);border-color:var(--teal)}.week .dot.on:after{content:"";border-bottom:2px solid #04201e;border-left:2px solid #04201e;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.week .dot.today{border-color:var(--teal)}.steps{gap:9px;margin:0;padding:0;list-style:none;display:grid}.steps li{grid-template-columns:30px 1fr auto;align-items:center;gap:10px;font-size:14.5px;display:grid}.num{width:30px;height:30px;font-family:var(--font-mono);background:var(--raise-2);border:1px solid var(--line-2);color:var(--ink-2);border-radius:50%;place-items:center;font-size:12.5px;display:grid}.num.done{background:var(--teal);border-color:var(--teal);color:#04201e}.num.now{border-color:var(--teal);color:var(--teal)}.stepbar{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.stepbar i{background:var(--line);border-radius:9px;height:4px}.stepbar i.on{background:var(--teal)}.rep{background:var(--raise);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:18px;align-items:flex-start;gap:12px;width:100%;padding:13px 14px;display:flex}.rep .box{border:1.6px solid var(--ink-3);border-radius:8px;flex:none;place-items:center;width:24px;height:24px;margin-top:2px;display:grid}.rep[data-done=true] .box{background:var(--teal);border-color:var(--teal)}.rep[data-done=true] .box:after{content:"";border-bottom:2px solid #04201e;border-left:2px solid #04201e;width:9px;height:5px;transform:rotate(-45deg)translate(1px,-1px)}.rep .t{font-size:14.5px;font-weight:600}.rep[data-done=true] .t{color:var(--ink-3);text-decoration:line-through}.src{color:var(--teal);letter-spacing:.02em;font-size:10.5px;font-weight:600}.src.coral{color:var(--coral)}.finger{border:2px solid var(--line-2);background:radial-gradient(circle,#3a140b,#160704);border-radius:50%;place-items:center;width:150px;height:150px;margin:4px auto;transition:border-color .3s;display:grid}.finger.on{border-color:var(--coral);animation:1s infinite beat}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.05)}30%{transform:scale(.99)}}.ppg{background:#120a08;border:1px solid #3a1c14;border-radius:18px;overflow:hidden}.ppg canvas{width:100%;height:90px;display:block}.meter{gap:4px;display:flex}.meter i{background:var(--line);border-radius:9px;flex:1;height:6px}.meter i.on{background:var(--teal)}.orbwrap{place-items:center;height:280px;display:grid;position:relative}.orb{background:radial-gradient(circle at 40% 35%, #8ae8e1, var(--teal) 55%, #135e59);width:220px;height:220px;box-shadow:0 0 80px var(--teal-glow);border-radius:50%;place-items:center;transition:transform 4s ease-in-out;display:grid;transform:scale(.55)}.orb span{font-family:var(--font-display);color:#04201e;font-size:26px}.ring{border:1px dashed var(--line-2);border-radius:50%;width:250px;height:250px;position:absolute}.arena{border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:radial-gradient(circle at 50% 45%,#10201e,#08100f);border-radius:24px;place-items:center;height:360px;display:grid;position:relative;overflow:hidden}.arena .hud{color:var(--ink-3);justify-content:space-between;font-size:11.5px;display:flex;position:absolute;top:12px;left:14px;right:14px}.arena .fb{text-align:center;color:var(--ink-3);font-size:12.5px;position:absolute;bottom:14px;left:12px;right:12px}.stim{border-radius:50%;width:124px;height:124px}.stim.go{background:radial-gradient(circle at 38% 35%, #7fe3dc, var(--teal) 55%, #1c7c76);box-shadow:0 0 50px var(--teal-glow)}.stim.nogo{background:radial-gradient(circle at 38% 35%, #ffc0a6, var(--coral) 55%, #a3492a);box-shadow:0 0 50px var(--coral-glow)}.stim.lure{background:radial-gradient(circle at 38% 35%, #7fe3dc, var(--teal) 55%, #1c7c76);border-radius:26px}.stim.lure2{background:radial-gradient(circle at 38% 35%,#b5e8a8,#8cc27a 55%,#4d7a3f)}.grid9{grid-template-columns:repeat(3,76px);gap:10px;display:grid}.cell{background:var(--raise-2);border:1px solid var(--line-2);border-radius:18px;width:76px;height:76px;padding:0;transition:background .12s,box-shadow .12s}button.cell{cursor:pointer}.cell.lit{background:var(--teal);box-shadow:0 0 30px var(--teal-glow)}.cell.bad{background:var(--coral)}.toast{background:var(--teal);color:#04201e;white-space:nowrap;border-radius:99px;padding:8px 14px;font-size:13px;font-weight:700;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.toast.down{background:var(--raise-2);color:var(--ink-2);border:1px solid var(--line-2)}.metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.metric{background:var(--raise);border:1px solid var(--line);border-radius:16px;padding:11px}.metric .v{font-family:var(--font-mono);font-size:22px}.metric .l{color:var(--ink-3);font-size:10.5px}.big{text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;display:grid}.big .v{font-family:var(--font-mono);font-size:38px;line-height:1.1}.chart svg{width:100%;height:auto;display:block}.legend{color:var(--ink-3);flex-wrap:wrap;gap:12px;margin-top:6px;font-size:11px;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.more{color:var(--teal);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:12px;font-weight:700}.detail{border-top:1px solid var(--line);color:var(--ink-2);gap:8px;margin-top:10px;padding-top:10px;font-size:13.5px;display:grid}.switch{background:var(--line-2);cursor:pointer;border:0;border-radius:99px;flex:none;width:50px;height:30px;position:relative}.switch:after{content:"";background:var(--ink);border-radius:50%;width:24px;height:24px;transition:left .2s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--teal)}.switch[aria-checked=true]:after{left:23px}.celebrate{animation:.6s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.9)}60%{opacity:1;transform:scale(1.03)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.orb{transition:none}.finger.on,.celebrate{animation:none}}
