:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;overscroll-behavior-y:none;color:#f3e7cf;font-synthesis:none;text-rendering:optimizelegibility;--canvas:#1d120d;--surface:#2b1b13;--surface-soft:#3a2519;--ink:#f3e7cf;--ink-muted:#b09677;--coral:#e0532f;--coral-action:#c2431f;--coral-deep:#8f2e14;--gold:#d89a16;--gold-light:#f4c75a;--teal:#adbd6b;--teal-soft:#a4b46529;--panel:linear-gradient(165deg, #301f17, #241610);--panel-line:#f4c75a42;--field:#00000047;--metal-edge:linear-gradient(165deg, #ffe9a8, #9a6a16 38%, #f2c65c 62%, #7d5410);--plaque-sheen:linear-gradient(180deg, #ffffff14, #00000042 82%);--rivets:radial-gradient(circle 1.6px at 7px 7px, #ffe9a8d9 1.6px, transparent 2.4px), radial-gradient(circle 1.6px at calc(100% - 7px) 7px, #ffe9a8d9 1.6px, transparent 2.4px), radial-gradient(circle 1.6px at 7px calc(100% - 7px), #ffe9a8d9 1.6px, transparent 2.4px), radial-gradient(circle 1.6px at calc(100% - 7px) calc(100% - 7px), #ffe9a8d9 1.6px, transparent 2.4px);--rivets-dark:radial-gradient(circle 1.6px at 7px 7px, #7a5410bf 1.6px, transparent 2.4px), radial-gradient(circle 1.6px at calc(100% - 7px) 7px, #7a5410bf 1.6px, transparent 2.4px), radial-gradient(circle 1.6px at 7px calc(100% - 7px), #7a5410bf 1.6px, transparent 2.4px), radial-gradient(circle 1.6px at calc(100% - 7px) calc(100% - 7px), #7a5410bf 1.6px, transparent 2.4px);--display-font:ui-rounded, "Arial Rounded MT Bold", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", ui-sans-serif, system-ui, sans-serif;--timer-font:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif TC", "Times New Roman", serif;background:#17100c;font-family:ui-rounded,Arial Rounded MT Bold,PingFang TC,Noto Sans TC,Microsoft JhengHei,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0}body{min-width:320px;overflow-x:hidden}body[data-overlay-open=true]{overflow:hidden}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible{outline-offset:3px;outline:3px solid #f4c75aa6}.page-backdrop{background:radial-gradient(circle at 14% 15%,#f4c75a24,#0000 28%),radial-gradient(circle at 86% 82%,#e0532f1a,#0000 30%),linear-gradient(135deg,#241611,#17100c 56%,#0f0b08);place-items:center;min-height:100svh;display:grid}.app-shell{isolation:isolate;background:var(--canvas);width:min(100%,480px);min-height:100svh;position:relative;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--gold);letter-spacing:.17em;font-size:.61rem;font-weight:900}.today-scene{background:#241711;min-height:100svh;position:relative;overflow:hidden}.gym-background,.scene-light,.scene-vignette{width:100%;height:100%;position:absolute;inset:0}.gym-background{object-fit:cover;object-position:50% center;filter:saturate(.88)brightness(1.04)}.scene-light{background:radial-gradient(circle at 78% 20%,#fffadc75,#0000 22%),linear-gradient(#fff8ed2e 0%,#0000 42%),linear-gradient(90deg,#fff0cf38,#0000 45%)}.scene-vignette{background:linear-gradient(#0000 44%,#5d351f14 65%,#35272252 100%);box-shadow:inset 0 0 88px #46271733}.scene-header{z-index:8;top:calc(6px + env(safe-area-inset-top));height:64px;position:absolute;left:7px;right:7px}.hud-backdrop{z-index:0;border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(9px)saturate(.9);backdrop-filter:blur(9px)saturate(.9);pointer-events:none;background:linear-gradient(135deg,#291a138c,#1e130d8c);border-radius:4px;position:absolute;inset:7px 11px}.top-hud-art{z-index:1;pointer-events:none;filter:drop-shadow(0 7px 14px #5b351b33);border:0 solid #0000;border-width:0 66px;border-image:url(/ui/bar-frame.png) 0 172 fill;position:absolute;inset:0}.scene-header-content{z-index:2;justify-content:space-between;align-items:center;height:100%;padding:8px 43px 7px 41px;display:flex;position:relative}.date-block{gap:1px;display:grid}.date-block strong{color:var(--ink);font-family:var(--display-font);letter-spacing:.02em;font-size:.86rem;font-weight:900}.menu-button,.round-button,.icon-button{color:var(--ink);cursor:pointer;border:0;justify-content:center;align-items:center;display:inline-flex}.menu-button{min-height:38px;color:var(--gold-light);letter-spacing:.1em;background:0 0;border-radius:3px;gap:5px;padding:0 5px 0 9px;font-size:.67rem;font-weight:900}.menu-button svg,.round-button svg,.icon-button svg,.text-button svg,.menu-item>svg,.management-card>svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:20px;height:20px}.plan-ribbon{z-index:7;top:calc(77px + env(safe-area-inset-top));color:#f6ecd6;background:var(--rivets), linear-gradient(180deg, #ffffff1a, transparent 44%), linear-gradient(100deg, #33200f94, #57351b8c);-webkit-backdrop-filter:blur(8px)saturate(.9);backdrop-filter:blur(8px)saturate(.9);border:1px solid #f4c75ab8;border-radius:3px;align-items:center;gap:8px;min-width:160px;padding:8px 18px 8px 14px;display:flex;position:absolute;left:10px;box-shadow:0 7px 18px #00000057,inset 0 0 0 1px #f2c65c4d}.plan-ribbon:after{background:var(--gold-light);content:"";width:28px;height:1px;position:absolute;bottom:-7px;right:14px;box-shadow:8px 0 #f4c75a6b}.plan-ribbon>span{color:var(--coral);text-shadow:0 0 8px #e0532f80;font-size:.9rem}.plan-ribbon div{line-height:1.05;display:grid}.plan-ribbon small{color:var(--gold-light);letter-spacing:.14em;font-size:.5rem;font-weight:900}.plan-ribbon strong{color:#fff3dc;letter-spacing:.05em;margin-top:3px;font-size:.8rem}.character-stage{z-index:3;pointer-events:none;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:40px 0 0;overflow:hidden}.hikari-character-wrap{aspect-ratio:2/3;filter:drop-shadow(0 18px 20px #4a2a183d);height:min(110svh,820px);margin-top:18px;display:block;position:relative}.hikari-character{width:100%;height:100%;display:block}.hikari-mouth-layer{pointer-events:none;will-change:opacity;width:6.25%;height:4.1667%;position:absolute;top:14.5833%;left:47.4609%}.character-stage.is-speaking .hikari-mouth-layer{animation:.54s step-end infinite hikari-mouth-talk}.sparkle{z-index:2;color:#0000;width:18px;height:18px;animation:2.8s ease-in-out infinite shimmer;position:absolute}.sparkle:before,.sparkle:after{box-shadow:0 0 10px var(--gold-light);content:"";background:#fffdf4;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sparkle:before{width:2px;height:22px}.sparkle:after{width:22px;height:2px}.sparkle-one{top:23%;right:12%}.sparkle-two{animation-delay:-1.2s;top:48%;left:13%;transform:scale(.7)}.dialogue-panel{z-index:6;right:6px;bottom:calc(6px + env(safe-area-inset-bottom));filter:drop-shadow(0 14px 22px #4026184d);min-height:249px;position:absolute;left:6px}.dialogue-backdrop,.dialogue-frame-art{pointer-events:none;position:absolute}.dialogue-backdrop{z-index:0;border:1px solid var(--panel-line);background:linear-gradient(160deg,#291a1380,#1e130d80);border-radius:6px;inset:10px;box-shadow:inset 0 0 24px #d89a1614}.dialogue-frame-art{z-index:2;border:72px solid #0000;border-image:url(/ui/window-frame.png) 180;inset:0}.dialogue-content{z-index:3;padding:36px 57px 28px;position:relative}.nameplate{--plate-slant:14px;z-index:1;width:fit-content;height:36px;padding:0 calc(var(--plate-slant) + 3px) 0 13px;color:var(--ink);filter:drop-shadow(0 5px 8px #00000059);align-items:center;gap:6px;display:flex;position:absolute;top:-27px;left:0}.nameplate-backdrop{z-index:0;background:var(--rivets), #21150f80;clip-path:polygon(0 0, calc(100% - var(--plate-slant)) 0, 100% 100%, 0 100%);position:absolute;inset:0;box-shadow:inset 0 1px #ffecb42e}.nameplate-art{z-index:1;background:var(--metal-edge);clip-path:polygon(0 0, calc(100% - var(--plate-slant)) 0, 100% 100%, 0 100%, 0 0, 2px 2px, 2px calc(100% - 2px), calc(100% - 3px) calc(100% - 2px), calc(100% - var(--plate-slant) - 2px) 2px, 2px 2px);position:absolute;inset:0}.nameplate span,.nameplate strong{z-index:2;position:relative}.nameplate span{color:var(--teal);letter-spacing:.12em;font-size:.47rem;font-weight:900}.nameplate strong{font-family:var(--display-font);letter-spacing:.06em;font-size:.94rem;font-weight:900}.dialogue-line{position:relative}.dialogue-copy,.dialogue-line-sizer{width:100%;color:var(--ink);font-family:var(--display-font);text-align:left;text-shadow:0 1px #00000073;background:0 0;border:0;margin:0;padding:0;font-size:clamp(.91rem,3.8vw,1.02rem);font-weight:800;line-height:1.48}.dialogue-line-sizer{visibility:hidden;min-height:2.75em}.dialogue-copy{position:absolute;inset:0}.dialogue-copy.is-typing,.result-dialogue-copy.is-typing{cursor:pointer}.talking-dialogue-visual{white-space:pre-wrap}.dialogue-copy.is-complete:after{border-right:2px solid var(--coral);border-bottom:2px solid var(--coral);content:"";width:7px;height:7px;margin-left:7px;animation:1.4s ease-in-out infinite prompt-bob;display:inline-block;transform:rotate(45deg)translateY(-2px)}.plan-summary{border-top:1px solid #d89a1657;justify-content:space-between;align-items:center;gap:8px;margin-top:5px;padding-top:6px;display:flex}.plan-summary>div{gap:1px;display:grid}.plan-summary>div span{font-size:.76rem;font-weight:900}.plan-summary small{color:var(--ink-muted);font-size:.63rem}.text-button{min-height:34px;color:var(--teal);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:3px;align-items:center;gap:1px;padding:0 1px 0 6px;font-size:.68rem;font-weight:900;display:inline-flex}.text-button svg{width:16px;height:16px}.primary-button,.secondary-button{cursor:pointer;border-radius:3px;min-height:48px;font-weight:900;position:relative}.primary-button{color:#4a2f08;background:var(--rivets-dark), linear-gradient(180deg, #ffedb0, #f5c95d 30%, #d89a24 70%, #b1780f);text-shadow:0 1px #ffffff8c;border:1px solid #6f4a10;place-content:center;width:100%;min-height:54px;margin-top:12px;transition:transform 90ms,box-shadow 90ms,filter 90ms;display:grid;box-shadow:inset 0 1px #ffffffa6,0 3px #6f4a10,0 6px 12px #0000004d}.primary-button:active:not(:disabled){filter:brightness(.97);transform:translateY(2px);box-shadow:inset 0 1px #ffffff80,0 1px #6f4a10,0 3px 6px #00000042}.primary-button span,.primary-button small{z-index:1;position:relative}.primary-button span{font-family:var(--display-font);letter-spacing:.08em;font-size:.9rem;font-weight:900}.primary-button.game-button span{color:#47290a;text-shadow:0 1px #eccd8b,0 2px #c1974f,0 3px 4px #2e1c086b;font-size:1.3rem}.primary-button small{color:#8a5a20;letter-spacing:.16em;margin-top:1px;font-size:.48rem}.primary-button.game-button small{margin-top:2px;font-size:.58rem}.primary-button:disabled,.secondary-button:disabled,.confirm-button:disabled,.workout-menu-action:disabled,.progress-exercise:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.62}.overlay-layer{z-index:20;place-items:center;width:min(100%,480px);height:100dvh;display:grid;position:fixed;top:0;left:50%;transform:translate(-50%)}.overlay-backdrop{cursor:pointer;-webkit-backdrop-filter:blur(6px)saturate(.75);backdrop-filter:blur(6px)saturate(.75);background:radial-gradient(circle at 50% 35%,#e0532f29,#0000 34%),#100a07bd;border:0;width:100%;animation:.18s ease-out fade-in;position:absolute;inset:0}.game-menu{z-index:1;width:min(100% - 24px,400px);max-height:calc(100dvh - 26px);color:var(--ink);animation:.24s cubic-bezier(.22,1,.36,1) menu-in;position:relative;overflow:hidden}.menu-backdrop{border:1px solid var(--panel-line);-webkit-backdrop-filter:blur(8px)saturate(.86);backdrop-filter:blur(8px)saturate(.86);pointer-events:none;background:linear-gradient(160deg,#301f17f5,#241610eb);border-radius:6px;position:absolute;inset:10px;box-shadow:inset 0 0 24px #d89a1614}.menu-frame-art{pointer-events:none;filter:drop-shadow(0 20px 36px #16100e75);border:72px solid #0000;border-image:url(/ui/window-frame.png) 180;position:absolute;inset:0}.menu-inner{z-index:1;flex-direction:column;padding:clamp(46px,7vh,56px) 48px 42px;display:flex;position:relative}.menu-inner .menu-header{text-align:center;display:block;position:relative}.menu-close{color:#7a4a1c;background:linear-gradient(#ffedb0,#f5c95d 30%,#d89a24 62%,#b1780f 86%,#eec05a);border:0;border-radius:50%;width:44px;height:44px;transition:transform 90ms,box-shadow 90ms;position:absolute;top:50%;right:0;transform:translateY(-50%);box-shadow:inset 0 1px #ffffffb3,0 0 0 1px #5e3c0e7a,0 3px #8a5c14,0 6px 12px #46280c4d}.menu-close:before{content:"";background:linear-gradient(#fffdf4,#fcecce 62%,#f5dcae);border-radius:50%;position:absolute;inset:5px;box-shadow:inset 0 2px 2px #ffffffe6,inset 0 -3px 6px #c48a2c59}.menu-close svg{position:relative}.menu-close:active{transform:translateY(calc(2px - 50%));box-shadow:inset 0 1px #ffffff8c,0 0 0 1px #5e3c0e7a,0 1px #8a5c14,0 3px 6px #46280c3d}.menu-divider{color:var(--gold);align-items:center;gap:10px;margin:15px 0 0;font-size:.72rem;display:flex}.menu-divider:before,.menu-divider:after{content:"";background:linear-gradient(90deg,#0000,#d89a16bf);flex:1;height:1px}.menu-divider:after{background:linear-gradient(270deg,#0000,#d89a16bf)}.menu-header,.sheet-header{justify-content:space-between;align-items:center;display:flex}.menu-header h2,.sheet-header h2,.management-title h1{font-family:var(--display-font);letter-spacing:.04em;margin:2px 0 0;font-weight:900}.menu-header h2{font-size:1.58rem}.icon-button,.round-button{background:#261811db;border:1px solid #d89a1673;border-radius:50%;width:40px;height:40px;box-shadow:inset 0 0 0 1px #f2c65c38}.menu-list{gap:12px;margin-top:18px;display:grid}.menu-item{min-height:clamp(54px,8vh,64px);color:var(--ink);background:var(--rivets), var(--plaque-sheen), var(--surface);cursor:pointer;text-align:left;border:1px solid #6f4a10;border-radius:3px;grid-template-columns:30px 1fr 18px;align-items:center;gap:7px;padding:7px 20px 7px 18px;transition:transform 90ms,box-shadow 90ms;display:grid;box-shadow:inset 0 0 0 1px #f2c65c52,inset 0 1px #ffffff1f,0 3px #0000004d}.menu-item:active{transform:translateY(2px);box-shadow:inset 0 0 0 1px #f2c65c52,0 1px #0000004d}.menu-item-number,.menu-item-copy,.menu-item>svg{z-index:1;position:relative}.menu-item.is-active .menu-item-number{color:var(--gold-light)}.menu-item.is-active{box-shadow:inset 0 0 0 2px #f4c75a8c,inset 0 1px #ffffff1f,0 3px #0000004d}.menu-item-number{color:#d9a94c;font-family:var(--display-font);font-size:.96rem;font-weight:900}.menu-item-copy{gap:1px;display:grid}.menu-item-copy small{color:var(--teal);letter-spacing:.13em;font-size:.46rem;font-weight:900}.menu-item-copy strong{font-family:var(--display-font);font-size:.88rem;font-weight:900}.menu-item-copy span{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.menu-item>svg{color:#d9a94c;width:17px}.menu-footnote{color:var(--ink-muted);text-align:center;margin:18px 0 0;font-size:.62rem}.sheet-layer{align-items:flex-end;display:flex}.schedule-sheet{z-index:1;width:calc(100% - 12px);max-height:min(80dvh,720px);padding:13px 24px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain;border:3px solid;border-image:var(--metal-edge) 1;background:radial-gradient(circle at 12% 4%, #f4c75a1a, transparent 30%), var(--panel);margin:0 6px 6px;animation:.24s cubic-bezier(.22,1,.36,1) sheet-in;position:relative;overflow-y:auto;box-shadow:0 -18px 46px #0000007a,inset 0 0 0 1px #ffecb440}.sheet-handle{background:linear-gradient(90deg, var(--coral), var(--gold-light));border-radius:999px;width:46px;height:4px;margin:0 auto 15px}.sheet-header h2{font-size:1.42rem}.exercise-list{gap:8px;margin:18px 0 16px;padding:0;list-style:none;display:grid}.exercise-list li{background:linear-gradient(90deg,#ffecc414,#ffecc40a);border:1px solid #f2c65c47;border-radius:3px;grid-template-columns:36px 1fr;align-items:center;gap:9px;min-height:60px;padding:9px 13px;display:grid;box-shadow:inset 0 1px #ffffff0f}.exercise-list li>span{color:var(--coral-action);font-family:var(--display-font);font-size:.98rem;font-weight:900}.exercise-list li div{gap:2px;display:grid}.exercise-list strong{font-size:.86rem}.exercise-list small{color:var(--ink-muted);font-size:.71rem}.secondary-button{width:100%;color:var(--gold);background:var(--rivets), var(--plaque-sheen), var(--surface);border:1px solid #6f4a10;box-shadow:inset 0 0 0 1px #f2c65c61,inset 0 1px #ffffff24,0 3px #0000004d}.management-view{min-height:100svh;padding:calc(16px + env(safe-area-inset-top)) 26px calc(24px + env(safe-area-inset-bottom));background:linear-gradient(#180f0ae6,#180f0af5),url(/images/gym-background-portrait.webp) 50%/cover;position:relative;overflow:hidden auto}.management-view:after{content:"";pointer-events:none;border:1px solid #d89a1652;border-radius:4px;position:absolute;inset:9px;box-shadow:inset 0 0 0 1px #f4c75a1f}.management-glow{pointer-events:none;background:radial-gradient(circle,#f25b322e,#0000 68%);border-radius:50%;width:330px;height:330px;position:absolute;top:-140px;right:-100px}.management-header{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#261811c7;border:1px solid #d89a168c;border-radius:3px;justify-content:space-between;align-items:center;min-height:54px;padding:5px 8px;display:flex;position:relative;box-shadow:0 8px 20px #0000004d,inset 0 0 0 1px #f2c65c38}.icon-left{transform:rotate(180deg)}.menu-button.compact{background:#261811e0;border:1px solid #d89a1680;min-width:76px}.management-title{z-index:1;margin-top:clamp(34px,6vh,58px);position:relative}.management-title h1{margin-top:5px;font-size:clamp(1.9rem,9vw,2.5rem)}.management-title p{color:var(--ink-muted);margin:8px 0 0;font-size:.86rem}.management-cards{z-index:1;gap:12px;margin-top:28px;display:grid;position:relative}.management-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#301f17f0,#22150fe6);border:1px solid #d89a1673;border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:104px;padding:17px 15px;display:grid;box-shadow:0 12px 30px #0000004d,inset 0 0 0 1px #f2c65c38}.management-card>span{color:var(--coral-action);font-family:var(--display-font);font-size:1.12rem;font-weight:900}.management-card h2,.management-card p{margin:0}.management-card h2{font-family:var(--display-font);font-size:1rem;font-weight:900}.management-card p{color:var(--ink-muted);margin-top:5px;font-size:.73rem;line-height:1.5}.management-card>svg{color:var(--teal)}.phase-note{z-index:1;color:var(--teal);background:#a4b4651a;border:1px solid #adbd6b47;border-radius:4px;align-items:center;gap:11px;margin-top:22px;padding:13px 14px;display:flex;position:relative}.phase-note>span{color:var(--gold)}.phase-note p{color:var(--ink-muted);gap:2px;margin:0;font-size:.69rem;line-height:1.45;display:grid}.phase-note strong{color:var(--teal);font-size:.75rem}.today-status{min-height:64px;color:var(--gold-light);background:linear-gradient(135deg,#301f17eb,#22150fe0);border:1px solid #d89a1673;border-radius:3px;justify-content:space-between;align-items:center;margin-top:12px;padding:10px 20px;display:flex;box-shadow:inset 0 0 0 1px #f2c65c33}.today-status.is-complete{color:var(--teal);background:linear-gradient(135deg,#301f17eb,#a4b46524)}.today-status span{letter-spacing:.08em;font-size:.76rem;font-weight:900}.today-status strong{font-family:var(--display-font);font-size:1.08rem}.dev-reset-button{width:100%;min-height:38px;color:var(--teal);cursor:pointer;background:#a4b4651a;border:1px dashed #adbd6b73;border-radius:3px;justify-content:center;align-items:center;gap:7px;margin-top:7px;padding:7px 14px;font-size:.67rem;font-weight:900;display:inline-flex}.dev-reset-button span{color:var(--coral-action);font-size:.95rem}.workout-scene .scene-vignette{background:linear-gradient(#2b22202e 0%,#0000 38%,#35272229 68%,#2b222066 100%)}.workout-header{z-index:9;top:calc(12px + env(safe-area-inset-top));grid-template-columns:auto 1fr 42px;align-items:center;gap:11px;display:grid;position:absolute;left:14px;right:14px}.workout-progress-button{color:#f6ecd6;cursor:pointer;text-align:left;background:linear-gradient(100deg,#33200ff0,#57351beb);border:1px solid #f4c75aa8;border-radius:3px;align-content:center;min-width:104px;min-height:48px;padding:5px 16px;display:grid;box-shadow:0 8px 20px #00000052,inset 0 0 0 1px #f2c65c42}.workout-progress-button span{color:#d8c9a3;letter-spacing:.1em;font-size:.52rem;font-weight:900}.workout-progress-button strong{margin-top:2px;font-size:.83rem}.workout-progress-track{background:#2b222066;border:1px solid #ffffff61;border-radius:999px;height:5px;overflow:hidden;box-shadow:0 3px 10px #2b222033}.workout-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--gold-light), #fff5c5);height:100%;transition:width .22s ease-out;display:block}.workout-header .round-button{color:#fffdf8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2b2220c7;border-color:#f4c75ab8}.timer-hud{z-index:7;top:calc(82px + env(safe-area-inset-top));border:2px solid;border-image:var(--metal-edge) 1;color:#fffdf8;background:var(--rivets), radial-gradient(circle at 50% 0%, #e0532f2e, transparent 58%), #1d120d8c;text-align:center;-webkit-backdrop-filter:blur(10px)saturate(.92);backdrop-filter:blur(10px)saturate(.92);align-content:center;place-items:center;min-height:112px;padding:12px 24px;display:grid;position:absolute;left:clamp(5px,2vw,12px);right:clamp(5px,2vw,12px);box-shadow:0 18px 38px #0006,inset 0 0 0 1px #ffecb438}.timer-hud>span{color:#f8dba6;letter-spacing:.13em;align-items:center;gap:9px;font-size:.6rem;font-weight:900;display:inline-flex}.timer-hud>span:before,.timer-hud>span:after{color:#d89a16cc;content:"◆";font-size:.55rem}.timer-hud:after{content:"";background:linear-gradient(90deg,#0000,#d89a16b3,#0000);width:140px;height:1px;margin-top:8px;display:block}.timer-value{font-family:var(--timer-font);font-variant-numeric:tabular-nums;letter-spacing:.035em;text-shadow:0 0 22px #f4c75a52,0 2px #00000059;margin-top:2px;font-size:clamp(2.9rem,14vw,4.4rem);font-weight:900;line-height:1;display:inline-block;position:relative}.timer-value small{color:#f8dba6;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:0 1px #00000052;font-size:.8em;font-weight:900;line-height:1;position:absolute;bottom:.02em;left:calc(100% + .1em)}.timer-value.is-ready{letter-spacing:.12em;padding:8px 0 5px;font-size:clamp(1.65rem,8vw,2.25rem)}.timer-correction{color:#fff0ca;cursor:pointer;background:#a92f1d94;border:1px solid #f4c75a85;border-radius:3px;margin-top:5px;padding:4px 9px;font-size:.58rem}.character-stage.is-compact{inset:126px 0 0}.character-stage.is-compact .hikari-character-wrap{height:min(94svh,750px);margin-top:28px}.second-orbit{z-index:2;aspect-ratio:1;pointer-events:none;border-radius:50%;width:min(86%,400px);position:absolute;top:28%;left:50%;transform:translate(-50%)}.second-orbit:before{border-radius:inherit;content:"";border:20px solid #d6ecff5c;position:absolute;inset:2px;box-shadow:0 0 26px #5aa8f433,inset 0 0 28px #2278d224}.second-orbit-sweep{border-radius:inherit;opacity:0;filter:blur(4px)drop-shadow(0 0 18px #5aa8f4d1);will-change:filter, transform;background:conic-gradient(from -30deg,#0000 0deg,#2278d22e 4deg,#5aa8f4d1 13deg,#cfeaff 30deg,#5aa8f4d1 47deg,#2278d22e 56deg,#0000 60deg 360deg);transition:opacity .22s ease-out;position:absolute;inset:-2px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 30px),#000 calc(100% - 23px) calc(100% - 5px),#0000 100%);mask:radial-gradient(farthest-side,#0000 calc(100% - 30px),#000 calc(100% - 23px) calc(100% - 5px),#0000 100%)}.second-orbit.is-active .second-orbit-sweep{opacity:1;animation:.76s ease-in-out infinite alternate comet-energy}.workout-bubble{z-index:6;background:#f7eeda99;border:1px solid #ffffff73;border-radius:14px;max-width:min(66%,270px);padding:11px 14px;animation:.22s ease-out workout-bubble-fade;position:absolute;box-shadow:0 6px 14px #00000040}.workout-bubble:after{content:"";border:8px solid #0000;width:0;height:0;position:absolute;top:50%;transform:translateY(-50%)}.workout-bubble.is-left:after{border-left-color:#f7eeda99;right:-16px}.workout-bubble.is-right:after{border-right-color:#f7eeda99;left:-16px}.workout-bubble-pos-1{top:52%;left:10px}.workout-bubble-pos-2{top:52%;right:10px}.workout-bubble-pos-3{top:63%;left:10px}.workout-bubble-pos-4{top:63%;right:10px}.workout-bubble-copy,.workout-bubble-sizer{color:#2e1c10;font-family:var(--display-font);text-align:left;margin:0;font-size:.78rem;font-weight:800;line-height:1.45}.workout-bubble-sizer{visibility:hidden}.workout-bubble-copy{position:absolute;inset:11px 14px}.workout-bubble-copy.is-typing{cursor:pointer}@keyframes workout-bubble-fade{0%{opacity:0}to{opacity:1}}.workout-controls{z-index:8;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border:3px solid;border-image:var(--metal-edge) 1;padding:18px 19px 19px;position:absolute;left:12px;overflow:hidden;box-shadow:0 18px 42px #00000075,inset 0 0 0 1px #ffecb440}.workout-control-backdrop{z-index:-1;background:linear-gradient(135deg,#291a1380,#1e130d80);position:absolute;inset:0}.next-set-row{width:100%;min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #d89a165c;grid-template-columns:43px minmax(0,1fr) 20px;align-items:center;gap:9px;padding:5px 6px 12px;display:grid}.next-set-index{color:var(--gold-light);letter-spacing:.12em;text-shadow:0 1px 2px #0000008c;font-size:.72rem;font-weight:900}.next-set-copy{gap:2px;min-width:0;display:grid}.next-set-copy strong,.next-set-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.next-set-copy strong{font-size:.9rem}.next-set-copy small{color:var(--ink-muted);font-size:.68rem}.next-set-row>svg{fill:none;width:18px;height:18px;stroke:var(--teal);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.workout-complete-button{min-height:76px;margin-top:12px}.progress-help{color:var(--ink-muted);margin:13px 0 0;font-size:.7rem;line-height:1.5}.progress-exercise-list{gap:8px;margin-top:14px;display:grid}.progress-exercise{min-height:64px;color:var(--ink);cursor:pointer;text-align:left;background:#ffecc40f;border:1px solid #f2c65c3d;border-radius:3px;grid-template-columns:45px minmax(0,1fr) 38px;align-items:center;gap:9px;padding:8px 13px;display:grid}.progress-exercise.is-selected{border-color:var(--teal);background:linear-gradient(90deg,#a4b46524,#ffecc40d);box-shadow:inset 0 0 0 1px #adbd6b38}.progress-exercise.is-complete{background:#a4b46517;border-color:#adbd6b4d}.progress-exercise-status{color:var(--coral-action);font-size:.6rem;font-weight:900}.progress-exercise.is-selected .progress-exercise-status,.progress-exercise.is-complete .progress-exercise-status{color:var(--teal)}.progress-exercise-copy{gap:2px;min-width:0;display:grid}.progress-exercise-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.progress-exercise-copy small{color:var(--ink-muted);font-size:.65rem}.progress-exercise-count{color:var(--teal);font-family:var(--display-font);text-align:right;font-size:.8rem;font-weight:900}.workout-menu-dialog,.confirm-dialog{z-index:1;overscroll-behavior:contain;border:3px solid;border-image:var(--metal-edge) 1;background:radial-gradient(circle at 18% 0%, #f4c75a1a, transparent 35%), var(--panel);width:min(100% - 36px,380px);max-height:calc(100dvh - 30px);padding:25px;animation:.22s cubic-bezier(.22,1,.36,1) menu-in;position:relative;overflow-y:auto;box-shadow:0 24px 58px #0000008c,inset 0 0 0 1px #ffecb440}.workout-menu-dialog .sheet-header{margin-bottom:18px}.workout-menu-dialog h2,.confirm-dialog h2{font-family:var(--display-font);margin:3px 0 0;font-size:1.35rem}.confirm-dialog>h2{letter-spacing:.08em;background:linear-gradient(#ffecb41a,#0000002e);border-block:1px solid #f2c65c66;padding:9px 14px;display:block}.workout-menu-dialog .sheet-header{background:linear-gradient(#ffecb41a,#0000002e);border-block:1px solid #f2c65c66;padding:8px 12px}.workout-menu-action{width:100%;min-height:72px;color:var(--teal);background:var(--rivets), var(--plaque-sheen), var(--surface);cursor:pointer;text-align:left;border:1px solid #adbd6b73;border-radius:3px;align-content:center;gap:4px;margin-top:9px;padding:13px 17px;transition:transform 90ms,box-shadow 90ms;display:grid;box-shadow:inset 0 0 0 1px #adbd6b38,inset 0 1px #ffffff1f,0 3px #00000047}.workout-menu-action:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 0 0 1px #adbd6b38,0 1px #00000047}.workout-menu-action.is-danger{color:var(--coral);background:var(--rivets), linear-gradient(#b23a241f, #b23a241f), var(--plaque-sheen), var(--surface);border-color:#b23a2480;box-shadow:inset 0 0 0 1px #e0532f38,inset 0 1px #ffffff1a,0 3px #00000047}.workout-menu-action span{font-size:.86rem;font-weight:900}.workout-menu-action small{color:#8a6a3f;font-size:.64rem}.confirm-dialog{text-align:center}.confirm-dialog p{color:var(--ink-muted);margin:12px 0 21px;font-size:.76rem;line-height:1.6}.confirm-actions{grid-template-columns:.78fr 1.22fr;gap:9px;display:grid}.confirm-actions .secondary-button,.confirm-button{min-height:50px}.confirm-button{border:1px solid var(--coral-deep);color:#fff2e6;background:var(--rivets), linear-gradient(180deg, var(--coral), var(--coral-action));cursor:pointer;border-radius:3px;font-size:.75rem;font-weight:900;box-shadow:inset 0 0 0 1px #ffc89647,inset 0 1px #ffffff2e,0 3px #00000052}.confirm-button.is-danger{background:var(--rivets), linear-gradient(180deg, #b9432d, #7e2914)}.primary-button.game-button{--gild-inset:5px;--gild-chamfer:10px;--gild-radius:4px;--gild-lift:5px;--gild-lift2:8px;z-index:0;border-radius:var(--gild-radius);color:#3a2a14;background:var(--rivets-dark), linear-gradient(90deg, #6e46104d, transparent 14% 86%, #6e46104d), linear-gradient(180deg, #ffedb0, #f5c95d 26%, #d89a24 54%, #b1780f 78%, #eec05a);cursor:pointer;text-shadow:0 1px #ffffffb3,0 -1px #96601838;min-height:clamp(68px,10.5svh,84px);box-shadow:inset 0 1px 0 #ffffffb3, 0 0 0 1px #5e3c0e7a, 0 var(--gild-lift) 0 #8a5c14, 0 var(--gild-lift2) 0 #5e3c0e6b, 0 calc(var(--gild-lift2) * 2) calc(var(--gild-lift2) * 3) #46280c5c;border:0;border-image:;transition:transform 90ms,box-shadow 90ms,filter 90ms;position:relative}.primary-button.game-button:before{content:"";z-index:-1;inset:var(--gild-inset);clip-path:polygon(var(--gild-chamfer) 0, calc(100% - var(--gild-chamfer)) 0, 100% var(--gild-chamfer), 100% calc(100% - var(--gild-chamfer)), calc(100% - var(--gild-chamfer)) 100%, var(--gild-chamfer) 100%, 0 calc(100% - var(--gild-chamfer)), 0 var(--gild-chamfer));background:linear-gradient(115deg,#0000 42%,#ffffff6b 48%,#0000 56%),linear-gradient(#fffc,#0000 40%),repeating-linear-gradient(45deg,#cd9e4612 0 2px,#0000 2px 13px),repeating-linear-gradient(-45deg,#cd9e4612 0 2px,#0000 2px 13px),radial-gradient(120% 100% at 50% 120%,#c48a2c5c,#0000 56%),linear-gradient(#fffdf4,#fcecce 58%,#f5dcae);position:absolute;box-shadow:inset 0 2px 3px #ffffffe6,inset 0 -7px 12px #c48a2c52,inset 0 0 0 1px #9660184d}@media (hover:hover){.primary-button:hover:not(:disabled){filter:brightness(1.04)}}.primary-button.game-button:active:not(:disabled){transform:translateY(calc(var(--gild-lift) - 1px));filter:brightness(.97);box-shadow:inset 0 1px 0 #ffffff80, 0 0 0 1px #5e3c0e7a, 0 calc(var(--gild-lift) * .4) 0 #8a5c14, 0 calc(var(--gild-lift2) * .5) 0 #5e3c0e6b, 0 var(--gild-lift2) calc(var(--gild-lift2) * 1.5) #46280c4d}.workout-menu-action.game-button{min-height:56px;margin-top:10px;padding:9px 16px}.missing-plan-card .primary-button{min-height:52px}.cross-day-dialog{text-align:left}.cross-day-dialog>.eyebrow,.cross-day-dialog>h2,.cross-day-dialog>p{text-align:center;display:block}.cross-day-plan{background:#ffecc40f;border:1px solid #d89a1666;border-radius:3px;gap:4px;margin:-5px 0 18px;padding:14px 17px;display:grid;box-shadow:inset 0 1px #ffffff0f}.cross-day-plan small,.cross-day-plan span{color:var(--ink-muted);font-size:.62rem}.cross-day-plan strong{color:var(--coral);font-family:var(--display-font);font-size:.92rem}.cross-day-actions{grid-template-columns:1.12fr .88fr;gap:9px;display:grid}.cross-day-actions .secondary-button,.cross-day-actions .confirm-button{min-height:52px}.result-scene .character-stage{inset:68px 0 0}.result-heading{z-index:7;top:calc(34px + env(safe-area-inset-top));text-align:center;animation:.48s cubic-bezier(.22,1,.36,1) result-in;position:absolute;left:24px;right:24px}.result-heading:before,.result-heading:after{background:linear-gradient(90deg, transparent, var(--gold));content:"";width:42px;height:1px;position:absolute;top:8px}.result-heading:before{left:22px}.result-heading:after{right:22px;transform:scaleX(-1)}.result-heading h1{color:#fffdf8;font-family:var(--display-font);text-shadow:0 3px 12px #2b222094,0 0 28px #f25b326b;margin:6px 0 0;font-size:clamp(1.75rem,8.5vw,2.45rem)}.result-dialogue{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2b2220a8;border-radius:3px;margin:8px 0 0;display:inline-block;position:relative}.result-dialogue-sizer,.result-heading .result-dialogue-copy{color:#fff4e3;font-family:var(--display-font);text-align:left;margin:0;font-size:.72rem;font-weight:800;line-height:1.48}.result-dialogue-sizer{visibility:hidden;padding:6px 15px}.result-heading .result-dialogue-copy{padding:0;position:absolute;inset:6px 15px}.result-fx{z-index:6;pointer-events:none;position:absolute;inset:0}.result-heart{color:#ff7fae;text-shadow:0 0 12px #ff7faea6,0 1px 2px #0000004d;line-height:1;position:absolute}.result-heart-rising{opacity:0;animation:2.8s cubic-bezier(.12,.6,.2,1) backwards result-heart-rise}.result-heart-idle{animation:result-heart-cycle var(--cycle-duration,2.5s) ease-in-out forwards;transform:scale(0)}@keyframes result-heart-rise{0%{opacity:0;transform:translateY(24px)scale(.5)}10%{opacity:.7}72%{opacity:.62}to{opacity:0;transform:translate(var(--sway,0px), -280px) scale(1.06)}}@keyframes result-heart-cycle{0%{opacity:0;transform:scale(0)}18%{opacity:.68;transform:scale(var(--heart-scale,1))}50%{opacity:.58;transform:scale(calc(var(--heart-scale,1) * .84))}78%{opacity:.68;transform:scale(var(--heart-scale,1))}to{opacity:0;transform:scale(0)}}@media (prefers-reduced-motion:reduce){.result-heart-rising{opacity:0;animation:none}.result-heart-idle{opacity:.55;animation:none;transform:scale(1)}}.result-card{z-index:8;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));border:3px solid;border-image:var(--metal-edge) 1;background:radial-gradient(circle at 12% 0,#f4c75a1a,#0000 32%),linear-gradient(145deg,#291a1380,#1e130d80);padding:24px 25px 22px;animation:.48s cubic-bezier(.22,1,.36,1) .12s backwards result-card-in;position:absolute;left:14px;box-shadow:0 20px 50px #00000085,inset 0 0 0 1px #ffecb440}.result-card-title{text-align:center;gap:3px;display:grid}.result-card-title span{color:var(--gold);letter-spacing:.14em;font-size:.54rem;font-weight:900}.result-card-title strong{font-family:var(--display-font);font-size:1.05rem}.result-card dl{grid-template-columns:1.4fr 1fr 1fr;gap:7px;margin:17px 0 0;display:grid}.result-card dl div{text-align:center;background:#180f0a9e;border:1px solid #d89a1657;border-radius:3px;align-content:center;gap:3px;min-height:64px;padding:8px;display:grid}.result-card dt{color:var(--ink-muted);font-size:.55rem}.result-card dd{color:var(--teal);font-family:var(--display-font);font-variant-numeric:tabular-nums;margin:0;font-size:1rem;font-weight:900}.result-card dd small{color:var(--coral-action);font-size:.62em}.result-card .primary-button{min-height:56px}.toast{z-index:30;right:0;bottom:calc(22px + env(safe-area-inset-bottom));border:1px solid var(--gold-light);color:#fffdf8;background:#1d120df5;border-radius:3px;align-items:center;gap:9px;width:min(100% - 36px,444px);min-height:52px;margin-inline:auto;padding:12px 15px;font-size:.77rem;line-height:1.45;animation:.22s ease-out toast-in;display:flex;position:fixed;left:0;box-shadow:0 12px 32px #0006}.toast span{color:var(--gold-light)}.set-celebration{z-index:32;bottom:calc(238px + env(safe-area-inset-bottom));opacity:0;pointer-events:none;transition:opacity .2s ease-out,transform .48s cubic-bezier(.34,1.56,.64,1);position:absolute;left:50%;transform:translate(-50%)translateY(16px)scale(.6)}.set-celebration.is-active{opacity:1;transform:translate(-50%)translateY(0)scale(1)}.set-celebration.is-exit{opacity:0;transition:opacity .32s ease-in,transform .36s ease-in;transform:translate(-50%)translateY(-30px)scale(.96)}.set-celebration:before,.set-celebration:after{color:var(--gold);content:"✦";text-shadow:0 0 8px #f4c75acc;font-size:1.1rem;position:absolute;top:50%;left:50%}.set-celebration:before{animation:1.05s ease-out forwards celebration-spark-left}.set-celebration:after{animation:1.05s ease-out 80ms forwards celebration-spark-right}.set-celebration-burst{border:2px solid #f4c75ad9;border-radius:50%;width:150px;height:150px;animation:.72s ease-out forwards celebration-ring;position:absolute;top:50%;left:50%;box-shadow:0 0 22px #f4c75a73,inset 0 0 18px #f4c75a59}.set-celebration-card{border:2px solid var(--gold);clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);text-align:center;background:radial-gradient(120% 130% at 50% -18%,#f4c75a42,#0000 52%),linear-gradient(#423129f5,#2b2220f5);gap:3px;padding:16px 30px 14px;display:grid;position:relative;box-shadow:inset 0 1px #fff3,0 0 24px #f4c75a4d,0 12px 28px #16100e73}.set-celebration-card strong{color:var(--gold-light);font-family:var(--display-font);letter-spacing:.05em;text-shadow:0 0 12px #f4c75a8c;white-space:nowrap;font-size:1.28rem;font-weight:900}.set-celebration-card small{color:#fff1d9;letter-spacing:.1em;white-space:nowrap;font-size:.62rem;font-weight:900}@keyframes celebration-ring{0%{opacity:.95;transform:translate(-50%,-50%)scale(.35)}to{opacity:0;transform:translate(-50%,-50%)scale(1.55)}}@keyframes celebration-spark-left{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(0)}22%{opacity:1}to{opacity:0;transform:translate(calc(-50% - 84px),calc(-50% - 58px))scale(1.15)rotate(160deg)}}@keyframes celebration-spark-right{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)rotate(0)}22%{opacity:1}to{opacity:0;transform:translate(calc(88px - 50%),calc(-50% - 46px))scale(1.2)rotate(-150deg)}}@media (prefers-reduced-motion:reduce){.set-celebration,.set-celebration.is-active,.set-celebration.is-exit{transition:opacity .2s;transform:translate(-50%)}.set-celebration:before,.set-celebration:after,.set-celebration-burst{opacity:0;animation:none}}.scene-transition{z-index:40;pointer-events:auto;-webkit-mask-composite:xor;background-color:#f7edd6;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='46'%20height='46'%20viewBox='0%200%2046%2046'%3E%3Cpath%20transform='translate(6%208)%20scale(0.34)'%20fill='%23d9673a'%20fill-opacity='0.16'%20d='M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z'/%3E%3Cpath%20fill='%23c98f16'%20fill-opacity='0.20'%20d='M31%2023.4l1.7%204.5%204.5%201.7-4.5%201.7-1.7%204.5-1.7-4.5-4.5-1.7%204.5-1.7z'/%3E%3Ccircle%20cx='9'%20cy='34'%20r='1.5'%20fill='%23d9673a'%20fill-opacity='0.15'/%3E%3C/svg%3E"),radial-gradient(125% 95% at 50% 32%,#fdf6e8eb,#f6e8d0b8 52%,#ecdcc299);background-position:50%,50%;background-size:46px 46px,cover;position:absolute;inset:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2029.6'%3E%3Cpath%20fill='%23000'%20d='M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z'/%3E%3C/svg%3E"),linear-gradient(#000,#000);mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2029.6'%3E%3Cpath%20fill='%23000'%20d='M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z'/%3E%3C/svg%3E"),linear-gradient(#000,#000);-webkit-mask-position:50%,50%;mask-position:50%,50%;-webkit-mask-size:1600px,100% 100%;mask-size:1600px,100% 100%;-webkit-mask-repeat:no-repeat,no-repeat;mask-repeat:no-repeat,no-repeat;-webkit-mask-composite:xor;mask-composite:exclude}.scene-transition:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 64px #c98f1638}.scene-transition--cover{animation:.5s cubic-bezier(.33,0,.2,1) forwards heart-iris-in}.scene-transition--hold{-webkit-mask-size:0,100% 100%;mask-size:0,100% 100%}.scene-transition--reveal{animation:.6s cubic-bezier(.22,1,.36,1) forwards heart-iris-out}@keyframes heart-iris-in{0%{-webkit-mask-size:1600px,100% 100%;mask-size:1600px,100% 100%}to{-webkit-mask-size:0,100% 100%;mask-size:0,100% 100%}}@keyframes heart-iris-out{0%{-webkit-mask-size:0,100% 100%;mask-size:0,100% 100%}to{-webkit-mask-size:1600px,100% 100%;mask-size:1600px,100% 100%}}@media (prefers-reduced-motion:reduce){.scene-transition{-webkit-mask-image:none;mask-image:none}.scene-transition--cover{animation:.15s linear forwards rm-fade-in}.scene-transition--reveal{animation:.15s linear forwards rm-fade-out}}@keyframes rm-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rm-fade-out{0%{opacity:1}to{opacity:0}}.pwa-update-prompt{z-index:35;right:0;bottom:calc(14px + env(safe-area-inset-bottom));color:#fffdf8;background:radial-gradient(circle at 5% 0,#f4c75a2e,#0000 42%),linear-gradient(145deg,#301f17f7,#3e291cf7);border:1px solid #f4c75ac7;border-radius:4px;grid-template-columns:auto 1fr;gap:4px 11px;width:min(100% - 28px,452px);margin-inline:auto;padding:15px 16px 13px;animation:.22s ease-out toast-in;display:grid;position:fixed;left:0;box-shadow:0 18px 42px #00000075,inset 0 0 0 1px #f2c65c2e}.pwa-update-sparkle{color:var(--gold-light);grid-row:1/3;align-self:start;font-size:1.15rem;animation:1.8s ease-in-out infinite shimmer}.pwa-update-prompt>div:not(.pwa-update-actions){gap:2px;display:grid}.pwa-update-prompt small{color:var(--gold-light);letter-spacing:.15em;font-size:.51rem;font-weight:900}.pwa-update-prompt strong{font-family:var(--display-font);font-size:.84rem}.pwa-update-prompt p{color:#f2dfd1;margin:1px 0 0;font-size:.62rem;line-height:1.45}.pwa-update-actions{grid-column:2;justify-content:flex-end;gap:8px;margin-top:7px;display:flex}.pwa-update-actions button{color:#fffdf8;cursor:pointer;background:0 0;border:1px solid #f4c75a9e;border-radius:3px;min-height:34px;padding:0 14px;font-size:.63rem;font-weight:900}.pwa-update-actions button:last-child{border-color:var(--coral);background:linear-gradient(180deg, var(--coral), var(--coral-action))}.pwa-update-actions button:disabled{cursor:wait;opacity:.62}.orientation-guard{display:none}@keyframes shimmer{0%,to{opacity:.42;transform:scale(.78)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(12deg)}}@keyframes hikari-mouth-talk{0%,9%,32%,44%,71%,82%,97%,to{opacity:1}10%,31%,45%,70%,83%,96%{opacity:0}}@keyframes prompt-bob{0%,to{opacity:.5;transform:rotate(45deg)translate(-1px,-3px)}50%{opacity:1;transform:rotate(45deg)translate(1px,-1px)}}@keyframes fade-in{0%{opacity:0}}@keyframes menu-in{0%{opacity:0;transform:translateY(20px)scale(.96)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes result-in{0%{opacity:0;transform:translateY(-18px)scale(.96)}}@keyframes result-card-in{0%{opacity:0;transform:translateY(42px)}}@keyframes comet-energy{0%{filter:blur(3.5px)brightness(.96)saturate(1.05)hue-rotate(-7deg)drop-shadow(0 0 14px #5aa8f4ad)}to{filter:blur(5px)brightness(1.28)saturate(1.35)hue-rotate(9deg)drop-shadow(0 0 24px #5aa8f4f5)}}.loading-scene{background:#241711;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.loading-card{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#2b1b13eb;border:1px solid #d89a1680;border-radius:4px;justify-items:center;gap:6px;width:min(78%,330px);padding:28px;display:grid;position:relative;box-shadow:0 20px 60px #0006,inset 0 0 0 1px #f2c65c38}.loading-card>span{color:var(--gold);font-size:1.4rem;animation:1.8s ease-in-out infinite shimmer}.loading-card strong{font-size:1rem}.loading-card small{color:var(--teal);letter-spacing:.17em;font-size:.53rem;font-weight:900}.missing-plan-card{z-index:2;border:3px solid;border-image:var(--metal-edge) 1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#301f17f2,#241610ed);width:min(100% - 32px,370px);padding:27px;position:relative;box-shadow:0 20px 60px #00000073,inset 0 0 0 1px #ffecb440}.missing-plan-card h1{margin:5px 0 0;font-size:1.7rem}.missing-plan-card p{color:var(--ink-muted);margin:8px 0 0;font-size:.76rem;line-height:1.55}.storage-error-card>small{overflow-wrap:anywhere;color:#e8956e;background:#00000040;border:1px solid #b23a2459;border-radius:3px;margin-top:12px;padding:9px 12px;font-size:.6rem;line-height:1.45;display:block}.today-status.is-rest{color:#d9a94c;background:linear-gradient(135deg,#301f17eb,#d89a1624)}.rest-schedule-item>span{font-size:1.35rem!important}.plan-management-view{padding-left:18px;padding-right:18px}.plan-management-title{margin:24px 8px 0}.plan-management-title h1{font-size:2rem}.planning-workspace,.day-plan-editor{z-index:1;padding-bottom:22px;position:relative}.planning-workspace{margin-top:22px}.planning-loading{min-height:160px;color:var(--teal);justify-content:center;align-items:center;gap:8px;font-size:.8rem;font-weight:900;display:flex}.planning-loading span{color:var(--gold);animation:1.8s ease-in-out infinite shimmer}.planning-tabs{background:#261811cc;border:1px solid #d89a166b;border-radius:3px;grid-template-columns:1fr 1fr;padding:4px;display:grid;box-shadow:inset 0 0 0 1px #f2c65c29}.planning-tabs button{min-height:42px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;font-size:.78rem;font-weight:900}.planning-tabs button.is-active{color:#4a2f08;text-shadow:0 1px #ffffff73;background:linear-gradient(#f5c95d,#d89a24);box-shadow:inset 0 1px #ffffff8c,0 3px 8px #0000004d}.form-error{color:#e8956e;background:#b23a2424;border:1px solid #e0532f59;border-radius:3px;padding:10px 13px;font-size:.73rem;font-weight:800;line-height:1.45}.day-plan-panel,.weekly-schedule-panel{margin-top:18px}.planning-section-heading,.exercise-editor-heading{justify-content:space-between;align-items:center;display:flex}.planning-section-heading h2,.editor-header h2{margin:3px 0 0;font-size:1.22rem}.add-plan-button{color:#fff;background:linear-gradient(145deg, #f47a49, var(--coral-action));cursor:pointer;border:1px solid #d89a16b8;border-radius:50%;width:44px;height:44px;font-size:1.35rem;box-shadow:0 7px 16px #a92f1d38,inset 0 0 0 3px #ffffff2e}.empty-plans{text-align:center;background:#ffecc40d;border:1px dashed #d89a167a;border-radius:4px;justify-items:center;margin-top:12px;padding:34px 22px 24px;display:grid}.empty-plans>span{color:var(--gold);font-size:1.2rem}.empty-plans strong{margin-top:7px}.empty-plans p{color:var(--ink-muted);margin:5px 0 18px;font-size:.73rem}.empty-plans .secondary-button{max-width:220px}.day-plan-list,.weekday-list,.exercise-editor-list{gap:10px;margin-top:12px;display:grid}.day-plan-card{min-height:82px;color:var(--ink);cursor:pointer;text-align:left;background:linear-gradient(135deg,#301f17f0,#22150fe0);border:1px solid #d89a166b;border-radius:3px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:13px;display:grid;box-shadow:0 8px 20px #00000042,inset 0 0 0 1px #f2c65c33}.day-plan-card.is-built-in{cursor:default;background:linear-gradient(135deg,#301f17f0,#d89a161f)}.built-in-badge{color:#d9a94c;background:#d89a161f;border:1px solid #d89a1670;border-radius:3px;padding:5px 8px;font-size:.58rem;font-weight:900}.plan-kind{color:#fff;background:var(--coral-action);border-radius:3px;place-items:center;min-width:55px;min-height:32px;font-size:.63rem;font-weight:900;display:grid}.plan-kind.is-rest{background:var(--gold)}.day-plan-copy{gap:3px;min-width:0;display:grid}.day-plan-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.87rem;overflow:hidden}.day-plan-copy small{color:var(--ink-muted);font-size:.65rem;line-height:1.4}.day-plan-arrow{color:var(--teal);font-size:1.35rem}.weekday-row{background:#ffecc40f;border:1px solid #d89a1661;border-radius:3px;grid-template-columns:70px 1fr;align-items:center;gap:9px;min-height:62px;padding:9px 11px 9px 15px;display:grid;box-shadow:inset 0 1px #ffffff0d}.weekday-row>span:first-child{color:var(--coral);font-size:.75rem;font-weight:900}.weekday-select{background:var(--teal-soft);border:1px solid #adbd6b52;border-radius:3px;position:relative;overflow:hidden}.weekday-select.is-rest{background:#d89a161f;border-color:#d89a166b}.weekday-select:after{color:var(--teal);content:"⌄";pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-58%)}.weekday-select select{width:100%;min-height:40px;color:var(--ink);appearance:none;background:0 0;border:0;outline:0;padding:0 30px 0 11px;font-size:.71rem;font-weight:800}.planning-save-button,.setup-continue-button,.setup-finish-button{margin-top:18px}.planning-save-button,.setup-continue-button{min-height:54px}.day-plan-editor{margin-top:12px}.editor-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.editor-back{min-height:38px;color:var(--gold);background:var(--plaque-sheen), var(--surface);cursor:pointer;border:1px solid #6f4a10;border-radius:3px;padding:0 12px;font-size:.7rem;font-weight:900;box-shadow:inset 0 0 0 1px #f2c65c52}.game-field{gap:6px;margin-top:13px;display:grid}.game-field>span,.plan-kind-selector legend{color:var(--ink-muted);padding-left:4px;font-size:.67rem;font-weight:900}.game-field input{outline-offset:1px;width:100%;min-height:48px;color:var(--ink);background:var(--field);border:1px solid #00000073;border-radius:3px;outline:1px solid #f2c65c40;padding:0 14px;box-shadow:inset 0 2px 5px #00000059}.game-field input:focus{border-color:#d89a1699;outline-color:#f4c75a8c;box-shadow:inset 0 2px 5px #00000059,0 0 0 3px #f4c75a24}.plan-kind-selector{border:0;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0 0;padding:0;display:grid}.plan-kind-selector legend{margin-bottom:7px}.plan-kind-selector button{min-height:44px;color:var(--ink-muted);background:var(--plaque-sheen), var(--surface);cursor:pointer;border:1px solid #d89a1661;border-radius:3px;font-size:.73rem;font-weight:900;box-shadow:inset 0 0 0 1px #f2c65c2e}.plan-kind-selector button.is-active{color:#fff;background:linear-gradient(135deg, #f47a49, var(--coral-action));border-color:#0000}.exercise-editor-heading{margin-top:20px}.exercise-editor-heading>div{display:grid}.exercise-editor-heading span{font-size:.82rem;font-weight:900}.exercise-editor-heading small{color:var(--ink-muted);font-size:.61rem}.exercise-editor-heading button{min-height:36px;color:var(--teal);background:var(--plaque-sheen), var(--surface);cursor:pointer;border:1px solid #adbd6b73;border-radius:3px;padding:0 13px;font-size:.68rem;font-weight:900;box-shadow:inset 0 0 0 1px #adbd6b33}.exercise-editor-card{background:linear-gradient(135deg,#301f17f0,#22150fdb);border:1px solid #d89a1666;border-radius:4px;padding:14px;box-shadow:0 9px 24px #00000042}.exercise-editor-card>header{justify-content:space-between;align-items:center;display:flex}.exercise-editor-card>header>span{color:var(--coral-action);font-size:.82rem;font-weight:900}.order-buttons{gap:5px;display:flex}.order-buttons button{min-width:34px;min-height:30px;color:var(--teal);background:var(--plaque-sheen), var(--surface);cursor:pointer;border:1px solid #adbd6b52;border-radius:3px;padding:0 8px;font-size:.64rem;font-weight:900}.order-buttons button:last-child{color:var(--coral);border-color:#e0532f59}.order-buttons button:disabled{opacity:.35}.compact-field input{min-height:42px;font-size:.74rem}.exercise-target-grid{grid-template-columns:1fr .8fr .8fr;gap:7px;display:grid}.exercise-preview{color:var(--teal);background:#a4b4651a;border-radius:3px;margin:11px 0 0;padding:8px 10px;font-size:.66rem;font-weight:800}.rest-plan-note,.local-data-notice{background:#d89a161a;border:1px solid #d89a1666;border-radius:4px;align-items:flex-start;gap:11px;margin-top:18px;padding:15px;display:flex}.rest-plan-note>span{color:var(--gold);font-size:1.25rem}.rest-plan-note strong{font-size:.78rem}.rest-plan-note p{color:var(--ink-muted);margin:4px 0 0;font-size:.68rem;line-height:1.5}.delete-plan-button{width:100%;color:var(--coral);cursor:pointer;background:0 0;border:0;padding:12px;font-size:.7rem;font-weight:900}.inline-danger-confirm{background:#b23a241f;border:1px solid #e0532f59;border-radius:3px;margin-top:12px;padding:14px}.inline-danger-confirm p{color:#e8956e;margin:0 0 11px;font-size:.71rem;font-weight:800}.inline-danger-confirm>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.danger-button{color:#fff2e6;cursor:pointer;background:linear-gradient(#b9432d,#7e2914);border:1px solid #3c0c0499;border-radius:3px;font-size:.71rem;font-weight:900;box-shadow:inset 0 0 0 1px #ffc89640,inset 0 1px #ffffff29,0 3px #00000052}.setup-welcome,.setup-flow{min-height:100svh;position:relative;overflow:hidden}.setup-welcome{background:#241711}.setup-welcome-wash{background:linear-gradient(#fff5e22e,#0000 42%),linear-gradient(#0000 42%,#3426217a);position:absolute;inset:0}.setup-hikari{filter:drop-shadow(0 18px 22px #4a2a183d);height:min(89svh,750px);position:absolute;top:-1%;left:50%;transform:translate(-50%)}.setup-welcome-card{z-index:2;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));border:3px solid;border-image:var(--metal-edge) 1;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:linear-gradient(135deg,#301f17f2,#241610ed);padding:24px 27px 18px;position:absolute;left:12px;box-shadow:0 18px 42px #00000075,inset 0 0 0 1px #ffecb440}.setup-welcome-card h1{margin:5px 0 0;font-size:clamp(1.5rem,7vw,2rem)}.setup-welcome-card>p{color:var(--ink-muted);margin:8px 0 0;font-size:.76rem;line-height:1.6}.local-data-notice{background:#a4b4651a;border-color:#adbd6b47;align-items:center;margin-top:12px;padding:10px 12px}.local-data-notice>span{color:#1d120d;background:var(--teal);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.68rem;font-weight:900;display:grid}.local-data-notice p{color:var(--ink-muted);margin:0;font-size:.61rem;line-height:1.45}.setup-welcome-card .primary-button{min-height:56px;margin-top:12px}.setup-restore-button{width:100%;color:var(--ink-muted);background:0 0;border:0;padding:7px;font-size:.62rem}.setup-flow{padding:calc(13px + env(safe-area-inset-top)) 18px calc(26px + env(safe-area-inset-bottom));background:linear-gradient(#180f0ae8,#180f0af5),url(/images/gym-background-portrait.webp) 50%/cover fixed;overflow-y:auto}.setup-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#261811cc;border:1px solid #d89a1680;border-radius:3px;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:7px 10px 7px 7px;display:grid;box-shadow:0 8px 20px #0000004d,inset 0 0 0 1px #f2c65c33}.setup-back-button{width:38px;height:38px;color:var(--teal);cursor:pointer;background:#261811db;border:1px solid #adbd6b59;border-radius:50%;font-size:1.4rem}.setup-header>div{gap:2px;display:grid}.setup-header strong{font-size:.83rem}.setup-step-count{color:var(--coral-action);font-size:.74rem;font-weight:900}.setup-progress{grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 8px 0;display:grid}.setup-progress span{background:#f3e7cf29;border-radius:999px;height:4px}.setup-progress span.is-done{background:linear-gradient(90deg, var(--coral), var(--gold));box-shadow:0 0 8px #f25b3233}.setup-content{padding:22px 8px 0}.setup-copy h1{margin:4px 0 0;font-size:1.6rem}.setup-copy p{color:var(--ink-muted);margin:7px 0 0;font-size:.75rem;line-height:1.55}.setup-content .planning-workspace{margin-top:18px}.setup-review{padding-bottom:24px}.setup-week-summary{gap:8px;margin-top:19px;display:grid}.setup-week-summary>div{background:#ffecc40f;border:1px solid #d89a1661;border-radius:3px;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;min-height:58px;padding:10px 13px;display:grid}.setup-week-summary span{color:var(--coral);font-size:.7rem;font-weight:900}.setup-week-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.setup-week-summary small{color:var(--teal);font-size:.6rem;font-weight:800}.settings-management-view{padding-left:18px;padding-right:18px}.settings-management-title{padding:0 8px}.settings-management-title h1{font-size:clamp(1.8rem,8vw,2.3rem)}.settings-workspace,.settings-state{z-index:1;position:relative}.settings-workspace{gap:11px;margin-top:24px;padding:0 5px 30px;display:grid}.settings-state{text-align:center;background:#2b1b13e6;border:1px solid #d89a166b;border-radius:4px;place-content:center;min-height:190px;margin:24px 5px 0;padding:25px;display:grid}.settings-state p{max-width:270px;color:var(--ink-muted);margin:7px auto 0;font-size:.7rem;line-height:1.55}.settings-state .secondary-button{width:auto;min-height:40px;margin:15px auto 0;padding:0 18px}.settings-status-card,.settings-section,.settings-danger-zone{background:#2b1b13e6;border:1px solid #d89a166b;border-radius:4px;box-shadow:0 11px 26px #00000042,inset 0 0 0 1px #f2c65c2e}.settings-status-card{background:radial-gradient(circle at 100% 0,#ffd96f1f,#0000 34%),linear-gradient(135deg,#301f17f0,#22150fe0);padding:15px}.settings-status-card>p{color:var(--ink-muted);border-top:1px solid #d89a1638;margin:10px 0 0;padding:10px 4px 0;font-size:.64rem;line-height:1.5}.offline-indicator{align-items:center;gap:11px;display:flex}.offline-indicator>span{width:39px;height:39px;color:var(--gold-light);background:#d89a1624;border:1px solid #d89a1661;border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:900;display:grid}.offline-indicator.is-ready>span{color:#1d120d;background:var(--teal);border-color:#adbd6b66;box-shadow:0 0 0 4px #a4b4651f}.offline-indicator>div{gap:2px;display:grid}.offline-indicator small{color:var(--gold);font-family:var(--display-font);letter-spacing:.12em;font-size:.54rem;font-weight:900}.offline-indicator strong{font-size:.78rem}.settings-section{padding:17px 15px}.settings-section>header{border-bottom:1px solid #d89a163b;padding:0 3px 12px}.settings-section h2,.settings-danger-zone h2{margin:3px 0 0;font-size:.94rem}.settings-section>header>p{color:var(--ink-muted);margin:6px 0 0;font-size:.63rem;line-height:1.55}.settings-summary-grid{grid-template-columns:.72fr .88fr 1.4fr;gap:7px;margin:11px 0 0;display:grid}.settings-summary-grid>div{text-align:center;background:linear-gradient(145deg,#ffecc414,#ffecc40a);border-radius:3px;place-content:center;min-width:0;min-height:68px;padding:8px 5px;display:grid}.settings-summary-grid dt{color:var(--ink-muted);font-size:.56rem;font-weight:900}.settings-summary-grid dd{color:var(--teal);font-family:var(--display-font);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:.78rem;font-weight:900;overflow:hidden}.settings-summary-grid>div:first-child dd,.settings-summary-grid>div:nth-child(2) dd{font-size:1.12rem}.last-backup-row{justify-content:space-between;align-items:center;gap:10px;padding:11px 5px 10px;display:flex}.last-backup-row span{color:var(--ink-muted);font-size:.61rem;font-weight:800}.last-backup-row strong{color:var(--teal);text-align:right;font-size:.64rem}.settings-action{width:100%;min-height:68px;color:var(--ink);cursor:pointer;text-align:left;background:linear-gradient(100deg,#a4b4651a,#ffecc40a);border:1px solid #adbd6b52;border-radius:3px;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:11px 14px;display:grid}.settings-action+.restore-backup-control,.restore-backup-control+.settings-action{margin-top:8px}.settings-action>span:first-child{color:#1d120d;background:var(--teal);width:36px;height:36px;font-family:var(--display-font);border-radius:50%;place-items:center;font-size:1.05rem;font-weight:900;display:grid;box-shadow:0 5px 12px #0000004d}.settings-action.is-restore{background:linear-gradient(100deg,#d89a161f,#ffecc40a);border-color:#d89a166b}.settings-action.is-restore>span:first-child{color:#4a2f08;background:linear-gradient(145deg, var(--gold-light), var(--gold))}.settings-action>span:last-child{gap:2px;display:grid}.settings-action strong{font-size:.75rem}.settings-action small{color:var(--ink-muted);font-size:.59rem}.settings-action:disabled,.settings-danger-zone button:disabled,.setup-restore-button:disabled{cursor:not-allowed;opacity:.48}.backup-inline-error{color:#e8956e;background:#b23a241f;border:1px solid #e0532f52;border-radius:3px;margin:8px 0 0;padding:9px 11px;font-size:.61rem;line-height:1.45}.watchlist-add-row{gap:8px;margin-top:12px;display:flex}.watchlist-add-row .secondary-button{flex:none;width:auto;padding:9px 18px}.watchlist-add-row input{border:1px solid var(--panel-line);min-width:0;color:var(--ink);background:#0000003d;border-radius:3px;flex:1;padding:9px 11px;font-size:.72rem}.watchlist-items{margin:12px 0 0;padding:0;list-style:none}.watchlist-items li{color:var(--ink);letter-spacing:.04em;border-bottom:1px solid #d89a162e;justify-content:space-between;align-items:center;padding:9px 2px;font-size:.74rem;font-weight:700;display:flex}.watchlist-item-label{align-items:baseline;gap:8px;min-width:0;display:flex}.watchlist-item-label small{color:var(--ink-muted);letter-spacing:.06em;font-size:.62rem;font-weight:700}.watchlist-items li button{color:#e8956e;cursor:pointer;background:0 0;border:1px solid #e0532f52;border-radius:3px;padding:5px 10px;font-size:.61rem}.watchlist-pager{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.watchlist-pager span{color:var(--ink-muted);letter-spacing:.05em;font-size:.62rem;font-weight:700}.watchlist-pager button{border:1px solid var(--panel-line);color:var(--gold);cursor:pointer;background:0 0;border-radius:3px;padding:6px 12px;font-size:.64rem;font-weight:700}.watchlist-pager button:disabled{cursor:not-allowed;opacity:.4}.watchlist-empty{color:var(--ink-muted);margin:12px 0 0;font-size:.68rem}.app-information dl{gap:0;margin:8px 0 0;display:grid}.app-information dl>div{border-bottom:1px solid #d89a162e;justify-content:space-between;align-items:center;min-height:38px;padding:0 4px;display:flex}.app-information dl>div:last-child{border-bottom:0}.app-information dt{color:var(--ink-muted);font-size:.63rem;font-weight:800}.app-information dd{color:var(--teal);font-family:var(--display-font);margin:0;font-size:.66rem;font-weight:900}.settings-danger-zone{background:linear-gradient(135deg,#301f17eb,#541e1280);border-color:#b23a2466;padding:17px 18px}.settings-danger-zone .eyebrow{color:var(--coral-action)}.settings-danger-zone p{color:var(--ink-muted);margin:7px 0 13px;font-size:.63rem;line-height:1.5}.settings-danger-zone>button{width:100%;min-height:43px;color:var(--coral);background:var(--plaque-sheen), var(--surface);cursor:pointer;border:1px solid #b23a2473;border-radius:3px;font-size:.67rem;font-weight:900;box-shadow:inset 0 0 0 1px #e0532f33}.restore-confirm-dialog>p{margin-bottom:13px}.restore-summary{text-align:left;background:#ffecc40f;border:1px solid #d89a1657;border-radius:3px;gap:6px;margin:0 0 10px;padding:9px;display:grid}.restore-summary>div{border-bottom:1px solid #d89a162e;justify-content:space-between;align-items:center;gap:10px;min-height:32px;padding:0 5px;display:flex}.restore-summary>div:last-child{border-bottom:0}.restore-summary dt{color:var(--ink-muted);font-size:.62rem;font-weight:800}.restore-summary dd{color:var(--teal);text-align:right;margin:0;font-size:.65rem;font-weight:900}.restore-confirm-dialog .restore-warning{color:#e8956e;background:#b23a2424;border-radius:3px;margin:0 0 14px;padding:9px 11px;font-size:.6rem}.clear-confirm-field{text-align:left;gap:7px;margin:-5px 0 16px;display:grid}.clear-confirm-field>span{color:var(--ink-muted);font-size:.63rem}.clear-confirm-field>span strong{color:var(--coral)}.clear-confirm-field input{width:100%;min-height:45px;color:var(--ink);background:var(--field);border:1px solid #e0532f66;border-radius:3px;outline:0;padding:0 13px;box-shadow:inset 0 2px 5px #00000059}.clear-confirm-field input:focus{border-color:var(--coral);box-shadow:inset 0 2px 5px #00000059,0 0 0 3px #e0532f24}.restore-backup-control.is-setup{display:grid}.setup-restore-button{min-height:34px;color:var(--teal);cursor:pointer;font-weight:900}.restore-backup-control.is-setup .backup-inline-error{text-align:left;margin:2px 0 0}.journal-management-view{padding-left:18px;padding-right:18px}.journal-management-title{padding:0 8px}.journal-management-title h1{font-size:clamp(1.85rem,8.5vw,2.35rem)}.journal-month-list,.journal-detail,.journal-state{z-index:1;position:relative}.journal-month-list{gap:28px;margin-top:24px;padding:0 5px 26px;display:grid}.journal-month-heading{grid-template-columns:1fr auto;align-items:end;padding:0 7px 11px;display:grid;position:relative}.journal-month-heading:after{background:linear-gradient(90deg, var(--coral-action), var(--gold), transparent);content:"";height:1px;position:absolute;bottom:0;left:6px;right:6px}.journal-month-heading .eyebrow{grid-column:1/-1}.journal-month-heading h2{font-family:var(--display-font);margin:3px 0 0;font-size:1.18rem}.journal-month-heading small{color:var(--teal);padding-bottom:2px;font-size:.65rem;font-weight:900}.journal-session-list{gap:10px;margin-top:11px;display:grid}.journal-session-card{min-height:118px;color:var(--ink);text-align:left;cursor:pointer;background:radial-gradient(circle at 92% 10%,#ffd96f1f,#0000 28%),linear-gradient(135deg,#301f17f0,#22150fe6);border:1px solid #d89a1673;border-radius:3px;grid-template-columns:1fr auto;gap:7px 12px;padding:15px 38px 14px 17px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 11px 26px #00000042,inset 0 0 0 1px #f2c65c33}.journal-session-card:before{background:linear-gradient(var(--coral-action), var(--gold));content:"";border-radius:0 999px 999px 0;width:4px;position:absolute;inset:11px auto 11px 0}.journal-session-card.is-completed:before{background:linear-gradient(var(--teal), #cdd68f)}.journal-session-card:active{transform:scale(.985)}.journal-session-card:focus-visible{border-color:var(--teal);outline:3px solid #adbd6b47}.journal-date{gap:1px;display:grid}.journal-date strong{font-size:.7rem;font-weight:900}.journal-date small{color:var(--ink-muted);font-family:var(--display-font);letter-spacing:.08em;font-size:.55rem}.journal-plan-name{color:var(--coral);font-family:var(--display-font);text-align:right;align-self:center;font-size:.94rem;font-weight:900}.journal-session-summary{color:var(--ink-muted);grid-column:1/-1;grid-template-columns:repeat(4,auto);justify-content:start;align-items:center;gap:6px;margin-top:2px;font-size:.61rem;font-weight:800;display:grid}.journal-session-summary>span:not(.journal-status){border-left:1px solid #b0967747;padding-left:7px}.journal-status,.journal-detail-status{color:#e8956e;background:#b23a2424;border:1px solid #e0532f4d;border-radius:3px;justify-content:center;align-items:center;font-weight:900;display:inline-flex}.journal-status{min-height:24px;padding:0 9px}.journal-session-card.is-completed .journal-status,.journal-detail-status.is-completed{color:var(--teal);background:#a4b4651f;border-color:#adbd6b52}.journal-card-arrow{color:var(--teal);font-family:var(--display-font);font-size:1.5rem;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.journal-state{text-align:center;background:radial-gradient(circle at 50% 0,#ffdd831f,#0000 45%),#2b1b13e6;border:1px solid #d89a166b;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-height:220px;margin:25px 5px 0;padding:28px 24px;display:flex;box-shadow:0 16px 36px #00000047,inset 0 0 0 1px #f2c65c2e}.journal-state>span{color:var(--gold);margin-bottom:8px;font-size:1.5rem}.journal-state img{border:2px solid #f4c75a73;border-radius:50%;width:76px;height:76px;margin-bottom:13px;box-shadow:0 9px 24px #0000004d}.journal-state strong{font-family:var(--display-font);font-size:1rem}.journal-state p{max-width:270px;color:var(--ink-muted);margin:8px 0 0;font-size:.71rem;line-height:1.6}.journal-state .secondary-button{width:auto;min-height:40px;margin-top:16px;padding:0 18px}.journal-state.is-error>span{color:var(--coral)}.journal-detail{margin-top:22px;padding:0 5px 30px}.journal-detail-back{min-height:38px;color:var(--gold);background:var(--plaque-sheen), var(--surface);cursor:pointer;border:1px solid #6f4a10;border-radius:3px;padding:0 14px;font-size:.68rem;font-weight:900;box-shadow:inset 0 0 0 1px #f2c65c52}.journal-detail-heading{background:radial-gradient(circle at 100% 0,#e0532f1f,#0000 35%),linear-gradient(140deg,#301f17f0,#22150fe6);border:1px solid #d89a167a;border-radius:4px;margin-top:12px;padding:24px 20px 20px;position:relative;overflow:hidden;box-shadow:0 14px 32px #00000047,inset 0 0 0 1px #f2c65c33}.journal-detail-heading:after{content:"";border:11px solid #d89a1621;border-radius:50%;width:130px;height:80px;position:absolute;bottom:-43px;right:-20px;transform:rotate(-12deg)}.journal-detail-heading h2{max-width:calc(100% - 106px);margin:5px 0 0;font-size:1.42rem}.journal-detail-heading p{color:var(--ink-muted);margin:5px 0 0;font-size:.7rem;font-weight:800}.journal-detail-status{min-height:29px;padding:0 11px;font-size:.62rem;position:absolute;top:23px;right:17px}.journal-result-grid{grid-template-columns:1.45fr 1fr 1fr;gap:7px;margin:11px 0 0;display:grid}.journal-result-grid>div{text-align:center;background:#ffecc40f;border:1px solid #d89a1661;border-radius:3px;place-content:center;min-width:0;min-height:80px;padding:10px 7px;display:grid;box-shadow:inset 0 1px #ffffff0d}.journal-result-grid dt{color:var(--ink-muted);font-size:.56rem;font-weight:900}.journal-result-grid dd{color:var(--teal);font-family:var(--display-font);white-space:nowrap;margin:5px 0 0;font-size:1.1rem;font-weight:900}.journal-result-grid dd small{font-size:.62em}.journal-stopped-note{background:linear-gradient(100deg,#b23a2424,#ffecc40a);border:1px solid #e0532f52;border-radius:3px;gap:2px;margin-top:11px;padding:14px 16px;display:grid}.journal-stopped-note>span{color:var(--coral-action);font-family:var(--display-font);letter-spacing:.1em;font-size:.56rem;font-weight:900}.journal-stopped-note strong{margin-top:2px;font-size:.8rem}.journal-stopped-note small{color:var(--ink-muted);font-size:.64rem}.journal-detail-section{background:#2b1b13e6;border:1px solid #d89a1666;border-radius:4px;margin-top:11px;padding:17px 15px 15px;box-shadow:0 10px 25px #0000003d,inset 0 0 0 1px #f2c65c2e}.journal-detail-section>header{border-bottom:1px solid #d89a1640;padding:0 3px 10px}.journal-detail-section h3{margin:3px 0 0;font-size:.92rem}.journal-snapshot-list,.completion-order-list{gap:7px;margin:10px 0 0;padding:0;display:grid}.journal-snapshot-list>div,.completion-order-list>li{background:linear-gradient(90deg,#ffecc412,#ffecc408);border-radius:3px;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;min-height:48px;padding:7px 8px;display:grid}.journal-snapshot-list>div>span:first-child,.completion-order-list>li>span:first-child{color:var(--coral-action);font-family:var(--display-font);text-align:center;font-size:.72rem;font-weight:900}.journal-snapshot-list>div>span:nth-child(2),.completion-order-list>li>span:nth-child(2){gap:1px;min-width:0;display:grid}.journal-snapshot-list strong,.completion-order-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.journal-snapshot-list small,.completion-order-list small{color:var(--ink-muted);font-size:.58rem}.journal-snapshot-list>div>span:last-child,.completion-order-list time{color:var(--ink-muted);font-family:var(--display-font);font-size:.62rem;font-weight:900}.journal-snapshot-list>div>span:last-child.is-complete{color:var(--teal)}.completion-order-list{list-style:none}.completion-order-list>li{background:linear-gradient(90deg,#a4b4651a,#ffecc408)}.completion-order-list>li>span:first-child{color:var(--teal)}.journal-no-events{color:var(--ink-muted);text-align:center;margin:0;padding:20px 8px 7px;font-size:.68rem}.journal-readonly-note{color:var(--ink-muted);text-align:center;background:#f3e7cf0f;border-radius:3px;margin:11px 0 0;padding:12px 14px;font-size:.61rem;line-height:1.5}@media (width>=600px){.app-shell{border:1px solid #f4c75ab8;border-radius:28px;width:min(480px,100% - 32px);height:min(920px,100svh - 32px);min-height:min(920px,100svh - 32px);box-shadow:0 28px 80px #1812107a}.today-scene,.management-view,.workout-scene,.result-scene,.loading-scene,.setup-welcome,.setup-flow{height:100%;min-height:100%}}@media (height<=720px){.scene-header{height:58px}.top-hud-art{border-width:0 59px}.hud-backdrop{inset:6px 10px}.scene-header-content{padding-left:37px;padding-right:39px}.date-block strong{font-size:.78rem}.plan-ribbon{top:calc(68px + env(safe-area-inset-top));transform-origin:0 0;transform:scale(.9)}.hikari-character-wrap{height:min(110svh,820px);margin-top:18px}.dialogue-panel{min-height:222px}.dialogue-backdrop{border-radius:5px;inset:8px}.dialogue-frame-art{border-width:64px}.dialogue-content{padding:31px 49px 21px}.nameplate{height:33px;top:-24px}.dialogue-copy,.dialogue-line-sizer{font-size:.82rem;line-height:1.4}.dialogue-line-sizer{min-height:2.55em}.workout-bubble-pos-1,.workout-bubble-pos-2{top:50%}.workout-bubble-pos-3,.workout-bubble-pos-4{top:60%}.workout-bubble-copy,.workout-bubble-sizer{font-size:.72rem}.plan-summary{margin-top:2px;padding-top:3px}.plan-summary>div span{font-size:.69rem}.plan-summary small{font-size:.56rem}.text-button{min-height:30px;font-size:.62rem}.primary-button.game-button{min-height:clamp(68px,10.5svh,84px);margin-top:12px}.primary-button span{font-size:.85rem}.primary-button.game-button span{font-size:1.15rem}.menu-inner{padding-top:42px;padding-bottom:36px}.menu-header h2{font-size:1.3rem}.menu-item-copy span{display:none}.timer-hud{top:calc(70px + env(safe-area-inset-top));min-height:92px}.timer-value{font-size:clamp(2.5rem,12vw,3.65rem)}.second-orbit{width:min(80%,350px);top:26%}.character-stage.is-compact{top:105px}.workout-controls{padding:13px 17px 15px}.workout-complete-button{min-height:68px;margin-top:8px}.result-card{padding-top:18px;padding-bottom:17px}}@media (width<=360px){.scene-header-content{padding-left:34px;padding-right:36px}.dialogue-content{padding-left:44px;padding-right:44px}.plan-summary>div span{display:none}.menu-inner{padding-left:50px;padding-right:50px}}@media (orientation:landscape) and (height<=520px) and (width<=960px){.app-shell{display:none}.orientation-guard{color:#fffdf8;text-align:center;justify-items:center;max-width:420px;padding:28px;display:grid}.orientation-guard img{border-radius:16px;width:64px;height:64px;margin-bottom:16px;box-shadow:0 12px 28px #00000040}.orientation-guard .eyebrow{color:var(--gold-light)}.orientation-guard h1{font-family:var(--display-font);margin:8px 0 0;font-size:1.65rem}.orientation-guard p{color:#f7e6d4;margin:8px 0 0;font-size:.82rem}}@media (prefers-reduced-motion:reduce){.character-stage.is-speaking .hikari-mouth-layer{opacity:1;animation:none}*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
