*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--t-body);line-height:1.4;-webkit-font-smoothing:antialiased}ul,ol.plan-exercises,ol.plan-edit-list{list-style:none;margin:0;padding:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}table{border-collapse:collapse;width:100%}.disp{font-family:var(--f-display);font-weight:var(--f-display-weight);font-style:var(--f-display-style);text-transform:var(--f-display-transform);letter-spacing:var(--f-display-spacing);line-height:1.02;word-spacing:.08em;margin:0}[data-theme=plate] .disp{line-height:.92}.h1{font-size:var(--t-h1)}.h2{font-size:var(--t-h2)}.h3{font-family:var(--f-display);font-weight:var(--f-display-weight);font-style:var(--f-display-style);text-transform:var(--f-display-transform);font-size:var(--t-h3);margin:0}.eyebrow{font-family:var(--f-mono);font-size:var(--t-eyebrow);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}[data-eyebrow-marker=true] .eyebrow:before{content:"";display:inline-block;width:6px;height:6px;background:var(--accent);margin-right:7px;vertical-align:1px}.small{font-size:var(--t-small)}.muted{color:var(--muted)}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.kv{font-family:var(--f-numeral);font-weight:var(--f-numeral-weight);font-style:var(--f-numeral-style);letter-spacing:var(--f-numeral-spacing);font-size:var(--t-kpi);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.kv small{font-size:.42em;margin-left:3px;font-family:var(--f-body);font-style:normal;font-weight:600;letter-spacing:0}.delta{font-size:12px;font-weight:700;color:var(--good);white-space:nowrap}.delta.bad{color:var(--bad)}.delta.flat{color:var(--muted)}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:6px}.grow{flex:1;min-width:0}.grid{display:grid;gap:14px}.g2{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.g2b{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}@media(max-width:960px){.g2,.g2b{grid-template-columns:1fr}}.shell{display:grid;grid-template-columns:220px 1fr;min-height:100%}.side{background:var(--nav-bg);color:var(--nav-ink);padding:22px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh}.side .logo{margin:0 8px 22px}.nav{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-button);color:var(--nav-muted);font-weight:600}.nav:hover{color:var(--nav-ink)}.nav.active{background:var(--nav-active-bg);color:var(--nav-active-ink);transform:skew(var(--skew))}.nav.active>*{transform:skew(calc(var(--skew) * -1))}[data-theme=plate] .nav{font-family:var(--f-label);text-transform:uppercase;font-size:12px;letter-spacing:.06em}.side .me{margin-top:auto;padding:12px 8px 0;border-top:1px solid color-mix(in srgb,var(--nav-ink) 15%,transparent)}.main{padding:28px 32px 48px;display:flex;flex-direction:column;gap:18px;min-width:0;max-width:1320px}.tabbar,.sheet,.sheet-backdrop{display:none}@media(max-width:760px){.shell{grid-template-columns:1fr}.side{display:none}.main{padding:calc(18px + env(safe-area-inset-top)) 16px calc(var(--tabbar-h) + 28px + env(safe-area-inset-bottom))}.tabbar{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:0 max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(4px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line)}[data-scheme=dark] .tabbar{background:var(--nav-bg)}.sheet-backdrop{display:block;position:fixed;inset:0;z-index:38;background:color-mix(in srgb,var(--ink) 30%,transparent);animation:fade-in .16s ease}.sheet{display:flex;flex-direction:column;gap:2px;position:fixed;left:0;right:0;z-index:39;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--tabbar-h) - env(safe-area-inset-bottom) - 48px);overflow-y:auto;overscroll-behavior:contain;padding:14px 12px 10px;background:var(--surface);border-top:var(--bw) solid var(--line);border-radius:var(--r-card) var(--r-card) 0 0;box-shadow:0 -8px 28px #0a1a3d24;animation:arrive-up .2s cubic-bezier(.2,.8,.2,1)}.sheet .me{padding:2px 8px 12px;margin-bottom:4px;border-bottom:1px solid var(--line)}}:root{--tabbar-h: 58px}.tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0 2px;background:none;border:0;cursor:pointer;color:var(--muted);-webkit-tap-highlight-color:transparent;transition:color .14s ease}.tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--f-body-bold);font-weight:var(--f-body-bold-weight);font-size:10.5px;line-height:1.2;text-transform:var(--f-label-transform)}.tab.active{color:var(--tab-active, var(--accent))}.tab:before{content:"";position:absolute;top:0;left:50%;width:28px;height:3px;margin-left:-14px;background:var(--accent2);transform:skew(-20deg) scaleX(0);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.tab.active:before{transform:skew(-20deg) scaleX(1)}[data-theme=plate] .tab:before{display:none}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.sheet-item{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:0 10px;background:none;border:0;border-radius:var(--r-button);font-weight:600;text-align:left;cursor:pointer;color:var(--ink)}.sheet-item.active{background:var(--current-bg);color:var(--accent)}.sheet-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.logo{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:var(--f-display-weight);font-style:var(--f-display-style);text-transform:var(--f-display-transform);font-size:22px;line-height:1}.logo i{width:14px;height:14px;background:var(--accent);border-radius:var(--r-bar);transform:skew(calc(var(--skew) * 1.6))}.card{background:var(--surface);border:var(--bw) solid var(--line);border-top-width:max(var(--bw),var(--card-top-rule));border-radius:var(--r-card);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}[data-card-top-rule=true] .card:not(.hero){border-top-color:var(--ink)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.hero{background:var(--hero-bg);color:var(--hero-ink);border-color:var(--hero-bg);position:relative;overflow:hidden}.hero .eyebrow,.hero .hm{color:var(--hero-muted)}[data-hero-decor=slash] .hero{padding-right:64px}[data-hero-decor=slash] .hero:after{content:"";position:absolute;top:-20px;bottom:-20px;right:20px;width:16px;background:var(--accent2);transform:skew(-16deg)}[data-hero-decor=slash] .hero:before{content:"";position:absolute;top:-20px;bottom:-20px;right:44px;width:5px;background:#fff;opacity:.35;transform:skew(-16deg)}[data-hero-decor=hazard] .hero{padding-top:24px;background:repeating-linear-gradient(-45deg,var(--hero-ink) 0 7px,transparent 7px 14px) top left / 100% 8px no-repeat,var(--hero-bg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:38px;padding:0 16px;border-radius:var(--r-button);background:var(--accent);color:var(--accent-ink);border:var(--bw) solid transparent;font-family:var(--f-label);font-weight:var(--f-label-weight);font-style:var(--f-label-style);text-transform:var(--f-label-transform);letter-spacing:var(--f-label-spacing);font-size:13px;white-space:nowrap;cursor:pointer;transform:skew(var(--skew))}.btn>*{transform:skew(calc(var(--skew) * -1))}.btn:disabled{opacity:.5;cursor:default}.btn.sm{height:30px;padding:0 12px;font-size:12px}.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}.btn.ok{background:var(--ok-bg);color:var(--ok-ink)}.btn.inv{background:var(--hero-ink);color:var(--hero-bg)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-chip);border:1px solid var(--line);background:var(--surface);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transform:skew(var(--skew))}.chip>*{transform:skew(calc(var(--skew) * -1))}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}[data-theme=plate] .chip{font-family:var(--f-mono);text-transform:uppercase;font-size:11px}.tag{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:var(--r-chip);background:var(--surface2);white-space:nowrap;transform:skew(var(--skew));display:inline-block}.tag.warn{background:var(--warn-bg);color:var(--warn-ink)}.tag.bad{background:var(--bad-bg);color:var(--bad-ink)}.tag.good{background:var(--ok-bg);color:var(--ok-ink)}.hero .tag{background:color-mix(in srgb,var(--hero-ink) 16%,transparent);color:var(--hero-ink)}.seg{display:inline-flex;background:var(--surface2);border-radius:var(--r-button);padding:3px;gap:2px}.seg button{border:0;background:none;padding:5px 11px;font-size:12px;font-weight:600;border-radius:var(--r-button);color:var(--muted);cursor:pointer}.seg button.on{background:var(--surface);color:var(--ink)}.input{height:40px;padding:0 12px;width:100%;border-radius:var(--r-small);border:1.5px solid var(--line);background:var(--surface)}.input:focus{outline:2px solid var(--accent);outline-offset:-1px}textarea.input{height:auto;padding:10px 12px;min-height:80px;resize:vertical}.av{width:36px;height:36px;flex:none;border-radius:var(--r-avatar);display:grid;place-items:center;font-weight:700;font-size:12.5px;background:var(--surface2);color:var(--ink)}.av.sm{width:30px;height:30px;font-size:11px}.av.lg{width:64px;height:64px;font-size:22px}.side .av{background:color-mix(in srgb,var(--nav-ink) 14%,transparent);color:var(--nav-ink)}.bar{height:6px;border-radius:var(--r-bar);background:var(--surface2);overflow:hidden;flex:1;min-width:40px}.stack>.bar{flex:none}.bar>i{display:block;height:100%;background:var(--k, var(--accent));border-radius:inherit}.hero .bar{background:color-mix(in srgb,var(--hero-ink) 22%,transparent)}.hero .bar>i{background:var(--hero-ink)}.tbl-scroll{overflow-x:auto;min-width:0;margin:0 -4px;padding:0 4px}@media(max-width:760px){.tbl-scroll .tbl :is(td,th){white-space:nowrap}}.tbl th{text-align:left;font-family:var(--f-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;padding:0 8px 8px}.tbl td{padding:9px 8px;border-top:1px solid var(--line);font-size:13px}.tbl tr.link{cursor:pointer}.tbl tr.link:hover td{background:var(--current-bg)}.r,.tbl th.r{text-align:right}.list li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}.list li:first-child{border-top:0}.link-btn{background:none;border:0;padding:2px 0;color:var(--accent);font-weight:700;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .14s ease}.link-btn:hover{text-decoration-color:currentColor}.icon-btn{width:30px;height:30px;flex:none;display:grid;place-items:center;background:none;border:1px solid transparent;border-radius:var(--r-button);color:var(--muted);cursor:pointer;transition:color .14s ease,border-color .14s ease}.icon-btn:hover{color:var(--ink);border-color:var(--line)}.seg.mark{flex:none}.seg.mark button{display:inline-flex;align-items:center;gap:5px;padding:5px 10px}.seg.mark button.on.came{background:var(--ok-bg);color:var(--ok-ink)}.seg.mark button.on.missed{background:var(--bad-bg);color:var(--bad-ink)}.seg.mark button:disabled{cursor:progress}.seg.mark.busy{opacity:.6}.coaches .tag.plain{padding:3px 9px}.coach-edit{padding:12px;border-radius:var(--r-small);background:var(--surface2)}.log-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:14px;align-items:start}.log-block.add{border-style:dashed;box-shadow:none;background:transparent}.tbl.sets th,.tbl.sets td{padding-left:4px;padding-right:4px}.tbl.sets td{padding-top:5px;padding-bottom:5px}.tbl.sets .input.compact{width:100%;max-width:88px;height:32px;text-align:center;font-size:13px}.plain-fieldset{border:0;margin:0;padding:0;min-width:0}.plain-fieldset:disabled{opacity:.6}:is(.link-btn,.icon-btn,.seg.mark button):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.center-page{min-height:100%;display:grid;place-items:center;padding:24px}.error{color:var(--bad);font-size:13px}.dot-unread{width:8px;height:8px;border-radius:99px;background:var(--accent2);flex:none;margin-top:6px}.swatches{display:flex;gap:4px}.swatches i{width:22px;height:22px;border-radius:var(--r-bar);border:1px solid var(--line)}.theme-card{cursor:pointer}.theme-card.on{outline:2px solid var(--accent);outline-offset:2px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label{font-size:12px;font-weight:700;color:var(--ink)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.form-grid .span-2{grid-column:1 / -1}@media(max-width:560px){.form-grid{grid-template-columns:1fr}}.confirm-box{padding:12px;border-radius:var(--r-small);background:var(--bad-bg)}.confirm-box .field-label{color:var(--bad-ink)}.btn.danger{background:var(--bad);color:#fff}.btn,.chip,.seg button,.nav{transition:background-color .14s ease,color .14s ease,border-color .14s ease,filter .14s ease,transform .14s ease}.btn:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost:hover:not(:disabled){border-color:var(--ink);filter:none}.btn:active:not(:disabled){transform:skew(var(--skew)) translateY(1px)}.btn.busy{cursor:progress;opacity:.8}.btn.busy>span:after{content:"";width:10px;height:10px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:99px;animation:spin .7s linear infinite}.chip:hover:not(.on){border-color:var(--ink)}.seg button:hover:not(.on){color:var(--ink)}:is(.btn,.chip,.seg button,.nav,.signout,.tbl tr.link,.theme-card):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.side :is(.nav,.signout):focus-visible{outline-color:var(--nav-active-bg)}.signout{background:none;border:0;color:var(--nav-muted);cursor:pointer;padding:4px;border-radius:var(--r-button)}.signout:hover{color:var(--nav-ink)}.bar>i{transition:width .42s cubic-bezier(.2,.8,.2,1)}@keyframes fade-in{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes arrive-right{0%{opacity:0;transform:translate(28px) skew(var(--skew))}}@keyframes arrive-left{0%{opacity:0;transform:translate(-28px) skew(calc(var(--skew) * -1))}}@keyframes arrive-up{0%{opacity:0;transform:translateY(10px) skew(var(--skew))}}@keyframes pop{0%{transform:skew(var(--skew)) scale(.6);opacity:0}60%{transform:skew(var(--skew)) scale(1.12)}to{transform:skew(var(--skew)) scale(1)}}@keyframes leave{to{opacity:0;transform:translate(40px) skew(var(--skew))}}.panel-in{animation:arrive-right .24s cubic-bezier(.2,.8,.2,1)}.tag.pop{animation:pop .32s cubic-bezier(.2,.8,.2,1)}.toasts{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.toast{pointer-events:auto;max-width:min(420px,calc(100vw - 32px));padding:11px 16px;background:var(--nav-bg);color:var(--nav-ink);border-left:4px solid var(--good);border-radius:var(--r-button);font-size:13px;font-weight:600;box-shadow:0 6px 24px #0a1a3d2e;animation:arrive-right .26s cubic-bezier(.2,.8,.2,1)}.toast.bad{border-left-color:var(--bad)}.toast.leaving{animation:leave .22s ease-in forwards}@media(max-width:760px){.toasts{left:16px;right:16px;bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom));align-items:stretch}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.btn.busy>span:after{animation:none;border-right-color:currentColor;opacity:.5}}.list li.done{opacity:.55}.note{padding:10px 12px;border-radius:var(--r-small);font-size:13px;background:var(--surface2)}.note.warn{background:var(--warn-bg);color:var(--warn-ink)}.lib-filters>.select{width:auto;max-width:100%}@media(max-width:560px){.lib-filters>*{flex:1 1 100%}.lib-filters>.select{width:100%}}.lib-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}@media(max-width:420px){.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.lib-card{width:100%;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px;text-align:left;cursor:pointer;background:var(--surface);color:var(--ink);border:var(--bw) solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow);transition:border-color .14s ease,transform .14s ease}.lib-card:hover{border-color:var(--accent)}.lib-card:active{transform:scale(.985)}.lib-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lib-card .tag{max-width:100%;overflow:hidden;text-overflow:ellipsis}.lib-thumb{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;border-radius:var(--r-small)}.lib-thumb.none{display:grid;place-items:center;background:var(--surface2);color:var(--muted)}.lib-name{font-weight:700;font-size:13.5px;line-height:1.25;text-transform:none}.lib-name:first-letter,.lib-title:first-letter{text-transform:uppercase}.lib-credit{text-align:center}.lib-dialog{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:var(--bw) solid var(--line);border-radius:var(--r-card);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.lib-dialog[open]{animation:arrive-up .2s cubic-bezier(.2,.8,.2,1)}.lib-dialog::backdrop{background:color-mix(in srgb,var(--ink) 35%,transparent)}.confirm-dialog{width:min(380px,calc(100vw - 32px));padding:0;border:var(--bw) solid var(--line);border-radius:var(--r-card);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.confirm-dialog[open]{animation:arrive-up .16s cubic-bezier(.2,.8,.2,1)}.confirm-dialog::backdrop{background:color-mix(in srgb,var(--ink) 35%,transparent)}.confirm-body{display:flex;flex-direction:column;gap:18px;padding:18px}.lib-dialog-body{display:flex;flex-direction:column;gap:16px;padding:18px}.lib-title{text-transform:none}.lib-detail{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:start}@media(max-width:520px){.lib-detail{grid-template-columns:1fr}.lib-media{justify-self:center}}.lib-media{margin:0;display:flex;flex-direction:column;gap:4px;align-items:center}.lib-media figcaption{text-align:center;max-width:220px}.lib-media img{width:180px;height:180px;background:#fff;border-radius:var(--r-small)}.lib-facts{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;font-size:13.5px}.lib-facts dt{color:var(--muted);font-weight:600}.lib-facts dd{margin:0}.lib-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.5}.lib-steps li::marker{color:var(--accent);font-weight:700}.contents{display:contents}.lib-detail.no-media{grid-template-columns:1fr}.lib-cue{margin:0;line-height:1.5}.attachments{display:flex;flex-direction:column;gap:14px}.attachments video{width:100%;max-height:360px;background:#000;border-radius:var(--r-small)}.attachments img{display:block;max-width:100%;max-height:360px;border-radius:var(--r-small)}.attachments.compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.attachments.compact :is(video,img){width:100%;height:120px;object-fit:cover}.attachment-file{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-small);font-weight:600}.attachment-file:hover{border-color:var(--accent)}.uploader{padding-top:12px;border-top:1px solid var(--line)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.drop,.drop-file{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:11px 12px;border:1.5px dashed var(--line);border-radius:var(--r-small);background:var(--surface);transition:border-color .14s ease,background-color .14s ease}.drop{cursor:pointer}.drop:hover{border-color:var(--muted)}.drop:hover .drop-thumb{color:var(--accent)}.drop.over{border-style:solid;border-color:var(--accent);background:var(--current-bg)}.drop.over .drop-thumb{background:var(--accent);color:var(--accent-ink);transform:skew(var(--skew)) translateY(-2px)}.drop.bad{border-color:var(--bad)}.uploader:has(.visually-hidden:focus-visible) :is(.drop,.drop-file){outline:2px solid var(--accent);outline-offset:2px}.drop u{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}.drop:hover u{text-decoration-color:currentColor}.drop-touch{display:none}@media(hover:none){.drop-pointer{display:none}.drop-touch{display:inline}}.drop-thumb{width:42px;height:42px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:var(--r-small);background:var(--surface2);color:var(--muted);transition:background-color .14s ease,color .14s ease,transform .14s ease}.drop-thumb>*{grid-area:1 / 1}.drop-thumb>:is(img,video){width:100%;height:100%;object-fit:cover}.drop-file{border-style:solid;overflow:hidden;animation:arrive-up .2s cubic-bezier(.2,.8,.2,1)}.drop-file>:not(.drop-fill){position:relative}.drop-name{font-weight:700;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-file.busy{border-color:var(--accent)}.drop-file.busy .drop-thumb{color:var(--accent)}.drop-fill{position:absolute;top:0;bottom:0;left:-24px;width:calc(var(--pct) + 24px);background:color-mix(in srgb,var(--accent) 16%,transparent);border-right:2px solid var(--accent);transform:skew(var(--skew));transform-origin:bottom left;transition:width .42s cubic-bezier(.2,.8,.2,1)}.drop-actions{display:flex;align-items:flex-end;gap:10px}@media(max-width:560px){.drop-actions{flex-direction:column;align-items:stretch}}.picker{position:relative}.picker-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:340px;overflow-y:auto;overscroll-behavior:contain;padding:4px;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r-small);box-shadow:var(--shadow)}.picker-option{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r-small);cursor:pointer}.picker-option.on{background:var(--current-bg)}.picker-option img,.picker-icon{width:40px;height:40px;flex:none;border-radius:var(--r-small);background:#fff;object-fit:contain}.picker-icon{display:grid;place-items:center;background:var(--surface2);color:var(--muted)}.picker-name{font-weight:600;font-size:13.5px;line-height:1.25}.picker-name:first-letter{text-transform:uppercase}.picker-empty{padding:8px}.push-prompt{position:fixed;z-index:45;left:244px;bottom:24px;width:min(400px,calc(100vw - 268px));display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;row-gap:14px;padding:18px 18px 14px;background:var(--nav-bg);color:var(--nav-ink);border:1px solid color-mix(in srgb,var(--nav-ink) 12%,transparent);border-radius:var(--r-card);box-shadow:0 14px 40px #0a1a3d47,0 2px 6px #0a1a3d29;animation:arrive-up .28s cubic-bezier(.2,.8,.2,1)}.push-prompt-mark{display:grid;place-items:center;width:40px;height:40px;background:var(--accent);color:var(--accent-ink);border-radius:var(--r-button);transform:skew(var(--skew))}.push-prompt-mark>svg{transform:skew(calc(var(--skew) * -1))}.push-prompt-copy{align-self:center}.push-prompt .h3{font-size:19px;line-height:1.05}.push-prompt-copy p{margin:5px 0 0;font-size:14px;line-height:1.45;color:var(--nav-muted);max-width:46ch}.push-prompt-copy .push-prompt-error{color:var(--nav-ink);font-weight:600}.push-prompt-actions{grid-column:1 / -1;display:flex;gap:8px}.push-prompt-actions .btn{flex:1 1 auto}.push-prompt-actions .btn:first-child:not(.ghost){flex-grow:2}.push-prompt .btn.ghost{color:var(--nav-ink);border-color:color-mix(in srgb,var(--nav-ink) 28%,transparent)}.push-prompt .btn.ghost:hover:not(:disabled){border-color:var(--nav-ink)}.push-prompt .btn:focus-visible{outline:2px solid var(--nav-ink);outline-offset:2px}.push-prompt-later{grid-column:1 / -1;margin:0;padding-top:11px;border-top:1px solid color-mix(in srgb,var(--nav-ink) 12%,transparent);font-size:12px;color:var(--nav-muted)}@media(max-width:760px){.push-prompt{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));width:auto;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 12px);padding:16px 16px 12px}.push-prompt-actions .btn{height:44px}}.select{position:relative;min-width:0}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer}.select-trigger:disabled{cursor:not-allowed;opacity:.6}.select-trigger>svg{color:var(--muted);transition:transform .14s ease}.select.open .select-trigger>svg{transform:rotate(180deg)}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select.compact .select-trigger{height:32px;padding:0 8px 0 10px;font-size:12.5px}.select-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:100%;width:max-content;max-width:min(360px,90vw);max-height:300px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:4px;list-style:none;background:var(--surface);border:var(--bw) solid var(--line);border-radius:var(--r-small);box-shadow:var(--shadow)}.select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border-radius:var(--r-small);cursor:pointer;font-size:13.5px}.select-option.active{background:var(--current-bg)}.select-option.on{font-weight:600;color:var(--accent)}.check{display:flex;align-items:center;gap:12px;cursor:pointer;position:relative}.check.disabled{cursor:not-allowed;opacity:.6}.check>input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.check-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.check-mark{flex:none;display:inline-grid;place-items:center;color:#fff;transition:background-color .14s ease,border-color .14s ease}.check.box .check-mark{order:-1;width:20px;height:20px;border:1.5px solid var(--line);border-radius:5px;background:var(--surface)}.check.box .check-mark svg{opacity:0;transition:opacity .12s ease}.check.box input:checked+.check-text+.check-mark{background:var(--accent);border-color:var(--accent)}.check.box input:checked+.check-text+.check-mark svg{opacity:1}.check.switch .check-mark{width:40px;height:24px;border-radius:999px;background:var(--line);position:relative}.check.switch .check-mark:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .16s ease}.check.switch input:checked+.check-text+.check-mark{background:var(--accent)}.check.switch input:checked+.check-text+.check-mark:after{transform:translate(16px)}.check input:focus-visible+.check-text+.check-mark{outline:2px solid var(--accent);outline-offset:2px}.log-add{display:grid;gap:12px}.log-add .picker .input{height:46px;font-size:15px}.suggest{display:flex;flex-wrap:wrap;gap:8px}.suggest-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 12px 7px 9px;border-radius:var(--r-chip);border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:13px;font-weight:600;text-align:left;transition:border-color .14s ease,background-color .14s ease}.suggest-chip:hover{border-color:var(--accent);background:var(--current-bg)}.suggest-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.suggest-chip:disabled{opacity:.5;cursor:progress}.suggest-chip>svg{color:var(--accent)}.suggest-chip .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggest-chip .name:first-letter{text-transform:uppercase}.suggest-chip .why{font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap}.log-kg{position:relative;display:block;max-width:180px}.log-kg .input{height:46px;padding-right:40px;font-size:18px;font-weight:700}.log-kg .input::placeholder{font-weight:500;font-size:15px}.log-kg .unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;font-weight:600;pointer-events:none}.log-empty{padding:28px 16px;text-align:center;border:1.5px dashed var(--line);border-radius:var(--r-small)}.tbl tr.link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.page{display:flex;flex-direction:column;gap:16px;min-width:0}.page.narrow{max-width:720px;width:100%}.page-head{display:flex;flex-direction:column;gap:8px}.page-head>.row>.stack{flex:1 1 15rem}.page-head h1{overflow-wrap:anywhere}.back-link{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:13px;font-weight:600;color:var(--muted)}.back-link:hover{color:var(--ink)}.lede{margin:-6px 0 0;max-width:64ch}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nowrap{white-space:nowrap}.loading{opacity:.55;pointer-events:none;transition:opacity .16s ease}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px;color:var(--muted)}.empty b{color:var(--ink)}.tag.plain{background:transparent;border:1px solid var(--line);font-weight:600;font-size:11px;padding:2px 8px}.input.compact{width:auto;height:30px;padding:0 8px;font-size:12px}.input.search{height:44px}.input.note-input{min-height:0}.btn.wide{width:100%}.btn.inv-ghost{background:transparent;color:var(--hero-ink);border:1.5px solid var(--hero-muted)}.tone-warn{color:var(--warn-ink)}.tone-bad{color:var(--bad)}.weekday:first-letter{text-transform:uppercase}.sheet-dialog{width:min(560px,calc(100vw - 32px));max-height:min(86dvh,820px);padding:0;border:var(--bw) solid var(--line);border-radius:var(--r-card);background:var(--surface);color:var(--ink);box-shadow:0 18px 50px #0a1a3d38;overflow:hidden}.sheet-dialog[open]{display:flex;animation:arrive-up .2s cubic-bezier(.2,.8,.2,1)}.sheet-dialog::backdrop{background:color-mix(in srgb,var(--ink) 38%,transparent)}.sheet-body{display:flex;flex-direction:column;width:100%;max-height:inherit;min-height:0}.sheet-head{display:flex;align-items:flex-start;gap:12px;padding:16px 16px 10px}.sheet-title{text-transform:none;font-style:normal;font-size:18px;line-height:1.2}.sheet-content{display:flex;flex-direction:column;gap:16px;padding:4px 16px 18px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}.sheet-section{margin:0;font-size:12px;font-weight:700;color:var(--muted)}@media(max-width:760px){.sheet-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:var(--r-card) var(--r-card) 0 0;border-bottom:0;max-height:90dvh}.sheet-actions .btn{flex:1 1 auto}}.daystrip{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px;margin:-2px}.daystrip::-webkit-scrollbar{display:none}.day{flex:0 0 52px;height:66px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-small);cursor:pointer;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.day span{font-size:11px;font-weight:600;color:var(--muted)}.day b{font-family:var(--f-numeral);font-weight:var(--f-numeral-weight);font-style:var(--f-numeral-style);font-size:21px;line-height:1.05;font-variant-numeric:tabular-nums}.day i{width:5px;height:5px;border-radius:99px}.day i.dot{background:var(--accent2)}.day.today span{color:var(--accent)}.day:hover{border-color:var(--ink)}.day.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.day.on span{color:color-mix(in srgb,var(--bg) 75%,transparent)}.day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.month-grid{display:flex;flex-direction:column;gap:10px}.month-grid .icon-btn:disabled{opacity:.3;cursor:default;border-color:transparent}.month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-small);overflow:hidden}.month-days>*{background:var(--surface);min-width:0}.month-days .wd{text-align:center;font-size:11px;font-weight:600;color:var(--muted);padding:7px 0;background:var(--surface2)}.month-days .blank{background:var(--surface2)}.mday{position:relative;height:clamp(46px,11vw,64px);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:6px 7px;border:0;color:var(--ink);cursor:pointer;text-align:left;transition:background-color .14s ease,color .14s ease}.mday b{font-family:var(--f-numeral);font-weight:var(--f-numeral-weight);font-style:var(--f-numeral-style);font-size:17px;line-height:1;font-variant-numeric:tabular-nums}.mday i{width:6px;height:6px;border-radius:99px}.mday i.dot{background:var(--accent2)}.mday.today b{color:var(--accent)}.mday:hover:not(:disabled){background:var(--current-bg)}.mday:disabled{color:var(--muted);cursor:default}.mday:disabled b{opacity:.55}.mday.on{background:var(--ink);color:var(--bg)}.mday.on b{color:inherit}.mday.on i.dot{background:var(--bg)}.mday:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;z-index:1}.card.rail-list{padding:0;gap:0}.rail-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid var(--line);min-width:0}.rail-row:first-child{border-top:0}.rail-row:has(>.rail-btn){padding:0}.rail-btn{display:flex;align-items:center;gap:14px;width:100%;padding:12px 16px;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.rail-btn:hover{background:var(--current-bg)}.rail-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.rail-btn>svg{color:var(--muted)}.rail-time{flex:none;width:66px;display:flex;flex-direction:column;gap:2px}.rail-time b{font-family:var(--f-numeral);font-weight:var(--f-numeral-weight);font-style:var(--f-numeral-style);letter-spacing:var(--f-numeral-spacing);font-size:26px;line-height:.95;font-variant-numeric:tabular-nums}.rail-time span{font-family:var(--f-mono);font-size:11px;color:var(--muted)}.rail-row.mine .rail-time b{color:var(--accent)}.rail-row.past{opacity:.55}.rail-row.linked{box-shadow:inset 3px 0 0 var(--accent);background:var(--current-bg)}.rail-row.cancelled b{text-decoration:line-through}.rail-row .bar{max-width:90px}.card.hero.next{gap:16px}.next-when{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.next-time{font-family:var(--f-numeral);font-weight:var(--f-numeral-weight);font-style:var(--f-numeral-style);letter-spacing:var(--f-numeral-spacing);font-size:clamp(64px,19vw,92px);line-height:.82;font-variant-numeric:tabular-nums}.next-when .h3{color:var(--hero-ink)}.next-empty p{margin:0}.membership-row{display:flex;align-items:center;gap:16px}.card.membership.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn-ink) 30%,transparent)}.card.membership.warn .kv{color:var(--warn-ink)}.card.membership.bad{background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 30%,transparent)}.flags{display:flex;flex-direction:column;gap:6px}.flags li{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--r-small);background:var(--warn-bg);color:var(--warn-ink);font-weight:600;font-size:13.5px;line-height:1.35}.flags li svg{margin-top:1px}.flag-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;align-self:flex-start;padding:2px 7px;border-radius:var(--r-chip);background:var(--warn-bg);color:var(--warn-ink);font-size:11.5px;font-weight:600}.flag-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card.session{padding:0;gap:0}.session-head{display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.session-head>svg,.plan-workout-head>svg{color:var(--muted);flex:none;transition:transform .16s ease}.session-head[aria-expanded=true]>svg,.plan-workout-head[aria-expanded=true]>svg{transform:rotate(180deg)}.session-head:focus-visible,.plan-workout-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.card.session>:not(.session-head){margin:0 16px 14px}.card.session.focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card.session.focus .rail-time b{color:var(--accent)}.card.session.done .rail-time b{color:var(--muted)}.card.session.cancelled{opacity:.6}.roster{display:flex;flex-direction:column}.roster-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--line);min-width:0}.roster-row:first-child{border-top:0}.roster-who{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:6px 0;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.roster-who:hover .roster-name{color:var(--accent)}.roster-who:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-small)}.roster-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-row.missed .roster-who{opacity:.5}.roster-row.waiting{opacity:.7}.roster-empty{padding:4px 0}@media(max-width:480px){.roster-row{flex-wrap:wrap}.roster-row .seg.mark{margin:0 0 6px 40px}}.pickup-plan{margin:0;padding:8px 10px;border-radius:var(--r-small);background:var(--current-bg)}.pickup-earlier summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--accent);margin-bottom:10px}.note-list{display:flex;flex-direction:column}.note-list li{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-top:1px solid var(--line)}.note-list li:first-child{border-top:0}.note-list p{margin:0;white-space:pre-wrap;line-height:1.45}.note-list li.pinned p{color:var(--warn-ink);font-weight:600}.card.note-list{padding:4px 16px;gap:0}.card.history-list{padding:0;gap:0}.wblock{display:flex;flex-direction:column;gap:10px;padding:0 16px;border-top:1px solid var(--line)}.wblock.open{padding-bottom:14px}.history-list .wblock:first-child{border-top:0}.sheet-content .wblock,.pickup-earlier .wblock{padding:0;border:0}.wblock-head{display:flex;align-items:center;gap:8px}.wblock-toggle{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:10px 0;background:none;border:0;color:inherit;text-align:left;font:inherit;cursor:pointer}.wblock-toggle>svg{color:var(--muted);flex:none;transition:transform .16s ease}.wblock-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.wblock-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wblock.away .wblock-toggle .small svg{color:var(--accent2);vertical-align:-1px}.wblock-note{margin:0;font-size:13px;color:var(--muted);white-space:pre-wrap}.ledger{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ledger li+li{border-top:1px dashed color-mix(in srgb,var(--line) 80%,transparent)}.ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto 3.9em;align-items:baseline;column-gap:10px;width:100%;padding:6px 0;background:none;border:0;color:inherit;text-align:left;font:inherit}.ledger.pick .ledger-row{grid-template-columns:minmax(0,1fr) auto 3.9em 18px;cursor:pointer;padding:8px 0}.ledger-name{font-size:13.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.ledger-name:first-letter,.log-name:first-letter,.plan-ex-name:first-letter{text-transform:uppercase}.ledger-kg{justify-self:end;font-family:var(--f-numeral);font-weight:var(--f-numeral-weight);font-style:var(--f-numeral-style);letter-spacing:var(--f-numeral-spacing);font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-kg small{margin-left:2px;font-family:var(--f-body);font-style:normal;font-weight:600;font-size:10.5px;letter-spacing:0;color:var(--muted)}.ledger-reps{font-family:var(--f-mono);font-size:11.5px;color:var(--muted);white-space:nowrap;letter-spacing:-.02em}.ledger-act{justify-self:end;align-self:center;color:var(--accent);display:grid}.ledger.pick .ledger-row:hover:not(:disabled) .ledger-name{color:var(--accent)}.ledger.pick .ledger-row:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-radius:var(--r-small)}.ledger li.in .ledger-row{cursor:default;opacity:.45}.ledger li.in .ledger-act{color:var(--good)}.ledger-note{margin:-2px 0 6px;padding-left:10px;border-left:2px solid var(--line);font-size:12.5px;color:var(--muted)}.ledger.compact .ledger-note{display:none}.ledger.compact .ledger-row{padding:4px 0}.month:first-letter{text-transform:uppercase}.workout-note{margin:0;white-space:pre-wrap}.plan-message{margin:0;padding:12px 14px;border-left:3px solid var(--accent);background:var(--current-bg);border-radius:0 var(--r-small) var(--r-small) 0;white-space:pre-wrap;line-height:1.45}.card.plan-workout{padding:0;gap:0}.plan-workout-head{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.card.plan-workout>:not(.plan-workout-head){margin:0 16px 16px}.up-next{color:var(--accent2)}.plan-empty{align-items:flex-start}.plan-empty svg{color:var(--accent)}.plan-exercises{display:flex;flex-direction:column}.plan-ex{border-top:1px solid var(--line)}.plan-ex:first-child{border-top:0}.plan-ex-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.plan-ex:first-child .plan-ex-head{padding-top:4px}.plan-ex-head>svg{color:var(--muted);flex:none}.plan-ex-head:hover .plan-ex-name{color:var(--accent)}.plan-ex-head:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-small)}.plan-ex-extras{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.plan-ex-n{width:22px;flex:none;align-self:flex-start;padding-top:2px;font-size:12px;color:var(--muted)}.plan-ex-name{font-weight:700;font-size:15px;line-height:1.25}.plan-ex-rx{font-size:14px;font-weight:700;color:var(--accent)}.plan-ex-thumb{width:56px;height:56px;flex:none;object-fit:contain;background:#fff;border-radius:var(--r-small)}.plan-note{margin:0;font-size:13.5px;line-height:1.45;white-space:pre-wrap}.plan-note.trainer{padding:8px 10px;border-radius:var(--r-small);background:var(--current-bg)}.plan-note.studio{color:var(--muted)}.checkoff{display:flex;flex-direction:column}.checkoff li{display:flex;align-items:center;gap:12px;padding:6px 0;border-top:1px solid var(--line)}.checkoff li:first-child{border-top:0}.log-kg.compact{max-width:116px}.log-kg.compact .input{height:40px;font-size:16px}.workout-name{font-weight:700;font-size:15px}.plan-edit-list{display:flex;flex-direction:column}.plan-edit-ex{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line)}.plan-edit-ex:first-child{border-top:0;padding-top:0}.rx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:360px}.studio-cue{margin:0}.icon-btn:disabled{opacity:.35;cursor:default}.card.client-list{padding:0;gap:0}.client-list li+li{border-top:1px solid var(--line)}.client-list .empty{padding:16px}.client-row{display:flex;align-items:center;gap:12px;padding:12px 16px;min-width:0}.client-row:hover{background:var(--current-bg)}.client-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.client-facts{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:-6px}.client-facts a{color:var(--accent);font-weight:600}.seg.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.seg.tabs button{position:relative;padding:8px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-dot{position:absolute;top:6px;right:8px;width:6px;height:6px;border-radius:99px;background:var(--accent2)}.card.plain-list{padding:4px 16px;gap:0}.plain-list li{padding:10px 0;border-top:1px solid var(--line)}.plain-list li:first-child{border-top:0}.log-name{font-weight:700;font-size:15px;line-height:1.25}.last-note{color:var(--muted);font-style:italic}.card.log-block{gap:10px;padding:14px 14px 12px 16px}.log-block-head{display:flex;align-items:flex-start;gap:8px}.log-block-head>.tick,.log-block-head>.done-btn{margin-top:1px}.log-prev{font-size:11.5px;color:var(--muted)}.log-block-body{display:flex}.log-block-foot{display:flex;align-items:center;gap:10px;margin-top:-2px}.log-block-foot .log-mode{margin-left:auto}.kg-step{display:inline-grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;width:156px;height:38px;border:1.5px solid var(--line);border-radius:var(--r-small);background:var(--surface)}.kg-step:focus-within{outline:2px solid var(--accent);outline-offset:-1px}.kg-step>button{height:100%;display:grid;place-items:center;padding:0;background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px;font-weight:600;line-height:1;transition:color .14s ease}.kg-step>button:hover:not(:disabled){color:var(--accent)}.kg-step>button:disabled{opacity:.35;cursor:default}.kg-step>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--r-small)}.kg-step label{display:flex;align-items:baseline;justify-content:center;gap:3px;min-width:0;height:100%;cursor:text;border-inline:1px solid var(--line)}.kg-step input{width:100%;min-width:0;height:100%;padding:0;border:0;background:none;outline:none;text-align:center;font-size:16px;font-weight:700}.kg-step input[size]{width:auto;text-align:right}.kg-step input::placeholder{font-family:var(--f-body);font-weight:500;font-size:12.5px;color:var(--muted)}.kg-step .unit{font-size:11.5px;font-weight:600;color:var(--muted)}.seg.log-mode button{padding:4px 10px}.log-note-add{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;padding:4px 8px 4px 6px;border:1px dashed var(--line);border-radius:var(--r-chip);background:none;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:color .14s ease,border-color .14s ease}.log-note-add:hover{color:var(--accent);border-color:var(--accent)}.log-note{display:flex;align-items:flex-start;gap:8px;width:100%;padding:8px 10px;border:0;border-radius:var(--r-small);background:var(--current-bg);font-size:13.5px;line-height:1.4;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer}.log-note>svg{color:var(--muted);margin-top:2px}.log-note>svg:last-child{opacity:0;transition:opacity .14s ease}.log-note:hover>svg:last-child,.log-note:focus-visible>svg:last-child{opacity:1}:is(.log-note-add,.log-note):focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea.input.log-note-input{min-height:0;font-size:13.5px;padding:8px 10px}.note-status{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.note-status.saved{color:var(--good)}.note-status.failed{color:var(--bad)}.save-bar{position:sticky;bottom:12px;z-index:5;gap:10px}@media(max-width:760px){.save-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 10px)}}.live-strip{position:sticky;top:0;z-index:6;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:8px 16px;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.live-strip::-webkit-scrollbar{display:none}@media(min-width:761px){.live-strip{margin:0;padding:8px 0}}.live-chip{position:relative;flex:none;display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 12px 0 6px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:99px;font-weight:600;font-size:13.5px;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.live-chip .av{width:30px;height:30px;border-radius:99px}.live-chip:hover{border-color:var(--ink)}.live-chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.live-chip.on .av{background:color-mix(in srgb,var(--bg) 18%,transparent);color:var(--bg)}.live-chip.other:not(.on){opacity:.65}.live-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.live-chip-count{min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;border-radius:99px;background:var(--accent);color:var(--accent-ink);font-size:11px;font-weight:700}.live-chip-by{width:20px;height:20px;display:grid;place-items:center;border-radius:99px;background:var(--surface2);color:var(--muted);font-size:10.5px;font-weight:700}.live-chip-flag{position:absolute;top:3px;left:28px;width:9px;height:9px;border-radius:99px;background:var(--warn-ink);border:2px solid var(--surface)}.live-name{text-transform:none;font-style:normal;font-size:20px}.save-state{color:var(--muted)}.save-state.saved{color:var(--good)}.save-state.failed .link-btn{color:var(--bad)}.live .suggest{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px 2px}.live .suggest::-webkit-scrollbar{display:none}.live .suggest-chip{flex:none}.card.last-time{padding:0;gap:0}.last-time-head{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:0;color:inherit;text-align:left;cursor:pointer}.last-time-head>svg{color:var(--muted);flex:none;transition:transform .16s ease}.last-time-head[aria-expanded=true]>svg{transform:rotate(180deg)}.last-time-head:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.card.last-time.open{gap:10px;padding-bottom:14px}.card.last-time>:not(.last-time-head){margin:0 16px}.live-progress{padding:0 2px}.live-blocks{display:flex;flex-direction:column;gap:10px}.log-block .tick{display:none}.live .log-block .tick{display:grid;place-items:center;width:26px;height:26px;border-radius:99px;background:var(--ok-bg);color:var(--ok-ink);flex:none}.log-block.pending{background:transparent;border-style:dashed;box-shadow:none}.log-block.pending .log-name{color:var(--muted)}.log-block.pending :is(.input,.kg-step){background:transparent}.log-block.pending .kg-step input{color:var(--muted)}.done-btn{flex:none}.set-grid{display:grid;grid-auto-flow:row;gap:6px;align-items:center;justify-content:start;overflow-x:auto;flex:1 1 100%}.set-grid .input{height:36px;padding:0 4px;text-align:center;font-size:14px;font-weight:700;min-width:0}.set-grid .input::placeholder{font-weight:500;font-size:12px}.set-label{font-size:11px;font-weight:700;color:var(--muted)}.log-block.pending .set-grid .input{color:var(--muted)}
