@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}:root{--bg: #fafaf8;--brand-red: #e30102;--surface: #ffffff;--surface-2: #f1f1ee;--surface-3: #e6e6e2;--ink: #171715;--ink-2: #57574f;--ink-3: #72726a;--line: #e4e4df;--line-2: #cbcbc5;--primary: #171715;--primary-ink: #171715;--on-primary: #fafaf8;--primary-soft: #f1f1ee;--accent: #7b1e3b;--accent-hover: #64172f;--accent-ink: #7b1e3b;--on-accent: #ffffff;--accent-soft: #f5e9ed;--good: #18794e;--good-soft: #e3f2ea;--warn: #b83a0f;--warn-soft: #fcece5;--bad: #c2233c;--bad-soft: #fae6e9;--plate-red: #d9332a;--plate-blue: #2a5fb8;--plate-yellow: #e8a800;--plate-green: #2c9a5b;--plate-white: #cfcfc9;--k-warmup: #d99a00;--k-work: #57574f;--k-drop: #2c9a5b;--k-failure: #c2233c;--fig-bg: #efefeb;--fig-floor: #e1e1dc;--fig-body: #2b2b28;--fig-far: #8f8f88;--fig-m1: #c2305c;--fig-m2: #e8b3c3;--fig-steel: #a9a9a3;--fig-steel-2: #c7c7c1;--fig-pad: #6d6d67;--fig-plate: #5f5f59;--fig-plate-2: #aeaea8;--fig-cable: #5c5c56;--fig-band: #d99a00;--chart-1: #9a2a4f;--chart-2: #0b72b9;--chart-3: #5f8f1f;--chart-4: #9455d6;--chart-grid: #ebebe7;--chart-bar: #8f8f88;--seq-0: #ecece8;--seq-1: #f0d5de;--seq-2: #dc9db2;--seq-3: #bd5579;--seq-4: #7b1e3b;--font-display: "Bricolage Grotesque", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--font-body: "Bricolage Grotesque", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;--radius: 8px;--shadow: 0 1px 2px rgb(23 23 21 / 6%), 0 10px 30px rgb(23 23 21 / 10%);--ctl: 40px;--ctl-sm: 32px;--ctl-lg: 48px;--input-size: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);color-scheme:light}@media (pointer: fine){:root{--ctl: 34px;--ctl-sm: 28px;--ctl-lg: 40px;--input-size: 14px}html{font-size:14px}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--brand-red: #ff0e17;--bg: #121211;--surface: #1a1a19;--surface-2: #222220;--surface-3: #2d2d2a;--ink: #eeeeea;--ink-2: #aaaaa3;--ink-3: #8c8c84;--line: #272725;--line-2: #3d3d39;--primary: #eeeeea;--primary-ink: #eeeeea;--on-primary: #121211;--primary-soft: #222220;--accent: #8c2444;--accent-hover: #9c2a4e;--accent-ink: #ea9ab3;--on-accent: #ffffff;--accent-soft: #2f1520;--good: #5ccb98;--good-soft: #14291f;--warn: #ff8a63;--warn-soft: #33190f;--bad: #ff7d8d;--bad-soft: #351a1f;--plate-red: #ef5247;--plate-blue: #4a86e0;--plate-yellow: #f2b705;--plate-green: #36b66f;--plate-white: #dfdfda;--k-warmup: #e6ac4c;--k-work: #aaaaa3;--k-drop: #36b66f;--k-failure: #ff7d8d;--fig-bg: #1e1e1c;--fig-floor: #2b2b28;--fig-body: #e6e6e2;--fig-far: #75756e;--fig-m1: #d6406f;--fig-m2: #7a3049;--fig-steel: #5c5c56;--fig-steel-2: #444440;--fig-pad: #50504b;--fig-plate: #72726b;--fig-plate-2: #2b2b28;--fig-cable: #ababa4;--fig-band: #e6ac4c;--chart-1: #c9406d;--chart-2: #2a84cc;--chart-3: #7c9a1e;--chart-4: #9b6ee3;--chart-grid: #242422;--chart-bar: #6e6e68;--seq-0: #222220;--seq-1: #3f1a27;--seq-2: #6e2a42;--seq-3: #a83a60;--seq-4: #e0648b;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 10px 30px rgb(0 0 0 / 40%);color-scheme:dark}}:root[data-theme=dark]{--brand-red: #ff0e17;--bg: #121211;--surface: #1a1a19;--surface-2: #222220;--surface-3: #2d2d2a;--ink: #eeeeea;--ink-2: #aaaaa3;--ink-3: #8c8c84;--line: #272725;--line-2: #3d3d39;--primary: #eeeeea;--primary-ink: #eeeeea;--on-primary: #121211;--primary-soft: #222220;--accent: #8c2444;--accent-hover: #9c2a4e;--accent-ink: #ea9ab3;--on-accent: #ffffff;--accent-soft: #2f1520;--good: #5ccb98;--good-soft: #14291f;--warn: #ff8a63;--warn-soft: #33190f;--bad: #ff7d8d;--bad-soft: #351a1f;--plate-red: #ef5247;--plate-blue: #4a86e0;--plate-yellow: #f2b705;--plate-green: #36b66f;--plate-white: #dfdfda;--k-warmup: #e6ac4c;--k-work: #aaaaa3;--k-drop: #36b66f;--k-failure: #ff7d8d;--fig-bg: #1e1e1c;--fig-floor: #2b2b28;--fig-body: #e6e6e2;--fig-far: #75756e;--fig-m1: #d6406f;--fig-m2: #7a3049;--fig-steel: #5c5c56;--fig-steel-2: #444440;--fig-pad: #50504b;--fig-plate: #72726b;--fig-plate-2: #2b2b28;--fig-cable: #ababa4;--fig-band: #e6ac4c;--chart-1: #c9406d;--chart-2: #2a84cc;--chart-3: #7c9a1e;--chart-4: #9b6ee3;--chart-grid: #242422;--chart-bar: #6e6e68;--seq-0: #222220;--seq-1: #3f1a27;--seq-2: #6e2a42;--seq-3: #a83a60;--seq-4: #e0648b;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 10px 30px rgb(0 0 0 / 40%);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:15px}@media (pointer: fine){html{font-size:14px}}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.4 var(--font-body);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.15;text-wrap:balance}h1{font-size:1.5rem;letter-spacing:-.025em}h2{font-size:1.07rem;letter-spacing:-.015em}h3{font-size:1rem;letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:var(--primary-ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}img,video{max-width:100%;display:block}svg{display:block}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tabnum{font-variant-numeric:tabular-nums}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:.875rem}.xsmall{font-size:.78rem}.label{font-size:.8rem;font-weight:500;color:var(--ink-3)}.strong{font-weight:560}.wrap-anywhere{overflow-wrap:anywhere}.pre{white-space:pre-wrap}.app{display:flex;height:100%}.sidebar{display:none}.main{flex:1;min-width:0;height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.page{width:100%;max-width:1040px;margin:0 auto;padding-block:calc(12px + var(--safe-top)) calc(72px + var(--safe-bottom));padding-left:max(16px,var(--safe-left));padding-right:max(16px,var(--safe-right));display:flex;flex-direction:column;gap:14px}.page.narrow{max-width:620px}.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.page-head>div{min-width:0}.back{display:inline-flex;align-items:center;gap:2px;min-height:var(--ctl-sm);color:var(--ink-2);font-size:.9rem;font-weight:500;margin-left:-4px}.tabbar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--bg);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);z-index:20}.tab{flex:1;min-width:0;min-height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.68rem;font-weight:500;color:var(--ink-3);position:relative}.tab[aria-current=page]{color:var(--ink);font-weight:600}.tab svg{width:20px;height:20px}.tab .dot{position:absolute;top:5px;left:calc(50% + 6px)}.dot{min-width:15px;height:15px;padding:0 4px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:.64rem;font-weight:700;line-height:15px;text-align:center;font-family:var(--font-body)}@media (min-width: 900px){.tabbar{display:none}.sidebar{display:flex;flex-direction:column;width:188px;flex:none;background:var(--bg);border-right:1px solid var(--line);padding:calc(14px + var(--safe-top)) 10px 12px max(10px,var(--safe-left));gap:1px;overflow-y:auto}.brand{padding:0 8px 12px}.nav{display:flex;align-items:center;gap:9px;min-height:32px;padding:0 8px;border-radius:6px;font-weight:500;color:var(--ink-2);width:100%;text-align:left}.nav:hover{background:var(--surface-2)}.nav[aria-current=page]{background:var(--surface-2);color:var(--ink);font-weight:600}.nav svg{width:17px;height:17px;flex:none}.nav .dot{margin-left:auto}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:4px;padding-top:10px}.page{padding-bottom:32px;padding-top:calc(20px + var(--safe-top))}.sheet-back{align-items:center!important}.sheet{border-radius:10px!important;max-height:88dvh!important}}.logo{display:block;flex:none;height:auto;color:var(--ink)}.logo-red{fill:var(--brand-red)}.logo-ink{fill:currentColor}.brand .logo{width:112px}.logo-home{display:flex;align-items:center;padding:2px;margin:-2px;border:0;background:none;color:inherit;cursor:pointer;border-radius:6px}.logo-home:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-box>.logo{width:min(230px,64%);margin:8px auto 20px}.demo-bar{color:var(--ink-3);border-bottom:1px solid var(--line);font-size:.74rem;padding:3px 16px;padding-top:calc(3px + var(--safe-top));text-align:center}.demo-bar+.page,.demo-bar~.page{padding-top:12px}.topbar{position:sticky;top:0;z-index:15;flex:none;display:flex;align-items:center;gap:2px;min-height:44px;padding:var(--safe-top) max(8px,var(--safe-right)) 0 max(16px,var(--safe-left));background:var(--bg);border-bottom:1px solid var(--line)}.topbar .logo{width:50px}.topbar .logo-home{margin-right:auto}.demo-bar+.topbar{padding-top:0}.topbar~.page{padding-top:12px}.pin{position:relative}.pin .dot{position:absolute;top:2px;left:calc(50% + 2px)}.new-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}@media (min-width: 900px){.topbar{justify-content:flex-end;border-bottom:0}.topbar .logo-home,.topbar .topbar-settings,.topbar.student{display:none}.topbar:not(.student)~.page{padding-top:0}.topbar.student~.page{padding-top:calc(20px + var(--safe-top))}}.loader{--d: 96px;--w: max(1.5px, calc(var(--d) * .012));--brand-red: #ff0e17;position:relative;flex:none;display:inline-grid;place-items:center;width:var(--d);height:var(--d);border-radius:50%;background:#000}.loader.sm{--d: 52px}.loader.lg{--d: min(68vmin, 300px)}.loader .logo{width:64%;color:#fff}.loader:before{content:"";position:absolute;top:9.5%;right:9.5%;bottom:9.5%;left:9.5%;border-radius:50%;border:var(--w) solid #333}.loader-arc{position:absolute;top:9.5%;right:9.5%;bottom:9.5%;left:9.5%;filter:drop-shadow(0 0 calc(var(--d) * .02) var(--brand-red));animation:loader-turn 1.2s linear infinite}.loader-arc:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 258deg,transparent 0deg,rgb(255 14 23 / 30%) 12deg,var(--brand-red) 90deg,var(--brand-red) 102deg,transparent 102.5deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--w)),#000 calc(100% - var(--w) + .5px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--w)),#000 calc(100% - var(--w) + .5px))}.splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;background:#000;transition:opacity .2s}.splash.out{opacity:0;pointer-events:none}.loading-box{display:grid;place-items:center;min-height:160px}.spin{display:inline-block;flex:none;width:1em;height:1em;border-radius:50%;border:2px solid rgb(128 128 128 / 40%);border-top-color:currentColor;animation:loader-turn .8s linear infinite}@keyframes loader-turn{to{transform:rotate(360deg)}}.card{border-top:1px solid var(--line);padding:12px 0 0;min-width:0}.card.tight{padding-top:10px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.card-head>div{min-width:0}.stack{display:flex;flex-direction:column;gap:10px;min-width:0}.stack.lg{gap:14px}.stack.sm{gap:2px}.row{display:flex;align-items:center;gap:8px;min-width:0}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.top{align-items:flex-start}.grow{flex:1;min-width:0}.grid-2,.grid-3{display:grid;gap:14px 24px;grid-template-columns:1fr}.tiles{display:grid;gap:0 16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width: 640px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1000px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.divider{height:1px;background:var(--line);border:0;margin:0}.tile{border-top:1px solid var(--line);padding:7px 0 8px;min-width:0;display:flex;flex-direction:column;gap:0}.tile .value{font-family:var(--font-display);font-weight:500;font-size:1.3rem;line-height:1.2;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.tile .name{font-size:.8rem;color:var(--ink-3)}.tile .delta{font-size:.76rem;font-weight:500}.up{color:var(--good)}.down{color:var(--bad)}.flat{color:var(--ink-3)}.icon-btn{width:var(--ctl);height:var(--ctl);padding:0;color:var(--ink-2);flex:none}.icon-btn:hover{background:var(--surface-2)}.icon-btn svg{width:18px;height:18px}.icon-btn.sm{width:var(--ctl-sm);height:var(--ctl-sm)}.icon-btn.sm svg{width:16px;height:16px}.field{display:flex;flex-direction:column;gap:3px;min-width:0}.field>span,.field>label{font-size:.8rem;font-weight:500;color:var(--ink-2)}.field>.pw-input{position:relative;display:flex;font-size:inherit;font-weight:inherit;color:inherit}.pw-input input{padding-right:40px}.pw-input .icon-btn{position:absolute;right:2px;top:50%;transform:translateY(-50%);color:var(--ink-3)}.pw-rules{list-style:none;margin:-4px 0 0;padding:0;display:grid;gap:2px;font-size:.8rem;color:var(--ink-3)}.pw-rules li{display:flex;align-items:center;gap:6px}.pw-rules li>i{width:6px;height:6px;margin:0 4px;border-radius:50%;background:var(--line-2);flex:none}.pw-rules li>svg{width:14px;height:14px;flex:none}.pw-rules li.ok{color:var(--good)}.bad-text{color:var(--bad);margin:-6px 0 0}.good-text{color:var(--good)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.login-links{display:flex;justify-content:flex-end;margin-top:-6px}.banner.good{background:var(--good-soft)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],input[type=search],select,textarea{width:100%;min-height:var(--ctl);padding:5px 10px;border-radius:6px;border:1px solid var(--line-2);background:var(--surface);font-size:var(--input-size);min-width:0}textarea{resize:vertical;min-height:72px;line-height:1.35}::placeholder{color:var(--ink-3);opacity:1}input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:-1px;border-color:transparent}.form-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.chips{display:flex;gap:4px;flex-wrap:wrap}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px;padding-bottom:1px}.chips.scroll::-webkit-scrollbar{display:none}.chip{min-height:var(--ctl-sm);padding:0 10px;border-radius:6px;font-size:.86rem;font-weight:500;color:var(--ink-2);background:var(--surface-2);white-space:nowrap;flex:none}.chip:hover{color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg)}.tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;border-radius:4px;background:var(--surface-2);font-size:.74rem;font-weight:500;color:var(--ink-2);white-space:nowrap}.tag.good{background:var(--good-soft);color:var(--good)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.info{background:var(--surface-2);color:var(--ink)}.kind-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.k-warmup{background:var(--k-warmup)}.k-work{background:var(--k-work)}.k-drop{background:var(--k-drop)}.k-failure{background:var(--k-failure)}.seg{display:flex;gap:14px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg button{flex:0 0 auto;min-height:var(--ctl-sm);padding:0 1px;margin-bottom:-1px;border-bottom:2px solid transparent;font-weight:500;font-size:.93rem;color:var(--ink-3);white-space:nowrap}.seg button:hover{color:var(--ink)}.seg button[aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-family:var(--font-display);font-weight:600;font-size:.74rem;color:var(--ink-2);flex:none}.avatar.lg{width:44px;height:44px;font-size:1rem}.list{display:flex;flex-direction:column}.list>*+*{border-top:1px solid var(--line)}.list-item{display:flex;align-items:center;gap:10px;padding:7px 0;width:100%;text-align:left;min-height:44px;min-width:0}button.list-item:hover{background:var(--surface-2);box-shadow:-6px 0 0 var(--surface-2),6px 0 0 var(--surface-2)}.empty{padding:20px 12px;text-align:center;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;gap:8px}.banner{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius);background:var(--surface-2);color:var(--ink)}.banner.warn>span:first-child{color:var(--warn)}.banner.bad{background:var(--bad-soft)}.banner>.grow{min-width:0}.fig{aspect-ratio:1 / 1;background:var(--fig-bg);border-radius:6px;overflow:hidden;width:100%;max-width:100%}.fig-fill,.fig-svg{width:100%;height:100%}.fig-photo{width:100%;height:100%;object-fit:cover}.thumb{width:44px;flex:none}.thumb-lg{width:72px;flex:none}.ex-grid{display:grid;gap:12px 8px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.ex-card{display:flex;flex-direction:column;gap:4px;text-align:left;min-width:0}.ex-card:hover .fig{background:var(--fig-floor)}.ex-card .nm{font-weight:500;font-size:.84rem;line-height:1.2;letter-spacing:-.005em}.contact{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.contact .xsmall{line-height:1.1}.sheet-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:70;padding:0}.sheet{background:var(--surface);width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;border-radius:12px 12px 0 0;padding:12px max(16px,var(--safe-right)) calc(14px + var(--safe-bottom)) max(16px,var(--safe-left));display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}.sheet.wide{max-width:860px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-12px;background:var(--surface);margin:-12px 0 0;padding:8px 0 4px;z-index:2}.toast{width:max-content;position:fixed;left:50%;transform:translate(-50%);bottom:calc(64px + var(--safe-bottom));background:var(--ink);color:var(--bg);padding:7px 12px;border-radius:7px;font-weight:500;z-index:90;font-size:.88rem;max-width:calc(100% - 32px);box-shadow:var(--shadow)}.chart{position:relative;width:100%;touch-action:pan-y}.chart svg{width:100%;overflow:visible}.chart-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:6px;padding:4px 8px;font-size:.76rem;line-height:1.3;white-space:nowrap;z-index:5;transform:translate(-50%);box-shadow:var(--shadow)}.chart-tip b{font-weight:600}.legend{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:.76rem;color:var(--ink-3)}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:5px;vertical-align:1px}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse;font-size:.84rem;font-variant-numeric:tabular-nums}table.data th{text-align:left;font-weight:500;color:var(--ink-3);font-size:.76rem;padding:4px 10px 4px 0;border-bottom:1px solid var(--line);white-space:nowrap}table.data td{padding:5px 10px 5px 0;border-bottom:1px solid var(--line)}table.data tr:last-child td{border-bottom:0}table.data .r{text-align:right;padding-right:0}.link-btn{color:var(--ink-2);font-weight:500;font-size:.8rem;min-height:24px;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line-2)}.meter{height:3px;border-radius:2px;background:var(--surface-3);overflow:hidden}.meter>i{display:block;height:100%;border-radius:2px;background:var(--chart-1)}.hbars{display:flex;flex-direction:column;gap:5px}.hbar{display:grid;grid-template-columns:minmax(84px,112px) 1fr auto;gap:8px;align-items:center;font-size:.82rem}.hbar .track{height:8px;position:relative}.hbar .fill{position:absolute;left:0;top:1px;bottom:1px;background:var(--ink);border-radius:0 3px 3px 0;min-width:2px}.hbar .band{position:absolute;top:-1px;bottom:-1px;background:var(--surface-3);border-radius:2px}.heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:2px}.heat i{display:block;width:100%;aspect-ratio:1;border-radius:2px;background:var(--seq-0)}.segbar{display:flex;gap:2px;height:20px}.segbar>div{border-radius:3px;display:flex;align-items:center;padding-left:6px;font-size:.74rem;font-weight:600;color:#fff;min-width:0;overflow:hidden;white-space:nowrap}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.day{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:.72rem;color:var(--ink-3);font-weight:500}.day b{font-family:var(--font-display);font-size:.95rem;font-weight:500;color:var(--ink);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-variant-numeric:tabular-nums}.day.today{color:var(--ink)}.day.today b{background:var(--ink);color:var(--bg);font-weight:600}.day .pip{width:5px;height:5px;border-radius:50%;background:transparent}.day.done .pip{background:var(--good)}.day.planned .pip{background:var(--line-2)}.day.missed .pip{background:var(--bad)}.hero{min-width:0}.hero-body{display:flex;flex-direction:column;gap:8px;min-width:0}.hero-title{font-size:1.5rem;letter-spacing:-.025em}.hero-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.mini-figs{display:flex;gap:3px;overflow:hidden}.mini-figs .fig{width:42px;flex:none}.player{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:40;display:flex;flex-direction:column;overflow:hidden}.player-top{display:flex;align-items:center;gap:6px;padding:calc(3px + var(--safe-top)) max(8px,var(--safe-right)) 3px max(8px,var(--safe-left))}.progress{height:2px;background:var(--line)}.progress>i{display:block;height:100%;background:var(--chart-1);transition:width .25s ease}.player-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.player-body{max-width:920px;margin:0 auto;padding:10px max(16px,var(--safe-right)) calc(20px + var(--safe-bottom)) max(16px,var(--safe-left));display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@media (min-width: 760px){.player-body{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:24px;align-items:start}.player-fig{position:sticky;top:10px}}.player-fig .fig{aspect-ratio:auto;height:min(25dvh,92vw);background:linear-gradient(to top,var(--fig-floor) 7.5%,var(--fig-bg) 7.5%)}.player-fig .fig svg{width:100%;height:100%}@media (min-width: 760px){.player-fig .fig{max-height:none;height:auto;aspect-ratio:1;background:var(--fig-bg)}}.ex-pills{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:4px max(12px,var(--safe-left)) 6px;border-bottom:1px solid var(--line)}.ex-pills::-webkit-scrollbar{display:none}.ex-pill{flex:none;min-width:30px;height:28px;padding:0 6px;border-radius:6px;font-family:var(--font-display);font-weight:500;color:var(--ink-3);font-size:.9rem;font-variant-numeric:tabular-nums}.ex-pill.done{color:var(--good)}.ex-pill.current{background:var(--ink);color:var(--bg);font-weight:600}.set-card{display:flex;flex-direction:column;gap:10px}.steppers{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stepper{display:flex;flex-direction:column;gap:2px;align-items:stretch;min-width:0}.stepper .label{text-align:center}.stepper-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:0}.stepper button{height:44px;width:44px;border-radius:7px;background:var(--surface-2);font-size:1.25rem;font-weight:500;color:var(--ink)}.stepper input{text-align:center;border:0;background:transparent;font-family:var(--font-display);font-weight:500;font-size:1.75rem;letter-spacing:-.03em;padding:0;min-height:44px;font-variant-numeric:tabular-nums}.ok-btn{min-height:52px;border-radius:8px;font-family:var(--font-display);font-size:1.1rem;letter-spacing:-.015em}.ok-btn svg{width:20px;height:20px}.set-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 0;min-height:36px;font-size:.92rem;width:100%;text-align:left}.set-row.current{font-weight:600}.set-row.done .tgt{color:var(--ink-3)}.set-no{width:22px;height:22px;border-radius:50%;background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;font-family:var(--font-display);font-weight:500;font-size:.78rem;font-variant-numeric:tabular-nums}.set-row.current .set-no{background:var(--ink);color:var(--bg)}.set-row.done .set-no{background:var(--good-soft);color:var(--good)}.set-row .set-no svg{width:12px;height:12px}.quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;border-top:1px solid var(--line);padding-top:6px}.quick button{min-height:46px;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.72rem;font-weight:500;color:var(--ink-2);padding:3px 2px}.quick button:hover{background:var(--surface-2)}.quick svg{width:18px;height:18px}.rest{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:calc(16px + var(--safe-top)) max(16px,var(--safe-right)) calc(16px + var(--safe-bottom)) max(16px,var(--safe-left));text-align:center;overflow-y:auto}.rest.over{background:var(--good-soft)}.rest-ring{position:relative;width:min(58vw,36dvh,248px);aspect-ratio:1}.rest-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.rest-ring .time{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.rest-ring .time b{font-family:var(--font-display);font-weight:500;font-size:clamp(2.8rem,12vw,3.8rem);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.rest-actions{display:flex;gap:6px;width:100%;max-width:340px}.rest-actions .MuiButton-root{flex:1}.rest-next{width:100%;max-width:340px;border-top:1px solid var(--line);padding:8px 0 0;display:flex;gap:10px;align-items:center;text-align:left}.rest-next .fig{width:44px;flex:none}.bar-draw{display:flex;align-items:center;justify-content:center;min-height:92px;gap:2px;overflow-x:auto}.bar-draw .sleeve{height:6px;width:34px;background:var(--ink-3);border-radius:2px;flex:none}.bar-draw .pl{border-radius:3px;width:13px;flex:none}.scale{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:2px}.scale button{min-height:36px;border-radius:5px;background:var(--surface-2);font-family:var(--font-display);font-weight:500;font-size:.95rem;color:var(--ink-2);font-variant-numeric:tabular-nums}.scale button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.scale5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px}.scale5 button{min-height:46px;border-radius:6px;background:var(--surface-2);font-size:.72rem;font-weight:500;color:var(--ink-2);padding:3px 2px;line-height:1.15}.scale5 button b{display:block;font-family:var(--font-display);font-size:1rem;font-weight:600}.scale5 button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.scale5 button[aria-pressed=true] b{color:inherit}.video-frame{background:#000;border-radius:8px;overflow:hidden;aspect-ratio:3 / 4;max-height:56dvh;width:100%;position:relative}.video-frame video{width:100%;height:100%;object-fit:contain}.rec-dot{position:absolute;top:8px;left:8px;background:var(--accent);color:var(--on-accent);padding:2px 8px;border-radius:5px;font-size:.82rem;font-weight:600}.photo-grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.photo-slot{aspect-ratio:3 / 4;border-radius:6px;background:var(--surface-2);border:1px dashed var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:.8rem;font-weight:500;color:var(--ink-2);overflow:hidden;position:relative;width:100%;padding:6px;text-align:center}.photo-slot img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.photo-slot .cap{position:absolute;bottom:0;left:0;right:0;background:#0009;color:#fff;font-size:.72rem;padding:2px}.login{min-height:100%;display:flex;justify-content:center;padding:calc(32px + var(--safe-top)) max(16px,var(--safe-right)) 24px max(16px,var(--safe-left));overflow-y:auto;height:100%}.login-box{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px}.who{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);width:100%;text-align:left;min-height:48px}.who:hover{background:var(--surface-2);box-shadow:-6px 0 0 var(--surface-2),6px 0 0 var(--surface-2)}.q-row{display:flex;gap:6px;align-items:flex-start;padding:8px 0}.ex-block{border-top:1px solid var(--line);padding:10px 0 0;display:flex;flex-direction:column;gap:8px}.ex-block.super{box-shadow:inset 2px 0 0 var(--k-drop);padding-left:10px}.set-edit{display:grid;grid-template-columns:16px minmax(88px,1.5fr) repeat(3,minmax(44px,1fr)) 26px;gap:4px;align-items:center}.set-edit input,.set-edit select{padding:4px;min-height:var(--ctl-sm);text-align:center}.set-edit select{text-align:left;padding:4px 6px;font-size:14px;-moz-appearance:none;appearance:none;-webkit-appearance:none}.set-edit .icon-btn.sm{width:26px}.set-edit .hdr{font-size:.72rem;font-weight:500;color:var(--ink-3)}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}.loader-arc,.spin{animation:loader-turn 3s linear infinite!important}}.client-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;column-gap:10px;row-gap:5px}.client-row .cr-adh{grid-column:2 / 4}.client-row .cr-spark{grid-row:1;grid-column:3}@media (min-width: 720px){.client-row{grid-template-columns:30px minmax(0,2fr) minmax(120px,1fr) auto}.client-row .cr-adh{grid-column:3;grid-row:1}.client-row .cr-spark{grid-column:4}}.grid-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.icon-btn[disabled]{opacity:.35;cursor:default}details>summary{display:flex;align-items:center;gap:6px;list-style:none;cursor:pointer}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .12s ease;flex:none}details[open]>summary:before{transform:rotate(45deg)}.day{position:relative}
