.take-photo{justify-items:center;gap:12px;display:grid}.take-photo .seg-tabs{width:100%;max-width:420px}.take-photo .seg-tabs.take-two{grid-template-columns:repeat(2,1fr)}.take-photo .seg-tabs.take-three{grid-template-columns:repeat(3,1fr)}.take-photo .seg-tabs button:disabled{opacity:.5}.take-photo{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.take-view{aspect-ratio:3/4;background:#000;border-radius:18px;place-items:center;width:min(100%,420px,39vh);display:grid;position:relative;overflow:hidden}.take-view video,.take-view img{object-fit:cover;width:100%;height:100%}.take-view video.mirror{transform:scaleX(-1)}.take-note{color:var(--ink-2);text-align:center;margin:0}.take-view .take-note{color:#fff;position:absolute;inset:auto 12px 12px}.take-count{color:#fff;text-shadow:0 2px 24px #0009;pointer-events:none;place-items:center;margin:0;font-size:9rem;font-weight:700;display:grid;position:absolute;inset:0}.take-shutter{border:4px solid var(--accent);width:72px;height:72px;box-shadow:inset 0 0 0 4px var(--bg), inset 0 0 0 40px var(--accent);background:var(--accent);cursor:pointer;touch-action:manipulation;border-radius:50%;flex:none}.take-shutter.waiting{opacity:.6}.take-shutter{position:relative}.take-shutter:after{content:"";border-radius:50%;position:absolute;inset:-14px}.share-preview{justify-content:center;padding:4px 0;display:grid}.share-canvas{background:var(--surface);border:1px solid var(--line);border-radius:18px;width:100%;max-width:360px;box-shadow:0 4px 20px #0000001f}.share-canvas.square{aspect-ratio:1}.share-canvas.story{aspect-ratio:9/16}.share-muscle-host{pointer-events:none;position:fixed;top:0;left:-9999px}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.live{grid-template-columns:minmax(0,1fr);gap:16px;padding-bottom:8px;display:grid}.live-head{z-index:3;background:var(--bg);border-bottom:1px solid var(--line);align-items:center;gap:10px;margin:-10px -20px 0;padding:10px 20px;display:flex;position:sticky;top:-10px}.live-name{flex:1;min-width:0}.live-name input{width:100%;font-family:var(--title-family);font-style:var(--title-style);background:0 0;border:0;border-bottom:1px dashed #0000;outline:none;padding:4px 0;font-size:18px;font-weight:700}.live-name input:focus{border-bottom-color:var(--accent)}.live-clock{color:var(--ink-2);font-weight:600}.btn-finish{background:var(--good);color:#fff;border:0;border-radius:999px;flex:none;min-height:44px;padding:8px 16px;font-weight:700}.notes textarea{resize:vertical;border:1px solid var(--line);background:var(--surface);width:100%;font:inherit;color:inherit;border-radius:12px;padding:10px 12px;font-size:14px}.notes textarea:focus{border-color:var(--accent);outline:none}.wx{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:14px;display:grid}.wx.in-ss{border-left:4px solid var(--accent)}.ss-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin:-4px 0;font-size:11px;font-weight:700}.wx-head{align-items:center;gap:8px;display:flex}.wx-name{min-width:0;color:var(--accent-strong);flex:1;margin:0;font-size:16px;font-weight:700}.sets{gap:4px;display:grid}.set-row{grid-template-columns:44px minmax(0, 1fr) repeat(var(--in,2), 64px) 44px;border-radius:10px;align-items:center;gap:6px;padding:3px 4px;display:grid;position:relative}.sets.cols-1 .set-row{--in:1}.sets.cols-2 .set-row{--in:2}.set-headrow{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);text-align:center;padding-block:0;font-size:11px;font-weight:700}.set-headrow>:nth-child(2){text-align:left}.ico-head{width:14px;height:14px;margin:0 auto}.set-row.done{background:color-mix(in srgb, var(--good) 13%, transparent)}.set-no{background:var(--surface-2);font-variant-numeric:tabular-nums;border:0;border-radius:8px;height:44px;font-size:13px;font-weight:700}.kind-warmup .set-no{color:#b26b00}.kind-drop .set-no{color:#6a4bc4}.kind-failure .set-no{color:var(--bad)}.set-prev{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;min-height:44px;color:var(--ink-2);background:0 0;border:0;padding:6px 0;font-size:13px;overflow:hidden}.set-prev:disabled{cursor:default}.set-in{border:1px solid var(--line);background:var(--bg);text-align:center;border-radius:8px;width:100%;min-width:0;height:44px;padding:0 6px;font-size:16px;font-weight:600}.set-in::placeholder{color:color-mix(in srgb, var(--ink-2) 70%, transparent);font-weight:500}.set-in:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.set-row.done .set-in{background:0 0;border-color:#0000}.set-tick{background:var(--surface-2);width:44px;height:44px;color:var(--ink-2);border:0;border-radius:8px;place-items:center;display:grid}.set-tick[aria-pressed=true]{background:var(--good);color:#fff}.set-pr{background:var(--accent);color:var(--accent-ink);letter-spacing:.04em;pointer-events:none;border-radius:6px;padding:0 5px;font-size:10px;font-weight:800;position:absolute;top:-6px;right:50px}.menu{gap:8px;display:grid}.menu-item{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:13px 14px;font-weight:600;display:flex}.menu-item.on{border-color:var(--accent)}.menu .btn-row .btn-chip:disabled{opacity:.45;cursor:not-allowed}.rest-bar{z-index:3;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);align-items:center;gap:6px;margin:0 -20px -26px;display:flex;position:sticky;bottom:-26px;overflow:hidden}.rest-fill{background:var(--accent);height:3px;transition:width .25s linear;position:absolute;top:0;left:0}.rest-time{flex:1;font-size:17px;font-weight:700}.rest-bar .btn-chip.alt{background:color-mix(in srgb, var(--bg) 16%, transparent);color:var(--bg)}.summary{gap:14px;display:grid}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.stats div{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:2px;padding:10px;display:grid}.stats dt{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:700}.stats dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:14px;font-weight:700}@media (width<=380px){.stats{grid-template-columns:repeat(2,1fr)}}.records{border-color:var(--accent)}.records .panel-title{align-items:center;gap:6px;display:flex}.wx-done{border-bottom:1px solid var(--line);gap:4px;padding-bottom:10px;display:grid}.wx-done p{margin:0}.done-sets{gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.done-sets li{align-items:center;gap:8px;display:flex}.set-no-sm{width:14px;color:var(--ink-2);font-size:12px;font-weight:700}.wo-row{text-align:left;width:100%}.wo-ex{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.wo-dock{background:var(--ink);width:100%;color:var(--bg);text-align:left;border:0;align-items:center;gap:10px;padding:11px 16px;font-weight:600;display:flex}.wo-dock-dot{background:var(--good);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite pulse}.wo-dock-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}@keyframes pulse{50%{opacity:.35}}.field-input.search input{padding:11px 0}.field-input.compact select{padding:9px 0;font-size:15px}.chips-scroll{scrollbar-width:none;gap:6px;margin-inline:-20px;padding:0 20px 2px;display:flex;overflow-x:auto}.chips-scroll::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;min-height:44px;padding:7px 14px;font-size:13px;font-weight:600}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.ex-row{padding:10px 12px}.seg input:disabled+span{opacity:.4;cursor:not-allowed}.center-row{justify-content:center}.live .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.live .field-input input{width:0}.sets.no-tick .set-row{grid-template-columns:44px minmax(0, 1fr) repeat(var(--in,2), 72px)}.routine-list li{align-items:flex-start}.ex-link{min-height:44px;font:inherit;color:inherit;text-align:left;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-decoration-color:color-mix(in srgb, currentColor 35%, transparent);text-underline-offset:3px;background:0 0;border:0;align-items:center;padding:0;display:inline-flex}.ex-link:hover{text-decoration-color:currentColor}.ex-history{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ex-history>li{border-bottom:1px solid var(--line);gap:4px;padding-bottom:10px;display:grid}.ex-history p{margin:0}.next-up{background:var(--accent-soft);border-radius:12px;gap:2px;padding:12px;display:grid}.next-up p{margin:0}.rot-row{padding:10px 12px}.rot-row.is-next{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tag-next{background:var(--accent);color:var(--accent-ink)}.menu-item.stack{flex-direction:column;align-items:flex-start;gap:2px;font-weight:600}.menu-item.stack .row-desc{font-weight:400}.routine-update{border-color:var(--accent)}.sub.one-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tabs{z-index:2;background:var(--surface-2);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;margin:4px 0 -4px;padding:4px;display:grid;position:sticky;top:-10px}.tab-btn{min-height:44px;color:var(--ink-2);background:0 0;border:0;border-radius:9px;padding:8px 6px;font-size:14px;font-weight:700}.tab-btn.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}[role=tabpanel]>.btn-row:first-child{margin-top:16px}.left-out{justify-content:space-between;align-items:center;gap:12px;display:flex}.rest-bar .btn-chip{min-height:44px}.icon-btn.tap{width:44px;height:44px}.live-name input{min-height:44px}.sets.cols-3 .set-row{--in:3;grid-template-columns:44px repeat(3,minmax(0,1fr)) 44px}.sets.cols-3.no-tick .set-row{grid-template-columns:44px repeat(3,minmax(0,1fr))}.set-cardio{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding:2px 0 6px 46px;font-size:13px;display:flex}.cardio-styles .seg-opts{flex-wrap:wrap}.set-headrow [role=columnheader]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.whi-facts .row{padding:8px 0}.whi-facts .row-main-text{flex-direction:column;min-width:0;display:flex}.whi-facts+.sub{margin-top:12px}.sound-radio{border:1px solid var(--line);border-radius:50%;flex:none;width:20px;height:20px}.sound-radio.on{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 0 40%, transparent 41%)}.units-page{flex-direction:column;gap:20px;display:flex}.units-row{flex-direction:column;gap:8px;display:flex}.nut-macros{gap:8px;display:grid}.nut-macro{grid-template-columns:64px 1fr auto;align-items:center;gap:8px;display:grid}.nut-macro-label{color:var(--ink-2);font-size:13px}.nut-macro-val{font-size:13px}.nut-macro .bar{min-width:0}.nut-meal-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.nut-log{gap:14px;display:grid}.nut-search{gap:10px;display:grid}.scan{justify-items:center;gap:10px;display:grid}.scan-stage{aspect-ratio:3/4;border-radius:var(--radius);background:#000;width:100%;max-width:420px;position:relative;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan-frame{border:3px solid var(--accent);pointer-events:none;border-radius:12px;width:70%;height:35%;margin:auto;position:absolute;inset:0}.estimate{gap:14px;display:grid}.estimate-opts{border:0;gap:8px;margin:0;padding:0;display:grid}.estimate-opt{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.estimate-opt input{accent-color:var(--accent);margin-top:3px}.estimate-opt>span{gap:2px;display:grid}.estimate-opt.on{border-color:var(--accent)}.estimate-opt.off{opacity:.6;cursor:default}.estimate-manual{gap:10px;display:grid}.nut-offer{gap:8px;display:grid}.nut-browse{grid-template-columns:repeat(3,1fr)}.nut-browse button{white-space:nowrap}.btn-chip.nut-choose{white-space:normal;text-align:left;max-width:100%;height:auto;min-height:44px;line-height:1.25}.rc,.rc-controls{gap:8px;display:grid}.rc-page{text-align:center;color:var(--ink-2);grid-template-columns:44px 1fr 44px;align-items:center;font-size:13px;display:grid}.rc-page .icon-btn:disabled{opacity:.35}.rc-custom{color:var(--ink-2);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.rc-custom label{align-items:center;gap:6px;display:flex}.rc-custom input{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:8px;padding:6px 8px}.rc .seg-tabs button.off{opacity:.35;cursor:not-allowed}.rc-chart{gap:6px;display:grid}.rc-bar{fill:color-mix(in srgb, var(--accent) 30%, var(--surface-2))}.rc-bar.hit{fill:color-mix(in srgb, var(--accent) 60%, var(--surface-2))}.rc-bar.picked{outline:2px solid var(--ink);outline-offset:1px}.rc-target{stroke:var(--accent-strong);stroke-width:1.5px;stroke-dasharray:4 3}.rc-avg{opacity:.55}.rc-avg.crowded{opacity:.85}.rc-fit{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:3 3;opacity:.35}.rc-join{stroke:var(--accent);stroke-width:2px;stroke-linecap:round}circle.faint{opacity:.45}.rc-key{color:var(--ink-2);margin:0;font-size:12px}.rc-key-dot,.rc-key-avg,.rc-key-fit{color:var(--accent);font-weight:600}.rc-empty{text-align:center;background:var(--surface-2);border-radius:12px;place-items:center;min-height:170px;padding:12px;display:grid}.rc-empty p{max-width:26em;color:var(--ink-2);margin:0;font-size:14px}.timer-run{margin:-14px -20px calc(-26px - env(safe-area-inset-bottom,0px));padding:32px 20px calc(32px + env(safe-area-inset-bottom,0px));text-align:center;min-height:calc(100% + 92px);color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:10px;transition:background-color .35s,color .35s;display:flex}.timer-run.phase-work{background:var(--accent);color:var(--accent-ink)}.timer-run.phase-rest{background:color-mix(in srgb, var(--good) 30%, var(--bg) 70%);color:var(--ink)}.timer-run.phase-neutral{background:var(--surface-2);color:var(--ink)}.timer-phase{text-transform:uppercase;letter-spacing:.08em;opacity:.8;margin:0;font-size:14px;font-weight:700}.timer-round{opacity:.8;min-height:1em;margin:0;font-size:14px}.timer-big{font-variant-numeric:tabular-nums;letter-spacing:.01em;margin:6px 0;font-size:clamp(52px,22vw,96px);font-weight:800;line-height:1}.timer-run .sub{color:inherit;opacity:.85;margin:0}.timer-next{min-height:1.2em}.timer-controls{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.timer-controls .btn-chip{background:color-mix(in srgb, currentColor 14%, transparent);min-width:44px;min-height:44px;color:inherit;border:1px solid color-mix(in srgb, currentColor 30%, transparent);padding:10px 18px}.timer-controls .btn-chip.danger{color:inherit}.timer-summary-big{font-variant-numeric:tabular-nums;margin:4px 0;font-size:44px;font-weight:800}.timer-start{text-align:center;gap:12px;padding-top:12vh;display:grid}.timer-list{gap:8px;display:grid}.timer-preset-row{align-items:center;gap:10px;display:flex}.timer-preset-row .row-main{flex:1;min-width:0}.timer-block{gap:10px;display:grid}.timer-duration-range{gap:6px;display:grid}.timer-editor .btn-link{justify-self:start;font-size:12px}.timer-picker select{width:100%}.duration-input-field{text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.05em;min-height:44px;font-size:20px}.timer-quick{border-bottom:1px solid var(--line);gap:10px;margin-bottom:14px;padding-bottom:14px;display:grid}.timer-quick-row{align-items:flex-end;gap:10px;display:flex}.timer-quick-row .field{flex:1;min-width:0}.timer-quick-row .btn-primary{flex:none;width:auto;min-height:48px;padding-inline:22px}.timer-quick-save{justify-self:start}.prep-tabs{grid-template-columns:repeat(3,1fr)}.prep-box{border-radius:var(--radius);background:var(--ink);color:var(--bg);gap:14px;margin-bottom:4px;padding:18px;display:grid}.prep-events{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;gap:14px;display:flex;overflow-x:auto}.prep-events::-webkit-scrollbar{display:none}.prep-tile{scroll-snap-align:start;flex:0 0 88%;min-width:0}.prep-events.one .prep-tile{flex-basis:100%}.prep-tile-main{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr;align-items:center;gap:18px;padding:0;display:grid}.prep-box .num{color:var(--accent);font-size:64px}.prep-box .unit,.prep-box .sub{color:color-mix(in srgb, var(--bg) 72%, transparent)}.prep-box .eyebrow-sm{color:var(--accent)}.prep-tile .prep-side{gap:3px;min-width:0;display:grid}.prep-tile .prep-show{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);overflow-wrap:anywhere;font-size:22px;line-height:1.1}.prep-box .btn-chip{background:color-mix(in srgb, var(--bg) 16%, transparent);color:var(--bg)}.prep-none{gap:4px;display:grid}.prep-none p{color:color-mix(in srgb, var(--bg) 85%, transparent);margin:0;font-size:15px}.prep-none .btn-link{color:var(--accent);font-weight:700}.prep-foot{border-top:1px solid color-mix(in srgb, var(--bg) 18%, transparent);align-items:center;gap:12px;padding-top:12px;display:flex}.prep-foot .prep-partner{border:0;min-width:0;margin:0;padding:0}.prep-foot .btn-chip{flex:none;margin-left:auto}.prep-edit-remove{margin-bottom:4px}.pose-img{aspect-ratio:3/4;background:var(--surface-2);border-radius:10px;display:block;overflow:hidden}.pose-img img{object-fit:contain;width:100%;height:100%;display:block}.pose-tile{box-sizing:border-box;text-align:center;width:100%;height:100%;color:var(--ink-2);place-items:center;padding:6px;font-size:12px;font-weight:600;display:grid;overflow:hidden}.pose-thumb{flex:none;width:48px}.pose-thumb .pose-tile{font-size:0}.row-main.pose-row{align-items:center;gap:12px;display:flex}.pose-tabs{grid-template-columns:repeat(3,1fr)}.pose-hero{justify-items:center;gap:10px;display:grid}.pose-hero .pose-big{width:min(60%,260px)}.pose-hero.two{grid-template-columns:1fr 1fr}.pose-hero.two .pose-big{width:100%}.pose-cues{gap:6px;margin:0;padding-left:20px;display:grid}.pose-step{align-items:flex-start}.pose-step-main{flex:1;gap:6px;min-width:0;display:grid}.pose-step-actions{grid-template-columns:repeat(3,32px);gap:2px;display:grid}.pose-step-actions .icon-btn:disabled{opacity:.3}.pose-hold{padding:0 10px}.pose-hold input{width:3.2em;padding:8px 0;font-size:15px}.pose-sides{gap:6px;display:flex}.pose-sides button{border:1px solid var(--line);background:var(--surface);min-height:32px;color:var(--ink-2);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.pose-sides button.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.page-body:has(>.pose-run){flex-direction:column;padding:0;display:flex;overflow:hidden}.pose-run{min-height:0;padding:12px 20px calc(14px + env(safe-area-inset-bottom,0px));box-sizing:border-box;text-align:center;background:var(--surface-2);color:var(--ink);flex-direction:column;flex:1;align-items:center;gap:6px;transition:background-color .35s,color .35s;display:flex;overflow:hidden}.pose-run.hold{background:var(--accent);color:var(--accent-ink)}.pose-run-img{aspect-ratio:3/4;background:0 0;flex:1 1 0;max-width:100%;min-height:120px}.pose-run-info{gap:2px;display:grid}.pose-run-name{margin:0;font-size:20px;line-height:1.15}.pose-run-side{opacity:.8;font-weight:600}.pose-run-cues{opacity:.85;margin:0;font-size:13px}.pose-run-phase{text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin:0;font-size:14px;font-weight:700}.pose-run-count{font-variant-numeric:tabular-nums;margin:0;font-size:clamp(56px,20vw,88px);font-weight:800;line-height:1}.pose-run-next{opacity:.85;margin:0;font-size:13px}.pose-run .sub{color:inherit;opacity:.85}.pose-run-controls{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.pose-run-controls .btn-chip{background:color-mix(in srgb, currentColor 14%, transparent);min-width:44px;min-height:44px;color:inherit;border:1px solid color-mix(in srgb, currentColor 30%, transparent);padding:10px 14px}.pose-run.summary{justify-content:center;gap:10px}.pose-run-img .pose-tile{color:inherit;border:1px solid color-mix(in srgb, currentColor 30%, transparent);border-radius:10px;font-size:22px}.pose-run.cam{grid-template-rows:minmax(0,1fr) minmax(0,1fr);place-items:stretch stretch;gap:0;padding:0;display:grid}.pose-cam{background:#000;min-height:0;position:relative;overflow:hidden}.pose-cam video{object-fit:cover;width:100%;height:100%;display:block}.pose-cam video.mirror{transform:scaleX(-1)}.pose-cam-note{color:#fff;text-align:center;background:#000000b3;border-radius:10px;margin:0;padding:8px 12px;font-size:13px;position:absolute;inset:auto 12px 12px}.pose-run-pane{box-sizing:border-box;min-height:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:8px;display:flex;overflow:hidden}.pose-pane-main{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:14px;min-height:0;display:grid}.pose-pane-main .pose-run-img{justify-self:center;width:auto;max-width:100%;height:100%;min-height:0;max-height:100%}.pose-pane-side{text-align:left;align-content:center;gap:2px;min-width:0;display:grid}.pose-run.cam .pose-run-count{font-size:clamp(48px,16vw,80px)}.pose-run.cam .pose-run-name{font-size:17px}.pose-run-note{opacity:.85;margin:0;font-size:13px}@media (orientation:landscape){.pose-run.cam{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.photo-thumb{aspect-ratio:3/4;background:var(--surface-2);width:100%;color:var(--ink-2);border:0;border-radius:10px;padding:0;display:block;position:relative;overflow:hidden}.photo-thumb img,.photo-slide img,.compare-panel img{object-fit:cover;width:100%;height:100%;display:block}.photo-slide img,.compare-panel img{object-fit:contain}.photo-wait{background:var(--surface-2);width:100%;height:100%;display:block}.photo-missing{box-sizing:border-box;text-align:center;width:100%;height:100%;color:var(--ink-2);background:var(--surface-2);place-items:center;padding:6px;font-size:12px;font-weight:600;display:grid}.photo-star{background:var(--accent);width:22px;height:22px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.photo-star svg{width:14px;height:14px}.photo-row{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.pose-run .photo-row{grid-template-columns:repeat(3,minmax(0,96px));justify-content:center}.photo-group{gap:6px;margin-bottom:12px;display:grid}.photo-group-title{margin:0;font-size:13px;font-weight:600}.photo-summary{width:100%;max-width:420px}.pose-run.summary{justify-content:flex-start;overflow-y:auto}.pose-run.summary>:first-child{margin-top:auto}.pose-run.summary>:last-child{margin-bottom:auto}.photo-strip{gap:6px;margin-top:6px;display:flex}.photo-strip .photo-thumb{border-radius:6px;width:40px}.photo-viewer{flex-direction:column;gap:8px;display:flex}.photo-rail{scroll-snap-type:x mandatory;background:#000;border-radius:10px;flex:1;min-height:60vh;display:flex;overflow-x:auto}.photo-slide{scroll-snap-align:center;flex:0 0 100%;place-items:center;min-width:0;display:grid}.photo-slide .photo-missing{aspect-ratio:3/4;border-radius:10px;max-width:220px;height:auto}.photo-caption{text-align:center;margin:0}.compare-pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.compare-panel{color:var(--ink);text-align:center;background:0 0;border:0;gap:6px;padding:0;display:grid}.compare-panel>:first-child{aspect-ratio:3/4;background:var(--surface-2);border-radius:10px;width:100%;overflow:hidden}.compare-date{font-size:13px;font-weight:600}.pose-img img.flip{transform:scaleX(-1)}.pose-edit-pic{width:min(45%,180px)}.field-input textarea{min-width:0;font:inherit;color:inherit;resize:vertical;background:0 0;border:0;outline:none;flex:1;padding:13px 0;font-size:17px;line-height:1.4}.duenow{background:var(--accent-soft);border-radius:14px;flex-direction:column;margin:0 0 12px;display:flex;overflow:hidden}.duenow-bar{align-items:center;gap:8px;min-height:48px;padding:6px 4px 6px 14px;display:flex}.duenow-what{text-align:left;flex-direction:column;flex:1;min-width:0;display:flex}.duenow-text{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.duenow-detail{color:var(--ink-2);font-size:12px}.duenow-toggle{min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-height:36px;padding:0;font-size:14px;font-weight:600;display:flex}.duenow-toggle .ico{width:16px;height:16px;transition:transform .15s}.duenow-toggle[aria-expanded=true] .ico{transform:rotate(90deg)}.duenow .btn-chip{background:var(--surface);align-self:center}.duenow-list{margin:0;padding:0 4px 6px 14px;list-style:none;display:grid}.duenow-list li{border-top:1px solid color-mix(in srgb, var(--accent) 18%, transparent);align-items:center;gap:8px;min-height:48px;display:flex}:root{--font-body:system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-body);--display-style:normal;--display-weight:700;--num-track:0;--heading-transform:none;--heading-track:0;--h1-size:32px;--title-family:var(--font-body);--title-style:normal;--title-weight:600;--title-size:15px;--title-transform:none;--title-track:0;--btn-font:var(--font-body);--btn-style:normal;--btn-transform:none;--btn-track:0;--btn-size:16px;--btn-radius:12px;--fab-radius:999px;--radius:18px;--bg:#f4f4f4;--surface:#fff;--surface-2:#ebebeb;--ink:#161616;--ink-2:#5c5c5c;--line:#e0e0e0;--accent:#333;--accent-ink:#fff;--accent-soft:#eee;--accent-strong:#111;--good:#17804f;--bad:#b3261e;--stage:#ddd;--frame:#151515}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--stage);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer}input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}svg{display:block}.ico{flex:none;width:18px;height:18px}.ico-inline{vertical-align:-3px;width:15px;height:15px;display:inline-block}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--ink-2)}.tnum{font-variant-numeric:tabular-nums;white-space:nowrap}html[data-brand=test]{--stage:#e6e6e3;--bg:#f2f2f0;--surface:#fff;--surface-2:#e8e8e5;--ink:#17181a;--ink-2:#5e6166;--line:#e0e0dc;--accent:#17181a;--accent-ink:#fff;--accent-soft:#e8e8e4;--accent-strong:#17181a}html[data-brand=test]:is([data-theme=dark],[data-theme=black]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#f1f1ef;--accent-ink:#111214;--accent-strong:#f1f1ef}html[data-brand=test][data-theme=dark]{--stage:#08090a;--bg:#111214;--surface:#1b1c1f;--surface-2:#2a2b2f;--ink:#f1f1ef;--ink-2:#a2a5aa;--line:#2e3034;--accent-soft:#2a2b2f}html[data-brand=test][data-theme=black]{--stage:#000;--bg:#000;--surface:#121212;--surface-2:#1f1f1f;--ink:#fff;--ink-2:#b5b5b5;--line:#2a2a2a;--accent-soft:#1f1f1f}.app:before{content:"";z-index:25;pointer-events:none;height:max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px));background:var(--bg);position:fixed;top:0;left:0;right:0}.app{background:var(--bg);max-width:480px;min-height:100dvh;margin:0 auto;position:relative}@media (width>=520px){.app{border-inline:1px solid var(--line)}}.app-main{padding-inline:16px;padding-top:calc(22px + env(safe-area-inset-top,0px));padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.splash{min-height:100vh;color:var(--ink-2);text-align:center;place-items:center;padding-inline:24px;display:grid}.top{gap:4px;margin-bottom:18px;display:grid}.brand-row{justify-content:space-between;align-items:center;gap:12px;min-height:40px;margin-bottom:14px;display:flex}.brand-logo{width:auto;height:34px}.brand-mark{font-family:var(--font-display);color:var(--ink);align-items:center;gap:8px;font-size:21px;font-weight:600;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:12px;font-weight:600}.greeting,.view-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);font-size:var(--h1-size);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);text-wrap:balance;margin:0;line-height:1.02}.lede{color:var(--ink-2);margin:6px 0 0}.btn-ghost{border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn-ghost .ico{width:16px;height:16px}.btn-ghost.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn-primary{border-radius:var(--btn-radius);background:var(--accent);width:100%;color:var(--accent-ink);font-family:var(--btn-font);font-style:var(--btn-style);font-weight:700;font-size:var(--btn-size);text-transform:var(--btn-transform);letter-spacing:var(--btn-track);border:0;justify-content:center;align-items:center;gap:8px;padding:14px 18px;display:flex}.btn-chip{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border:0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.btn-chip .ico{width:15px;height:15px}.btn-chip.alt{background:var(--surface-2);color:var(--ink)}.btn-chip .tag{background:var(--surface)}.strava{color:#fff!important;background:#fc4c02!important}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.icon-btn{width:32px;height:32px;color:var(--ink-2);background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.tag{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;text-transform:none;letter-spacing:0;border-radius:999px;align-items:center;padding:2px 7px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.dash{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dash-empty{grid-column:1/-1}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex;position:relative}.card.size-full{grid-column:1/-1}.card-head{align-items:center;gap:8px;min-height:30px;display:flex}.card-icon{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-strong);border-radius:9px;flex:none;place-items:center;display:grid}.card-icon .ico{width:16px;height:16px}.card-title{text-align:left;min-width:0;font-family:var(--title-family);font-style:var(--title-style);font-weight:var(--title-weight);font-size:var(--title-size);text-transform:var(--title-transform);letter-spacing:var(--title-track);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;flex:1;margin:0;padding:0;overflow:hidden}.card-open{width:28px;height:28px;margin-right:-6px}.card-body{flex-direction:column;gap:10px;min-width:0;display:flex}.card-body.expanded{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.metric{flex-wrap:wrap;align-items:baseline;gap:2px 5px;display:flex}.metric.stack{flex-direction:column;align-items:flex-start}.num{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);letter-spacing:var(--num-track);font-variant-numeric:tabular-nums;font-size:38px;line-height:.95}.num.lg{font-size:52px}.num.sm{font-size:22px}.num.sm2{margin-left:8px;font-size:26px}.metric>.num.sm2:first-child{margin-left:0}.unit{color:var(--ink-2);font-size:13px;font-weight:600}.sub{color:var(--ink-2);margin:0;font-size:13px}.sub strong{color:var(--ink);font-weight:600}.delta{color:var(--ink);font-weight:700}.delta.good{color:var(--good)}.empty{color:var(--ink-2);margin:0;font-size:14px}.spark{width:100%;height:auto}.bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.bar>span{border-radius:inherit;background:var(--accent);height:100%;transition:width .4s;display:block}.segs{grid-template-columns:repeat(10,1fr);gap:3px;display:grid}.segs i{background:var(--surface-2);border-radius:4px;height:16px}.segs i.on{background:var(--accent)}.cal{align-items:center;gap:18px;display:flex}.cal-side{flex-direction:column;gap:8px;min-width:0;display:flex}.ring{flex:none;width:108px;position:relative}.ring svg{width:100%;height:auto}.ring-inner{text-align:center;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.ring-inner .unit{font-size:11px}.chip-notes{flex-wrap:wrap;gap:6px;display:flex}.chip-note{background:var(--surface-2);color:var(--ink);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.day{color:var(--ink-2);justify-items:center;gap:4px;font-size:11px;font-weight:600;display:grid}.day i{aspect-ratio:1;border:2px solid var(--line);border-radius:50%;width:100%;max-width:30px}.day.done i{background:var(--accent);border-color:var(--accent)}.day.today span{color:var(--ink)}.day.today:not(.done) i{border-color:var(--ink-2);border-style:dashed}.mini-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mini-list li{justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;display:flex}.li-main{min-width:0}.eyebrow-sm{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);margin:0;font-size:11px;font-weight:700}.plan-name{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);margin:2px 0 0;font-size:24px;line-height:1.05}.dose{grid-template-columns:auto 1fr;align-items:center;gap:20px;display:grid}.dose .unit{line-height:1.25}.kv-sm{gap:6px;margin:0;font-size:13px;display:grid}.kv-sm div{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding-bottom:5px;display:flex}.kv-sm div:last-child{border-bottom:0;padding-bottom:0}.kv-sm dt{color:var(--ink-2)}.kv-sm dd{text-align:right;margin:0;font-weight:600}.pill{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.pill.ok{background:color-mix(in srgb, var(--good) 15%, transparent);color:var(--good)}.pill.ok:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.src{color:var(--ink-2);border:1px solid var(--line);vertical-align:1px;border-radius:6px;margin-left:4px;padding:0 5px;font-size:11px;font-weight:600;display:inline-block}.coach-tip{margin:0;font-size:16px;line-height:1.4}.edit-hint{background:var(--surface-2);color:var(--ink-2);border-radius:12px;margin:0 0 12px;padding:10px 12px;font-size:13px}.edit-ctrl{border-top:1px solid var(--line);align-items:center;gap:2px;margin:auto -6px -6px;padding-top:8px;display:none}.edit-spacer{flex:1}.dash.editing .edit-ctrl{display:flex}.dash.editing .card-open{visibility:hidden}.dash.editing .card{border-style:dashed;border-color:color-mix(in srgb, var(--ink) 28%, transparent)}.grip{cursor:grab;touch-action:none;color:var(--ink)}.remove{color:var(--bad)}.card.placeholder{opacity:.3}.card.ghost{z-index:1000;pointer-events:none;opacity:.97;margin:0;position:fixed;box-shadow:0 24px 50px -14px #0006}.card.ghost .edit-ctrl{display:flex}.card.ghost .card-body{opacity:.45}.tray{margin-top:28px}.section{gap:10px;margin-top:24px;display:grid}.group-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:12px;font-weight:600}.group-desc{color:var(--ink-2);margin:2px 0 0;font-size:13px}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.row{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.row-main{text-align:left;background:0 0;border:0;flex:1;gap:2px;min-width:0;padding:0;display:grid}.row-name{font-weight:600}.row-desc{color:var(--ink-2);font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:16px;display:grid}.panel p{margin:0}.panel-title{margin:0;font-size:15px;font-weight:700}.kv{gap:8px;margin:0;display:grid}.kv div{justify-content:space-between;gap:16px;display:flex}.kv dt{color:var(--ink-2)}.kv dd{text-align:right;margin:0;font-weight:600}.calc{margin:0;display:grid}.calc div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:7px 0;font-size:14px;display:flex}.calc dt{color:var(--ink-2)}.calc dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-weight:600}.calc .total{border-bottom:0;font-size:16px}.calc .total dt,.calc .total dd{color:var(--ink);font-weight:700}.history{margin:0;padding:0;list-style:none}.history li{border-bottom:1px solid var(--line);gap:14px;padding:9px 0;font-size:14px;display:flex}.h-when{width:76px;color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.h-what{min-width:0}.module-info{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:13px}.module-info summary{cursor:pointer;font-weight:600}.module-info .kv{margin-top:12px}.module-info .kv div{align-items:flex-start}.sites{gap:4px;margin:0;padding-left:20px;font-size:14px;display:grid}.sites .is-next{font-weight:700}.switch{flex:none;width:46px;height:28px;position:relative}.switch input{z-index:1;opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.switch>span[aria-hidden]{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;transition:background .15s;position:absolute;inset:0}.switch>span[aria-hidden]:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+span{background:var(--accent);border-color:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.bottom-dock{z-index:20;max-width:480px;margin-inline:auto;position:fixed;bottom:0;left:0;right:0}.tabbar{padding:6px 8px calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.tab{color:var(--ink-2);background:0 0;border:0;justify-items:center;gap:2px;padding:6px;font-size:11px;font-weight:600;display:grid}.tab .ico{width:22px;height:22px}.tab[aria-current=page]{color:var(--accent-strong)}.tab-log{color:var(--ink)}.tab-log-badge{border-radius:var(--fab-radius);background:var(--accent);width:52px;height:36px;color:var(--accent-ink);box-shadow:0 10px 22px -10px color-mix(in srgb, var(--accent) 70%, transparent);place-items:center;margin-top:-14px;display:grid}.tab-log .tab-log-badge .ico{width:22px;height:22px}.tab-log:disabled{opacity:.45}.sheet-wrap{z-index:50;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#0000006b;animation:.2s ease-out fade-in;position:absolute;inset:0}.sheet{background:var(--bg);width:100%;max-width:480px;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom,0px);border-radius:26px 26px 0 0;flex-direction:column;margin-inline:auto;animation:.26s cubic-bezier(.2,.8,.2,1) sheet-in;display:flex;position:relative}@keyframes sheet-in{0%{transform:translateY(24px)}}@keyframes fade-in{0%{opacity:0}}.sheet-grab{background:var(--line);border-radius:3px;width:40px;height:5px;margin:8px auto 0}.sheet-head{align-items:center;gap:8px;padding:6px 12px 4px 20px;display:flex}.sheet-head h2{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);flex:1;margin:0;font-size:28px;line-height:1.05}.sheet-body{overscroll-behavior:contain;gap:16px;padding:10px 20px 26px;display:grid;overflow-y:auto}html.overlay-open,html.overlay-open body{overflow:hidden}.page{z-index:50;background:var(--bg);flex-direction:column;width:100%;max-width:480px;margin-inline:auto;animation:.22s cubic-bezier(.2,.8,.2,1) page-in;display:flex;position:fixed;inset:0}@keyframes page-in{0%{transform:translate(28px)}}.page-head{padding:calc(6px + env(safe-area-inset-top,0px)) 16px 6px 6px;border-bottom:1px solid var(--line);align-items:center;gap:4px;display:flex}.page-head h2{min-width:0;font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:26px;line-height:1.05;overflow:hidden}.page-main{flex:1;min-height:0;position:relative}.page-body{overscroll-behavior:contain;height:100%;padding:14px 20px calc(26px + env(safe-area-inset-bottom,0px));align-content:start;gap:16px;display:grid;overflow-y:auto}html{overscroll-behavior-y:contain}.app-main{position:relative}.pull{z-index:30;pointer-events:none;position:absolute;top:0;left:50%}.page-main>.pull{top:4px}.pull-badge{background:var(--surface);border:1px solid var(--line);width:40px;height:40px;color:var(--ink-2);border-radius:50%;place-items:center;display:grid;box-shadow:0 6px 18px -8px #00000080}.pull-badge .ico{width:20px;height:20px}.pull-badge.ready{color:var(--accent-strong)}.pull-badge.spinning{color:var(--accent-strong);animation:.8s linear infinite spin}.sync-btn.busy .ico{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.log-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.log-tile{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:16px;align-content:start;justify-items:center;gap:8px;padding:16px 6px;font-size:13px;font-weight:600;display:grid}.log-tile .ico{width:24px;height:24px;color:var(--accent-strong)}.form{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.field{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.field-label,.seg legend{color:var(--ink-2);padding:0;font-size:13px;font-weight:600}.field-input{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:0 14px;display:flex}.field-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input input,.field-input select{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:13px 0;font-size:17px}.field-unit{color:var(--ink-2);font-weight:600}.field-hint{color:var(--ink-2);font-size:12px}.seg{border:0;min-width:0;margin:0;padding:0}.seg legend{margin-bottom:6px}.seg-opts{flex-wrap:wrap;gap:6px;display:flex}.seg label{position:relative}.seg input{opacity:0;position:absolute}.seg span{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;padding:9px 13px;font-size:14px;font-weight:600;display:block}.seg input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}.seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.form-note{background:var(--surface-2);color:var(--ink-2);border-radius:12px;margin:0;padding:10px 12px;font-size:13px}.form-error{color:var(--bad);margin:0;font-size:14px;font-weight:600}.drop{border:2px dashed var(--line);background:var(--surface);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:22px;font-weight:600;display:flex;position:relative}.drop .ico{width:26px;height:26px;color:var(--accent-strong)}.drop input{opacity:0;cursor:pointer;position:absolute;inset:0}button.drop{width:100%;font:inherit;color:inherit}.drop:focus-within{border-color:var(--accent)}.photo-out{gap:12px;display:grid}.photo-prev{aspect-ratio:4/3;background:var(--surface-2);border-radius:16px;max-width:100%;overflow:hidden}.photo-prev img{object-fit:cover;width:100%;height:100%}.chat{gap:8px;display:grid}.msg{background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 16px 4px;justify-self:start;max-width:88%;margin:0;padding:10px 13px}.msg.me{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);border-radius:16px 16px 4px;justify-self:end}.chat-form{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:4px 4px 4px 14px;display:flex}.chat-form:focus-within{border-color:var(--accent)}.chat-form input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 0}.chat-form .send{background:var(--accent);width:38px;height:38px;color:var(--accent-ink);border-radius:50%}.toasts{max-width:448px;left:16px;right:16px;top:calc(14px + env(safe-area-inset-top,0px));z-index:80;pointer-events:none;gap:8px;margin-inline:auto;display:grid;position:fixed}.toast{background:var(--ink);color:var(--bg);border-radius:14px;padding:12px 14px;font-size:14px;font-weight:600;animation:.25s ease-out toast-in;box-shadow:0 10px 30px -10px #00000073}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.article-lead{text-align:left;background:0 0;border:0;gap:6px;padding:0;display:grid}.article-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);text-wrap:balance;font-size:24px;line-height:1.08}.article-lead:hover .article-title{color:var(--accent-strong)}.article-meta{color:var(--ink-2);margin:0;font-size:12px}.read-mark{font-weight:600}.article-cat{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:1px;font-size:11px;font-weight:700;display:block}.article-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.article-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:baseline;gap:14px;width:100%;padding:10px 0;font-size:14px;font-weight:600;display:flex}.article-list li:last-child button{border-bottom:0}.article-list button.is-read{color:var(--ink-2);font-weight:500}.article-list button:hover .li-main{color:var(--accent-strong)}.reader{gap:12px;max-width:65ch;display:grid}.reader-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);text-wrap:balance;margin:0;font-size:30px;line-height:1.05}.reader h3{margin:8px 0 0;font-size:17px;font-weight:700}.reader p,.reader ul{margin:0;font-size:16px;line-height:1.6}.reader ul{gap:4px;padding-left:20px;display:grid}.reader-note{border-top:1px solid var(--line);color:var(--ink-2);padding-top:12px;font-size:13px!important}.step-summary{color:var(--ink-2);margin:2px 0 0;font-size:14px}.step-summary strong{color:var(--ink);font-size:16px}.step-chart{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:6px;display:grid}.step-bars{grid-template-columns:repeat(7,1fr);gap:8px;height:112px;margin-bottom:18px;display:grid;position:relative}.step-axis{min-width:42px;height:112px;position:relative}.step-axis span{color:var(--ink-2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;line-height:1;position:absolute;right:0;transform:translateY(50%)}.step-axis span.goal{color:var(--accent-strong);font-weight:700}.step-bars span{justify-content:center;align-items:flex-end;display:flex;position:relative}.step-bars b{background:color-mix(in srgb, var(--accent) 30%, var(--surface-2));border-radius:5px 5px 2px 2px;width:100%;max-width:26px;display:block}.step-bars span.hit b{background:color-mix(in srgb, var(--accent) 60%, var(--surface-2))}.step-bars span.today b{background:var(--accent)}.step-bars em{color:var(--ink-2);font-size:11px;font-style:normal;font-weight:600;position:absolute;bottom:-18px}.step-bars span.today em{color:var(--ink)}.goal-line{border-top:2px dashed var(--ink);opacity:.55;pointer-events:none;z-index:1;height:0;position:absolute;left:0;right:0}.prep-side{gap:3px;min-width:0;display:grid}.prep-show{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);margin:0;font-size:22px;line-height:1.1}.prep-partner{border-top:1px solid color-mix(in srgb, var(--bg) 18%, transparent);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--bg) 70%, transparent);grid-column:1/-1;align-items:center;gap:8px;margin:2px 0 0;padding-top:12px;font-size:11px;font-weight:600;display:flex}.partner-logo{width:auto;height:16px}.prep-partner.on-sheet{color:var(--ink-2);border:0;grid-column:auto;padding:0}.prep-partner.on-sheet .partner-logo{height:20px}.tag{vertical-align:1px;margin-left:6px}.brand-logo.lg{width:auto;height:64px}.brand-mark.lg{gap:12px;font-size:30px}.card.dragging{z-index:5;opacity:.97;box-shadow:0 24px 50px -14px #0006}.dash.editing .card-body{pointer-events:none;opacity:.45}.btn-chip.center{place-self:center}.btn-chip.danger,.danger-text{color:var(--bad)}.btn-chip.danger{background:color-mix(in srgb, var(--bad) 14%, transparent)}.version{text-align:center;margin-top:8px}.version-btn{width:100%;min-height:44px;font:inherit;color:var(--ink-2);background:0 0;border:0;display:block}.history li{align-items:center}.h-del{width:28px;height:28px;margin-left:auto;font-size:18px;line-height:1}.row>.ico{color:var(--ink-2)}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.onboarding{min-height:100dvh;padding-inline:20px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}.ob-top{justify-content:space-between;align-items:center;min-height:40px;margin-bottom:20px;display:flex}.ob-progress{gap:6px;display:flex}.ob-progress i{background:var(--line);border-radius:2px;width:22px;height:4px}.ob-progress i.on{background:var(--accent)}.ob-step{grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;display:grid}.ob-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);font-size:calc(var(--h1-size) * .95);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);text-wrap:balance;margin:0;line-height:1.02}.ob-welcome{padding-top:6vh}.ob-welcome .brand-logo,.ob-welcome .brand-mark{margin-bottom:8px}.ob-points{gap:10px;margin:0 0 8px;padding:0;list-style:none;display:grid}.ob-points li{align-items:flex-start;gap:10px;display:flex}.ob-points .ico{color:var(--accent-strong);margin-top:2px}.choice-list{gap:10px;display:grid}.choice{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:4px;padding:16px;display:grid}.choice:hover{border-color:var(--accent)}.choice-name{font-family:var(--title-family);font-style:var(--title-style);font-weight:var(--title-weight);font-size:calc(var(--title-size) + 3px);text-transform:var(--title-transform);letter-spacing:var(--title-track)}.choice .prep-partner.on-sheet{margin-top:6px}.picker{gap:12px;display:grid}.picker-count{color:var(--ink-2);margin:0;font-size:13px;font-weight:600}.row.pick{text-align:left;cursor:pointer;width:100%}.row.pick.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.row.pick:disabled{opacity:.5;cursor:not-allowed}.pick-mark{border:2px solid var(--line);width:26px;height:26px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.row.pick.on .pick-mark{background:var(--accent);border-color:var(--accent)}.pick-mark .ico{width:16px;height:16px}.sticky-cta{padding-block:12px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--bg) 70%, transparent);position:sticky;bottom:0}.settings-group{border:0;border-top:1px solid var(--line);gap:14px;margin:4px 0 0;padding:14px 0 0;display:grid}.settings-group legend{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);padding:0;font-size:12px;font-weight:600}.lc{gap:6px;display:grid}.lc svg{touch-action:pan-y;cursor:crosshair;width:100%;height:auto}.lc svg:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.lc-grid{stroke:var(--line);stroke-width:1px}.lc-tick{fill:var(--ink-2);font-variant-numeric:tabular-nums;font-size:10px}.lc-cross{stroke:var(--ink-2);stroke-width:1px}.lc-read{color:var(--ink-2);margin:0;font-size:14px}.lc-read strong{color:var(--ink);font-size:16px}:root{--map-off:color-mix(in srgb, var(--ink) 11%, var(--surface))}.mm-wrap{gap:10px;display:grid}.mm{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:320px;margin-inline:auto;display:grid}.mm-view{justify-items:center;gap:2px;margin:0;display:grid}.mm-view svg{width:100%;height:auto}.mm-view figcaption{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);font-size:11px;font-weight:700}.sw{vertical-align:-1px;border-radius:3px;width:12px;height:12px;display:inline-block}.sw.s1{background:color-mix(in srgb, var(--accent) 35%, var(--map-off))}.sw.s2{background:color-mix(in srgb, var(--accent) 65%, var(--map-off))}.sw.s3{background:var(--accent)}.mm-key{gap:4px;margin:0;font-size:14px;display:grid}.mm-key div{gap:10px;display:flex}.mm-key dt{width:92px;color:var(--ink-2);flex:none;align-items:center;gap:6px;font-weight:600;display:flex}.mm-key dd{margin:0}.mm-scale{color:var(--ink-2);justify-content:center;align-items:center;gap:4px;margin:0;font-size:12px;display:flex}.mm-scale span{margin-inline:4px}.mm-list{grid-template-columns:1fr 1fr;gap:4px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.mm-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding-bottom:3px;display:flex}.section.tight{margin-top:8px}.rot-list .row{gap:6px}.rot-no{width:24px;color:var(--ink-2);flex:none;font-weight:700}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.dash.featured{grid-template-columns:minmax(0,1fr);margin-bottom:4px}.dash.grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;margin-top:4px}.card-2x2{aspect-ratio:1;grid-column:1/-1;min-height:0;overflow:hidden}.card-2x2 .card-body{min-height:0;overflow:hidden}.featured-empty{margin-bottom:12px}.card-small{aspect-ratio:1;cursor:pointer;gap:8px;padding:12px}.card-small.dragging,.dash.editing .card-small{cursor:default}.card-small .card-head{gap:6px;min-height:26px}.card-small .card-icon{border-radius:8px;width:24px;height:24px}.card-small .card-icon .ico{width:14px;height:14px}.card-small .card-title{font-size:calc(var(--title-size) - 2px)}.card-small .card-body{flex:1;gap:6px}.card-small .num{font-size:30px}.card-small .btn-chip,.card-small .edit-ctrl,.small-open{margin-top:auto}.cal-small{flex:1;place-items:center;display:grid}.cal-small .ring{width:92px}.icon-btn.feature.on{color:var(--accent)}.icon-btn.feature.on svg{fill:currentColor}.band.editing{opacity:.45;pointer-events:none}.link-btn{color:var(--accent-strong);background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600}.news-band{margin:18px -16px 12px}.news-band-head{justify-content:space-between;align-items:baseline;margin-bottom:8px;padding-inline:16px;display:flex}.carousel{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;grid-auto-columns:85%;grid-auto-flow:column;gap:12px;margin:0;padding:0 16px 4px;scroll-padding-inline:16px;list-style:none;display:grid;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.slide{scroll-snap-align:start;display:flex}.news-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;width:100%;padding:0;display:flex;overflow:hidden}.news-card img{aspect-ratio:16/9;object-fit:cover;background:var(--surface-2);width:100%;height:auto;display:block}.news-card-text{gap:4px;padding:12px 14px 14px;display:grid}.news-card-title,.news-card-strap{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.news-card-title{font-family:var(--font-display);font-style:var(--display-style);font-weight:var(--display-weight);text-transform:var(--heading-transform);letter-spacing:var(--heading-track);font-size:20px;line-height:1.1}.news-card-strap{color:var(--ink-2);font-size:14px;line-height:1.35}.news-card.more{text-align:center;background:var(--accent-soft);color:var(--accent-strong);justify-content:center;align-items:center;gap:4px;padding:16px}.read-tag{color:var(--ink-2)}.reader-img{aspect-ratio:16/9;object-fit:cover;border-radius:14px;width:100%;height:auto;display:block}.card-small{position:relative}.card-small .edit-ctrl{background:var(--surface-2);border-top:0;border-radius:10px;margin:0;padding:4px;position:absolute;bottom:6px;left:6px;right:6px}.toast.has-undo{padding-block:4px;pointer-events:auto;align-items:center;gap:12px;padding-right:4px;display:flex}.toast.has-undo>span{flex:1}.toast-undo{background:color-mix(in srgb, var(--bg) 16%, transparent);min-width:64px;min-height:44px;color:var(--bg);border:0;border-radius:10px;flex:none;padding:0 14px;font-weight:800}.icon-btn{width:44px;height:44px}.card-open{width:44px;height:44px;margin:-8px -10px -8px 0}.btn-chip,.btn-ghost,.link-btn{min-height:44px}.btn-chip{padding-block:0}.seg span{align-items:center;min-height:44px;padding-block:0;display:flex}.article-list button{min-height:44px}.h-del{width:44px;height:44px;font-size:inherit}.switch input{inset:-8px -4px}.log-tile{min-height:88px}.archive-row{gap:8px}.card-small .card-body{gap:4px}.card-small .card-head{min-height:24px}.card-small .card-title:after{content:"";border-radius:inherit;position:absolute;inset:0}.card-small .card-body button,.card-small .card-body a,.card-small .card-body input,.card-small .edit-ctrl{z-index:1;position:relative}.card-large .card-title{min-height:44px}.link-btn{min-width:44px;margin-right:-8px;padding-inline:8px}.card-small{padding:11px}.head-actions{align-items:center;gap:4px;display:flex}.sync-btn{color:var(--ink)}.switch-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.switch-row>span:first-child{gap:2px;display:grid}.spark{max-height:56px}.fix-entry{border-top:1px solid var(--line);justify-items:start;gap:6px;margin-top:8px;padding-top:14px;display:grid}.fix-list li{padding:0}.fix-row{cursor:pointer;align-items:center;gap:14px;width:100%;min-height:52px;display:flex}.fix-row input{width:22px;height:22px;accent-color:var(--accent);flex:none}.fix-confirm{gap:12px;display:grid}.fix-confirm p{margin:0}.import-groups .row{padding:0}.row-main-text{gap:2px;display:grid}.import-progress{width:100%;height:10px;accent-color:var(--accent)}.import-row{flex-wrap:wrap;align-items:center}.import-row .fix-confirm{flex-basis:100%}.step-history{gap:12px;display:grid}.seg-tabs{background:var(--surface-2);border-radius:999px;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;display:grid}.seg-tabs button{min-height:44px;color:var(--ink-2);background:0 0;border:0;border-radius:999px;font-weight:700}.seg-tabs button.on{background:var(--accent);color:var(--accent-ink)}.period-nav{align-items:center;gap:4px;display:flex}.period-nav h3{flex:1;margin:0;font-size:18px}.period-nav .icon-btn:disabled{opacity:.3}.step-history .step-summary{min-height:2.9em}.step-bars.dense{gap:2px}.step-bars.dense b{border-radius:2px 2px 1px 1px}.step-bars span.picked b{outline:2px solid var(--ink);outline-offset:1px}.step-bars em{white-space:nowrap}.step-bars[style]{touch-action:pan-y}.rem-head{align-items:center;gap:6px;margin:0;font-weight:700;display:flex}.rem-list{margin:0;padding:0;list-style:none;display:grid}.rem-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-height:52px;display:flex}.rem-row:last-child{border-bottom:0}.rem-what{flex:1;gap:1px;min-width:0;display:grid}.rem-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rem-amount{color:var(--ink-2);font-weight:400}.rem-when{color:var(--ink-2);font-size:13px}.rem-row.due .rem-when{color:var(--accent-strong);font-weight:600}.rem-row.missed .rem-name,.rem-row.taken .rem-name{color:var(--ink-2)}.rem-done{width:44px;height:44px;color:var(--good);place-items:center;display:grid}.rem-done .ico{width:22px;height:22px}.btn-link{min-height:44px;color:var(--accent-strong);background:0 0;border:0;justify-self:start;padding:0;font-weight:600}.rem-items .row-name .tag{margin-left:8px}.rem-times{justify-items:start;gap:8px;display:grid}.rem-time{width:100%}.rem-days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.rem-days button{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-2);border-radius:12px;font-weight:700}.rem-days button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.rest-offer{gap:10px;display:grid}.rest-offer p{margin:0}.import-summary{gap:12px;display:grid}.import-title{margin:0;font-size:17px}.import-preview ul{gap:4px;margin:0;padding-left:18px;display:grid}.import-trust{margin:0;font-weight:600}.import-url{word-break:break-all;color:var(--ink-2);font-size:13px}.btn-link.inline{min-height:0;padding:0 0 0 6px}.paste-box{margin-top:12px}.paste-box textarea{width:100%;font:inherit;color:inherit;resize:vertical;background:0 0;border:0;outline:none;padding:12px 0}.imports-list .import-row{flex-wrap:wrap}.imports-list .h-what{flex:1;gap:2px;min-width:0;display:grid}.note{gap:10px;display:grid}.note-title{margin:0;font-size:22px;line-height:1.2}.note-text{overflow-wrap:anywhere;gap:12px;font-size:16px;line-height:1.55;display:grid}.note-text p,.note-text ul,.note-text ol{margin:0}.note-text ul,.note-text ol{gap:6px;padding-left:22px;display:grid}.note-editor textarea{width:100%;font:inherit;color:inherit;resize:vertical;background:0 0;border:0;outline:none;padding:12px 0;line-height:1.5}.note-text h3,.note-text h4,.note-text h5{margin:4px 0 0;line-height:1.25}.note-text h3{font-size:20px}.note-text h4{font-size:17px}.note-text h5{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);font-size:15px}.ob-extra{cursor:pointer;align-items:flex-start;gap:12px;width:100%;padding:4px 0;display:flex}.ob-extra input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:2px}.ob-extra>span{gap:2px;display:grid}.ob-units{grid-template-columns:3fr 2fr;gap:10px;display:grid}.ob-units>div{gap:6px;min-width:0;display:grid}.ob-units-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.ob-units-row button{white-space:nowrap;padding-inline:6px;font-size:13px}.demo-banner{z-index:40;padding:calc(6px + env(safe-area-inset-top,0px)) 14px 6px;background:var(--surface-2);color:var(--ink);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;font-size:12.5px;line-height:1.35;display:flex;position:sticky;top:0}.demo-banner a{color:var(--accent);white-space:nowrap;font-weight:600;text-decoration:none}.demo-banner a:hover{text-decoration:underline}
