@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Barlow:wght@400;500;600;700&display=swap";#root{min-height:100vh}:root{color:#f3f8ef;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#020605;--panel:#08130fdb;--panel-strong:#0a1812f5;--line:#9fc2a133;--line-strong:#afd5ab5c;--text:#f3f8ef;--muted:#8f9d90;--soft:#08110d;--accent:#9ee65b;--accent-strong:#d8f88f;--gold:#d8f86a;--warn:#a8b95e;--danger:#b86b64;--shadow:0 18px 60px #0000006b;background:#020605;font-family:Barlow,Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #9ee65b09, transparent 30%), linear-gradient(135deg, #040d0af5, #020605f7 48%, #000202), var(--bg);min-width:320px;min-height:100vh;margin:0}body:before{pointer-events:none;content:"";opacity:.18;background-image:linear-gradient(#d8f88f06 1px,#0000 1px),linear-gradient(90deg,#d8f88f06 1px,#0000 1px);background-size:34px 34px;position:fixed;inset:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-shell{width:min(100%,980px);min-height:100vh;padding:14px 12px calc(164px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.loading-shell{align-content:center;place-items:center;gap:14px;display:grid}.loading-mark{border:1px solid var(--line-strong);background:var(--panel-strong);width:72px;height:72px;color:var(--accent-strong);border-radius:8px;place-items:center;font-family:Barlow Condensed,sans-serif;font-size:28px;font-weight:700;display:grid;overflow:hidden}.loading-mark img{object-fit:cover;width:100%;height:100%}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex;position:relative}.topbar:after{pointer-events:none;content:"";filter:drop-shadow(0 0 6px #9ee65b59);background:linear-gradient(90deg,#0000,#d8f88f8c,#0000);width:min(160px,42vw);height:2px;animation:4.8s ease-in-out infinite energySweep;position:absolute;bottom:-10px;right:8px;transform:skew(-28deg)}.brand-lockup,.topbar-right{align-items:center;gap:10px;display:flex}.brand-mark{background:#030605;border:1px solid #caff6257;border-radius:13px;flex:0 0 52px;place-items:center;width:52px;height:52px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 18px #9ee65b24,inset 0 0 20px #9ee65b0f}.brand-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand-mark:after{content:"";background:linear-gradient(180deg, #efff55, var(--accent));clip-path:polygon(56% 0,100% 0,63% 42%,100% 42%,30% 100%,46% 58%,4% 58%);filter:drop-shadow(0 0 6px #9ee65bb8);opacity:.94;width:13px;height:25px;animation:2.8s ease-in-out infinite boltBlink;position:absolute;bottom:6px;right:8px}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{letter-spacing:0;font-family:Barlow Condensed,Noto Sans TC,sans-serif}h1{margin-bottom:0;font-size:clamp(30px,7vw,52px);line-height:.94}.signal-pill,.counter-pill,.status-token,.today-chip{border:1px solid var(--line);min-height:36px;color:var(--text);white-space:nowrap;background:#edf5f20f;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:7px 11px;font-weight:700;display:inline-flex}.signal-pill{position:relative;overflow:hidden}.signal-pill:before{content:"";background:var(--accent);border-radius:999px;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 10px #9ee65b8c}.signal-pill.synced{color:#efffd6;background:#9ee65b0b;border-color:#9ee65b57}.signal-pill.pending{color:#ffe7a8;background:#e9c46a17;border-color:#e9c46a80}.signal-pill.pending:before{background:var(--gold);box-shadow:0 0 14px #e9c46ad1}.signal-pill.syncing:before{animation:.88s ease-in-out infinite signalPulse}.signal-pill.failed{color:#ffd0cb;background:#b86b641f;border-color:#b86b648f}.signal-pill.failed:before{background:#ff8f86;box-shadow:0 0 14px #ff8f86db}.today-chip{color:#ffe7a8;background:#e9c46a14;border-radius:8px;gap:6px;min-height:38px;padding:7px 9px}.today-chip span{color:#b9c7c1;font-size:12px}.today-chip strong{font-size:13px}.content-panel{min-height:68vh}.view-stack{gap:10px;display:grid}.hero-status,.workout-card,.exercise-block,.chart-card,.history-item,.metric-card,.notice{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff09, transparent), var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px}.hero-status{grid-template-columns:1fr;align-items:start;gap:12px;padding:14px;display:grid;position:relative;overflow:hidden}.hero-status:before{pointer-events:none;content:"";background:linear-gradient(110deg,#9ee65b0b,#0000 42%),linear-gradient(280deg,#e9c46a0b,#0000 42%);position:absolute;inset:0}.hero-status h2{margin-bottom:6px;font-size:clamp(24px,6vw,36px);line-height:1.02}.hero-status p{color:#b8c8c2;margin-bottom:0}.hero-status>*{position:relative}.hero-status>div:first-child{padding-right:82px}.hero-status>.status-token{min-height:34px;padding:5px 12px;position:absolute;top:16px;right:16px}.hero-meta-row{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.hero-meta-row span{color:#c9d8d2;background:#05090a42;border:1px solid #b1ccc529;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.status-token.go{color:var(--accent-strong);border-color:#9ee65b61}.status-token.rest{color:#f0c990;border-color:#d69d5a75}.date-strip,.button-row,.workout-header,.exercise-heading,.chart-heading,.section-title,.timer-bar,.notice{align-items:center;gap:10px;display:flex}.date-strip{grid-template-columns:42px minmax(0,1fr) 42px;align-items:stretch;gap:8px;width:100%;margin:0;display:grid}.date-strip label,.field{gap:6px;width:100%;display:grid}.date-strip label span,.field span{color:var(--muted);font-size:12px;font-weight:700}.date-card{background:linear-gradient(#edf5f20e,#edf5f206),#090e0fbd;border:1px solid #b1ccc52e;border-radius:8px;grid-template-columns:minmax(98px,.72fr) minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.date-display{min-width:0}.date-card strong{color:var(--text);white-space:nowrap;font-family:Barlow Condensed,Noto Sans TC,sans-serif;font-size:24px;line-height:.95;display:block}.date-card small{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700;display:block}.date-card em{color:#c7b789;margin-top:4px;font-size:11px;font-style:normal;font-weight:800;display:block}.date-weekday{color:var(--accent-strong)!important;font-size:13px!important}.date-kicker{color:var(--accent-strong);margin-bottom:5px;font-size:12px;font-weight:900;display:block}.date-picker-field{min-width:0;gap:4px!important}.date-picker-field input{width:100%;max-width:100%;min-height:32px;padding:6px 7px;font-size:12px}.date-input-shell{border:1px solid var(--line-strong);width:min(100%,176px);min-height:34px;color:var(--text);background:#030708e6;border-radius:8px;justify-self:end;align-items:center;display:grid;position:relative;overflow:hidden}.date-input-shell input{z-index:2;opacity:0;width:100%;height:100%;min-height:0;margin:0;padding:0;position:absolute;inset:0}.date-input-display{color:#dce7e1;text-align:center;white-space:nowrap;min-width:0;padding:0 30px 0 10px;font-size:13px;font-weight:700;line-height:34px}.date-input-shell svg{z-index:1;color:var(--muted);position:absolute;right:9px}.date-input-shell:focus-within{border-color:#d8f88fbd;box-shadow:0 0 0 2px #9ee65b1f}.date-step{width:42px;height:100%}.date-shortcuts{grid-column:2/3;justify-content:flex-end;display:flex}.today-button{color:#efffd6;background:#9ee65b0b;border:1px solid #9ee65b3d;border-radius:8px;justify-content:center;align-items:center;gap:5px;width:auto;min-height:28px;padding:4px 9px;font-size:12px;font-weight:900;display:inline-flex}input,textarea,select{border:1px solid var(--line-strong);width:100%;min-height:40px;color:var(--text);background:#05090ac7;border-radius:8px;padding:9px 10px}textarea{resize:vertical;min-height:84px}input:focus,textarea:focus,select:focus,button:focus-visible{outline-offset:2px;outline:2px solid #d8f88fd1}.primary-button,.secondary-button,.ghost-button,.icon-button,.defer-button{border:1px solid var(--line-strong);border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 12px;font-weight:800;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.primary-button{width:100%;color:var(--accent-strong);background:linear-gradient(#9ee65b24,#9ee65b11);border-color:#9ee65b6b}.secondary-button{color:#cfe0da;background:#edf5f20e}.secondary-button.danger{color:#ffd0cb;border-color:#b86b6457}.quiet-actions{justify-content:flex-end;display:flex}.defer-button{color:#c9b28f;background:#d69d5a0e;border-color:#d69d5a33;min-height:34px;padding:6px 9px;font-size:13px}.ghost-button{min-height:32px;color:var(--muted);background:0 0;margin-left:auto;padding:6px 9px;font-size:13px}.ghost-button.danger{color:#e6aea9;border-color:#b86b6447}.icon-button{width:40px;color:var(--text);background:#edf5f20f;flex:0 0 40px;padding:0}.primary-button:hover,.secondary-button:hover,.icon-button:hover,.ghost-button:hover,.defer-button:hover,.today-button:hover{border-color:var(--accent);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.62}.notice{color:#c9d8d2;padding:11px}.notice.success{background:#9ee65b0e;border-color:#9ee65b57}.toast,.record-toast{border:1px solid var(--line);background:var(--panel-strong);color:var(--text);border-radius:8px;margin-bottom:12px;padding:10px 12px;font-weight:700}.toast.inline,.record-toast{align-items:center;gap:8px;margin-bottom:0;display:flex}.record-toast{color:#ffe7a8;border-color:#e9c46aa8}.celebration-layer{z-index:140;pointer-events:none;background:radial-gradient(circle at 50% 44%,#ffe7a824,#0000 28%),#0000002e;animation:2.9s forwards celebrationDim;position:fixed;inset:0;overflow:hidden}.victory-halo{aspect-ratio:1;filter:drop-shadow(0 0 28px #e9c46a59);opacity:0;background:radial-gradient(circle,#ffe7a82e,#0000 58%),conic-gradient(from 90deg,#0000,#ffe7a894,#0000 34%,#d8f88f61,#0000 62%);border:1px solid #ffe7a86b;border-radius:999px;width:min(76vw,420px);animation:2.7s cubic-bezier(.18,.82,.24,1) forwards victoryHalo;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.victory-rays{position:absolute;inset:0}.victory-rays span{opacity:0;width:2px;height:min(34vh,220px);transform:translate(-50%, -50%) rotate(calc(var(--i) * 25.7deg)) translateY(-120px);transform-origin:bottom;animation:victoryRay 2.45s ease calc(var(--i) * 18ms) forwards;background:linear-gradient(#ffe7a800,#ffe7a8b8,#ffe7a800);border-radius:999px;position:absolute;top:44%;left:50%}.confetti-piece{background:linear-gradient(180deg, hsl(var(--h) 88% 70%), #ffe7a8);opacity:0;width:8px;height:20px;animation:confettiFly 2.75s cubic-bezier(.17, .74, .25, 1) var(--delay) forwards;border-radius:3px;position:absolute;box-shadow:0 0 10px #ffe7a847}.confetti-piece.side-0{top:calc(var(--slot) * 4.4%);--x:calc(112vw - var(--i) * .9vw);--y:calc(-28vh + var(--i) * 1.4vh);left:-22px}.confetti-piece.side-1{top:calc(var(--slot) * 4.2%);--x:calc(-112vw + var(--i) * .8vw);--y:calc(24vh - var(--i) * 1vh);right:-22px}.confetti-piece.side-2{top:-24px;left:calc(var(--slot) * 4.4%);--x:calc(18vw - var(--i) * .4vw);--y:106vh}.confetti-piece.side-3{bottom:-24px;left:calc(var(--slot) * 4.2%);--x:calc(-16vw + var(--i) * .42vw);--y:-106vh}.celebration-message{color:#ffe7a8;text-align:center;background:linear-gradient(145deg,#ffe7a821,#090c0cf0 42%),#0a0d0ef0;border:1px solid #ffe7a894;border-radius:12px;justify-items:center;gap:7px;width:min(300px,100% - 42px);padding:18px 20px;animation:2.75s cubic-bezier(.2,.82,.24,1) forwards celebrationPop;display:grid;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 72px #00000094,inset 0 0 28px #ffe7a814}.victory-medal{color:#4a3210;filter:drop-shadow(0 0 18px #ffe7a875);background:linear-gradient(145deg,#8d6616,#ffd76b 42%,#fff0b4 55%,#a87918);border:2px solid #ffe7a8bd;border-radius:999px;place-items:center;width:78px;height:78px;animation:2.2s forwards victoryMedal;display:grid}.celebration-message span{color:#fff1bd;letter-spacing:0;font-size:14px;font-weight:900}.celebration-message strong{font-family:Barlow Condensed,Noto Sans TC,sans-serif;font-size:42px;line-height:.92}.celebration-message small{color:#f7de9d;background:#ffe7a814;border:1px solid #ffe7a847;border-radius:999px;padding:5px 10px;font-weight:900}.medal-burst{z-index:142;color:#ffe7a8;pointer-events:none;background:radial-gradient(circle at 50% 0,#ffe7a833,#0000 48%),#0c0c0af0;border:1px solid #e9c46aa8;border-radius:8px;justify-items:center;gap:7px;width:min(280px,100% - 36px);padding:18px;animation:2.35s forwards medalCard;display:grid;position:fixed;top:24%;left:50%;transform:translate(-50%);box-shadow:0 22px 70px #00000094}.medal-burst-medal{color:#4a3210;background:linear-gradient(145deg,#8d6616,#ffd76b 42%,#fff0b4 55%,#a87918);border:2px solid #ffe7a8c7;border-radius:999px;place-items:center;width:74px;height:74px;animation:1.15s cubic-bezier(.25,.8,.3,1) infinite medalSpin;display:grid}.medal-burst strong{font-family:Barlow Condensed,Noto Sans TC,sans-serif;font-size:32px;line-height:.9}.medal-burst span{color:#f8df9f;text-align:center;font-size:13px;font-weight:800}.exercise-burst-layer{z-index:138;pointer-events:none;background:radial-gradient(circle at 50% 45%,#4aa9ff29,#0000 29%),linear-gradient(90deg,#2c84ff2e,#0000 24% 76%,#2c84ff2e),#0000001f;animation:2s forwards exerciseFlash;position:fixed;inset:0;overflow:hidden}.exercise-energy-rail{opacity:0;filter:drop-shadow(0 0 14px #50b4ffe6);background:linear-gradient(#0000,#80d7ff,#2473ff,#80d7ff,#0000);border-radius:999px;width:4px;animation:1.82s forwards energyRail;position:absolute;top:9%;bottom:9%}.exercise-energy-rail.left{left:9%}.exercise-energy-rail.right{right:9%}.exercise-bolt{top:calc(10% + (var(--i) % 7) * 11%);clip-path:polygon(56% 0,100% 0,68% 36%,100% 36%,24% 100%,42% 52%,0 52%);filter:drop-shadow(0 0 10px #50b4ffe6)drop-shadow(0 0 22px #2474ff8c);opacity:0;width:28px;height:118px;transform:translateX(0) scale(var(--scale)) rotate(var(--rotate));animation:boltStrike 1.42s cubic-bezier(.2, .85, .24, 1) var(--delay) forwards;background:linear-gradient(#e9f6ff,#51b8ff 46%,#1a68ff);position:absolute}.exercise-bolt.side-left{--rotate:-18deg;--travel:48vw;left:-34px}.exercise-bolt.side-right{--rotate:18deg;--travel:-48vw;right:-34px}.exercise-spark{opacity:0;width:5px;height:5px;animation:sparkScatter 1.25s cubic-bezier(.2, .85, .24, 1) var(--delay) forwards;background:#dff6ff;border-radius:999px;position:absolute;top:50%;left:50%;box-shadow:0 0 10px #69c6fff2,0 0 24px #2474ff80}.exercise-burst-message{color:#eaf7ff;text-align:center;background:radial-gradient(circle at 50% 0,#60c2ff38,#0000 52%),#050a0fe6;border:1px solid #76c6ff94;border-radius:12px;place-items:center;gap:7px;width:min(280px,100% - 42px);padding:16px 18px;animation:2s forwards exerciseMessage;display:grid;position:fixed;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 42px #3a9eff61,inset 0 0 22px #48b1ff1f}.exercise-burst-message svg{color:#60c2ff;filter:drop-shadow(0 0 10px #4aa9ffcc)}.exercise-burst-message strong{font-family:Barlow Condensed,Noto Sans TC,sans-serif;font-size:30px;line-height:.95}.exercise-burst-message span{color:#bfeaff;text-align:center;background:#4aa9ff1f;border:1px solid #76c6ff57;border-radius:999px;padding:4px 12px;font-family:Barlow Condensed,Noto Sans TC,sans-serif;font-size:22px;font-weight:900}.workout-card{background:linear-gradient(#9ee65b07,#0000 34%),#0d1516eb;gap:12px;padding:12px;display:grid}.workout-header{justify-content:space-between}.workout-header h3,.section-title h2{margin-bottom:0;font-size:27px}.progress-track{background:#edf5f20f;border:1px solid #9ee65b24;border-radius:999px;height:7px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#9ee65b,#d8f88f);height:100%;transition:width .22s;display:block;box-shadow:0 0 12px #9ee65b33}.timer-bar{right:auto;bottom:calc(112px + env(safe-area-inset-bottom));z-index:30;width:min(100% - 24px,560px);color:var(--text);background:linear-gradient(120deg,#9ee65b12,#0000 44%),#060a0bf5;border:1px solid #9ee65b4d;border-radius:8px;justify-content:space-between;padding:15px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 40px #0000006b}.timer-bar strong{color:var(--accent-strong);font-family:Barlow Condensed,Noto Sans TC,sans-serif;font-size:clamp(46px,13vw,72px);line-height:.86;display:block}.timer-sound-status{color:#aebdb7;margin-top:6px;font-size:12px;font-weight:800;display:inline-block}.timer-sound-status.ready{color:#ffe7a8}.timer-bar.done{border-color:#e9c46ab8}.timer-bar.done strong{color:#ffe7a8}.timer-actions{grid-template-columns:repeat(2,minmax(48px,1fr));gap:6px;display:grid}.timer-actions button{border:1px solid var(--line);min-height:36px;color:var(--text);background:#edf5f214;border-radius:8px;font-weight:800}.timer-actions .timer-sound-button{color:#ffe7a8;background:#e9c46a14;border-color:#e9c46a57;grid-column:1/-1}.timer-dock-spacer{height:150px}.rest-done-notice{right:14px;bottom:calc(112px + env(safe-area-inset-bottom));z-index:132;color:#ffe7a8;background:linear-gradient(120deg,#e9c46a33,#0000 48%),#090c0cf5;border:1px solid #e9c46ab8;border-radius:8px;align-items:center;gap:10px;max-width:560px;margin:0 auto;padding:12px 14px;animation:2.45s forwards restNoticePop;display:flex;position:fixed;left:14px;box-shadow:0 18px 48px #0000007a}.rest-done-notice strong,.rest-done-notice span{display:block}.rest-done-notice strong{font-family:Barlow Condensed,Noto Sans TC,sans-serif;font-size:24px;line-height:.95}.rest-done-notice span{color:#f6df9d;font-size:13px;font-weight:800}.exercise-list{gap:12px;display:grid}.exercise-block{background:linear-gradient(#edf5f207,#0000),#121c1ddb;gap:10px;padding:11px;display:grid}.superset-block{background:linear-gradient(#26231aeb,#162021e6);border-color:#e9c46a57}.superset-heading{border-bottom:1px solid #e9c46a38;justify-content:space-between;align-items:start;gap:12px;padding-bottom:10px;display:flex}.superset-heading h4{color:#ffe7a8;margin:0;font-size:22px}.superset-heading span{color:#f2d68b;text-align:right;max-width:50%;font-size:12px;font-weight:800}.single-exercise,.superset-exercise{gap:10px;display:grid}.superset-exercise+.superset-exercise{border-top:1px solid #edf5f214;padding-top:10px}.exercise-heading{justify-content:space-between;align-items:start}.exercise-heading h4{margin-bottom:3px;font-size:24px}.exercise-heading p,.exercise-note{color:var(--muted);margin-bottom:0}.exercise-tools{justify-items:end;gap:6px;min-width:128px;display:grid}.exercise-tools .unit-toggle{width:92px}.rest-controls{gap:6px;min-width:104px;display:grid}.rest-adjuster{border:1px solid var(--line);background:#edf5f20b;border-radius:8px;grid-template-columns:1fr 24px 24px;align-items:center;gap:4px;padding:4px;display:grid}.rest-adjuster span{color:#d7e3df;font-size:12px;font-weight:800}.rest-adjuster button{width:24px;height:24px;color:var(--accent-strong);background:#9ee65b16;border:0;border-radius:6px;place-items:center;display:grid}.progression-card{background:#9ee65b09;border:1px solid #9ee65b29;border-radius:8px;gap:4px;padding:9px 10px;display:grid}.progression-card span{color:var(--muted);font-size:12px;font-weight:700}.progression-card strong{color:#efffd6;font-size:13px}.routine-advice-card{background:#9ee65b0a;border:1px solid #9ee65b2e;border-radius:8px;gap:10px;padding:12px;display:grid}.routine-advice-card.yellow{background:#d69d5a14;border-color:#d69d5a57}.routine-advice-card.red{background:#b86b641a;border-color:#b86b646b}.routine-advice-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.routine-advice-heading h4{color:var(--text);margin:2px 0 0;font-size:16px;line-height:1.25}.routine-advice-heading span{color:var(--accent-strong);border:1px solid #edf5f22e;border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:800}.routine-advice-focus,.routine-advice-card li{color:#cfe2dd;margin:0;font-size:13px;line-height:1.45}.routine-advice-card ul{gap:5px;margin:0;padding-left:18px;display:grid}.routine-advice-list{gap:7px;display:grid}.routine-advice-list div{border-top:1px solid #edf5f214;gap:2px;padding-top:7px;display:grid}.routine-advice-list strong{color:var(--accent-strong);font-size:13px}.routine-advice-list span{color:#efffd6;font-size:13px;line-height:1.35}.set-grid{gap:7px;display:grid}.set-row{background:#04080980;border:1px solid #0000;border-radius:8px;grid-template-columns:96px 84px 60px 44px;justify-content:space-between;align-items:end;gap:8px;padding:8px;display:grid;position:relative}.set-row.done{background:linear-gradient(90deg,#9ee65b1f,#9ee65b09 48%,#04080994),#9ee65b0a;border-color:#9ee65b70;box-shadow:inset 3px 0 #d8f88fb8,0 0 0 1px #9ee65b12,0 8px 22px #9ee65b0d}.set-row.recorded{border-color:#e9c46a94;box-shadow:inset 4px 0 #e9c46aeb,0 0 0 1px #e9c46a29,0 10px 28px #e9c46a1a}.set-row.superset-set{border-color:#e9c46a21}.set-kind{text-align:center;border-radius:8px;justify-content:center;align-items:center;min-height:38px;padding:4px 6px;font-size:13px;font-weight:900;display:inline-flex}.set-kind.warmup{color:#c1d0ca;background:#91a39d29}.set-kind.working{color:var(--accent-strong);background:#9ee65b14}.set-row.done .set-kind.working{color:#ecfffb;background:#9ee65b29}.set-row.done label span{color:#efffd6}.set-row.done input{color:#ecfffb;background:#030c0cc7;border-color:#9ee65b47}.set-row label{gap:4px;display:grid}.set-row label span{color:var(--muted);font-size:11px;font-weight:800}.set-row input{text-align:center;min-height:34px;padding:6px 8px}.set-row .icon-button{flex-basis:auto;width:100%;min-height:38px}.weight-field input{max-width:none}.unit-toggle{border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.unit-toggle button{min-height:34px;color:var(--muted);background:0 0;border:0;font-size:11px;font-weight:900}.unit-toggle button.active{color:var(--accent-strong);background:#9ee65b1a}.icon-button.checked{color:#03130d;background:#d8f88f;border-color:#d8f88fd1;box-shadow:0 0 14px #9ee65b33}.medal{width:26px;height:26px;color:var(--gold);background:#2a2415;border:1px solid #e9c46ab8;border-radius:999px;place-items:center;display:grid;position:absolute;top:-8px;right:42px}.note-input{min-height:40px}.record-summary{background:#e9c46a12;border:1px solid #e9c46a57;border-radius:8px;gap:7px;padding:10px;display:grid}.record-summary span{color:#ffe7a8;align-items:center;gap:6px;font-size:13px;font-weight:800;display:flex}.settings-danger-zone{background:#b86b6412;border:1px solid #b86b6447;border-radius:8px;gap:12px;padding:12px;display:grid}.settings-card{background:linear-gradient(145deg,#edf5f209,#0000 52%),#080e0eb8;border:1px solid #b1ccc529;border-radius:8px;gap:12px;padding:12px;display:grid}.settings-card-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.settings-card p{color:#b7c7c1;margin:0;font-size:13px;line-height:1.45}.sound-status{color:#aebdb7;border:1px solid #b1ccc533;border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-weight:900}.sound-status.ready{color:#ffe7a8;border-color:#e9c46a75}.program-import-panel{gap:10px;display:grid}.settings-danger-zone h3{margin-bottom:4px;font-size:24px}.settings-danger-zone p{color:#d6bbb8;margin-bottom:0;font-size:13px;line-height:1.45}.json-box{min-height:52vh;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.button-row{justify-content:stretch}.button-row>*{flex:1}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:7px;display:grid}.calendar-grid button{aspect-ratio:1;border:1px solid var(--line);color:var(--muted);background:#edf5f20b;border-radius:8px;font-weight:900}.calendar-grid button.trained{color:var(--accent-strong);border-color:#9ee65b61}.calendar-grid button.skipped{color:#f0c990;border-color:#d69d5a80}.calendar-grid button.extra{color:#ffe7a8;border-color:#e9c46a94}.calendar-grid button.selected{color:var(--text);background:#9ee65b1a}.history-list,.metric-grid{gap:12px;display:grid}.history-item{justify-content:space-between;gap:12px;padding:12px;display:flex}.history-item h3{margin-bottom:4px;font-size:24px}.history-item p{color:var(--muted);margin-bottom:0}.record-line{font-weight:800;color:#ffe7a8!important}.history-item strong{color:var(--accent-strong);white-space:nowrap}.metric-grid{grid-template-columns:repeat(3,1fr)}.metric-card{gap:8px;padding:12px;display:grid}.metric-card span{color:var(--muted);font-weight:800}.metric-card strong{font-family:Barlow Condensed,sans-serif;font-size:42px;line-height:.9}.metric-card small{color:var(--muted);margin-left:3px;font-size:16px}.chart-card{padding:12px}.chart-heading{justify-content:space-between;align-items:start;margin-bottom:12px}.chart-heading select{max-width:180px}.section-title{align-items:start}.section-title p{color:var(--muted);margin-bottom:0}.chart-frame{width:100%;height:280px}.empty-state{height:100%;color:var(--muted);place-items:center;font-weight:800;display:grid}.tabbar{border:1px solid var(--line);width:min(100%,980px);max-width:none;padding:10px 16px calc(22px + env(safe-area-inset-bottom));background:#090d0e;border-bottom:0;border-radius:12px 12px 0 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 auto;display:grid;position:fixed;bottom:0;left:50%;right:0;transform:translate(-50%);box-shadow:0 12px 36px #0000006b}.tabbar button{width:100%;min-height:62px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;font-size:13px;font-weight:800;display:grid}.tabbar button svg{width:22px;height:22px}.tabbar button.active{color:var(--accent-strong);background:#9ee65b16}@media (width>=760px){.app-shell{padding-inline:28px}.history-list{grid-template-columns:repeat(2,1fr)}.exercise-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.topbar{gap:10px;display:grid}.brand-lockup,.topbar-right{width:100%}.topbar-right{justify-content:space-between}h1{font-size:44px}}@media (width<=440px){.hero-status{grid-template-columns:1fr}.timer-bar{bottom:calc(122px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;padding:12px}.rest-done-notice{bottom:calc(122px + env(safe-area-inset-bottom))}.timer-bar strong{font-size:44px}.date-card{grid-template-columns:minmax(86px,.62fr) minmax(0,1.38fr)}.date-input-shell{width:min(100%,168px)}.set-row{grid-template-columns:88px 76px 54px 42px;gap:6px;padding:7px}.set-kind{font-size:12px}.unit-toggle button{font-size:11px}}@media (width<=370px){.date-strip{grid-template-columns:36px minmax(0,1fr) 36px;gap:6px}.date-step{width:36px}.date-card{grid-template-columns:minmax(76px,.56fr) minmax(0,1.44fr);padding:7px}.date-input-shell{width:min(100%,150px)}.set-row{grid-template-columns:78px 66px 48px 38px;gap:5px;padding:6px}.set-row .icon-button{flex-basis:auto;width:100%}}@keyframes signalPulse{0%,to{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1.14)}}@keyframes confettiFly{0%{opacity:0;transform:translate(0,0)rotate(0)scale(.9)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--x), var(--y), 0) rotate(680deg) scale(.78)}}@keyframes celebrationDim{0%,to{opacity:0}12%,78%{opacity:1}}@keyframes victoryHalo{0%{opacity:0;transform:translate(-50%,-50%)scale(.36)rotate(0)}18%{opacity:1}72%{opacity:.82;transform:translate(-50%,-50%)scale(1)rotate(110deg)}to{opacity:0;transform:translate(-50%,-50%)scale(1.14)rotate(160deg)}}@keyframes victoryRay{0%{opacity:0;transform:translate(-50%, -50%) rotate(calc(var(--i) * 25.7deg)) translateY(-70px) scaleY(.3)}20%,70%{opacity:.82;transform:translate(-50%, -50%) rotate(calc(var(--i) * 25.7deg)) translateY(-132px) scaleY(1)}to{opacity:0;transform:translate(-50%, -50%) rotate(calc(var(--i) * 25.7deg)) translateY(-150px) scaleY(.72)}}@keyframes celebrationPop{0%{opacity:0;transform:translate(-50%,-44%)scale(.82)}18%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-54%)scale(.94)}}@keyframes victoryMedal{0%{transform:rotateY(0)scale(.84)}28%,70%{transform:rotateY(360deg)scale(1)}to{transform:rotateY(420deg)scale(.96)}}@keyframes restNoticePop{0%{opacity:0;transform:translateY(12px)scale(.96)}14%,76%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes energySweep{0%,52%,to{opacity:.28;transform:translate(-10px)skew(-28deg)}62%{opacity:1;transform:translate(12px)skew(-28deg)}}@keyframes boltBlink{0%,58%,to{opacity:.72;transform:translateY(0)scale(.94)}64%{opacity:1;transform:translateY(-1px)scale(1.08)}68%{opacity:.78;transform:translateY(0)scale(.98)}74%{opacity:1;transform:translateY(-1px)scale(1.04)}}@keyframes medalCard{0%{opacity:0;transform:translate(-50%,12px)scale(.86)}18%,76%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-8px)scale(.94)}}@keyframes medalSpin{0%{transform:rotateY(0)rotate(-4deg)}to{transform:rotateY(360deg)rotate(-4deg)}}@keyframes exerciseFlash{0%{opacity:0}12%,78%{opacity:1}to{opacity:0}}@keyframes energyRail{0%{opacity:0;transform:scaleY(.18)}18%,72%{opacity:.96;transform:scaleY(1)}to{opacity:0;transform:scaleY(.42)}}@keyframes boltStrike{0%{opacity:0;transform:translateX(0) scale(var(--scale)) rotate(var(--rotate))}16%{opacity:1}72%{opacity:.92;transform:translateX(var(--travel)) scale(var(--scale)) rotate(var(--rotate))}to{opacity:0;transform:translateX(calc(var(--travel) * 1.18)) scale(calc(var(--scale) * .9)) rotate(var(--rotate))}}@keyframes sparkScatter{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(.92)}}@keyframes exerciseMessage{0%{opacity:0;transform:translate(-50%,-44%)scale(.9)}18%,72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-54%)scale(.96)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
