@font-face{font-family:Barlow;src:url(/fonts/BarlowCondensed-Bold.ttf)format("truetype");font-display:swap;font-weight:700}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--safe-area-top:env(safe-area-inset-top,0px);--bg:#160f15;--surface:#251923;--raised:#34232d;--text:#fff3e2;--muted:#c9b4bd;--accent:#efc477;--ink:#21150d;--line:#59404d;--danger:#ffb5b3;--mantine-color-body:var(--bg);--mantine-color-text:var(--text);--mantine-primary-color-filled:var(--accent);--mantine-primary-color-filled-hover:#ffda9c;--mantine-color-default:var(--raised);--mantine-color-default-hover:#46303b;--mantine-color-default-border:var(--line);--mantine-color-default-color:var(--text)}body[data-theme=tron]{--bg:#07191f;--surface:#0e2830;--raised:#173b44;--text:#e5fbff;--muted:#a8cbd0;--accent:#63e4f3;--ink:#07242a;--line:#38636b;--mantine-primary-color-filled-hover:#9af0f9}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Avenir Next,Avenir,system-ui,sans-serif;font-size:16px;line-height:1.5}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-underline-offset:.2em}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}input,textarea{caret-color:var(--accent);font-size:16px!important}h1,h2,h3,p,figure{margin:0}h1,h2,h3{text-wrap:balance}h1,h2,.brand,.reel-value,.banked>strong{font-family:Barlow,Arial Narrow,sans-serif;font-weight:700}h1{letter-spacing:-.015em;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.08}h2{font-size:1.65rem;line-height:1.18}h3{font-size:1.06rem;font-weight:650;line-height:1.35}p{max-width:68ch}p+p{margin-top:.75rem}h2+p,h3+p{margin-top:.55rem}h1+.intro{margin-top:.8rem}.small,small{font-size:.8rem;line-height:1.5}.muted,.intro{color:var(--muted)}.spaced{margin-top:1.25rem}.app-shell{min-height:100dvh;padding-top:var(--safe-area-top);padding-bottom:calc(86px + env(safe-area-inset-bottom))}.app-header{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;height:76px;margin:auto;padding:16px 28px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:7px;font-size:2.3rem;text-decoration:none;display:flex}.brand-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;margin-top:17px}.header-actions,.balance{align-items:center;gap:8px;display:flex}.header-actions{gap:20px}.balance{font-variant-numeric:tabular-nums}.balance svg{color:var(--accent)}.balance span{color:var(--muted);font-size:.75rem}.balance strong{font-size:1.1rem}.icon-button{border:1px solid var(--line);width:44px;height:44px;color:var(--text);background:0 0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--raised)}.local-banner{text-align:center;color:var(--muted);background:var(--surface);padding:7px 16px;font-size:.73rem}main{max-width:1044px;min-height:55dvh;margin:auto;padding:36px 24px 32px}.view-content>h2{margin-top:2rem;margin-bottom:1rem}.view-content>h1{margin-bottom:.5rem}.bottom-nav{z-index:50;background:var(--surface);border-top:1px solid var(--line);padding:5px 12px calc(5px + env(safe-area-inset-bottom));justify-content:center;gap:0;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{max-width:170px;height:64px;color:var(--muted);background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.bottom-nav button[aria-current=page]{color:var(--accent);background:var(--raised)}.bottom-nav button:hover{color:var(--text)}.bottom-nav span{font-size:.73rem}.today-intro{max-width:650px;margin:4px 0 30px}.today-intro h1{max-width:480px;font-size:clamp(2.8rem,7vw,4.6rem);line-height:1}.today-intro p{color:var(--muted);max-width:450px;margin-top:16px;font-size:1.05rem}.today-grid{grid-template-columns:1.2fr 1fr;gap:36px;display:grid}.next-session{background:var(--surface);border-radius:16px;padding:28px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading>svg{color:var(--accent)}.section-heading>span{color:var(--muted);font-variant-numeric:tabular-nums}.next-session h3{margin-top:22px;font-size:1.4rem}.session-date{color:var(--muted);margin-top:10px;font-size:.88rem}.session-meta{flex-wrap:wrap;gap:18px;margin:24px 0;font-size:.85rem;display:flex}.session-meta>span{align-items:center;gap:6px;display:flex}.session-meta svg{color:var(--accent)}.today-companion{align-items:center;gap:24px;display:flex}.companion-cue{flex-shrink:0;width:150px}.companion-cue svg{width:100%;image-rendering:pixelated}.text-button{min-height:44px;color:var(--accent);text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:4px 0;display:inline-flex}.text-button:disabled{color:var(--muted)}.today-note{max-width:670px;margin:32px 0 24px}.today-note p{color:var(--muted);margin-top:10px}.workout-panel{max-width:600px;margin:auto}.workout-progress{gap:6px;margin:18px 0;display:flex}.workout-progress>span{background:var(--raised);border-radius:2px;flex:1;height:4px}.workout-progress .current{background:var(--muted)}.workout-progress .filled{background:var(--accent)}.warmup{margin:20px 0}.warmup p{color:var(--muted);font-size:.9rem}.reveal-machine{background:var(--surface);border-radius:16px;align-items:center;gap:16px;margin:20px 0;padding:18px;display:flex}.reels{flex:1;gap:8px;min-width:0;display:flex}.reel{text-align:center;flex:1;min-width:0}.reel-window{--reel-height:72px;height:var(--reel-height);background:var(--bg);border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.reel-value,.reel-symbol{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.8rem;line-height:1;display:block}.reel-window:after{content:"";pointer-events:none;background:linear-gradient(to bottom, var(--bg), transparent 25%, transparent 75%, var(--bg));position:absolute;inset:0}.reel-strip{visibility:hidden;pointer-events:none;width:100%;position:absolute;top:0;left:0}.reel-symbol{height:var(--reel-height);justify-content:center;align-items:center;font-weight:700;display:flex}.reel>span{color:var(--muted);margin-top:6px;font-size:.7rem;display:block}.exercise-title{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 16px;display:flex}.exercise-title h2{margin-top:3px}.exercise-title p{font-size:.8rem}.exercise-figure img{object-fit:contain;border-radius:12px;width:100%;height:auto;max-height:245px;display:block}.exercise-figure figcaption{color:var(--muted);text-align:center;margin-top:6px;font-size:.7rem}.movement-cue{color:var(--muted);margin:14px 0;font-size:.9rem}.timer-block{margin:20px 0}.timer-actions{flex-wrap:wrap;gap:8px;display:flex}.timer-actions>.mantine-Button-root{flex:1;min-width:80px}.timer-readout{align-items:center;gap:10px;margin-bottom:12px;display:flex}.timer-readout strong{font-variant-numeric:tabular-nums;font-size:1.7rem}.timer-readout span{color:var(--muted);font-size:.82rem}.timer-block>.small{margin-top:8px}.timer-readout{color:var(--text);background:0 0;border:0;min-height:48px;padding:8px 0}.timer-overlay-content{background:var(--bg);height:100dvh;color:var(--text);flex-direction:column;display:flex}.timer-overlay-header{padding:calc(var(--safe-area-top) + 20px) max(18px, env(safe-area-inset-right)) 16px max(18px, env(safe-area-inset-left));background:var(--bg);color:var(--text);flex-shrink:0;justify-content:center}.timer-overlay-body{min-height:0;padding:20px max(18px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));flex:1;display:flex;overflow-y:auto}.timer-overlay-main{align-content:center;justify-items:center;gap:16px;width:100%;max-width:800px;margin:auto;display:grid}.fullscreen-timer-readout{font-variant-numeric:tabular-nums;color:var(--accent);font-family:Barlow,sans-serif;font-size:clamp(6rem,27vw,10rem);line-height:1;display:block}.timer-overlay-status{text-align:center;max-width:36ch}.timer-overlay-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:460px;display:grid}.timer-overlay-actions .mantine-Button-root{padding-inline:10px}.timer-overlay-hint{text-align:center;max-width:42ch}@media (max-height:500px) and (min-width:600px){.timer-overlay-main{grid-template-columns:1fr 1fr;gap:8px 24px}.fullscreen-timer-readout{grid-area:1/1/4/2}.timer-overlay-status{grid-area:1/2}.timer-overlay-pause{grid-area:2/2}.timer-overlay-actions{grid-area:3/2}.timer-overlay-hint{grid-column:1/-1}}.decision-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.reveal-action{margin-top:20px}.reveal-action p{text-align:center;margin-top:8px}.projection{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 4px;display:flex}.projection strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.5rem}.exercise-list{margin:18px 0 24px}.result-row{border:0;border-bottom:1px solid var(--line);text-align:left;width:100%;color:var(--text);background:0 0;align-items:center;gap:12px;padding:16px 0;display:flex}.result-row>span:not(.position){flex:1;min-width:0}.result-row strong,.result-row small{display:block}.result-row strong{font-size:.9rem}.result-row small{color:var(--muted);margin-top:3px}.result-row b{color:var(--accent);font-variant-numeric:tabular-nums}.result-row[aria-pressed=true] .position{background:var(--accent);color:var(--ink)}.position{background:var(--raised);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;display:flex}.review-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:.9rem;display:flex}.review-row>span{flex:1}.drawer-content{max-width:600px;padding:8px 8px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.drawer-content>h2{margin-bottom:16px}.drawer-content>p{margin:16px 0}.drawer-content h3{margin-top:24px}.actual-inputs{gap:12px;margin:24px 0;display:flex}.actual-inputs>*{flex:1;min-width:0}.form-stack{gap:18px;display:grid}.details{grid-template-columns:1fr auto;gap:8px;margin-top:24px;display:grid}.details dt{color:var(--muted)}.details dd{font-variant-numeric:tabular-nums;margin:0}.menu-items{flex-direction:column;gap:12px;display:flex}.menu-items p{margin-top:24px}.inline-error,.error-banner{color:var(--danger)}.error-banner{background:var(--raised);border-radius:12px;margin-bottom:24px;padding:16px}.error-banner button{margin-top:12px}.auth-entry{flex-direction:column;align-items:flex-start;gap:1.25rem;max-width:480px;padding-top:clamp(3rem,12dvh,6rem);display:flex}.auth-entry>p{color:var(--muted)}.loading-state{color:var(--muted);padding:60px 0}.material-selector{flex-wrap:wrap;gap:4px;margin:18px 0 10px;display:flex}.material-selector button{background:var(--raised);min-width:60px;min-height:44px;color:var(--muted);border:0;border-radius:8px;flex:1;padding:8px;font-size:.8rem}.material-selector button[aria-pressed=true]{background:var(--accent);color:var(--ink)}.shop-item{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:24px 0;display:flex}.item-art{color:#b9c6cf;background:var(--surface);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:80px;display:flex}.item-art.bronze{color:#cf956c}.item-art.silver{color:#e0e7ef}.item-art.gold{color:#f3c866}.item-art.diamond{color:#83e5ec}.shop-info{flex:1;min-width:0}.shop-info p{color:var(--muted);font-size:.85rem}.shop-info p.small{font-size:.78rem}.shop-info>strong{margin-top:10px;font-size:.88rem;display:block}.theme-shop{align-items:center;gap:20px;padding:20px 0;display:flex}.theme-shop>div:nth-child(2){flex:1}.theme-shop p{color:var(--muted);margin-bottom:12px;font-size:.88rem}.theme-shop strong{font-size:.85rem}.theme-swatch{background:#07191f;border:2px solid #63e4f3;border-radius:12px;flex-shrink:0;width:68px;height:84px;position:relative}.theme-swatch:after{content:"";border:1px solid #63e4f3;position:absolute;inset:18px;transform:rotate(30deg)}.companion-section{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:24px;margin:20px 0 28px;display:grid}.companion-identity{flex-direction:column;align-items:center;gap:12px;min-width:0;display:flex}.companion-heading{justify-content:center;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.companion-heading h2,.today-companion>div:last-child{overflow-wrap:anywhere;min-width:0}.companion-heading h2{font-size:1.6rem}.companion-heading .icon-button{flex-shrink:0}.companion-portrait{width:min(180px,100%)}.companion-portrait svg{width:100%;image-rendering:pixelated;display:block}.equipment-grid{grid-template-rows:repeat(3,64px);grid-template-columns:repeat(3,minmax(0,1fr));justify-self:end;gap:8px;width:100%;max-width:300px;display:grid}.equipment-slot{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--muted);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 2px;display:flex}.equipment-slot[data-equipped=true]{border-color:var(--accent);color:var(--accent)}button.equipment-slot:hover{background:var(--raised)}.equipment-slot-label{font-size:.7rem}.equipment-slot[data-slot=head]{grid-area:1/2}.equipment-slot[data-slot=torso]{grid-area:2/2}.equipment-slot[data-slot=legs]{grid-area:3/2}.equipment-slot[data-slot=weapon]{grid-area:1/1/3/2}.equipment-slot[data-slot=offhand]{grid-area:1/3/3/4}.rewards>.small,.challenge{margin-bottom:24px}.challenge progress{width:100%;height:7px;accent-color:var(--accent);background:var(--raised);border:0;border-radius:4px;margin:14px 0 4px}progress::-webkit-progress-bar{background:var(--raised);border-radius:4px}progress::-webkit-progress-value{background:var(--accent);border-radius:4px}progress::-moz-progress-bar{background:var(--accent)}.challenge .section-heading strong{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.9rem}.trophies{flex-wrap:wrap;gap:24px;display:flex}.trophies>div{color:var(--accent);align-items:center;gap:12px;display:flex}.empty-state{color:var(--muted);border-bottom:1px solid var(--line);padding:24px 0}.schedule-list{margin:20px 0 32px}.schedule-row{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:20px 0;display:flex}.date-stamp{text-align:center;flex-shrink:0;width:48px}.date-stamp strong{color:var(--accent);font-size:1.8rem;line-height:1.15;display:block}.date-stamp span{color:var(--muted);font-size:.8rem}.schedule-content{flex:1;min-width:0}.schedule-actions{flex-direction:column;flex-shrink:0;gap:8px;width:160px;display:flex}.schedule-actions .mantine-Button-root{min-height:44px}.schedule-content h3{font-size:.95rem}.schedule-content p{color:var(--muted);font-size:.75rem}.schedule-content .mantine-Switch-root{margin-top:10px}.activity-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:18px 0;display:flex}.activity-row h3{font-size:.95rem}.activity-row>div{overflow-wrap:anywhere;flex:1;min-width:0}.activity-row>.mantine-Button-root{flex-shrink:0}.weight-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:16px;margin-top:20px;display:grid}.weight-table{border-collapse:collapse;width:100%;margin-top:24px}.weight-table th{text-align:left;color:var(--muted);font-size:.8rem;font-weight:500}.weight-table td{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:12px 0}.weight-table th:last-child,.weight-table td:last-child{text-align:right}.summary{max-width:600px;margin:auto}.summary-icon{color:var(--accent);margin:12px 0}.summary>p{color:var(--muted);margin-top:12px}.banked{align-items:baseline;gap:10px;margin:24px 0;display:flex}.banked>strong{color:var(--accent);font-size:4rem;line-height:1}.banked>span{color:var(--muted)}.drop-result{background:var(--surface);color:var(--accent);border-radius:12px;padding:24px}.drop-result p{color:var(--muted);margin-top:8px;font-size:.9rem}.mantine-Button-root{--button-height:48px;--button-color:var(--text);white-space:normal;font-weight:600;transition:background-color .15s,color .15s}.mantine-Button-root[data-variant=filled]{color:var(--ink);background:var(--accent)}.mantine-Button-root[data-variant=subtle]{color:var(--accent)}.mantine-Button-root:disabled{background:var(--raised);color:var(--muted);opacity:.6}.mantine-Drawer-content,.mantine-Drawer-header{background:var(--surface);color:var(--text)}.mantine-Drawer-content{max-height:min(92dvh, calc(100dvh - var(--safe-area-top)));border-radius:16px 16px 0 0}.mantine-Drawer-title{font-size:1.1rem;font-weight:700}.mantine-Drawer-close{min-width:44px;min-height:44px;color:var(--text)}.mantine-Input-input{background:var(--bg);border-color:var(--line);color:var(--text);min-height:48px}.mantine-Input-input:focus{border-color:var(--accent)}.mantine-Input-input::placeholder{color:var(--muted)}.mantine-InputWrapper-label{color:var(--muted);margin-bottom:6px;font-size:.85rem}.mantine-Switch-label{color:var(--text);font-size:.8rem}.mantine-Switch-body{align-items:center;min-height:44px}.mantine-Switch-root{--switch-color:var(--accent)}.mantine-Switch-input:focus-visible+.mantine-Switch-track{outline-color:var(--accent)}@media (min-width:800px){.shop-list{grid-template-columns:1fr 1fr;column-gap:40px;display:grid}.rewards{max-width:750px;margin:auto}.calendar,.progress{max-width:850px;margin:auto}}@media (max-width:600px){.app-header{height:68px;padding:12px 18px}.header-actions{gap:12px}.brand{font-size:2rem}.balance span{display:none}main{padding:26px 18px 24px}.today-intro{margin:0 0 24px}.today-intro h1{max-width:280px;font-size:3.2rem}.today-intro p{margin-top:12px;font-size:.95rem}.today-grid{flex-direction:column;gap:20px;display:flex}.next-session{padding:22px}.next-session h3{margin-top:18px;font-size:1.2rem}.today-companion{gap:18px}.companion-cue{width:100px}.today-companion h2{font-size:1.45rem}.today-note{margin-top:24px}.today-note p{font-size:.88rem}.reveal-machine{gap:10px;padding:14px}.reel-window{--reel-height:66px}.reel-value,.reel-symbol{font-size:2.4rem}.reels{gap:6px}.exercise-figure figcaption{font-size:.65rem}.decision-actions{grid-template-columns:1fr}.shop-item{flex-wrap:wrap;gap:12px}.item-art{width:58px;height:70px}.shop-info{min-width:200px}.shop-item>.mantine-Button-root{min-width:120px;margin-left:70px}.theme-shop{flex-wrap:wrap}.theme-shop>.mantine-Button-root{margin-left:88px}.companion-section{gap:12px}.companion-portrait{width:min(110px,100%)}.companion-heading h2{font-size:1.25rem}.equipment-grid{grid-template-rows:repeat(3,48px);gap:4px}.equipment-slot-label{font-size:.65rem}.schedule-row{flex-wrap:wrap;gap:12px}.schedule-content{min-width:200px}.schedule-actions{width:calc(100% - 60px);margin-left:60px}.weight-form{grid-template-columns:1fr 1fr;gap:12px}.weight-form>button{grid-column:1/-1}.actual-inputs{gap:10px}.timer-actions>.mantine-Button-root{padding-inline:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.mantine-Button-root:disabled{background:var(--raised)!important;color:var(--muted)!important}@media (max-width:600px){.decision-actions{grid-template-columns:1fr 1fr}.decision-actions>.mantine-Button-root{padding-inline:8px;font-size:.85rem}.workout-panel .exercise-figure img{height:140px}.workout-panel .exercise-title{margin:18px 0 12px}.workout-panel .reveal-machine,.workout-panel .workout-progress{margin:14px 0}.workout-panel .timer-block{margin:16px 0}}
