@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(fonts/BarlowCondensed-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Public Sans";src:url(fonts/PublicSans.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--lime:#b6f000;--bg:#000;--card:#121212;--card2:#1b1b1b;--line:#2c2c2c;--text:#fff;--mute:#b8b8b8}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden;overscroll-behavior:none}
body{font:16px/1.45 "Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
h1,h2,.kicker,.btn,.hud,.count,.res-score,.stats b,.lvl b,.badge,.foot{font-family:"Barlow Condensed",Impact,"Arial Narrow",sans-serif}
.lime{color:var(--lime)}
#safe{position:fixed;inset:0;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);visibility:hidden;pointer-events:none}
#game{position:fixed;inset:0;display:block;touch-action:none;width:100%;height:100%}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}

/* HUD */
.hud{position:fixed;top:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:48px 1fr 48px;grid-template-rows:auto auto;align-items:center;gap:2px 8px;padding:calc(8px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) 8px calc(12px + env(safe-area-inset-left,0px));background:linear-gradient(#000 70%,rgba(0,0,0,0));pointer-events:none}
.hud .icon-btn{pointer-events:auto}
.hud-mid{display:flex;flex-direction:column;align-items:center;line-height:1}
.hud-round{font-weight:700;font-size:15px;letter-spacing:.08em;color:var(--mute)}
.hud-time{font-weight:800;font-size:34px;letter-spacing:.02em}
.hud-time.low{color:var(--lime)}
.hud-row{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;padding:2px 4px 0}
.hud-row small{font-weight:700;font-size:14px;letter-spacing:.1em;color:var(--mute)}
.hud-row b{font-weight:800;font-size:28px;color:#fff}
.hud-streak b{color:var(--lime)}
.hud-streak em{font-style:normal;font-weight:700;font-size:16px;color:var(--mute);margin-left:2px}

.icon-btn{appearance:none;border:1px solid var(--line);background:#111;color:#fff;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;cursor:pointer;padding:0}
.icon-btn svg{width:24px;height:24px;fill:#fff;stroke:#fff}
.icon-btn .wave{fill:none}
.icon-btn .ic-off{display:none}
.icon-btn[aria-pressed="true"] .ic-on{display:none}
.icon-btn[aria-pressed="true"] .ic-off{display:block}
.icon-btn[aria-pressed="true"]{border-color:var(--lime)}
.icon-btn[aria-pressed="true"] svg{fill:var(--lime);stroke:var(--lime)}
.icon-btn:active{transform:scale(.94)}

/* Screens */
.screen{position:fixed;inset:0;z-index:10;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#000;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.screen.dim{background:rgba(0,0,0,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.screen.clear{background:transparent;pointer-events:none}
.screen-inner{max-width:480px;margin:0 auto;padding:16px 20px 28px;text-align:center;min-height:100%;display:flex;flex-direction:column;align-items:center}
.screen-inner.center{justify-content:center}
.menu-top{align-self:stretch;display:flex;justify-content:flex-end;min-height:46px}
.menu-logo{width:132px;height:132px;border-radius:24px;margin-top:-18px}
.kicker{margin:10px 0 2px;font-weight:700;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
h1{margin:2px 0 6px;font-weight:800;font-size:46px;line-height:.95;text-transform:uppercase;letter-spacing:.01em}
h1 .lime{display:block}
.lead{margin:6px 0 14px;color:#e6e6e6;font-size:16px;max-width:30ch}
.pick{margin:6px 0 10px;font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;font-size:20px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.levels{display:grid;gap:10px;width:100%}
.lvl{appearance:none;width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;background:var(--card);color:#fff;border:1.5px solid var(--line);border-radius:18px;padding:12px 14px;min-height:76px;cursor:pointer;font:inherit}
.lvl:active{transform:scale(.985);border-color:var(--lime)}
.lvl .dots{display:flex;gap:3px;align-items:flex-end;height:28px}
.lvl .dots i{display:block;width:6px;border-radius:3px;background:#333}
.lvl .dots i.on{background:var(--lime)}
.lvl b{display:block;font-weight:800;font-size:25px;line-height:1;text-transform:uppercase;letter-spacing:.02em}
.lvl small{display:block;color:var(--mute);font-size:13.5px;line-height:1.3;margin-top:3px}
.lvl .best{text-align:right;font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;color:var(--mute);font-size:13px;letter-spacing:.08em;line-height:1.1}
.lvl .best span{display:block;color:var(--lime);font-weight:800;font-size:22px;letter-spacing:0}
.how{margin:16px 0 0;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0 14px}
.how summary{cursor:pointer;padding:13px 0;font-weight:700;color:var(--lime);list-style:none}
.how summary::-webkit-details-marker{display:none}
.how summary::before{content:"+ "}
.how[open] summary::before{content:"– "}
.how ul{margin:0 0 14px;padding-left:18px;color:#e6e6e6;font-size:15px}
.how li{margin:4px 0}
.foot{margin:18px 0 0;font-weight:700;letter-spacing:.12em;color:#8a8a8a;font-size:14px}

.big{margin:0;font-weight:800;font-size:56px;line-height:1;text-transform:uppercase}
.count{margin:6px 0;font-weight:800;font-size:96px;line-height:1;color:var(--lime)}
.tip{margin:8px 0 14px;font-size:18px;color:#f0f0f0;max-width:28ch}
.sub{margin:0 0 18px;color:var(--mute)}
.sub b{color:#fff}
#res-best{margin-bottom:2px}
.calm{margin:0 0 14px;color:var(--lime);font-size:14px}
.btn{appearance:none;display:block;width:100%;max-width:320px;margin:6px auto;border-radius:16px;padding:15px 18px;font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:2px solid transparent}
.btn-lime{background:var(--lime);color:#000}
.btn-ghost{background:transparent;color:#fff;border-color:#3a3a3a}
.btn:active{transform:scale(.97)}

.cool-ui{position:absolute;left:0;right:0;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;pointer-events:none}
.cool-ui .kicker{margin:0}
.cool-sub{margin:2px 0 10px;color:var(--mute)}
.cool-ui .btn{pointer-events:auto;max-width:200px;font-size:18px;padding:11px 16px}

.res-logo{border-radius:14px;margin-top:4px}
.res-score{margin:4px 0 0;font-weight:800;font-size:84px;line-height:1;color:var(--lime)}
.badge{display:inline-block;margin:8px 0 2px;padding:4px 12px;border-radius:999px;background:var(--lime);color:#000;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:6px 0 4px}
.stats div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 4px}
.stats b{display:block;font-weight:800;font-size:28px;line-height:1}
.stats small{display:block;color:var(--mute);font-size:12px;margin-top:3px}
.noscript{position:fixed;inset:auto 0 40% 0;text-align:center}
@media (min-height:760px){.menu-logo{margin-top:0}}
@media (prefers-reduced-motion:reduce){.btn:active,.lvl:active,.icon-btn:active{transform:none}}


/* Breathe Like a Champ */
.menu-logo{width:96px;height:96px;margin-top:-26px}
.res-label{margin:10px 0 0;font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;font-size:18px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.stats3{grid-template-columns:repeat(3,1fr)}
.levels .lvl{grid-template-columns:auto 1fr auto}
.lvl[aria-checked="true"]{border-color:var(--lime);background:#141a05}
.lvl .ico{width:44px;height:44px;display:grid;place-items:center}
.lvl .ico svg{width:40px;height:40px;fill:none;stroke:var(--lime);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;margin-bottom:12px}
.seg button{appearance:none;font:inherit;font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;font-size:22px;letter-spacing:.04em;text-transform:uppercase;background:var(--card);color:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 4px;cursor:pointer}
.seg button[aria-checked="true"]{background:var(--lime);color:#000;border-color:var(--lime)}
.small{font-size:14px;margin:6px 0 0}
.disclaimer{margin:14px 0 0;font-size:12.5px;color:#8a8a8a}
.feel-q{font-size:44px;max-width:12ch;margin:4px 0 18px}
.faces{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:0 0 14px}
.face{appearance:none;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:14px 4px 12px;color:#fff;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px}
.face svg{width:64px;height:64px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round}
.face svg .eye{fill:#fff;stroke:none}
.face span{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;font-size:19px;letter-spacing:.05em;text-transform:uppercase}
.face:active,.face.sel{border-color:var(--lime)}
.face.sel svg{stroke:var(--lime)}.face.sel svg .eye{fill:var(--lime)}

/* play */
.screen.play{overflow:hidden;touch-action:none}
.play .hud{position:absolute}
.stage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:calc(96px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));touch-action:none;cursor:pointer}
.ring{position:relative;width:var(--d,300px);height:var(--d,300px);flex:none}
.prog{position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);transform:rotate(-90deg)}
.prog circle{fill:none;stroke-width:3}
.prog .track{stroke:#222}
.prog .bar{stroke:var(--lime);stroke-linecap:round;stroke-dasharray:0 100}
.guide{position:absolute;inset:0;border-radius:50%;border:2px dashed #333}
.orb{position:absolute;left:50%;top:50%;width:100%;height:100%;margin:-50% 0 0 -50%;border-radius:50%;background:radial-gradient(circle at 50% 42%,#d4ff5c 0%,var(--lime) 55%,#8fbd00 100%);box-shadow:0 0 50px rgba(182,240,0,.35);display:grid;place-items:center;transform:scale(.45);will-change:transform}
.orb.down{box-shadow:0 0 0 6px #fff,0 0 70px rgba(182,240,0,.55)}
.count{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;font-size:84px;line-height:1;color:#000}
.cue{text-align:center;margin-top:30px;min-height:96px}
.phase{margin:0;font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;font-size:44px;line-height:1;text-transform:uppercase;letter-spacing:.02em}
.hint{margin:8px 0 0;color:var(--mute);font-size:17px}
.hint.nudge{color:#fff}
.praise{position:absolute;left:0;right:0;top:calc(108px + env(safe-area-inset-top,0px));margin:0;text-align:center;font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;font-size:26px;letter-spacing:.04em;color:var(--lime);opacity:0;transition:opacity .4s}
.praise.show{opacity:1}

.moods{display:flex;align-items:center;justify-content:center;gap:14px;margin:12px 0 0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 16px}
.moods div{display:flex;flex-direction:column;align-items:center}
.moods small{color:var(--mute);font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.moods span{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;font-size:22px;text-transform:uppercase}
.moods svg{width:40px;height:40px;fill:none;stroke:#fff;stroke-width:3.2;stroke-linecap:round;display:block;margin:4px auto 0}
.moods svg .eye{fill:#fff;stroke:none}
.moods .up svg{stroke:var(--lime)}.moods .up svg .eye{fill:var(--lime)}
.moods i{font-style:normal;font-size:24px;color:var(--lime)}
@media (max-height:700px){.cue{margin-top:20px;min-height:80px}.phase{font-size:36px}.menu-logo{width:80px;height:80px}}
