:root,:root[data-theme=dark]{--bg: #0c141c;--bg-2: #0f1923;--surface: #16222e;--surface-2: #1c2c3a;--line: #243646;--line-soft: #1b2935;--text: #eaf1f4;--text-dim: #9fb2bf;--text-faint:#647888;--jade: #3aa99f;--jade-deep: #2a6f6a;--on-jade: #06231f;--amber: #e0a458;--blue: #5b8def;--violet: #9b8cf0;--rose: #e0728a;--good: #56c596;--warn: #e0a458;--glow-1: rgba(58,169,159,.1);--glow-2: rgba(91,141,239,.08);--shadow: 0 6px 24px rgba(0,0,0,.32);--r-sm: 8px;--r: 14px;--r-lg: 20px;--display: "Space Grotesk", system-ui, sans-serif;--body: "Inter", system-ui, -apple-system, sans-serif;--maxw: 720px}:root[data-theme=light]{--bg: #f4f1ea;--bg-2: #ece7dc;--surface: #fbf9f4;--surface-2: #ece6da;--line: #d9d1c2;--line-soft: #e4ddcf;--text: #20272b;--text-dim: #5a6670;--text-faint:#8a9099;--jade: #2c8a80;--jade-deep: #1f6a62;--on-jade: #ffffff;--amber: #c07f2a;--blue: #3f6fd0;--violet: #7866d4;--rose: #cf5470;--good: #2f9a6a;--glow-1: rgba(44,138,128,.1);--glow-2: rgba(63,111,208,.07);--shadow: 0 6px 20px rgba(60,50,30,.12)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1200px 600px at 70% -10%,var(--glow-1),transparent 60%),radial-gradient(900px 500px at -10% 10%,var(--glow-2),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;transition:background-color .3s ease,color .3s ease}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit}::selection{background:#3aa99f59}.app{max-width:var(--maxw);margin:0 auto;padding:0 16px calc(96px + env(safe-area-inset-bottom)) 16px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px 2px 12px;background:linear-gradient(180deg,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:10px}.brand .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(140deg,var(--jade),var(--jade-deep));display:grid;place-items:center;box-shadow:0 4px 14px #3aa99f59}.brand .mark svg{width:17px;height:17px}.brand h1{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:.5px}.brand .sub{font-size:10px;color:var(--text-faint);letter-spacing:2.5px;text-transform:uppercase}.datechip{font-family:var(--display);font-size:12px;color:var(--text-dim);background:var(--surface);border:1px solid var(--line);padding:7px 12px;border-radius:999px;display:flex;align-items:center;gap:7px}.datechip b{color:var(--text);white-space:nowrap}.datechip svg{width:14px;height:14px;flex-shrink:0}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);padding:16px;margin-bottom:14px}.card.tight{padding:14px}.card-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.card-head h2{font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim)}.card-head .hint{font-size:12px;color:var(--text-faint)}.eyebrow{font-family:var(--display);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--jade)}.rings{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ring-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.ring-wrap .rlabel{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px}.ring-wrap .rval{font-family:var(--display);font-size:13px;font-weight:600}.ring-wrap .rval small{color:var(--text-faint);font-weight:400}.bar-row{margin:12px 0}.bar-row .bl{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.bar-row .bl .name{font-size:13px;color:var(--text-dim)}.bar-row .bl .num{font-family:var(--display);font-size:13px}.bar-row .bl .num small{color:var(--text-faint)}.track{height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.fill{height:100%;border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);padding:8px 11px;border-radius:999px;font-size:13px;transition:border-color .15s,transform .05s}.chip:active{transform:scale(.96)}.chip:hover{border-color:var(--jade-deep)}.chip .p{color:var(--jade);font-family:var(--display);font-weight:600;font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--jade);color:var(--on-jade);font-weight:600;font-size:14px;padding:11px 16px;border-radius:var(--r-sm);transition:filter .15s,transform .05s}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.98)}.btn.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.btn.block{width:100%}.btn.sm{padding:8px 12px;font-size:13px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:5px}.field label svg{width:13px;height:13px;flex-shrink:0}.input,select.input{background:var(--bg-2);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:var(--r-sm);font-size:15px;width:100%}.input:focus,select.input:focus{outline:2px solid var(--jade-deep);outline-offset:0;border-color:transparent}.row{display:flex;gap:10px}.row>*{flex:1}.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:38px;height:38px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font-size:20px;font-family:var(--display);color:var(--text);display:grid;place-items:center}.stepper button:active{transform:scale(.94)}.stepper .val{font-family:var(--display);font-size:22px;min-width:64px;text-align:center}.stepper .val small{display:block;font-size:10px;color:var(--text-faint);letter-spacing:1px}.seg{display:flex;gap:6px;background:var(--surface-2);padding:4px;border-radius:12px}.seg button{flex:1;padding:9px 4px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--text-dim);font-family:var(--display);letter-spacing:.3px;transition:background .15s,color .15s}.seg button.on{background:var(--jade);color:var(--on-jade)}.exercise{border:1px solid var(--line-soft);border-radius:var(--r);padding:13px;margin-bottom:10px;background:var(--bg-2)}.exercise .ex-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.exercise .ex-name{font-family:var(--display);font-weight:600;font-size:15px}.exercise .ex-scheme{font-size:12px;color:var(--jade);font-family:var(--display);white-space:nowrap}.exercise .ex-target{font-size:12.5px;color:var(--text-dim);margin-top:2px}.exercise .ex-alt{font-size:11.5px;color:var(--text-faint);margin-top:6px}.exercise .ex-alt b{color:var(--text-dim);font-weight:600}.last{font-size:11px;color:var(--text-faint);margin-top:8px}.last b{color:var(--jade);font-family:var(--display)}.setgrid{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.setbox{display:flex;align-items:center;gap:5px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:5px 7px}.setbox input{width:42px;background:transparent;border:none;color:var(--text);font-family:var(--display);font-size:14px;text-align:center}.setbox input:focus{outline:none}.setbox .x{color:var(--text-faint);font-size:12px}.setbox .u{color:var(--text-faint);font-size:10px}.setbox.add{color:var(--jade);justify-content:center;min-width:42px;font-size:18px}.setbox .rm{color:var(--rose);font-size:14px;padding:0 2px}.mvol{position:relative}.mvrow{display:grid;grid-template-columns:78px 1fr 30px;align-items:center;gap:8px;margin:7px 0}.mvrow .ml{font-size:12px;color:var(--text-dim)}.mvrow .mn{font-family:var(--display);font-size:12px;text-align:right}.mvtrack{position:relative;height:16px;background:var(--surface-2);border-radius:6px;overflow:hidden}.mvzone{position:absolute;top:0;bottom:0;background:#3aa99f29;border-left:1px dashed rgba(58,169,159,.5);border-right:1px dashed rgba(58,169,159,.5)}.mvfill{position:absolute;top:0;bottom:0;left:0;border-radius:6px;transition:width .5s}.logitem{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line-soft)}.logitem:last-child{border-bottom:none}.logitem .li-name{font-size:14px}.logitem .li-note{font-size:11.5px;color:var(--text-faint)}.logitem .li-macros{font-size:11.5px;color:var(--text-dim);font-family:var(--display)}.logitem .li-rm{color:var(--text-faint);font-size:16px;padding:4px 6px}.logitem .li-rm:hover{color:var(--rose)}.trek{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line-soft)}.trek:last-child{border-bottom:none}.trek .tcheck{flex-shrink:0;width:26px;height:26px;border-radius:8px;border:1.5px solid var(--line);display:grid;place-items:center;margin-top:2px;transition:background .15s,border-color .15s}.trek .tcheck.done{background:var(--jade);border-color:var(--jade)}.trek .tcheck svg{width:14px;height:14px}.trek .tname{font-family:var(--display);font-weight:600;font-size:15px}.trek .tname.done{color:var(--text-faint);text-decoration:line-through}.trek .tmeta{font-size:11px;color:var(--text-faint)}.trek .tnote{font-size:12.5px;color:var(--text-dim);margin-top:3px}.levelband{display:flex;align-items:center;gap:10px;margin:18px 0 4px}.levelband .lvnum{font-family:var(--display);font-size:12px;font-weight:700;color:var(--on-jade);background:var(--jade);width:22px;height:22px;border-radius:6px;display:grid;place-items:center}.levelband .lvlabel{font-family:var(--display);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim)}.levelband .lvline{flex:1;height:1px;background:var(--line)}.habits{display:grid;grid-template-columns:1fr 1fr;gap:8px}.habit{display:flex;align-items:center;gap:9px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:10px;padding:11px;font-size:13px;transition:border-color .15s}.habit.on{border-color:var(--jade-deep);background:#3aa99f14}.habit .hbox{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--line);flex-shrink:0;display:grid;place-items:center}.habit.on .hbox{background:var(--jade);border-color:var(--jade)}.habit .hbox svg{width:12px;height:12px}.phase{display:flex;gap:12px;padding:12px;border-radius:var(--r);border:1px solid var(--line-soft);margin-bottom:10px;background:var(--bg-2)}.phase.now{border-color:var(--jade-deep);background:#3aa99f12}.phase .pdot{width:10px;height:10px;border-radius:99px;background:var(--line);margin-top:6px;flex-shrink:0}.phase.now .pdot{background:var(--jade);box-shadow:0 0 0 4px #3aa99f2e}.phase .ptitle{font-family:var(--display);font-weight:600;font-size:15px}.phase .pwin{font-size:11px;color:var(--jade);font-family:var(--display);letter-spacing:.5px}.phase .pfocus{font-size:12.5px;color:var(--text-dim);margin-top:3px}.nowtag{font-size:9px;background:var(--jade);color:var(--on-jade);padding:2px 6px;border-radius:4px;letter-spacing:1px;font-family:var(--display)}.rsrch{padding:12px 0;border-bottom:1px solid var(--line-soft)}.rsrch:last-child{border-bottom:none}.rsrch .rc{font-size:13.5px;line-height:1.45}.rsrch .rd{font-size:12.5px;color:var(--text-dim);margin-top:4px}.rsrch .rs{font-size:11px;color:var(--text-faint);margin-top:5px;font-style:italic}.empty{text-align:center;padding:26px 10px;color:var(--text-faint);font-size:13px}.note{font-size:12px;color:var(--text-faint);line-height:1.5}.note.box{background:#e0a45814;border-left:3px solid var(--amber);padding:10px 12px;border-radius:0 8px 8px 0;color:var(--text-dim)}.hero{text-align:left}.hero .hphase{display:flex;align-items:center;gap:8px;margin-bottom:10px}.hero .greet{font-family:var(--display);font-size:22px;font-weight:700;line-height:1.15}.hero .today-plan{font-size:13px;color:var(--text-dim);margin-top:6px}.hero .today-plan b{color:var(--text)}.streakbadge{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:13px;color:var(--amber)}.streakbadge svg{width:14px;height:14px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;justify-content:center;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--bg) 70%,transparent)}.nav-inner{display:flex;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:5px;box-shadow:var(--shadow);max-width:var(--maxw);width:100%}.nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border-radius:13px;color:var(--text-faint);font-size:10px;font-weight:500;letter-spacing:.2px;transition:color .15s,background .15s}.nav button svg{width:21px;height:21px}.nav button.on{color:var(--jade);background:#3aa99f1f}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.spacer{height:4px}hr.soft{border:none;border-top:1px solid var(--line-soft);margin:14px 0}.kpi{font-family:var(--display)}.li-right{display:flex;align-items:center;gap:12px}.statcard{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--r);padding:13px 14px}.statbig{font-size:26px;font-weight:700;line-height:1}.statunit{font-size:13px;color:var(--text-faint);font-weight:400}.statlabel{font-size:10.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px;margin-top:5px}.head-actions{display:flex;gap:6px}.iconbtn{width:34px;height:34px;border-radius:9px;flex-shrink:0;background:var(--surface-2);border:1px solid var(--line);color:var(--text-dim);display:grid;place-items:center;transition:color .15s,border-color .15s,transform .05s}.iconbtn svg{width:16px;height:16px}.iconbtn:hover{color:var(--jade);border-color:var(--jade-deep)}.iconbtn:active{transform:scale(.94)}.seg.wrap{flex-wrap:wrap}.seg.wrap button{flex:1 1 auto;min-width:64px}.seg-add{flex:0 0 auto;width:34px;border-radius:9px;color:var(--jade);display:grid;place-items:center}.seg-add svg{width:15px;height:15px}.ex-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px}.ex-meta .last{font-size:11px;color:var(--text-faint);margin:0}.ex-meta .last b{color:var(--text-dim);font-family:var(--display)}.e1rm{font-size:11px;color:var(--text-faint)}.e1rm b{color:var(--jade);font-family:var(--display)}.prbadge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--amber);background:#e0a45824;padding:3px 7px;border-radius:999px;font-family:var(--display)}.prbadge svg{width:11px;height:11px}.setbox .setn{color:var(--text-faint);font-size:10px;font-family:var(--display);width:10px;text-align:center}.setbox .rir{width:32px;color:var(--text-dim)}.setbox .rir::placeholder{color:var(--text-faint);font-size:11px}.hint-cue{margin-top:10px;font-size:11.5px;line-height:1.45;padding:8px 10px;border-radius:8px;color:var(--text-dim);background:var(--surface-2);border-left:2px solid var(--line)}.hint-cue.up{border-left-color:var(--jade);color:var(--text)}.hint-cue.hold{border-left-color:var(--amber)}.resttimer{position:fixed;left:50%;transform:translate(-50%);bottom:calc(86px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:10px;background:var(--jade);color:var(--on-jade);padding:9px 14px;border-radius:999px;box-shadow:0 8px 24px #00000059;animation:rise .25s ease;max-width:calc(100% - 24px)}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.resttimer svg{width:17px;height:17px}.resttimer .rt-time{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.resttimer .rt-label{font-size:11px;opacity:.8;text-transform:uppercase;letter-spacing:1px}.resttimer button{font-size:12px;font-weight:600;color:var(--on-jade);background:#ffffff2e;padding:5px 9px;border-radius:999px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;width:100%;max-width:var(--maxw);box-shadow:var(--shadow);animation:rise2 .25s ease}@keyframes rise2{0%{transform:translateY(16px)}to{transform:translateY(0)}}.plateout{margin-top:14px}.plates{display:flex;flex-wrap:wrap;gap:8px}.plate{font-family:var(--display);font-weight:700;font-size:15px;background:var(--surface-2);border:1px solid var(--line);color:var(--jade);padding:8px 12px;border-radius:10px}.exercise.edit{background:var(--surface)}.ex-edit-head{display:flex;align-items:center;gap:8px}.ex-name-input{font-family:var(--display);font-weight:600;font-size:14px}.reorder{display:flex;gap:4px;flex-shrink:0}.reorder button{width:30px;height:30px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);color:var(--text-dim);display:grid;place-items:center}.reorder button svg{width:14px;height:14px}.reorder button:disabled{opacity:.35}.reorder .del{color:var(--rose)}.tagrow{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:11px;padding:5px 9px;border-radius:999px;background:var(--bg-2);border:1px solid var(--line);color:var(--text-faint);transition:all .12s}.tag.on{background:#3aa99f24;border-color:var(--jade-deep);color:var(--jade)}.swatches{display:flex;gap:8px}.swatch{width:28px;height:28px;border-radius:8px;border:2px solid transparent;transition:transform .1s}.swatch.on{border-color:var(--text);transform:scale(1.08)}.swatch:active{transform:scale(.92)}.searchbar{display:flex;align-items:center;gap:9px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:0 12px}.searchbar svg{width:16px;height:16px;color:var(--text-faint);flex-shrink:0}.searchinput{flex:1;background:none;border:none;color:var(--text);font-size:16px;padding:11px 0;outline:none}.chip-del{margin-left:2px;color:var(--text-faint);font-size:14px;line-height:1;padding:0 2px}.chip-del:hover{color:var(--rose)}.sched{display:flex;flex-direction:column;gap:8px}.schedrow{display:grid;grid-template-columns:44px 1fr 1fr;align-items:center;gap:8px}.schedday{font-family:var(--display);font-size:12px;font-weight:600;color:var(--text-dim);letter-spacing:.5px}.sched-sel{padding:8px 10px;font-size:13px}.toggle-row{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:14px;font-size:13px;color:var(--text-dim);text-align:left}.switch{width:42px;height:24px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);position:relative;transition:background .2s;flex-shrink:0}.toggle-row.on .switch{background:var(--jade);border-color:var(--jade)}.switch .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text);transition:transform .2s}.toggle-row.on .switch .knob{transform:translate(18px);background:var(--on-jade)}.calcout{margin-top:14px}.suggestrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:10px;padding:12px}.suggestrow span{font-size:12px;color:var(--text-dim);flex:1 1 auto;text-align:center}.suggestrow b{font-family:var(--display);font-size:17px;color:var(--text);display:block}.measure-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.hero.glow{position:relative;overflow:hidden}.hero.glow:before{content:"";position:absolute;top:-60%;right:-20%;width:70%;height:200%;background:radial-gradient(circle,var(--glow-1),transparent 70%);pointer-events:none}.hero-grid{display:flex;align-items:center;justify-content:space-between;gap:14px}.hero .greet{font-size:24px;line-height:1.12}.hero .greet span{color:var(--jade)}.ring-big{filter:drop-shadow(0 4px 12px rgba(0,0,0,.25))}.scorering{flex-shrink:0}.sessioncard{border:1px solid var(--line);position:relative;overflow:hidden}.sessioncard.done{opacity:.82}.sc-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.sc-top>div:first-child{min-width:0}.sc-kicker{font-family:var(--display);font-size:11px;letter-spacing:1.5px;text-transform:uppercase}.sc-title{font-family:var(--display);font-size:22px;font-weight:700;margin-top:2px}.sc-sub{font-size:12px;color:var(--text-faint);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.startbtn{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;color:var(--on-jade);font-weight:700;font-size:14px;font-family:var(--display);padding:11px 18px;border-radius:999px;box-shadow:0 6px 18px #00000040;transition:transform .08s}.startbtn:active{transform:scale(.95)}.startbtn svg{width:15px;height:15px}.sc-exlist{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.sc-ex{font-size:11.5px;color:var(--text-dim);background:var(--bg-2);border:1px solid var(--line-soft);padding:5px 9px;border-radius:7px}.sc-ex.more{color:var(--jade)}.heatmap{display:flex;gap:4px;align-items:flex-start;flex-wrap:wrap}.hm-col{display:flex;flex-direction:column;gap:4px}.hm-cell{width:100%;min-width:13px;aspect-ratio:1;border-radius:3px;background:var(--surface-2)}.hm-col{flex:1}.hm-cell.l1{background:color-mix(in srgb,var(--jade) 28%,var(--surface-2))}.hm-cell.l2{background:color-mix(in srgb,var(--jade) 50%,var(--surface-2))}.hm-cell.l3{background:color-mix(in srgb,var(--jade) 75%,var(--surface-2))}.hm-cell.l4{background:var(--jade)}.hm-cell.fut{opacity:.25}.hm-legend{display:flex;align-items:center;gap:4px;width:100%;justify-content:flex-end;margin-top:8px;font-size:10px;color:var(--text-faint)}.hm-legend i{width:11px;height:11px;border-radius:3px;background:var(--surface-2)}.hm-legend i.l1{background:color-mix(in srgb,var(--jade) 28%,var(--surface-2))}.hm-legend i.l2{background:color-mix(in srgb,var(--jade) 50%,var(--surface-2))}.hm-legend i.l3{background:color-mix(in srgb,var(--jade) 75%,var(--surface-2))}.hm-legend i.l4{background:var(--jade)}.start-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px}.sh-focus{font-family:var(--display);font-weight:700;font-size:16px}.sh-meta{font-size:12px;color:var(--text-faint);margin-top:3px}.btn.startbig{color:var(--on-jade);font-family:var(--display);font-weight:700;padding:13px 20px;border-radius:12px;flex-shrink:0;box-shadow:0 8px 20px #00000047}.btn.startbig svg{width:15px;height:15px}.sessionbar{position:sticky;top:56px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--jade-deep);border-radius:14px;padding:10px 12px;margin-bottom:14px;box-shadow:0 8px 24px #00000047;animation:rise2 .25s ease}.sb-left{display:flex;align-items:center;gap:14px}.sb-clock{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:700;color:var(--jade);font-variant-numeric:tabular-nums}.sb-clock svg{width:16px;height:16px}.sb-stat{font-family:var(--display);font-size:15px;font-weight:700;color:var(--text)}.sb-stat small{font-size:10px;color:var(--text-faint);font-weight:400}.sb-right{display:flex;align-items:center;gap:6px}.sb-cancel{font-size:12px;color:var(--text-faint);padding:8px 10px}.sb-finish{display:inline-flex;align-items:center;gap:6px;background:var(--jade);color:var(--on-jade);font-weight:700;font-size:13px;font-family:var(--display);padding:9px 14px;border-radius:10px}.sb-finish svg{width:14px;height:14px}.ex-namebtn{text-align:left;flex:1}.ex-name{display:inline-flex;align-items:center;gap:6px}.ex-namebtn .ex-name svg{width:13px;height:13px;color:var(--text-faint)}.ex-namebtn:active{opacity:.7}.setlist{margin-top:12px}.set-head,.setrow{display:grid;grid-template-columns:26px 50px 1fr 1fr 44px 40px;gap:6px;align-items:center}.set-head{padding:0 2px 6px}.set-head span{font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);text-align:center}.set-head span:first-child{text-align:center}.setrow{padding:5px 2px;border-radius:9px;transition:background .2s;margin-bottom:2px}.setrow.done{background:color-mix(in srgb,var(--good) 14%,transparent)}.setrow .setn{font-family:var(--display);font-size:12px;color:var(--text-faint);text-align:center}.setrow input{width:100%;background:var(--bg-2);border:1px solid var(--line);color:var(--text);font-family:var(--display);font-size:15px;text-align:center;padding:9px 2px;border-radius:8px}.setrow input:focus{outline:2px solid var(--jade-deep);border-color:transparent}.setrow.done input{background:transparent;border-color:transparent}.setrow .rir{color:var(--text-dim)}.prevcell{font-size:11px;color:var(--text-faint);font-family:var(--display);text-align:center;padding:4px 2px;border-radius:6px}.prevcell:not(:disabled):active{background:var(--surface-2);color:var(--jade)}.prevcell:disabled{opacity:.5}.setcheck{width:34px;height:34px;border-radius:9px;background:var(--surface-2);border:1.5px solid var(--line);color:transparent;display:grid;place-items:center;transition:all .15s;justify-self:center}.setcheck svg{width:16px;height:16px}.setcheck.on{background:var(--good);border-color:var(--good);color:#fff;transform:scale(1);animation:pop .25s ease}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.12)}to{transform:scale(1)}}.setrow .rm{color:var(--text-faint);display:grid;place-items:center;justify-self:center;width:34px;height:34px}.setrow .rm svg{width:13px;height:13px}.setrow .rm:active{color:var(--rose)}.addset{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;font-weight:600;color:var(--jade);font-family:var(--display);padding:6px 2px}.addset svg{width:13px;height:13px}.modal.sheet{max-height:82vh;overflow-y:auto}.modal.summary{text-align:center;padding:26px 22px}.sum-emoji{width:56px;height:56px;margin:0 auto 8px;display:grid;place-items:center}.sum-emoji svg{width:38px;height:38px}.sum-title{font-family:var(--display);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim)}.sum-bignum{font-size:44px;font-weight:700;margin:6px 0 2px;line-height:1}.sum-bignum span{font-size:14px;color:var(--text-faint);font-weight:400}.sum-stats{display:flex;justify-content:center;gap:28px;margin-top:18px}.sum-stats div{display:flex;flex-direction:column}.sum-stats b{font-size:22px}.sum-stats span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);margin-top:2px}.sum-prs{margin-top:18px;display:flex;flex-direction:column;gap:8px}.sum-pr{display:flex;align-items:center;gap:8px;justify-content:center;font-size:13px;color:var(--text-dim);background:#e0a4581f;padding:9px;border-radius:10px}.sum-pr svg{width:14px;height:14px;color:var(--amber)}.sum-pr b{color:var(--text)}.capture{display:flex;flex-direction:column;min-height:calc(100vh - 150px)}.cap-feed{flex:1;display:flex;flex-direction:column;gap:10px;padding:6px 0 14px}.cap-empty{margin:auto 0;text-align:center;padding:24px 4px}.cap-empty-title{font-family:var(--display);font-size:20px;font-weight:700}.cap-empty-sub{color:var(--text-dim);font-size:13px;margin-top:6px}.cap-examples{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.cap-ex{background:var(--surface-2);border:1px solid var(--line);color:var(--text-dim);padding:8px 12px;border-radius:999px;font-size:12.5px}.cap-ex:hover{border-color:var(--jade-deep);color:var(--text)}.cap-ex:disabled{opacity:.5}.cap-bubble{max-width:86%;padding:11px 13px;border-radius:15px;font-size:14px;line-height:1.45;border:1px solid var(--line-soft);background:var(--surface)}.cap-bubble.user{align-self:flex-end;background:var(--jade);color:var(--on-jade);border-color:transparent;border-bottom-right-radius:5px}.cap-bubble.assistant{align-self:flex-start;border-bottom-left-radius:5px;display:flex;flex-direction:column;gap:7px}.cap-reply{color:var(--text)}.cap-fail{color:#e06a5a;font-size:13px}.cap-chip{display:flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:11px;padding:8px 10px;font-size:13px}.cap-chip.query{background:#3aa99f14}.cap-check{color:var(--jade);font-weight:700}.cap-chart-ico{font-size:13px}.cap-chip-text{flex:1;color:var(--text)}.cap-when{color:var(--text-faint);font-style:normal;font-size:12px}.cap-edit{color:var(--jade);font-size:12px;font-weight:600;padding:2px 6px}.cap-edit:hover{text-decoration:underline}.cap-undo{align-self:flex-start;color:var(--text-dim);font-size:12px;border:1px solid var(--line);border-radius:8px;padding:4px 10px}.cap-undo:hover{color:var(--text);border-color:var(--jade-deep)}.cap-undone{color:var(--text-faint);font-size:12px;font-style:italic}.cap-typing{display:inline-flex;gap:4px;align-items:center}.cap-typing i{width:6px;height:6px;border-radius:50%;background:var(--text-faint);animation:capblink 1.2s infinite ease-in-out}.cap-typing i:nth-child(2){animation-delay:.2s}.cap-typing i:nth-child(3){animation-delay:.4s}@keyframes capblink{0%,60%,to{opacity:.25}30%{opacity:1}}.cap-error{color:#e06a5a;font-size:13px;text-align:center;padding:4px 0}.cap-privacy{text-align:center;font-size:10.5px;color:var(--text-faint);padding:6px 0 2px;letter-spacing:.2px}.cap-quick{display:flex;align-items:center;gap:8px;width:100%;background:#3aa99f1a;border:1px solid var(--jade-deep);color:var(--jade);border-radius:12px;padding:11px 14px;font-size:14px;font-weight:600;margin:4px 0 2px}.cap-quick:hover{background:#3aa99f29}.cap-quick-ico{font-size:11px}.cap-card{background:var(--bg-2);border:1px solid var(--line-soft);border-radius:12px;padding:11px 12px}.cap-card-title{font-size:12px;font-weight:600;color:var(--text-dim);letter-spacing:.3px;margin-bottom:8px}.cap-card-foot{font-size:12.5px;color:var(--text-dim);margin-top:6px}.cap-card-foot b{color:var(--text);font-family:var(--display)}.cap-note{font-size:13px;color:var(--text-faint)}.cap-bars{display:flex;flex-direction:column;gap:9px}.cap-bar-top{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);margin-bottom:4px}.cap-bar-top b{color:var(--text);font-family:var(--display);font-weight:600}.cap-bar-track{height:7px;border-radius:5px;background:var(--surface-2);overflow:hidden}.cap-bar-fill{height:100%;border-radius:5px;background:var(--jade)}.cap-statrow{display:flex;gap:10px}.cap-stat{flex:1;text-align:center;background:var(--surface-2);border:1px solid var(--line-soft);border-radius:10px;padding:10px 4px}.cap-stat b{display:block;font-family:var(--display);font-size:20px;color:var(--text)}.cap-stat span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint)}.cap-card .heatmap{margin-top:2px}.cap-inputbar{position:sticky;bottom:calc(82px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:7px;box-shadow:var(--shadow)}.cap-text{flex:1;background:transparent;border:none;color:var(--text);font-size:15px;padding:8px 6px;outline:none;min-width:0}.cap-text::placeholder{color:var(--text-faint)}.cap-mic,.cap-send{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:grid;place-items:center}.cap-mic{background:var(--surface-2);border:1px solid var(--line);color:var(--text-dim)}.cap-mic.on{background:var(--jade);color:var(--on-jade);border-color:transparent;animation:capmic 1.3s infinite}@keyframes capmic{0%,to{box-shadow:0 0 #3aa99f80}50%{box-shadow:0 0 0 6px #3aa99f00}}.cap-send{background:var(--jade);color:var(--on-jade)}.cap-send:disabled{opacity:.45}.cap-mic svg,.cap-send svg{width:19px;height:19px}@media (prefers-reduced-motion: reduce){*{transition:none!important}}@media (max-width: 380px){.rings{gap:6px}.habits{grid-template-columns:1fr}.measure-grid{grid-template-columns:1fr 1fr}.nav button{font-size:9px}}@media (min-width: 600px){.app{padding-left:24px;padding-right:24px}.card{padding:20px}.hero .greet{font-size:26px}}
