:root{--ink:#0F1519;--panel:#18212A;--panel2:#1E2932;--line:#2B3A45;--text:#E3E9EC;--dim:#8496A2;--dimmer:#5D6E7A;--left:#E5A63C;--leftsoft:rgba(229,166,60,.1);--sans:"Archivo",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--tap:44px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;background:var(--ink);overflow-x:hidden}body{background:var(--ink);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.5;overflow-x:hidden;max-width:100vw;padding-bottom:calc(6.5rem + var(--sab));touch-action:manipulation;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;touch-action:manipulation}button,input{min-height:var(--tap)}.ex,.chip,.tick,.rate button,.day,.seg button,.presets button,.ctl button,.tbar button.ib,.ring{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input{font-size:16px}:focus-visible{outline:2px solid var(--dim);outline-offset:2px}.wrap{max-width:52rem;margin:0 auto;padding:0 1rem;min-width:0}.ex>div{min-width:0}.cue em{color:var(--left);font-style:normal;font-weight:600}.weekbar{position:sticky;top:0;z-index:20;background:#0f1519f0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:var(--sat);touch-action:pan-y}.days{display:flex;gap:.28rem;padding:.55rem 0}.day{flex:1;border:1px solid var(--line);color:var(--dim);font-size:.7rem;font-weight:600;letter-spacing:.02em;padding:.4rem .05rem .45rem;border-radius:2px;display:flex;flex-direction:column;align-items:center;gap:.22rem;min-height:var(--tap)}.day .num{font-family:var(--mono);font-size:.8rem;color:var(--text);font-weight:700}.day .pip{width:5px;height:5px;border-radius:50%;background:var(--dimmer)}.day.hard .pip{background:var(--text)}.day.rest .pip{background:none;border:1px solid var(--dimmer)}.day[aria-selected=true]{background:var(--panel2);color:var(--text);border-color:var(--dim)}.day.today{box-shadow:inset 0 -2px 0 var(--text)}.day.logged .num:after{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--dim);margin-left:3px;vertical-align:middle}.head{padding:1.4rem 0 .9rem}.kicker{font-size:.78rem;color:var(--dim);margin-bottom:.35rem;display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap}.kicker .tag{border:1px solid var(--line);padding:0 .4rem;border-radius:2px;font-size:.7rem;color:var(--text);text-transform:uppercase;letter-spacing:.06em}h1{font-size:clamp(1.55rem,5.2vw,2.2rem);font-weight:800;letter-spacing:-.025em;line-height:1.08}.sub{color:var(--dim);margin-top:.55rem;max-width:44ch;font-size:.92rem}.meta{font-size:.78rem;color:var(--dim);font-family:var(--mono);margin-top:.35rem}.seg{display:flex;gap:.3rem;margin-top:.9rem}.seg button{flex:1;border:1px solid var(--line);border-radius:2px;color:var(--dim);font-size:.85rem;font-weight:600;padding:.45rem .3rem}.seg button[aria-pressed=true]{background:var(--panel2);color:var(--text);border-color:var(--dim)}.session{padding:.4rem 0 1.6rem}.group{margin:1.5rem 0 .6rem;display:flex;align-items:center;gap:.8rem}.group h3{font-size:.8rem;font-weight:600;color:var(--dim);white-space:nowrap}.group i{flex:1;height:1px;background:var(--line);display:block}.ex{display:grid;grid-template-columns:auto 1fr auto;gap:0 .7rem;padding:.8rem .2rem .8rem .6rem;border-bottom:1px solid var(--line);align-items:start;border-left:3px solid transparent}.ex.isleft{border-left:3px solid var(--left);background:var(--leftsoft);padding-left:.75rem}.tick{width:var(--tap);height:var(--tap);margin:-11px 0 0 -11px;flex:none;display:flex;align-items:center;justify-content:center;color:transparent;font-size:13px}.tick span{width:22px;height:22px;border:1px solid var(--dimmer);border-radius:2px;display:flex;align-items:center;justify-content:center}.tick[aria-pressed=true] span{background:var(--dim);border-color:var(--dim);color:var(--ink)}.ex.done .name,.ex.done .cue,.ex.done .numbers{opacity:.42}.name{font-weight:600;font-size:1rem;letter-spacing:-.01em}.cue{color:var(--dim);font-size:.84rem;margin-top:.25rem;max-width:60ch}.numbers{text-align:right;font-family:var(--mono);font-size:.78rem;white-space:normal;max-width:11rem;overflow-wrap:anywhere}.numbers .load{display:block;color:var(--text);font-weight:700;font-size:.92rem}.numbers .reps{display:block;color:var(--dim);margin-top:.15rem}.numbers .rpe{display:block;color:var(--dimmer);margin-top:.1rem;font-size:.72rem}.numbers .dl{display:block;color:var(--dim);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;margin-top:.15rem}.sets{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}.chip{min-width:5.2rem;min-height:var(--tap);border:1px solid var(--line);border-radius:2px;padding:.3rem .55rem;text-align:left;font-family:var(--mono);font-size:.78rem;line-height:1.25;color:var(--dim);display:flex;flex-direction:column;justify-content:center}.chip b{display:block;color:var(--dimmer);font-weight:400;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase}.chip.on{background:var(--panel2);border-color:var(--dim);color:var(--text)}.chip.on b{color:var(--dim)}.rate{grid-column:1 / -1;margin-top:.7rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.rate .q{font-size:.8rem;color:var(--dim);flex-basis:100%}.rate button{width:var(--tap);height:var(--tap);border:1px solid var(--line);border-radius:2px;font-family:var(--mono);font-weight:700;color:var(--dim)}.rate button[aria-pressed=true]{background:var(--dim);color:var(--ink);border-color:var(--dim)}.calc{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:1.1rem 1rem;margin:1.6rem 0}.calc h3,.rules h3,.settings h3{font-size:1.05rem;font-weight:700;margin-bottom:.3rem}.calc p,.settings p{color:var(--dim);font-size:.84rem;margin-bottom:1rem;max-width:52ch}.lhead,.lift{display:grid;grid-template-columns:1fr 4.1rem 3.6rem 5.2rem;gap:.45rem;align-items:center}.lhead{font-size:.7rem;color:var(--dimmer);padding-bottom:.35rem;border-bottom:1px solid var(--line);margin-bottom:.25rem}.lhead span:not(:first-child){text-align:center}.lhead span:last-child{text-align:right}.lift{padding:.3rem 0}.lift label{font-size:.9rem}.lift small{display:block;color:var(--dimmer);font-size:.7rem}.lift input,.bw input,.settings input{background:var(--ink);border:1px solid var(--line);color:var(--text);font-family:var(--mono);font-size:16px;padding:.3rem .4rem;width:100%;border-radius:2px;text-align:center}.lift input:focus,.bw input:focus,.settings input:focus{border-color:var(--dim);outline:none}.lift .out{font-family:var(--mono);font-size:.9rem;font-weight:700;text-align:right}.lift .out small{color:var(--dimmer);font-weight:400;font-size:.68rem}.lift .out.blank{color:var(--dimmer);font-weight:400;font-size:.75rem}.bw{display:grid;grid-template-columns:1fr 5.2rem;gap:.45rem;align-items:center;padding:.3rem 0 .7rem;margin-bottom:.4rem;border-bottom:1px solid var(--line)}.ratio{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.ratio .val{font-family:var(--mono);font-size:1.5rem;font-weight:700}.ratio .lab{font-size:.84rem;color:var(--dim);max-width:40ch}.rules{margin:2rem 0}.rules h3{margin-bottom:.8rem}.rule{display:grid;grid-template-columns:1.4rem 1fr;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.rule .n{font-family:var(--mono);color:var(--dimmer);font-size:.8rem;padding-top:.15rem}.rule b{font-weight:600}.rule span{color:var(--dim)}.settings{margin:2rem 0}.srow{display:grid;grid-template-columns:1fr 6.2rem;gap:.5rem;align-items:center;padding:.35rem 0;border-bottom:1px solid var(--line);font-size:.9rem}.srow small{display:block;color:var(--dimmer);font-size:.72rem}.btnrow{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.btn{border:1px solid var(--dim);border-radius:2px;padding:.5rem 1rem;font-weight:600;font-size:.9rem;color:var(--text)}.btn.quiet{border-color:var(--line);color:var(--dim)}.btn.primary{background:var(--text);color:var(--ink);border-color:var(--text)}footer{color:var(--dimmer);font-size:.76rem;padding:1.6rem 0 0;border-top:1px solid var(--line);margin-top:2rem}.tbar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#18212af5;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:.5rem 1rem calc(.5rem + var(--sab))}.tbar .in{max-width:52rem;margin:0 auto;display:flex;align-items:center;gap:.5rem}.tbar .lbl{flex:1;font-size:.78rem;color:var(--dim);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbar .time{font-family:var(--mono);font-size:1.4rem;font-weight:700;min-width:5.2rem;text-align:center;letter-spacing:-.02em}.tbar button.ib{width:var(--tap);height:var(--tap);border:1px solid var(--line);border-radius:2px;font-family:var(--mono);font-size:.8rem;color:var(--dim)}.tbar.done{background:var(--text);color:var(--ink)}.tbar.done .lbl,.tbar.done button.ib{color:var(--ink);border-color:var(--ink)}.tbar.idle .time{color:var(--dim);font-size:1rem}.clock{position:fixed;inset:0;z-index:40;background:var(--ink);display:none;flex-direction:column;align-items:center;padding:calc(1rem + var(--sat)) 1rem calc(1rem + var(--sab))}.clock.open{display:flex}.clock .top{width:100%;max-width:26rem;display:flex;justify-content:space-between;align-items:center;color:var(--dim);font-size:.82rem}.clock .top button{min-width:var(--tap);color:var(--text);font-weight:600}.ring{position:relative;width:min(78vw,300px);aspect-ratio:1;margin:1.2rem 0 .6rem;touch-action:none}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .bg{stroke:var(--line);fill:none}.ring .fg{stroke:var(--text);fill:none;stroke-linecap:butt;transition:stroke-dashoffset .25s linear}.ring.done .fg{stroke:var(--text)}.ring .mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.ring .t{font-family:var(--mono);font-size:3rem;font-weight:700;letter-spacing:-.03em;line-height:1}.ring .s{font-size:.78rem;color:var(--dim)}.clock.isdone .ring{background:var(--text);border-radius:50%}.clock.isdone .ring .t,.clock.isdone .ring .s{color:var(--ink)}.clock.isdone .ring .fg,.clock.isdone .ring .bg{stroke:var(--ink)}.presets{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;max-width:26rem}.presets button{min-width:3.6rem;border:1px solid var(--line);border-radius:2px;font-family:var(--mono);font-size:.85rem;color:var(--dim);padding:0 .6rem}.presets button[aria-pressed=true]{color:var(--text);border-color:var(--dim);background:var(--panel2)}.ctl{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;width:100%;max-width:26rem;margin-top:1rem}.ctl button{border:1px solid var(--line);border-radius:2px;padding:.7rem 0;font-weight:600;font-family:var(--mono);color:var(--text)}.ctl button.big{grid-column:1 / -1;background:var(--text);color:var(--ink);border-color:var(--text);font-family:var(--sans);font-size:1rem}.clock .hint{color:var(--dimmer);font-size:.74rem;margin-top:.9rem;text-align:center;max-width:30ch}.scrim{position:fixed;inset:0;background:#0f1519b3;z-index:35;display:none}.scrim.open{display:block}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:36;background:var(--panel);border-top:1px solid var(--line);padding:1rem 1rem calc(1rem + var(--sab));transform:translateY(110%);transition:transform .18s ease-out}.sheet.open{transform:none}.sheet .in{max-width:52rem;margin:0 auto}.sheet .ttl{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.sheet h4{font-size:1rem;font-weight:700}.sheet .who{font-family:var(--mono);color:var(--dim);font-size:.8rem}.fields{display:grid;grid-template-columns:1fr;gap:.5rem;margin:1rem 0}.field{display:grid;grid-template-columns:5.2rem 1fr;gap:.3rem;align-items:center}.field label{font-size:.72rem;color:var(--dimmer);text-transform:uppercase;letter-spacing:.06em}.field .ctlr{display:grid;grid-template-columns:var(--tap) 1fr var(--tap);gap:.2rem;align-items:center}.field .ctlr button{border:1px solid var(--line);border-radius:2px;font-family:var(--mono);color:var(--dim);height:var(--tap)}.field input{width:100%;min-width:0;background:var(--ink);border:1px solid var(--line);color:var(--text);font-family:var(--mono);font-size:1.15rem;font-weight:700;text-align:center;border-radius:2px;height:var(--tap)}.field input:focus{border-color:var(--dim);outline:none}.sheet .acts{display:flex;gap:.5rem;align-items:center}.sheet .acts .btn{flex:1;text-align:center;padding:.7rem}.sheet .del{color:var(--dim);font-size:.85rem;min-width:var(--tap)}.upd{position:fixed;left:1rem;right:1rem;top:calc(.6rem + var(--sat));z-index:50;background:var(--text);color:var(--ink);padding:.6rem .9rem;border-radius:2px;display:none;justify-content:space-between;align-items:center;gap:1rem;font-size:.9rem}.upd.open{display:flex}.upd button{font-weight:700;color:var(--ink);text-decoration:underline}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(7rem + var(--sab));background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:.5rem .9rem;border-radius:2px;font-size:.85rem;z-index:45;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}@media(max-width:400px){.lhead,.lift{grid-template-columns:1fr 3.7rem 3.1rem 4.8rem;gap:.3rem}.numbers{font-size:.72rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
