:root{--d:0px;--font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--r-card:14px;--r-btn:12px;--r-input:8px;--nav-h:66px;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--acc:#4f86f7;--acc-text:#6f9bf8;--acc-fill:#4f86f7}html[data-size=large]{--d:2px}html[data-mode=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0c0f;--surf:#13171c;--raised:#1b2027;--line:#232930;--card-bg:#0f1216;--card-border:#1a1f25;--card-div:#1a1f25;--text:#eef1f5;--muted:#8a93a0;--on-acc:#0b0e12;--danger:#e5534b;--scrim:#0009;--shadow:#0009}html[data-mode=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef0f3;--surf:#fff;--raised:#e9ecf0;--line:#dfe3e8;--card-bg:#f8f9fa;--card-border:#e1e5e9;--card-div:#e4e7eb;--text:#0f1216;--muted:#5a6370;--on-acc:#fff;--danger:#c93c37;--scrim:#0f121659;--shadow:#0f121640}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:calc(17px + var(--d));font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;line-height:1.45}button,input,textarea,select{font:inherit;color:inherit}:where(button){cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default}a{color:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}[hidden]{display:none!important}body.lock{overflow:hidden}.app-shell{min-height:100dvh}.page{max-width:640px;padding:calc(var(--safe-t) + 12px) 20px calc(var(--nav-h) + var(--safe-b) + 110px);align-content:start;gap:28px;margin:0 auto;display:grid}.page.tight{gap:22px}.page.no-nav{padding-bottom:calc(var(--safe-b) + 48px)}.topbar{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin:-6px -8px -10px;display:flex}.topbar .t{font-size:17px;font-weight:600}.sticky-head{z-index:5;background:var(--bg);padding:calc(var(--safe-t) + 8px) 20px 10px;margin:calc(-12px - var(--safe-t)) -20px -14px;gap:10px;display:grid;position:sticky;top:0}.lbl{font-size:calc(11px + var(--d) / 2);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:500}.title{font-size:calc(28px + var(--d));letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.2}.sub{font-size:calc(15px + var(--d));color:var(--muted);margin:4px 0 0}.muted{color:var(--muted)}.nw{white-space:nowrap}.u{color:var(--muted);margin-left:.2em}.small{font-size:calc(14px + var(--d))}.hint{font-size:calc(14px + var(--d));color:var(--muted);margin:0}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-card)}.sec{gap:12px;display:grid}.sec-head{justify-content:space-between;align-items:baseline;display:flex}.stack{gap:14px;display:grid}.btn{font-size:calc(15px + var(--d));border-radius:var(--r-btn);border:1px solid var(--line);background:var(--surf);color:var(--text);justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-weight:600;display:inline-flex}.btn-primary{background:var(--acc-fill);color:var(--on-acc);border-color:#0000}.btn-danger{color:var(--danger)}.btn-block{width:100%;padding:14px}.btn:disabled{opacity:.45}.ghost{color:var(--acc-text);font-size:calc(15px + var(--d));padding:8px 4px;font-weight:600}.ghost:disabled{color:var(--muted)}.link{font-size:calc(13px + var(--d) / 2);color:var(--acc-text);padding:4px 0;font-weight:500}.ib{width:40px;height:40px;color:var(--muted);border-radius:10px;flex:none;place-items:center;display:inline-grid;position:relative}.ib svg{width:22px;height:22px}.ib:disabled{opacity:.3}.icon{flex:none;width:18px;height:18px}.list{padding-inline:16px}.li{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding-block:14px;display:flex}.li+.li{border-top:1px solid var(--card-div)}.li-main{flex:1;gap:2px;min-width:0;display:grid}.li-name{font-weight:500}.li-meta{font-size:calc(13px + var(--d) / 2);color:var(--muted)}.li-side{color:var(--muted);font-size:calc(13px + var(--d) / 2);flex:none;align-items:center;gap:8px;display:flex}.li-side svg{width:18px;height:18px}.lead{align-items:center;gap:12px;min-width:0;display:flex}.tag{letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);vertical-align:2px;white-space:nowrap;border-radius:5px;margin-left:6px;padding:0 5px;font-size:11px;font-weight:500}.medal{color:var(--acc-text);flex:none;place-items:center;display:inline-grid}.medal svg{width:18px;height:18px}.medal.sm svg{width:15px;height:15px}.empty{justify-items:start;gap:10px;padding:22px 16px;display:grid}.empty p{color:var(--muted);margin:0}.stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats.eq{grid-template-columns:repeat(3,1fr)}.stats.two{grid-template-columns:1fr 1fr}.stat{gap:2px;min-width:0;padding:14px 16px;display:grid}.stat+.stat{border-left:1px solid var(--card-div)}.stat-v{font-size:calc(18px + var(--d));white-space:nowrap;font-weight:600}.exs{gap:14px;display:grid}.ex{gap:6px;padding:18px;display:grid}.ex-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ex-name{font-size:calc(17px + var(--d));text-align:left;margin:0;font-weight:600;line-height:1.3}.ex-eq{font-size:calc(13px + var(--d) / 2);color:var(--muted);margin-top:2px;font-weight:400;display:block}.ex-note{font-size:calc(14px + var(--d));color:var(--muted);margin:4px 0 0;font-style:italic}.ex-head .ib{margin:-6px -8px 0 0}.sets{display:grid}.set{grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding-block:11px;display:grid}.set+.set{border-top:1px solid var(--card-div)}.set-n{color:var(--muted);font-size:calc(14px + var(--d))}.set-n.w{color:color-mix(in oklab, var(--acc-text) 75%, var(--muted));font-size:calc(13px + var(--d));letter-spacing:.02em;font-weight:500}.set-v{font-size:calc(18px + var(--d))}.x{color:var(--muted);padding-inline:6px}.ex-foot{font-size:calc(13px + var(--d) / 2);color:var(--muted);gap:18px;padding-top:4px;display:flex}.live{gap:8px;padding:14px 12px;display:grid}.live .ex-head{padding-inline:4px}.tr{background:var(--card-bg);touch-action:pan-y;border-radius:8px;grid-template-columns:30px 1fr 64px 54px 40px;align-items:center;gap:7px;padding:5px 4px;transition:transform .18s,background-color .15s;display:grid;position:relative}.tr.r{grid-template-columns:30px 1fr 64px 40px}.tr.nochk{grid-template-columns:30px 1fr 64px 56px}.tr.nochk.r{grid-template-columns:30px 1fr 64px}.tr.th{background:0 0;padding-bottom:4px}.tr.dragging{transition:none}.c{text-align:center}.row-wrap{border-radius:8px;position:relative;overflow:hidden}.row-del{background:var(--danger);color:#fff;visibility:hidden;border-radius:8px;justify-content:flex-end;align-items:center;padding-right:16px;font-size:14px;font-weight:600;display:flex;position:absolute;inset:0}.row-wrap.swiping .row-del{visibility:visible}.setn{width:28px;height:34px;font-size:calc(15px + var(--d));color:var(--muted);border-radius:6px;place-items:center;display:grid}.setn.w{color:color-mix(in oklab, var(--acc-text) 75%, var(--muted));font-size:calc(13px + var(--d));letter-spacing:.02em;font-weight:500}.prev{font-size:calc(15px + var(--d));color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.inp{border:1px solid var(--line);border-radius:var(--r-input);width:100%;height:42px;color:var(--text);font-weight:500;font-size:calc(18px + var(--d));text-align:center;background:0 0;padding:0 4px;transition:box-shadow .2s,border-color .2s}.inp::placeholder{color:var(--muted);opacity:.75;font-weight:400}.inp:focus{border-color:var(--acc);outline:none}.inp.need{box-shadow:0 0 0 2px var(--acc);border-color:var(--acc)}.chk{background:var(--raised);width:38px;height:38px;color:var(--muted);opacity:.55;border-radius:9px;justify-self:end;place-items:center;transition:opacity .15s,background-color .15s;display:grid}.chk svg{width:18px;height:18px}.tr.ready .chk{opacity:1;color:var(--text)}.tr.done{background:color-mix(in oklab, var(--acc) 11%, var(--card-bg))}.tr.done .chk{opacity:1;background:var(--acc-fill);color:var(--on-acc)}.tr.done .inp{border-color:#0000}.tr.done .inp:focus{border-color:var(--acc)}.start-rest{color:var(--acc-text);justify-self:start;padding:2px 4px 6px 38px;font-size:13px;font-weight:600}.float-bottom{width:min(600px,100% - 32px);left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 12px);z-index:30;position:fixed;transform:translate(-50%)}.rest{background:var(--surf);border:1px solid var(--line);box-shadow:0 14px 30px -12px var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 18px;display:flex}.rbar{background:var(--raised);border-radius:2px;flex:1;min-width:30px;height:4px;overflow:hidden}.rbar i{background:var(--acc);height:100%;transition:width .5s linear;display:block}.rest.over .rbar i{background:var(--muted);opacity:.4}.rest-t{font-size:calc(17px + var(--d));text-align:center;border-radius:8px;min-width:52px;padding:6px 4px;font-weight:600}.rest.over .rest-t{color:var(--muted)}.radj{background:var(--raised);border-radius:999px;padding:7px 9px;font-size:13px;font-weight:600}.skip{background:var(--raised);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}.minibar{background:var(--surf);border:1px solid var(--line);width:100%;box-shadow:0 14px 30px -12px var(--shadow);font-size:calc(15px + var(--d));text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 12px 16px;display:flex}.minibar b{font-weight:600}.minibar .rt{color:var(--acc-text);flex:none;align-items:center;gap:6px;font-size:14px;display:flex}.minibar svg{width:18px;height:18px;color:var(--muted)}.toast-wrap{width:min(600px,100% - 32px);left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + 76px);z-index:60;position:fixed;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);box-shadow:0 14px 30px -12px var(--shadow);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 12px 16px;font-size:15px;display:flex}.toast button{color:color-mix(in oklab, var(--acc) 70%, var(--bg));padding:4px 8px;font-weight:600}body.no-nav .toast-wrap{bottom:calc(var(--safe-b) + 20px)}.scrim{z-index:80;background:var(--scrim);animation:.15s fade;position:fixed;inset:0}.sheet{z-index:81;width:min(640px,100%);max-height:88dvh;padding:10px 20px calc(22px + var(--safe-b));background:var(--surf);border-radius:22px 22px 0 0;gap:16px;animation:.2s up;display:grid;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.grab{background:var(--line);border-radius:2px;justify-self:center;width:40px;height:4px}.sheet h3{font-size:calc(20px + var(--d));margin:4px 0 0;font-weight:600}.sheet p{color:var(--muted);font-size:calc(15px + var(--d));margin:0}.acts{gap:10px;display:grid}.acts.two{grid-template-columns:auto 1fr}.menu{display:grid}.mi{font-size:calc(17px + var(--d));text-align:left;justify-content:space-between;align-items:center;width:100%;padding:15px 4px;display:flex}.mi+.mi{border-top:1px solid var(--card-div)}.mi.danger{color:var(--danger)}.mi svg{width:18px;height:18px;color:var(--acc-text)}.radio{width:100%;font-size:calc(17px + var(--d));text-align:left;justify-content:space-between;align-items:center;padding:14px 4px;display:flex}.radio+.radio{border-top:1px solid var(--card-div)}.radio svg{width:20px;height:20px;color:var(--acc-text);opacity:0}.radio[aria-checked=true]{font-weight:600}.radio[aria-checked=true] svg{opacity:1}.overlay{z-index:70;background:var(--bg);flex-direction:column;animation:.2s up;display:flex;position:fixed;inset:0}.ov-head{padding:calc(var(--safe-t) + 10px) 12px 6px;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:640px;margin:0 auto;display:flex}.ov-head h2{font-size:calc(17px + var(--d));flex:1;margin:0;font-weight:600}.ov-body{flex:1;overflow-y:auto}.ov-inner{gap:18px;max-width:640px;margin:0 auto;padding:4px 20px 28px;display:grid}.ov-foot{padding:12px 20px calc(16px + var(--safe-b));border-top:1px solid var(--line);background:var(--surf)}.ov-foot>*{max-width:600px;margin:0 auto}.ehead{padding:calc(var(--safe-t) + 8px) 12px 4px;justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:640px;margin:0 auto;display:flex}.ehead h1{font-size:calc(17px + var(--d));margin:0;font-weight:600}.tbtn{font-size:calc(16px + var(--d));border-radius:8px;padding:8px 10px}.tbtn.save{color:var(--acc-text);font-weight:600}.tbtn.save:disabled{color:var(--muted);opacity:.6}.field{width:100%;font-size:calc(17px + var(--d));color:var(--text);background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:11px 14px}.field:focus{border-color:var(--acc);outline:none}.field.need{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}textarea.field{resize:none}select.field{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 14px);background-repeat:no-repeat;background-size:6px 6px}input[type=date].field,input[type=time].field{min-height:48px}.grp{gap:10px;display:grid}.warn{color:var(--acc-text);margin:6px 0 0;font-size:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips.scroll-x{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.chip{font-size:calc(15px + var(--d));border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:7px 14px}.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc-text);background:color-mix(in oklab, var(--acc) 12%, transparent);font-weight:600}.chip:disabled{opacity:.45}.searchrow{align-items:center;gap:8px;display:flex}.search{flex:1;position:relative}.search svg{width:18px;height:18px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .field{padding-left:38px}.filter-btn{border:1px solid var(--card-border);background:var(--card-bg);width:46px;height:46px;color:var(--text);border-radius:12px}.filter-btn.active{border-color:var(--acc);color:var(--acc-text)}.badge{background:var(--acc-fill);min-width:18px;height:18px;color:var(--on-acc);border-radius:9px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:grid;position:absolute;top:-6px;right:-6px}.chiprow{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.fchip{background:color-mix(in oklab, var(--acc) 12%, transparent);color:var(--acc-text);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 8px 5px 12px;font-size:14px;font-weight:500;display:inline-flex}.fchip svg{width:14px;height:14px}.tick{border:1.5px solid var(--line);color:#0000;border-radius:7px;flex:none;place-items:center;width:24px;height:24px;display:grid}.tick svg{width:15px;height:15px}[aria-pressed=true] .tick{background:var(--acc-fill);color:var(--on-acc);border-color:#0000}.seg{background:var(--raised);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.seg button{font-size:calc(15px + var(--d));text-align:center;color:var(--muted);border-radius:9px;padding:8px 6px;font-weight:500}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--card-bg);color:var(--text);font-weight:600;box-shadow:0 1px 2px #00000040}.seg.inline{border-radius:10px;flex:none;padding:3px;display:flex}.seg.inline button{font-size:calc(14px + var(--d));white-space:nowrap;border-radius:8px;padding:6px 11px}.mini-seg{gap:4px;display:flex}.mini-seg button{color:var(--muted);border-radius:8px;padding:5px 9px;font-size:13px;font-weight:500}.mini-seg button[aria-pressed=true]{color:var(--acc-text);background:color-mix(in oklab, var(--acc) 14%, transparent);font-weight:600}.sw{background:var(--raised);border:1px solid var(--line);border-radius:15px;flex:none;width:50px;height:30px;transition:background-color .15s;position:relative}.sw:after{content:"";background:var(--muted);border-radius:50%;width:22px;height:22px;transition:transform .15s,background-color .15s;position:absolute;top:3px;left:3px}[aria-checked=true]>.sw{background:var(--acc-fill);border-color:#0000}[aria-checked=true]>.sw:after{background:var(--on-acc);transform:translate(20px)}.rows{padding-inline:16px}.row{width:100%;min-height:54px;font-size:calc(16px + var(--d));text-align:left;justify-content:space-between;align-items:center;gap:12px;padding-block:8px;text-decoration:none;display:flex}.row+.row,.row+.row-stack,.row-stack+.row{border-top:1px solid var(--card-div)}.row .val{color:var(--muted);font-size:calc(15px + var(--d));white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.row .val svg{width:18px;height:18px}.row-sub{font-size:calc(13px + var(--d) / 2);color:var(--muted);display:block}.row-stack{gap:10px;padding-block:12px;display:grid}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatch{background:var(--c);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.swatch svg{opacity:0;width:16px;height:16px}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--card-bg), 0 0 0 4px var(--c)}.swatch[aria-pressed=true] svg{opacity:1}.steps{margin-top:8px;display:grid}.step{justify-content:space-between;align-items:center;padding-block:8px;display:flex}.step+.step{border-top:1px solid var(--card-div)}.stepper{align-items:center;gap:6px;display:flex}.stepper button{background:var(--raised);width:40px;height:40px;color:var(--text);border-radius:50%;place-items:center;font-size:22px;line-height:1;display:grid}.stepper button:disabled{opacity:.35}.stepper b{text-align:center;min-width:34px;font-size:calc(18px + var(--d));font-weight:600}.ro-list{gap:8px;display:grid}.ro-item{-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:12px 8px 12px 16px;display:flex}.ro-item.dragging{border-color:var(--acc);box-shadow:0 10px 24px -12px var(--shadow);z-index:2;position:relative}.ro-item .grow{flex:1;min-width:0;font-weight:500}.handle{width:44px;height:44px;color:var(--muted);cursor:grab;touch-action:none;place-items:center;display:grid}.handle svg{width:22px;height:22px}.week{gap:12px;display:grid}.wcard{text-align:left;gap:14px;width:100%;padding:18px;display:grid}.wc-head{gap:3px;display:grid}.wc-name{font-size:calc(17px + var(--d));justify-content:space-between;align-items:center;gap:10px;font-weight:600;display:flex}.wc-date{font-size:calc(14px + var(--d));color:var(--muted)}.names{font-size:calc(15px + var(--d));color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.names .hit{color:var(--acc-text);font-weight:500}.dotsep{opacity:.6}.prlines{border-top:1px solid var(--card-div);gap:6px;padding-top:12px;display:grid}.prline{font-size:calc(15px + var(--d));justify-content:space-between;align-items:center;gap:12px;display:flex}.prline .n{align-items:center;gap:8px;min-width:0;display:inline-flex}.prline .v{font-weight:600}.exlines{gap:9px;display:grid}.exline{font-size:calc(16px + var(--d));justify-content:space-between;align-items:baseline;gap:12px;display:flex}.exline .n{align-items:center;gap:6px;min-width:0;display:inline-flex}.exline .m{font-size:calc(14px + var(--d));color:var(--muted);white-space:nowrap}.exline.hit .n{color:var(--acc-text);font-weight:500}.more{font-size:calc(14px + var(--d));color:var(--muted)}.cal{gap:8px;padding:10px 10px 14px;display:grid}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-title{justify-items:center;gap:1px;display:grid}.cal-title b{font-size:calc(17px + var(--d));font-weight:600}.cgrid{grid-template-columns:repeat(7,1fr);row-gap:4px;display:grid}.cwd{text-align:center;letter-spacing:.08em;color:var(--muted);padding-bottom:6px;font-size:11px;font-weight:500}.cday{border-radius:12px;align-content:center;justify-items:center;gap:3px;height:48px;display:grid}.cday:disabled{opacity:.35}.cnum{width:34px;height:30px;font-size:calc(16px + var(--d));border-radius:10px;place-items:center;display:grid}.cdot{background:0 0;border-radius:50%;width:5px;height:5px}.cday.has .cdot{background:var(--acc)}.cday:not(.has) .cnum{color:var(--muted)}.cday.today .cnum{color:var(--acc-text);font-weight:600}.cday.sel .cnum{background:color-mix(in oklab, var(--acc) 18%, transparent);color:var(--text);font-weight:600}.cday.sel.today .cnum{color:var(--acc-text)}.chart-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.readout{font-size:calc(15px + var(--d));color:var(--muted);min-height:26px}.readout b{font-size:calc(20px + var(--d));color:var(--text);margin-right:6px;font-weight:600}.chart{padding:12px 8px 6px 4px}.chart svg{touch-action:pan-y;cursor:crosshair;width:100%;height:auto;display:block}.chart .gl{stroke:var(--card-div);stroke-width:1px}.chart .tx{fill:var(--muted);font:11px var(--font)}.chart .ln{fill:none;stroke:var(--acc);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .pt{fill:var(--acc)}.chart .ring{fill:none;stroke:var(--acc);stroke-opacity:.35;stroke-width:2px}.chart .guide{stroke:var(--muted);stroke-opacity:.5;stroke-dasharray:3 3}.chart .sel{fill:var(--card-bg);stroke:var(--acc);stroke-width:2.5px}.imgs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.img{aspect-ratio:4/3;max-width:100%;color:var(--muted);place-items:center;font-size:12px;display:grid;overflow:hidden}.img img{object-fit:cover;width:100%;height:100%;display:block}.kv{padding-inline:16px}.kv-row{font-size:calc(16px + var(--d));justify-content:space-between;gap:16px;padding-block:12px;display:flex}.kv-row+.kv-row{border-top:1px solid var(--card-div)}.kv-row .k{color:var(--muted)}.kv-row .v{text-align:right}ol.steps-list{font-size:calc(16px + var(--d));gap:10px;margin:0;padding-left:22px;line-height:1.5;display:grid}ol.steps-list li::marker{color:var(--muted)}.goal{text-align:left;border-radius:8px;gap:8px;width:100%;display:grid}.goal-t{font-size:calc(14px + var(--d));color:var(--muted)}.goal-t b{color:var(--text);font-weight:600}.goal-t .reached{color:var(--acc-text);font-weight:500}.segs{gap:4px;display:grid}.segs i{background:var(--raised);border-radius:2px;height:4px}.segs i.on{background:var(--acc-fill)}.resume{gap:14px;padding:18px;display:grid}.resume-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.resume-time{font-size:calc(22px + var(--d));font-weight:600}.pr-val{justify-items:end;gap:2px;display:grid}.pr-val .v{color:var(--text);font-weight:600;font-size:calc(17px + var(--d))}.starter{justify-content:space-between;align-items:center;gap:12px;padding-block:14px;display:flex}.starter+.starter{border-top:1px solid var(--card-div)}.add-chip{color:var(--acc-text);border:1px solid color-mix(in oklab, var(--acc) 50%, transparent);border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600}.info{align-items:center;gap:12px;padding:16px;display:flex}.info svg{width:22px;height:22px;color:var(--muted);flex:none}.example{font-size:calc(14px + var(--d));color:var(--muted);border-top:1px solid var(--card-div);padding:12px 0 14px}.example b{color:var(--text);font-weight:500}.nav{z-index:40;padding:8px 8px calc(10px + var(--safe-b));border-top:1px solid var(--line);background:var(--surf);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{color:var(--muted);border-radius:12px;justify-items:center;gap:3px;padding:5px 0;font-size:11px;text-decoration:none;display:grid}.nav a.on{color:var(--acc-text);background:color-mix(in oklab, var(--acc) 14%, transparent);font-weight:600}.nav svg{width:22px;height:22px}html[data-nav=active] .nav a:not(.on) span{visibility:hidden}.brand{display:none}@media (width>=1024px){:root{--nav-h:0px}.nav{border-top:0;border-right:1px solid var(--line);grid-template-columns:1fr;align-content:start;gap:4px;width:220px;padding:24px 14px;top:0;right:auto}.nav a{place-items:center start;gap:12px;padding:10px 12px;font-size:15px;display:flex}html[data-nav=active] .nav a:not(.on) span{visibility:visible}.brand{padding:0 12px 18px;font-size:16px;font-weight:600;display:block}.app-shell{padding-left:220px}.float-bottom,.toast-wrap{bottom:24px;left:calc(50% + 110px)}.toast-wrap{bottom:90px}.sheet{border-radius:16px;width:460px;padding:24px;top:50%;bottom:auto;transform:translate(-50%,-50%)}.sheet .grab{display:none}}@keyframes up{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}.overlay{animation-name:up-full}@keyframes up-full{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (width>=1024px){.sheet{animation:.15s fade}}@media (prefers-reduced-motion:reduce){.sheet,.scrim,.overlay{animation:none}.tr,.rbar i,.sw,.sw:after{transition:none}}.safe-cover{height:var(--safe-t);background:var(--bg);z-index:50;pointer-events:none;position:fixed;top:0;left:0;right:0}.plain{max-width:640px;padding-bottom:calc(var(--nav-h) + var(--safe-b) + 110px);margin:0 auto}.plain-head{padding:calc(var(--safe-t) + 12px) 20px 0}.home-user{font-size:calc(15px + var(--d));color:var(--acc-text);margin:0 0 6px;font-weight:600}.login{max-width:440px;min-height:100dvh;padding:calc(var(--safe-t) + 64px) 24px calc(var(--safe-b) + 32px);isolation:isolate;align-content:start;gap:26px;margin:0 auto;display:grid;position:relative}.login:before{content:"";z-index:-1;left:50%;top:calc(var(--safe-t) - 40px);background:radial-gradient(closest-side, color-mix(in oklab, var(--acc) 26%, transparent), transparent);pointer-events:none;width:460px;height:380px;position:absolute;transform:translate(-50%)}html[data-mode=light] .login:before{background:radial-gradient(closest-side, color-mix(in oklab, var(--acc) 18%, transparent), transparent)}.brand-block{justify-items:center;gap:14px;margin-bottom:10px;display:grid}.appicon{width:88px;height:88px;box-shadow:0 22px 44px -16px color-mix(in oklab, var(--acc) 55%, transparent), 0 10px 24px -12px #000000b3, 0 0 0 1px #ffffff0f;border-radius:20px;animation:.6s cubic-bezier(.2,.8,.2,1) both pop;overflow:hidden}.appicon svg{width:100%;height:100%;display:block}.icon-arc{stroke-dasharray:152 189}.icon-arc.draw{animation:1.1s cubic-bezier(.3,.7,.2,1) .15s both draw}.brand-block h1{font-size:calc(26px + var(--d));letter-spacing:-.01em;margin:0;font-weight:600}.brand-block p{font-size:calc(14px + var(--d));color:var(--muted);margin:-8px 0 0}.login form{animation:.5s .15s both rise}.field-wrap{position:relative}.field.pw{padding-right:52px}.eye{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.err{font-size:calc(14px + var(--d));color:var(--danger);margin:0}.pw-rules{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:2px 0 0;padding:0;font-size:13px;list-style:none;display:flex}.pw-rules li{align-items:center;gap:5px;display:inline-flex}.pw-rules li svg{opacity:.35;width:14px;height:14px}.pw-rules li.ok{color:var(--acc-text)}.pw-rules li.ok svg{opacity:1}.gen{color:var(--acc-text);justify-self:start;padding:4px 0;font-size:14px;font-weight:600}.busy{z-index:90;background:var(--bg);text-align:center;isolation:isolate;align-content:center;place-items:center;gap:10px;padding:24px;animation:.2s both fade;display:grid;position:fixed;inset:0}.busy:before{content:"";z-index:-1;background:radial-gradient(closest-side, color-mix(in oklab, var(--acc) 20%, transparent), transparent);width:380px;height:380px;position:absolute;top:50%;left:50%;transform:translate(-50%,-62%)}.ring{width:96px;height:96px;margin-bottom:10px;overflow:visible}.ring .track{stroke:var(--raised)}.ring .arc{stroke:var(--acc);filter:drop-shadow(0 0 5px color-mix(in oklab, var(--acc) 70%, transparent));transform-origin:50px 50px}.ring.spin .arc{stroke-dasharray:70 251;animation:1.1s linear infinite spin}.ring.fill .arc{stroke-dasharray:251 251;animation:1.4s cubic-bezier(.4,0,.2,1) both fillring;transform:rotate(-90deg)}.ring .db{fill:var(--text)}.busy b{font-size:calc(18px + var(--d));font-weight:600}.acct{gap:2px;padding:16px 0 14px;display:grid}.acct .name{font-size:calc(17px + var(--d));justify-content:space-between;align-items:center;gap:8px;font-weight:600;display:flex}.status-line{font-size:calc(14px + var(--d));color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.sdot{background:var(--muted);border-radius:50%;flex:none;width:7px;height:7px}.sdot.ok{background:var(--acc)}.sdot.warn{background:var(--danger)}.retry{color:var(--acc-text);font-size:14px;font-weight:600}.row.danger{color:var(--danger)}.acct+.row{border-top:1px solid var(--card-div)}.tag.acc{color:var(--acc-text);border-color:color-mix(in oklab, var(--acc) 50%, transparent)}.li.disabled .li-name>span:first-child{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes draw{0%{stroke-dashoffset:152px}to{stroke-dashoffset:0}}@keyframes fillring{0%{stroke-dashoffset:251px}to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.appicon,.icon-arc.draw,.login form,.busy,.ring.fill .arc{animation:none}.ring.spin .arc{animation-duration:3s}}
