@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{color-scheme:dark;--bg: #121320;--bg-2: #161826;--surface-1: #1b1d2a;--surface-2: #232532;--surface-3: #2a2d3d;--line: rgba(233, 233, 237, .08);--line-2: rgba(233, 233, 237, .14);--line-3: rgba(233, 233, 237, .22);--text: #e9e9ed;--text-2: #b2b6ca;--text-3: #9397ab;--text-4: #75798c;--accent: #9184d9;--accent-2: #b5abfc;--accent-3: #d2cefd;--accent-100: #e7e5fe;--accent-600: #796cbf;--accent-700: #5d5294;--accent-800: #423a6a;--accent-a08: rgba(145, 132, 217, .08);--accent-a14: rgba(145, 132, 217, .14);--accent-a22: rgba(145, 132, 217, .22);--accent-a35: rgba(145, 132, 217, .35);--glow: 0 0 22px rgba(145, 132, 217, .45);--danger: #e07070;--danger-a: rgba(224, 112, 112, .14);--r-xs: 8px;--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 22px;--ctl: 44px;--ctl-lg: 52px;--ctl-sm: 36px;--shadow-card: 0 0 0 1px var(--line), 0 12px 32px rgba(0, 0, 0, .35);--shadow-float: 0 0 0 1px var(--line-2), 0 18px 48px rgba(0, 0, 0, .55);--font: "Inter", -apple-system, system-ui, sans-serif;--page-w: 430px;--tabbar-h: 78px;--sat: env(safe-area-inset-top);--sab: env(safe-area-inset-bottom)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;text-rendering:optimizeLegibility}body,#root{min-height:100dvh}button,input,textarea,select{font:inherit;color:inherit;-webkit-appearance:none;appearance:none;margin:0;background:none;border:0}button{cursor:pointer;user-select:none;-webkit-user-select:none;padding:0;touch-action:manipulation}input::placeholder,textarea::placeholder{color:var(--text-4)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}a{color:var(--accent);text-decoration:none}::-webkit-scrollbar{display:none}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-a35)}svg{display:block;flex:none}.tnum{font-variant-numeric:tabular-nums}.muted{color:var(--text-3)}.dim{color:var(--text-4)}.accent{color:var(--accent-2)}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}@keyframes glow{0%,to{box-shadow:0 0 0 1px var(--accent),0 0 18px #9184d966}50%{box-shadow:0 0 0 1px var(--accent-2),0 0 30px #9184d9bf}}@keyframes pulse-ring{0%,to{box-shadow:0 0 0 1px var(--accent),0 0 #9184d959}50%{box-shadow:0 0 0 1px var(--accent-2),0 0 0 6px #9184d900}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{max-width:var(--page-w);margin:0 auto;min-height:100dvh;position:relative;background:radial-gradient(120% 60% at 50% -10%,#1c1e33 0%,var(--bg-2) 45%,var(--bg) 100%)}.page{padding:calc(16px + var(--sat)) 18px calc(var(--tabbar-h) + 24px + var(--sab));display:flex;flex-direction:column;gap:22px;animation:fade .2s ease-out}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.page-title{font-size:28px;font-weight:500;letter-spacing:-.025em;line-height:1.1}.page-kicker{font-size:13px;color:var(--text-3)}.stack{display:flex;flex-direction:column}.stack-2{gap:2px}.stack-6{gap:6px}.stack-8{gap:8px}.stack-12{gap:12px}.stack-16{gap:16px}.stack-20{gap:20px}.row{display:flex;align-items:center;gap:10px}.between{justify-content:space-between}.grow{flex:1;min-width:0}.label{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:500}.label.accent{color:var(--accent-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--ctl);padding:0 16px;border-radius:var(--r-sm);font-size:15px;font-weight:500;line-height:1;color:var(--text);border:1px solid var(--line-2);background:transparent;transition:background .12s,border-color .12s,color .12s,transform .08s;white-space:nowrap}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;pointer-events:none}.btn-primary{color:var(--accent-100);border-color:var(--accent);background:var(--accent-a14)}.btn-primary:hover{background:var(--accent-a22)}.btn-primary:active{background:var(--accent-a35)}.btn-outline{color:var(--accent-2);border-color:var(--accent)}.btn-outline:hover,.btn-outline:active{background:var(--accent-a14)}.btn-secondary:hover,.btn-secondary:active{background:#e9e9ed0f}.btn-ghost{border-color:transparent;color:var(--text-3);padding:0 10px}.btn-ghost:hover{color:var(--text)}.btn-ghost.accent{color:var(--accent-2)}.btn-danger{color:var(--danger);border-color:#e0707066}.btn-danger:hover,.btn-danger:active{background:var(--danger-a)}.btn-danger.btn-ghost{border-color:transparent}.btn-dashed{border-style:dashed;border-color:var(--line-3);color:var(--text-3);font-weight:400}.btn-dashed:hover{color:var(--text);background:#e9e9ed0a}.btn-lg{height:var(--ctl-lg);font-size:16px;border-radius:var(--r-md)}.btn-sm{height:var(--ctl-sm);font-size:13px;padding:0 12px;border-radius:var(--r-xs)}.btn-block{width:100%}.icon-btn{width:40px;height:40px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--text-3);border:1px solid transparent;transition:background .12s,color .12s;flex:none}.icon-btn:hover{color:var(--text);background:#e9e9ed0f}.icon-btn.outline{border-color:var(--line-2)}.icon-btn.accent{color:var(--accent-2)}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover{background:var(--danger-a)}.icon-btn.sm{width:32px;height:32px;border-radius:var(--r-xs)}.card{background:var(--surface-2);border-radius:var(--r-lg);padding:16px;box-shadow:0 0 0 1px var(--line)}.card.flat{background:var(--surface-1);box-shadow:none}.panel{background:var(--surface-1);border-radius:var(--r-md)}.list{display:flex;flex-direction:column}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;width:100%;padding:12px 6px;border-bottom:1px solid var(--line);color:inherit;transition:background .12s;border-radius:6px}.list-row:last-child{border-bottom-color:transparent}.list-row:hover{background:#e9e9ed08}.list-row.with-lead{grid-template-columns:auto minmax(0,1fr) auto}.list-row .t{font-size:15px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row .s{font-size:12.5px;color:var(--text-3);display:block;margin-top:1px}.list-row .r{font-size:13px;color:var(--text-3);white-space:nowrap;font-variant-numeric:tabular-nums}.tile-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;width:100%;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-1);color:inherit;transition:background .12s}.tile-row:hover{background:var(--surface-2)}.tile-row.two{grid-template-columns:minmax(0,1fr) auto}.lead{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:16px;font-weight:500;background:var(--accent-a14);color:var(--accent-3);flex:none}.lead.lg{width:46px;height:46px;font-size:18px;border-radius:14px}.tag{display:inline-flex;align-items:center;font-size:11.5px;padding:4px 10px;border-radius:999px;background:var(--surface-3);color:var(--text-2)}.tag.accent{background:var(--accent-800);color:var(--accent-100)}.tag.mini{font-size:11px;padding:2px 8px;color:var(--accent-2);background:var(--accent-a14)}.input{width:100%;height:var(--ctl);padding:0 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface-1);font-size:15px;transition:border-color .12s}.input:focus-visible{outline:none;border-color:var(--accent)}textarea.input{height:auto;min-height:76px;padding:10px 14px;resize:vertical;line-height:1.5}.search{position:relative}.search .input{padding-left:40px}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--text-4)}.stepper{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;height:var(--ctl);border-radius:var(--r-sm);background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line)}.stepper.bare{background:transparent;box-shadow:none}.stepper>button{height:100%;display:grid;place-items:center;color:var(--text-2);border-radius:var(--r-sm)}.stepper>button:hover{color:var(--text);background:#e9e9ed0d}.stepper .val{text-align:center;font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;justify-content:center;gap:4px;min-width:0}.stepper .val input{width:100%;min-width:0;text-align:center;font-weight:500;font-variant-numeric:tabular-nums;padding:0}.stepper .val .u{font-size:11.5px;color:var(--text-4);font-weight:400}.stepper.sm{height:40px;grid-template-columns:34px minmax(0,1fr) 34px}.seg{display:flex;padding:3px;border-radius:var(--r-sm);background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--line);gap:2px}.seg>button{flex:1;height:32px;border-radius:8px;font-size:12.5px;font-weight:500;color:var(--text-3);transition:background .12s,color .12s}.seg>button.on{background:var(--surface-3);color:var(--accent-100);box-shadow:0 0 0 1px var(--accent-a35)}.switch{width:46px;height:28px;border-radius:999px;background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-2);position:relative;flex:none;transition:background .15s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--text-3);transition:transform .15s,background .15s}.switch.on{background:var(--accent-a35);box-shadow:inset 0 0 0 1px var(--accent)}.switch.on:after{transform:translate(18px);background:var(--accent-100)}.setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;background:var(--surface-1);border-radius:var(--r-md)}.setting .t{font-size:14.5px;font-weight:500}.setting .s{font-size:12.5px;color:var(--text-3);margin-top:2px}.setting-group{display:flex;flex-direction:column;gap:2px}.setting-group .setting{border-radius:6px}.setting-group .setting:first-child{border-top-left-radius:var(--r-md);border-top-right-radius:var(--r-md)}.setting-group .setting:last-child{border-bottom-left-radius:var(--r-md);border-bottom-right-radius:var(--r-md)}.sheet{position:fixed;inset:0;margin:0 auto;width:100%;max-width:var(--page-w);background:var(--bg-2);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(10px + var(--sat)) 18px calc(32px + var(--sab));display:flex;flex-direction:column;gap:18px;animation:rise .22s ease-out}.sheet-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;min-height:40px}.sheet-bar>:last-child{justify-self:end}.sheet-bar .mid{text-align:center;font-size:14px;font-weight:500;color:var(--text-2)}.sheet-title{font-size:26px;font-weight:500;letter-spacing:-.025em;line-height:1.12;text-wrap:balance}.sheet-sub{font-size:13px;color:var(--text-3);margin-top:4px}.back{display:inline-flex;align-items:center;gap:2px;height:40px;padding:0 8px 0 0;color:var(--accent-2);font-size:15px;font-weight:500;border-radius:var(--r-xs)}.tabbar{position:fixed;left:0;right:0;margin:0 auto;bottom:0;width:100%;max-width:var(--page-w);padding:8px 12px calc(10px + var(--sab));z-index:20;pointer-events:none}.tabbar-inner{pointer-events:auto;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border-radius:20px;background:#1b1d2ac7;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 0 0 1px var(--line-2),0 14px 40px #00000073}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0 6px;border-radius:14px;color:var(--text-4);font-size:10.5px;font-weight:500;transition:color .15s,background .15s}.tab.on{color:var(--accent-100);background:var(--accent-a14)}.tab.on svg{filter:drop-shadow(0 0 8px rgba(181,171,252,.7))}.backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0a0b129e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .15s ease-out}.dialog{width:min(360px,100%);background:var(--surface-2);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:8px;animation:rise .18s ease-out}.dialog .t{font-size:18px;font-weight:500;letter-spacing:-.01em}.dialog .b{font-size:14px;color:var(--text-2);line-height:1.5}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + 18px + var(--sab));z-index:90;background:var(--surface-3);color:var(--text);padding:10px 16px;border-radius:12px;font-size:13.5px;box-shadow:var(--shadow-float);animation:slide-up .2s ease-out;white-space:nowrap;max-width:calc(100% - 36px);overflow:hidden;text-overflow:ellipsis}.empty{text-align:center;color:var(--text-3);font-size:13.5px;padding:28px 12px;line-height:1.5}.hero{position:relative;border-radius:var(--r-xl);padding:22px 20px 20px;background:linear-gradient(160deg,#282a45,#1f2134 55%,#222434);box-shadow:0 0 0 1px var(--line-2),0 24px 60px #00000073;overflow:hidden;isolation:isolate}.hero:before{content:"";position:absolute;right:-70px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(145,132,217,.34),rgba(145,132,217,.06) 45%,transparent 70%);pointer-events:none;z-index:-1}.hero:after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(to right,transparent,rgba(181,171,252,.65) 30%,rgba(181,171,252,.65) 70%,transparent)}.hero-title{font-size:34px;font-weight:500;letter-spacing:-.03em;line-height:1.05;margin-top:8px;text-wrap:balance}.hero-sub{font-size:13px;color:var(--text-2);margin-top:8px}.rotation{display:flex;align-items:center;margin-top:22px}.rotation .line{flex:1;height:1px;background:linear-gradient(to right,#e9e9ed0d,#e9e9ed4d,#e9e9ed0d)}.rot-dot{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:500;color:var(--text-3);background:#e9e9ed0f;box-shadow:inset 0 0 0 1px var(--line-2);transition:background .15s,color .15s}.rot-dot.on{background:var(--accent);color:var(--bg-2);animation:glow 3s ease-in-out infinite}.rot-dot.done{color:var(--accent-2)}.freq{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;align-items:end}.freq-col{display:flex;flex-direction:column;align-items:center;gap:6px}.freq-bar{display:flex;flex-direction:column-reverse;gap:3px;height:52px}.freq-dot{width:14px;height:10px;border-radius:3px;background:var(--surface-3)}.freq-dot.a{background:var(--accent);box-shadow:0 0 8px #9184d959}.freq-dot.b{background:var(--accent-600)}.freq-label{font-size:10px;color:var(--text-4)}.chart-head{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-3)}.chart{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;margin-top:6px}.chart .axis{display:flex;flex-direction:column;justify-content:space-between;font-size:10px;color:var(--text-4);text-align:right;font-variant-numeric:tabular-nums}.chart svg{width:100%;height:110px;overflow:visible}.legend{display:flex;gap:14px;font-size:11px;color:var(--text-3);flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:5px}.legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.select{height:var(--ctl);padding:0 40px 0 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface-1);font-size:15px;font-weight:500;min-width:0;width:100%;text-overflow:ellipsis}.select-wrap{position:relative}.select-wrap svg{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:var(--text-4);pointer-events:none}.stat{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-1)}.stat .v{font-size:20px;font-weight:500;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat .k{font-size:11.5px;color:var(--text-3)}.workout{gap:10px;padding-left:14px;padding-right:14px;padding-bottom:180px}.w-block{background:var(--surface-1);border-radius:var(--r-lg);padding:4px;box-shadow:0 0 0 1px transparent;transition:box-shadow .2s}.w-block.cur{box-shadow:0 0 0 1px var(--accent-700),0 10px 30px #0000004d}.w-super{display:flex;justify-content:space-between;padding:8px 12px 2px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}.w-super span:last-child{color:var(--text-4);letter-spacing:0;text-transform:none}.w-ex{padding:8px 10px 10px;border-radius:14px;transition:background .2s}.w-ex.cur{background:var(--surface-2)}.w-ex-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:0 2px 6px}.w-ex-name{text-align:left;padding:6px 0;min-width:0;font-size:16px;font-weight:500;line-height:1.25;color:var(--text)}.w-ex-name.done{color:var(--text-3)}.w-progress{font-size:12px;color:var(--text-4);font-variant-numeric:tabular-nums}.w-sets{display:flex;flex-direction:column;gap:5px}.set-done{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 10px;border-radius:10px}.set-done .check{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:var(--bg-2)}.set-done .v{font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}.set-done .p{font-weight:400;color:var(--text-4);font-size:12px;margin-left:8px}.set-done .undo{color:var(--text-4);font-size:12px;padding:4px 6px;border-radius:6px}.set-done .undo:hover{color:var(--text)}.set-todo{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:center;padding:7px 10px;border-radius:10px;color:var(--text-4);font-size:13px;font-variant-numeric:tabular-nums}.set-todo .n{width:22px;height:22px;border-radius:50%;border:1px solid var(--line-3);display:grid;place-items:center;font-size:11px}.set-active{padding:12px;border-radius:14px;background:var(--surface-2);animation:pulse-ring 2.6s ease-in-out infinite;display:flex;flex-direction:column;gap:10px}.set-active .head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-3)}.set-active .head button{color:var(--text-4);font-size:12px;padding:4px 0}.set-active .head button:hover{color:var(--text)}.weight-row{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:center}.weight-row>button{height:48px;border-radius:var(--r-sm);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--text)}.weight-row>button:active{background:#e9e9ed0f}.weight-val{display:flex;align-items:baseline;justify-content:center;gap:6px}.weight-val input{width:100px;height:44px;text-align:right;font-size:28px;font-weight:500;letter-spacing:-.02em;border-bottom:1px solid var(--line-2);border-radius:0;padding:0 2px;font-variant-numeric:tabular-nums}.weight-val input:focus-visible{outline:none;border-bottom-color:var(--accent)}.weight-val .u{font-size:13px;color:var(--text-3)}.reps-row{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;align-items:center}.reps-row>button{height:44px;border-radius:var(--r-xs);border:1px solid var(--line-2);display:grid;place-items:center;color:var(--text)}.reps-row>button:active{background:#e9e9ed0f}.quick{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.quick>button{height:44px;border-radius:var(--r-xs);border:1px solid var(--line);color:var(--text-3);font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;transition:background .1s,color .1s,border-color .1s}.quick>button.plan{color:var(--accent-3);border-color:var(--accent-a35)}.quick>button.sel{background:var(--accent);border-color:var(--accent);color:var(--bg-2);box-shadow:var(--glow)}.log-btn{height:54px;border-radius:var(--r-md);border:1px solid var(--accent);background:var(--accent-a14);color:var(--accent-100);font-size:16px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .1s}.log-btn:active{background:var(--accent-a35)}.timer{position:fixed;left:0;right:0;margin:0 auto;width:100%;max-width:var(--page-w);bottom:0;padding:10px 14px calc(12px + var(--sab));background:#161826db;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-top:1px solid var(--line);z-index:5;animation:fade .2s}.timer .track{height:3px;border-radius:3px;background:var(--surface-3);overflow:hidden}.timer .fill{height:100%;background:linear-gradient(to right,var(--accent-700),var(--accent-2));transition:width .5s linear;box-shadow:0 0 10px #b5abfc80}.timer .body{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:8px}.timer .time{font-size:32px;font-weight:500;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.timer .time.over{color:var(--text-4)}.timer .k{font-size:11.5px;color:var(--text-3);margin-top:3px}.timer .btns{display:flex;gap:6px}.ex-imgs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ex-img{border-radius:14px;aspect-ratio:1;background-color:#e4e7f5;background-size:cover;background-position:center;box-shadow:0 0 0 1px var(--line-2)}.chips{display:flex;gap:6px;flex-wrap:wrap}.warn{border-radius:var(--r-md);padding:12px 14px;background:var(--surface-3);box-shadow:0 0 0 1px var(--line-2);display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;font-size:13.5px;color:var(--text-2);line-height:1.5}.warn svg{color:var(--accent-2);margin-top:2px}.steps{display:flex;flex-direction:column;gap:8px}.step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;font-size:14.5px;line-height:1.5}.step .n{color:var(--accent-2);font-weight:500;font-variant-numeric:tabular-nums}.step.cue .n{color:var(--accent)}.step.bad{color:var(--text-2)}.step.bad .n{color:var(--text-4)}.field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--surface-1);border-radius:var(--r-md);padding:10px 14px}.field-row .t{font-size:14.5px}.field-row .s{display:block;font-size:12.5px;color:var(--text-3)}.mini-input{display:flex;align-items:baseline;gap:5px}.mini-input input{width:64px;height:40px;text-align:right;font-size:18px;font-weight:500;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--r-xs);padding:0 8px;font-variant-numeric:tabular-nums}.mini-input input:focus-visible{outline:none;border-color:var(--accent)}.mini-input .u{font-size:13px;color:var(--text-3)}.day-head{display:grid;grid-template-columns:60px minmax(0,1fr);gap:10px}.day-head .letter{height:56px;border-radius:var(--r-md);text-align:center;font-size:22px;font-weight:500;color:var(--accent-3);background:var(--accent-a14);border:1px solid var(--accent-a35)}.day-head .name{height:56px;font-size:16px;font-weight:500;border-radius:var(--r-md)}.ed-item{background:var(--surface-1);border-radius:var(--r-md);overflow:hidden;box-shadow:0 0 0 1px transparent;transition:box-shadow .15s}.ed-item.open{box-shadow:0 0 0 1px var(--accent-700)}.ed-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 8px 6px 14px}.ed-head>button:first-child{text-align:left;padding:8px 0;min-width:0;display:flex;flex-direction:column;gap:2px;color:inherit}.ed-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line)}.ed-target{display:grid;grid-template-columns:20px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.ed-target .n{font-size:12px;color:var(--text-4);text-align:center}.ed-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pick-track{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pick-track>button{height:40px;border-radius:var(--r-sm);border:1px solid var(--line-2);font-size:13px;color:var(--text)}.pick-track>button.on{border-color:var(--accent);color:var(--accent-100);background:var(--accent-a14)}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--text-4);flex:none}.sync-dot.idle{background:#6ed889}.sync-dot.syncing{background:var(--accent-2);animation:glow 1.2s infinite}.sync-dot.error{background:var(--danger)}.sync-dot.offline{background:var(--text-4)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.note{font-size:12.5px;color:var(--text-4);line-height:1.5;padding:2px}
