@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Jersey 10";src:url(/fonts/Jersey10-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Honk;src:url(/fonts/Honk-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:VT323;src:url(/fonts/VT323-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #0d0a0c;--surface: #141013;--card: #1a1519;--card2: #221b20;--border: #2e2429;--text: #fbf1dc;--muted: #a8958f;--faint: #5a4a4c;--accent: #ffc753;--on-accent: #1a0f05;--hi: #ff5fa8;--gold: #ff8a6a;--green: #b8e86a;--f-body: "Ubuntu", system-ui, sans-serif;--f-head: "Jersey 10", "Ubuntu", system-ui, sans-serif;--f-display: "Honk", "Jersey 10", system-ui, sans-serif;--f-num: "VT323", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);min-height:100%}body{margin:0;font-family:var(--f-body);font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}button:focus-visible,input:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--hi);outline-offset:2px}.num{font-family:var(--f-num);letter-spacing:.02em;font-variant-numeric:tabular-nums}h1,h2,h3{font-family:var(--f-head);font-weight:400;margin:0;text-wrap:balance;letter-spacing:.02em}p{margin:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.page{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;position:relative}.gutter{padding-inline:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{position:relative}.app-shell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;max-width:480px;margin:0 auto;pointer-events:none;z-index:30;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px);mix-blend-mode:multiply}.btn{border:0;border-radius:12px;padding:13px 16px;font-weight:700;font-size:15px;background:var(--accent);color:var(--on-accent);width:100%;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.btn.ghost{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn.danger{background:var(--hi);color:#1a0f05}.btn.small{width:auto;padding:8px 12px;font-size:13px;border-radius:9px;min-height:36px}.btn:disabled{opacity:.45;cursor:default}.label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:500}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:14px}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:3px 8px;border-radius:20px;background:var(--card2);color:var(--muted);border:1px solid var(--border)}.chip.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.chip.gold{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 35%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent)}.chip.green{color:var(--green);border-color:color-mix(in srgb,var(--green) 35%,transparent);background:color-mix(in srgb,var(--green) 8%,transparent)}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;color:var(--muted)}.input{width:100%;background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--text);font:inherit;min-height:44px}.input:focus{border-color:var(--accent);outline:none}.form-error{color:var(--hi);font-size:13px}.skeleton{background:linear-gradient(90deg,var(--card) 25%,var(--card2) 37%,var(--card) 63%);background-size:400% 100%;animation:skel-shine 1.4s ease infinite;border-radius:12px}@keyframes skel-shine{0%{background-position:100% 50%}to{background-position:0 50%}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}.empty-state,.error-state{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:32px 16px;color:var(--muted)}.empty-state h3,.error-state h3{font-size:22px;color:var(--text)}.land{padding:28px 20px 40px;display:flex;flex-direction:column;gap:22px;flex:1}.logo{font-family:var(--f-display);font-size:64px;line-height:.95;margin:6px 0 0}.logo.sm{font-size:30px}.tagline{font-family:var(--f-head);font-size:30px;line-height:1.05;color:var(--text)}.tagline em{font-style:normal;color:var(--hi)}.land p{color:var(--muted)}.store{display:flex;flex-direction:column;gap:8px}.store .btn{display:flex;justify-content:space-between;align-items:center;text-align:left}.store .btn small{font-weight:400;font-size:12px;opacity:.75}.feat{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:baseline}.feat .num{font-size:26px;color:var(--accent);line-height:1}.feat div{font-size:14px;color:var(--text)}.feat div span{display:block;color:var(--muted);font-size:13px}.land-foot{margin-top:auto;font-size:12px;color:var(--faint);display:flex;justify-content:space-between;align-items:center;gap:8px}.land-foot a,.privacy a{text-decoration:none}.lang-toggle{display:flex;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:3px;gap:2px}.lang-toggle button{background:none;border:0;border-radius:7px;padding:6px 10px;font-size:12px;color:var(--muted);min-height:unset}.lang-toggle button.on{background:var(--card2);color:var(--text)}.privacy{padding:24px 20px 40px;display:flex;flex-direction:column;gap:18px;flex:1}.privacy h1{font-size:40px}.privacy section h2{font-size:22px;color:var(--accent);margin-bottom:4px}.privacy section p{color:var(--muted)}.login{padding:40px 22px;display:flex;flex-direction:column;gap:12px;flex:1;justify-content:center}.check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text)}.check input{accent-color:var(--accent);width:18px;height:18px}.hint{font-size:13px;color:var(--muted);text-align:center}.pwd{padding:32px 22px;display:flex;flex-direction:column;gap:12px;flex:1;justify-content:center}.wiz-top{padding:calc(14px + env(safe-area-inset-top,0px)) 16px 0;display:flex;flex-direction:column;gap:10px}.steps{display:flex;gap:4px}.steps i{flex:1;height:4px;border-radius:4px;background:var(--border);font-style:normal}.steps i.done{background:var(--accent)}.steps i.cur{background:linear-gradient(90deg,var(--accent),var(--hi))}.wiz-title{font-size:34px;line-height:1}.wiz-sub{color:var(--muted);font-size:14px;margin-top:-4px}.opts{display:grid;gap:8px}.opts.two{grid-template-columns:1fr 1fr}.opts.five{grid-template-columns:repeat(5,1fr)}.opt{background:var(--card);border:1.5px solid var(--border);border-radius:13px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:2px;min-height:44px}.opt b{font-weight:500;font-size:15px}.opt span{font-size:12px;color:var(--muted)}.opt.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent)}.opt.on b{color:var(--accent)}.opt.center{align-items:center;text-align:center;padding:10px 4px}.opt .num{font-size:30px;line-height:1}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wiz-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.wiz-bottom{padding:12px 16px calc(16px + env(safe-area-inset-bottom,0px));display:flex;gap:8px;border-top:1px solid var(--border);background:var(--surface)}.wiz-bottom .btn.ghost{width:40%}.wiz-bottom{flex-wrap:wrap}.wiz-error{width:100%;margin:0;color:var(--coral);font-size:13px}.plan-card{background:var(--card);border:1.5px solid var(--border);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px}.plan-card.best{border-color:var(--accent)}.plan-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.plan-head h3{font-size:26px;line-height:1}.match{font-family:var(--f-num);font-size:22px;color:var(--green)}.plan-card p{font-size:13px;color:var(--muted)}.plan-card .chips{display:flex;gap:5px;flex-wrap:wrap}.days-row{display:flex;gap:4px}.days-row span{flex:1;text-align:center;font-family:var(--f-num);font-size:17px;padding:2px 0;border-radius:6px;background:var(--card2);color:var(--faint)}.days-row span.g{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.exercise-list{display:flex;flex-direction:column;gap:4px;margin-top:4px;font-size:13px;color:var(--muted)}.hdr{padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;flex-shrink:0;position:sticky;top:0;z-index:10}.hdr .logo.sm{color:var(--text)}.hdr .chip{margin-left:auto}.app-scroll{flex:1;overflow-y:auto;padding:16px 16px calc(88px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:14px}.today-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}.today-head h2{font-size:34px;line-height:.95}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 10px}.stat .num{font-size:28px;line-height:1;color:var(--accent)}.stat .label{font-size:10px}.prog{height:6px;background:var(--card2);border-radius:6px;overflow:hidden}.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--hi));width:0;transition:width .4s;font-style:normal}.warm{font-size:13px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:12px;padding:10px 12px}.ss{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.ss-head{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:var(--card2);border-bottom:1px solid var(--border)}.ss-head h3{font-size:20px;color:var(--hi)}.ex{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.ex+.ex{border-top:1px dashed var(--border)}.ex-top{display:flex;align-items:baseline;gap:8px}.ex-tag{font-family:var(--f-num);font-size:20px;color:var(--hi);width:26px;flex-shrink:0}.ex-name{font-weight:500;flex:1;background:none;border:0;text-align:left;color:var(--text);padding:0;min-height:unset}.ex-target{font-family:var(--f-num);font-size:20px;color:var(--muted)}.ex-edit{background:none;border:0;color:var(--muted);font-size:18px;padding:4px 8px;min-height:44px}.sets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.set{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:5px 4px;text-align:center;display:flex;flex-direction:column;line-height:1.05;min-height:44px;justify-content:center}.set .num{font-size:22px}.set small{font-size:10px;color:var(--muted)}.set.done{border-color:var(--green);background:color-mix(in srgb,var(--green) 10%,transparent)}.set.done .num{color:var(--green)}.rest-row{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--border)}.rest-row span{font-size:13px;color:var(--muted)}.timer{position:fixed;left:16px;right:16px;bottom:calc(78px + env(safe-area-inset-bottom,0px));max-width:448px;margin:0 auto;background:var(--surface);border:1px solid var(--hi);border-radius:14px;padding:8px 14px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 10px 30px #0009;z-index:15}.timer .num{font-size:40px;line-height:1;color:var(--hi)}.summary-card{display:flex;flex-direction:column;gap:10px}.summary-row{display:flex;justify-content:space-between}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border-top:1px solid var(--border);padding:6px 6px calc(8px + env(safe-area-inset-bottom,0px));flex-shrink:0;position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;z-index:20}.tabbar button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;color:var(--muted);font-size:11px;border-radius:10px;min-height:44px}.tabbar svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tabbar button.on{color:var(--accent)}.tabbar button.on svg{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 50%,transparent))}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week button{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:6px 0;display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--muted);min-height:44px}.week button .num{font-size:20px;line-height:1;color:var(--faint)}.week button.g .num{color:var(--accent)}.week button.on{border-color:var(--accent)}.row{display:flex;flex-wrap:nowrap;align-items:center;gap:6px 10px;padding:10px 0}.row+.row{border-top:1px solid var(--border)}.row .ex-tag{width:24px}.row .row-body{flex:1 1 auto;min-width:0}.row .row-body small{display:block;color:var(--muted);font-size:12px}.row-actions{display:flex;gap:4px;flex:0 0 calc(100% - 32px);justify-content:flex-end;margin-left:32px}.row-inline-actions{display:flex;gap:4px;flex-shrink:0;margin-left:auto}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.icon-btn.danger{color:var(--red, #ff755f)}.swap{background:var(--card2);border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:12px;color:var(--accent);min-height:44px;min-width:44px}.icon-btn{background:var(--card2);border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:14px;color:var(--muted);min-height:44px;min-width:44px}.blocks{display:flex;gap:4px;flex-wrap:wrap}.blocks span{flex:1;min-width:30px;height:26px;border-radius:6px;background:var(--card2);display:flex;align-items:center;justify-content:center;font-family:var(--f-num);font-size:16px;color:var(--faint)}.blocks span.past{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent)}.blocks span.now{background:var(--accent);color:var(--on-accent)}.plan-list-item{display:flex;align-items:center;gap:10px;padding:12px 0}.plan-list-item+.plan-list-item{border-top:1px solid var(--border)}.plan-list-item .row-body{flex:1;min-width:0}.plan-list-item small{display:block;color:var(--muted);font-size:12px}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;max-width:480px;margin:0 auto;background:#0009;display:flex;align-items:flex-end;z-index:40}.sheet{background:var(--surface);border-top:1px solid var(--border);border-radius:20px 20px 0 0;width:100%;padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;max-height:85vh;overflow-y:auto}.grab{width:40px;height:4px;border-radius:4px;background:var(--faint);margin:0 auto 4px}.alt{display:flex;align-items:center;gap:10px;background:var(--card);border:1.5px solid var(--border);border-radius:12px;padding:10px 12px;text-align:left;width:100%;min-height:44px}.alt div{flex:1}.alt small{display:block;font-size:12px;color:var(--muted)}.alt.on{border-color:var(--accent)}.stepper{display:flex;align-items:center;gap:12px;justify-content:center}.stepper button{width:44px;height:44px;border-radius:12px;background:var(--card);border:1px solid var(--border);font-size:20px}.stepper .num{font-size:32px;min-width:90px;text-align:center}.chart text{font-family:var(--f-num);font-size:14px;fill:var(--muted)}.prs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pr{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px}.pr .num{font-size:30px;line-height:1;color:var(--gold)}.pr small{display:block;font-size:12px;color:var(--muted)}.select-row{width:100%}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.me{display:flex;align-items:center;gap:12px}.avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--hi));display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-size:28px;color:var(--on-accent);flex-shrink:0}.me h2{font-size:28px;line-height:1}.me small{color:var(--muted);font-size:13px}.menu{display:flex;flex-direction:column}.menu .mrow{display:flex;justify-content:space-between;align-items:center;padding:11px 0;font-size:14px;background:none;border:0;width:100%;text-align:left;color:var(--text);min-height:44px}.menu .mrow+.mrow{border-top:1px solid var(--border)}.menu .mrow span:last-child{color:var(--muted);font-size:13px}.admin{border-color:color-mix(in srgb,var(--gold) 35%,transparent)}.admin h3{color:var(--gold);font-size:22px}.user{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:14px;gap:8px}.user+.user{border-top:1px solid var(--border)}.user small{color:var(--muted);font-size:12px;display:block}.user-actions{display:flex;gap:4px;flex-shrink:0}.temp-pw-box{background:var(--card2);border:1px solid var(--accent);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px}.temp-pw-value{font-family:var(--f-num);font-size:22px;color:var(--accent);letter-spacing:.06em;word-break:break-all}.block-strip{display:flex;flex-direction:column;gap:8px}.block-strip-head{display:flex;gap:6px;flex-wrap:wrap}.block-strip h3{font-size:24px;color:var(--hi)}.block-goal{font-size:13px;color:var(--text)}.block-cues{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.block-days{display:flex;gap:6px;flex-wrap:wrap}.block-day{flex:1;min-width:44px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:0}.block-day .num{font-size:22px;line-height:1;color:var(--accent)}.block-day small{font-size:10px;color:var(--muted)}.ex-why{display:flex;flex-direction:column;gap:4px}.ex-why-toggle{align-self:flex-start;background:none;border:0;padding:4px 0;min-height:44px;display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12px;font-weight:500}.ex-why-toggle .caret{display:inline-block;transition:transform .15s;font-size:10px}.ex-why-toggle .caret.open{transform:rotate(90deg)}.ex-note{font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 10px;white-space:pre-line}.hdr .chip{white-space:nowrap}.hdr .chip.accent{max-width:42vw;overflow:hidden;text-overflow:ellipsis}@media (min-width: 480px){.hdr .chip.accent{max-width:200px}}.field .hint{text-align:left}.invites{display:flex;flex-direction:column;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.invite-url{font-family:var(--f-num);font-size:15px;color:var(--accent);word-break:break-all;-webkit-user-select:all;user-select:all}
