:root{--ink:#eef2fb;--ink-dim:#b8c2d9;--panel:#0c1226cc;--panel-solid:#121a31;--line:#ffffff2e;--accent:#f2c46d;--accent-ink:#2a1d05;--danger:#d9534f;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background:#05070d;margin:0}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{background:radial-gradient(#10172b 0%,#05070d 70%);justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.stage{aspect-ratio:16/9;-webkit-user-select:none;user-select:none;--fs-body:clamp(14px, 3.15cqh, 30px);--fs-small:clamp(11px, 2.1cqh, 18px);--gutter:3cqw;width:min(100vw,177.778dvh);position:relative;overflow:clip;box-shadow:0 0 60px #0009;container-type:size}@media (orientation:portrait){.stage{aspect-ratio:auto;--fs-body:clamp(15px, 4.3cqw, 20px);--fs-small:clamp(12px, 3.3cqw, 15px);--gutter:16px;width:100vw;height:100dvh}}.loading,.error-screen{text-align:center;color:var(--ink-dim);place-content:center;padding:24px;display:grid;position:absolute;inset:0}.error-screen{text-align:left;-webkit-user-select:text;user-select:text;overflow:auto}.error-screen h1{color:#ffb4b4;font-size:1.3rem}.error-screen li{margin:4px 0;font-family:ui-monospace,monospace;font-size:.85rem}.btn{min-height:44px;font-size:var(--fs-small);letter-spacing:.05em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1a;border:1px solid #ffffff73;border-radius:999px;padding:0 1.4em;font-weight:600;transition:background .2s,transform .15s}.btn:hover{background:#ffffff38}.btn:active{transform:scale(.97)}.btn-primary{color:var(--accent-ink);background:linear-gradient(135deg,#ffe3a3,#e9a944);border-color:#0000;box-shadow:0 6px 20px #e9a94459}.btn-primary:hover{background:linear-gradient(135deg,#fff0c9,#f0b85a)}.btn-danger{background:var(--danger);color:#fff;border-color:#0000}.icon-btn{background:0 0;border:0;border-radius:50%;width:44px;height:44px;font-size:1.5rem;line-height:1}.icon-btn:hover{background:#ffffff1a}.modal-backdrop{z-index:50;cursor:default;background:#03060e9e;place-items:center;padding:16px;animation:.18s ease-out fadeIn;display:grid;position:absolute;inset:0}.modal{border:1px solid var(--line);background:var(--panel-solid);-webkit-user-select:text;user-select:text;border-radius:16px;flex-direction:column;width:min(600px,100%);max-height:min(88cqh,100%);animation:.2s ease-out popIn;display:flex;box-shadow:0 20px 60px #0000008c}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 8px 8px 20px;display:flex}.modal-head h2{letter-spacing:.08em;margin:0;font-size:1.05rem}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:16px 20px;font-size:.95rem;line-height:1.7;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:12px 20px 16px;display:flex}.modal-confirm{width:min(460px,100%)}.note{color:var(--ink-dim);font-size:.82rem}@keyframes fadeIn{0%{opacity:0}}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.98)}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.bg-root{position:absolute;inset:0;overflow:hidden}.bg{background-position:50%;background-size:cover;position:absolute;inset:0}.bg[data-has-image]{background-repeat:no-repeat}.bg-enter{animation:.7s ease-out both bgIn}@keyframes bgIn{0%{opacity:0}}.bg-deco,.bg-deco:before,.bg-deco:after{pointer-events:none;position:absolute;inset:0}.bg-deco:before,.bg-deco:after{content:""}.bg-office-day,.bg-office-evening,.bg-office-night{background: linear-gradient(to bottom, var(--ceiling) 0 7%, transparent 7%),  linear-gradient(to bottom, transparent 64%, var(--floor-top) 64%, var(--floor-bottom) 100%),  repeating-linear-gradient(90deg, transparent 0 11.6%, var(--mullion) 11.6% 12.5%), linear-gradient(to bottom, transparent 0 34%, var(--mullion) 34% 35%, transparent 35%),  linear-gradient(to bottom, var(--sky-top) 0%, var(--sky-mid) 40%, var(--sky-bottom) 64%)}.bg-office-day{--ceiling:#e7ecf2;--sky-top:#7fbdf0;--sky-mid:#bfe0f8;--sky-bottom:#eef6fc;--mullion:#dfe5ec;--floor-top:#c4ceda;--floor-bottom:#97a3b4;--skyline:#6e8caf80;--skyline-far:#96b4d266;--desk:#e9edf2;--desk-edge:#aab4c2;--monitor:#2c3646}.bg-office-evening{--ceiling:#4a3a44;--sky-top:#3b3f78;--sky-mid:#e0777d;--sky-bottom:#ffc27a;--mullion:#4c3c47;--floor-top:#7b5c5c;--floor-bottom:#3f2f36;--skyline:#3c2846bf;--skyline-far:#7846648c;--desk:#8d6a66;--desk-edge:#4f3a3c;--monitor:#1f1a24}.bg-office-night{--ceiling:#0f1424;--sky-top:#050816;--sky-mid:#0f1736;--sky-bottom:#24315e;--mullion:#141b30;--floor-top:#1e2638;--floor-bottom:#0a0e18;--skyline:#0a0e1ef2;--skyline-far:#192040e6;--desk:#2a3247;--desk-edge:#11162a;--monitor:#0c1630}.bg-office-day .bg-deco:before,.bg-office-evening .bg-deco:before,.bg-office-night .bg-deco:before{background:linear-gradient(var(--skyline), var(--skyline)), linear-gradient(var(--skyline-far), var(--skyline-far));clip-path:polygon(0 100%,0 55%,4% 55%,4% 30%,9% 30%,9% 62%,13% 62%,13% 18%,16% 18%,16% 10%,18% 10%,18% 18%,21% 18%,21% 58%,26% 58%,26% 40%,31% 40%,31% 70%,35% 70%,35% 25%,40% 25%,40% 50%,46% 50%,46% 8%,50% 8%,50% 45%,55% 45%,55% 64%,59% 64%,59% 32%,64% 32%,64% 14%,67% 14%,67% 52%,72% 52%,72% 38%,77% 38%,77% 68%,81% 68%,81% 22%,86% 22%,86% 48%,91% 48%,91% 30%,96% 30%,96% 60%,100% 60%,100% 100%);background-size:100% 100%,100% 100%;height:26%;inset:auto 0 36%}.bg-office-night .bg-deco:before{background:radial-gradient(circle, #ffd68ce6 0 1px, transparent 1.6px) 0 0 / 14px 11px, radial-gradient(circle, #96c8ffb3 0 1px, transparent 1.6px) 7px 5px / 19px 13px, linear-gradient(var(--skyline), var(--skyline))}.bg-office-evening .bg-deco:before{background:radial-gradient(circle, #ffdca08c 0 1px, transparent 1.6px) 0 0 / 22px 15px, linear-gradient(var(--skyline), var(--skyline))}.bg-office-day .bg-deco:after,.bg-office-evening .bg-deco:after,.bg-office-night .bg-deco:after{background:repeating-linear-gradient(90deg, transparent 0 6%, var(--monitor) 6% 13%, transparent 13% 20%) 0 0 / 100% 55% no-repeat, linear-gradient(to bottom, var(--desk) 0 70%, var(--desk-edge) 70% 100%) 0 100% / 100% 45% no-repeat;height:16%;inset:auto 0 18%}.bg-office-night .bg-deco:after{background:repeating-linear-gradient(90deg, transparent 0 6%, #1d4f8a 6% 13%, transparent 13% 20%) 0 0 / 100% 55% no-repeat, linear-gradient(to bottom, var(--desk) 0 70%, var(--desk-edge) 70% 100%) 0 100% / 100% 45% no-repeat;filter:drop-shadow(0 0 8px #5096ff59)}.bg-office-evening .bg-deco{background:radial-gradient(at 70% 55%,#ffbe6e59,#0000 55%)}.bg-office-night .bg-deco{background:radial-gradient(at 50% 0,#78a0ff1f,#0000 60%)}.bg-client-meeting{background:linear-gradient(#0000 70%,#6b4b36 70%,#3e2a1e 100%),repeating-linear-gradient(90deg,#d9c1a0 0 3.2%,#cfb48f 3.2% 3.6%),#d9c1a0}.bg-client-meeting .bg-deco{background:radial-gradient(at 50% 10%,#fff5e18c,#0000 60%)}.bg-client-meeting .bg-deco:before{background:linear-gradient(0deg,#4f8fd8 0 35%,#0000 35%) 18% 85%/8% 60% no-repeat,linear-gradient(0deg,#4f8fd8 0 55%,#0000 55%) 32% 85%/8% 60% no-repeat,linear-gradient(0deg,#e9a944 0 80%,#0000 80%) 46% 85%/8% 60% no-repeat,linear-gradient(0deg,#4f8fd8 0 45%,#0000 45%) 60% 85%/8% 60% no-repeat,linear-gradient(#9fb5cf,#9fb5cf) 72% 30%/18% 4% no-repeat,linear-gradient(#9fb5cf,#9fb5cf) 72% 42%/14% 4% no-repeat,linear-gradient(#eef4fb,#d6e2f0);border:.8cqh solid #2f3440;border-radius:6px;height:40%;inset:12% 22% auto;box-shadow:0 8px 24px #3c281459}.bg-client-meeting .bg-deco:after{background:linear-gradient(#8a5f3f,#5a3b26 60%,#3b2618);border-radius:50% 50% 0 0/40% 40% 0 0;height:26%;inset:auto -10% -6%;box-shadow:inset 0 .8cqh #ffdcb440}.bg-boardroom{background:radial-gradient(at 25% 8%,#ffd69659,#0000 22%),radial-gradient(at 50% 6%,#ffd69666,#0000 22%),radial-gradient(at 75% 8%,#ffd69659,#0000 22%),linear-gradient(#0000 66%,#2a1c1a 66%,#120b0a 100%),repeating-linear-gradient(90deg,#3a2328 0 15.4%,#2b191d 15.4% 16.6%),#3a2328}.bg-boardroom .bg-deco{background:linear-gradient(#d6aa5a80,#d6aa5a80) 0 18%/100% .35cqh no-repeat,linear-gradient(#d6aa5a59,#d6aa5a59) 0 60%/100% .35cqh no-repeat}.bg-boardroom .bg-deco:before{border:.5cqh solid #d6aa5a99;width:14cqh;height:14cqh;inset:24% auto auto 50%;transform:translate(-50%)rotate(45deg);box-shadow:inset 0 0 0 1.4cqh #d6aa5a1f}.bg-boardroom .bg-deco:after{clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);background:linear-gradient(#4a2d22,#2a1812 70%);height:34%;inset:auto 0 0;box-shadow:inset 0 1cqh #ffdcaa26}.scene{cursor:pointer;position:absolute;inset:0}.scene-choice{cursor:default}.sprites{pointer-events:none;justify-content:center;align-items:flex-end;gap:8cqw;display:flex;position:absolute;inset:0}.sprite{height:min(96cqh, calc(100cqw / var(--n) / .376 * .9));filter:drop-shadow(0 0 .6cqh #00000059);transform-origin:50% 100%;width:auto;transition:filter .3s,transform .3s;animation:.35s ease-out spriteIn;display:block}.sprite-inactive{filter:brightness(.6)saturate(.75)drop-shadow(0 0 .6cqh #00000059);transform:scale(.97)}.sprite-idle{filter:brightness(.88)drop-shadow(0 0 .6cqh #00000059)}.scene-choice .sprites{filter:brightness(.7);transition:filter .3s}@keyframes spriteIn{0%{opacity:0;transform:translateY(1.5%)}}@media (orientation:portrait){.sprites{padding-top:calc(60px + env(safe-area-inset-top));align-items:flex-start;gap:0}.sprite{height:min(86cqh, calc(100cqw / var(--n) / .376 * .98))}}.chapter{top:2cqh;left:var(--gutter);font-size:var(--fs-small);letter-spacing:.25em;color:var(--ink-dim);pointer-events:none;background:#080c1c8c;border-radius:999px;padding:.35em 1em;position:absolute}.topmenu{top:2cqh;right:var(--gutter);z-index:10;gap:.6cqw;display:flex;position:absolute}.topmenu button{min-width:4.6em;min-height:32px;font-size:var(--fs-small);letter-spacing:.08em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080c1c99;border:1px solid #ffffff59;border-radius:999px;padding:.3em .8em;font-weight:700}.topmenu button:hover{background:#28345acc}.topmenu button.is-on{background:var(--accent);color:var(--accent-ink);border-color:#0000}@media (pointer:coarse){.topmenu button{min-height:44px}}@media (orientation:portrait){.chapter{display:none}.topmenu{top:calc(8px + env(safe-area-inset-top));gap:6px;left:8px;right:8px}.topmenu button{letter-spacing:.02em;flex:1;min-width:0;min-height:44px;padding:0 4px;font-size:12px}}.dialogue{left:var(--gutter);right:var(--gutter);-webkit-backdrop-filter:blur(6px);z-index:5;background:linear-gradient(#0e162ec7,#080c1ce0);border:1px solid #ffffff38;border-radius:1.6cqh;min-height:27cqh;max-height:40cqh;padding:3.4cqh 3cqw 3cqh;position:absolute;bottom:3cqh;box-shadow:0 1cqh 4cqh #00000059,inset 0 1px #ffffff1a}.dialogue-text{font-size:var(--fs-body);letter-spacing:.03em;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:0 1px 2px #00000080;margin:0;line-height:1.75}.dialogue-narration .dialogue-text{color:#dfe6f7;font-style:normal}.dialogue-prompt{border-color:#f2c46d8c;min-height:0}.dialogue-ending{border-color:#f2c46dcc;box-shadow:0 0 3cqh #f2c46d59,inset 0 1px #ffffff26}.nameplate{background:var(--name-color,#58607a);font-size:var(--fs-small);letter-spacing:.12em;border-radius:.6em;padding:.35em 1.4em;font-weight:700;position:absolute;top:0;left:2.4cqw;transform:translateY(-55%);box-shadow:0 .4cqh 1.2cqh #00000059}.next-indicator{border-left:.9cqh solid #0000;border-right:.9cqh solid #0000;border-top:1.2cqh solid var(--accent);width:0;height:0;animation:.9s ease-in-out infinite bob;position:absolute;bottom:2.2cqh;right:2.4cqw}@keyframes bob{50%{transform:translateY(.6cqh)}}@media (orientation:portrait){.dialogue{bottom:calc(12px + env(safe-area-inset-bottom));border-radius:14px;min-height:24cqh;max-height:40cqh;padding:22px 18px 18px;overflow-y:auto}.dialogue-prompt{min-height:0}.nameplate{margin:-12px 0 6px;display:inline-block;position:sticky;top:-22px;left:0;transform:none}.next-indicator{border-top-width:9px;border-left-width:7px;border-right-width:7px;bottom:10px;right:14px}}.choices{z-index:6;cursor:default;flex-direction:column;justify-content:center;gap:2.2cqh;width:min(74cqw,980px);padding:1cqh 1cqw;display:flex;position:absolute;top:11cqh;bottom:33cqh;left:50%;overflow-y:auto;transform:translate(-50%)}.choice{color:#1b2340;text-align:left;width:100%;min-height:44px;font-size:calc(var(--fs-body) * .88);background:linear-gradient(135deg,#fffffff5,#e8eefaf0);border:1px solid #ffffffb3;border-radius:1.4cqh;align-items:center;gap:1.4cqw;padding:1.8cqh 2cqw;font-weight:600;line-height:1.5;transition:transform .15s,box-shadow .15s,opacity .2s,background .2s;animation:.32s ease-out both choiceIn;display:flex;box-shadow:0 .8cqh 2.4cqh #0000004d}.choice:hover:not(:disabled){border-color:var(--accent);transform:translate(.6cqw);box-shadow:0 .8cqh 3cqh #f2c46d73}.choice:disabled{cursor:default}.choice.is-selected{background:linear-gradient(135deg,#fff4d6,#f7d27c);border-color:#e9a944;transform:scale(1.02);box-shadow:0 0 0 3px #f2c46d99,0 1cqh 3cqh #00000059}.choice.is-dimmed{opacity:.35}.choice-mark{color:#fff;background:#1f2a52;border-radius:50%;flex:none;place-items:center;width:2em;height:2em;font-size:.9em;font-weight:800;display:inline-grid}.choice-body{overflow-wrap:anywhere;flex:1}@keyframes choiceIn{0%{opacity:0;transform:translateY(1.2cqh)}}@media (orientation:portrait){.choices{top:calc(64px + env(safe-area-inset-top));justify-content:flex-end;gap:10px;width:auto;padding:4px 2px;bottom:calc(26cqh + 20px);left:12px;right:12px;transform:none}.choice{border-radius:12px;gap:12px;min-height:56px;padding:12px 14px;font-size:15px}}.route-transition{z-index:20;cursor:default;background:#04060c;place-items:center;animation:1.7s ease-in-out both routeFade;display:grid;position:absolute;inset:0}.route-transition-inner{letter-spacing:.6em;color:var(--accent);padding:1.5cqh 0;font-size:clamp(18px,4.5cqh,40px);animation:1.7s ease-out both routeText;position:relative}.route-transition-inner:before,.route-transition-inner:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:40cqw;height:1px;animation:1.7s ease-out both routeLine;position:absolute;left:50%;transform:translate(-50%)}.route-transition-inner:before{top:0}.route-transition-inner:after{bottom:0}@keyframes routeFade{0%{opacity:0}18%,82%{opacity:1}to{opacity:0}}@keyframes routeText{0%,15%{opacity:0;letter-spacing:1.2em}45%{opacity:1;letter-spacing:.6em}}@keyframes routeLine{0%,15%{width:0}55%{width:40cqw}}.log-list{margin:0;padding:0;list-style:none}.log-list li{border-bottom:1px dashed #ffffff1a;padding:8px 0}.log-speaker{color:var(--accent);font-size:.78rem;font-weight:700;display:block}.log-prompt .log-text{color:#ffe2a8}.log-selected{color:#9fd3ff;font-weight:600}.setting{border:0;margin:0 0 16px;padding:0}.setting legend{margin-bottom:8px;font-size:.9rem;font-weight:700}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented button{border:1px solid var(--line);background:#ffffff0d;border-radius:10px;flex:1;min-width:4.5em;min-height:44px}.segmented button.is-on{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:700}.howto{padding-left:1.2em}.howto li{margin-bottom:8px}.title-screen{isolation:isolate;position:absolute;inset:0;overflow:clip}.title-bg{filter:saturate(1.1)brightness(.85)}.title-screen:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#060914e0 0%,#0609148c 42%,#06091400 70%);position:absolute;inset:0}.title-lineup{z-index:2;align-items:flex-end;display:flex;position:absolute;bottom:-2cqh;right:1cqw}.title-sprite{filter:drop-shadow(0 0 1cqh #0006);height:90cqh;margin:0 -2.8cqw;animation:.8s ease-out both spriteIn}.title-sprite-madoka{z-index:2;height:96cqh;animation-delay:.1s}.title-sprite-hinata{animation-delay:.3s}.title-sprite-kanzaki{animation-delay:.45s}.title-sprite-kuroda{animation-delay:.6s}.title-panel{z-index:3;width:44cqw;animation:.8s ease-out fadeIn;position:absolute;top:50%;left:6cqw;transform:translateY(-50%)}.title-kicker{font-size:var(--fs-small);letter-spacing:.35em;color:var(--accent);margin:0 0 1.5cqh}.title-logo{letter-spacing:.02em;text-shadow:0 .6cqh 2.5cqh #0009;margin:0;font-size:clamp(28px,10cqh,104px);font-weight:900;line-height:1.05}.title-logo span{background:linear-gradient(135deg,#ffe7b0,#f2c46d 45%,#e9894a);color:#0000;-webkit-background-clip:text;background-clip:text;display:block}.title-sub{font-size:calc(var(--fs-body) * .95);color:var(--ink);letter-spacing:.08em;margin:2cqh 0 4cqh}.title-menu{flex-direction:column;align-items:flex-start;gap:1.6cqh;display:flex}.title-menu .btn{min-width:15em}.title-foot{font-size:calc(var(--fs-small) * .9);color:var(--ink-dim);margin-top:4cqh}@media (orientation:portrait){.title-screen:after{background:linear-gradient(#06091400 30%,#060914bf 52%,#060914f2 75%)}.title-lineup{left:0;right:0;top:calc(12px + env(safe-area-inset-top));justify-content:center;bottom:auto}.title-sprite{height:54cqh;margin:0 -11.5cqw}.title-sprite-madoka{height:58cqh}.title-panel{top:auto;left:16px;right:16px;bottom:calc(20px + env(safe-area-inset-bottom));text-align:center;width:auto;transform:none}.title-logo{font-size:clamp(30px,11cqw,52px)}.title-sub{margin:10px 0 20px}.title-menu{align-items:stretch;gap:10px}.title-menu .btn{min-width:0;min-height:48px}.title-foot{margin-top:14px}}.title-art,.title-art-blur{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.title-art{z-index:0;animation:1.2s ease-out both titleArtIn}.title-art-blur{display:none}@keyframes titleArtIn{0%{opacity:0;transform:scale(1.03)}}.title-screen.has-art:after{background:linear-gradient(#06091400 68%,#06091473 84%,#060914d9 100%)}.title-screen.has-art .title-panel{width:auto;animation:.8s ease-out .6s both fadeIn;inset:auto 4cqw 3.5cqh;transform:none}.title-screen.has-art .title-menu{flex-flow:wrap;align-items:center;gap:1.4cqw}.title-screen.has-art .title-menu .btn{min-width:11em}.title-screen.has-art .title-menu .btn:not(.btn-primary){background:#080c1c9e;border-color:#fff9}.title-screen.has-art .title-menu .btn:not(.btn-primary):hover{background:#1e2850cc}.title-screen.has-art .title-foot{text-shadow:0 1px 3px #000c;margin-top:1.6cqh}@media (orientation:portrait){.title-art-blur{filter:blur(18px)brightness(.55)saturate(1.2);display:block;transform:scale(1.15)}.title-art{inset:auto 0;top:max(calc(16px + env(safe-area-inset-top)), calc((100cqh - 280px - 56.3cqw) / 2));aspect-ratio:1672/941;height:auto;box-shadow:0 10px 40px #00000080}.title-screen.has-art:after{background:linear-gradient(#06091400 40%,#06091466 60%,#060914e6 100%)}.title-screen.has-art .title-panel{left:16px;right:16px;bottom:calc(20px + env(safe-area-inset-bottom))}.title-screen.has-art .title-menu{flex-direction:column;align-items:stretch;gap:10px}.title-screen.has-art .title-menu .btn{min-width:0;min-height:52px}}.ending{--end-accent:var(--accent);--particle:#ffffffb3;animation:1s ease-out fadeIn;position:absolute;inset:0;overflow:clip}.ending-bg{background:var(--end-bg);position:absolute;inset:0}.ending-bg:after{content:"";background:var(--end-glow,none);position:absolute;inset:0}.ending-particles{position:absolute;inset:0;overflow:hidden}.ending-particles i{background:var(--particle);opacity:.85;animation-name:var(--p-anim,fall);border-radius:2px;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-5%}@keyframes fall{to{transform:translateY(115cqh)rotate(540deg)}}@keyframes rise{0%{opacity:0;transform:translateY(10cqh)scale(.6)}30%{opacity:.8}to{opacity:0;transform:translateY(-110cqh)scale(1)}}@keyframes drift{to{transform:translate(-30cqw,115cqh)rotate(320deg)}}.ending-sprite{height:100cqh;filter:drop-shadow(0 0 2cqh #00000073) var(--sprite-filter,brightness(1));animation:1s ease-out .2s both spriteIn;position:absolute;bottom:-4cqh;right:6cqw}.ending-card{-webkit-backdrop-filter:blur(8px);-webkit-user-select:text;user-select:text;background:#080c1ab8;border:1px solid #fff3;border-radius:2cqh;width:min(56cqw,720px);max-height:92cqh;padding:4cqh 3.4cqw;animation:.8s ease-out .3s both popIn;position:absolute;top:50%;left:5cqw;overflow-y:auto;transform:translateY(-50%);box-shadow:0 2cqh 6cqh #00000073}.ending-no{font-size:var(--fs-small);letter-spacing:.5em;color:var(--end-accent);margin:0;font-weight:800}.ending-title{background:var(--title-fill,linear-gradient(135deg, #fff, #dfe6f7));color:#0000;-webkit-background-clip:text;background-clip:text;margin:1cqh 0 .5cqh;font-size:clamp(26px,7cqh,64px);font-weight:900;line-height:1.2}.ending-subtitle{color:var(--ink-dim);font-size:var(--fs-small);letter-spacing:.15em;margin:0 0 3cqh}.ending-quote{border-left:.5cqh solid var(--end-accent);background:#ffffff0f;border-radius:0 1cqh 1cqh 0;margin:0 0 3cqh;padding:2cqh 2cqw}.ending-quote p{font-size:var(--fs-body);margin:.5em 0 0;line-height:1.75}.ending-speaker{font-size:var(--fs-small);color:var(--end-accent);font-weight:700}.ending-actions{flex-wrap:wrap;gap:1.2cqh 1cqw;display:flex}.ending-review{font-size:var(--fs-small);margin-bottom:3cqh}.review-route{margin:0 0 1.5cqh}.stat-bars{gap:.8cqh;margin:0 0 2cqh;display:grid}.stat-row{grid-template-columns:5.5em 1fr;align-items:center;gap:1em;display:grid}.stat-row dt{color:var(--ink-dim)}.stat-row dd{align-items:center;gap:.8em;margin:0;display:flex}.stat-bar{background:#ffffff1f;border-radius:999px;flex:1;height:.7em;overflow:hidden}.stat-bar span{border-radius:inherit;background:var(--end-accent);transform-origin:0;height:100%;animation:.8s ease-out both grow;display:block}@keyframes grow{0%{transform:scaleX(0)}}.stat-num{text-align:right;font-variant-numeric:tabular-nums;width:2.4em}.review-choices{gap:1.2cqh;margin:0;padding:0;list-style:none;display:grid}.review-choices li{background:#ffffff0d;border-radius:1cqh;padding:1.2cqh 1.2cqw}.review-prompt{color:var(--ink-dim);margin:0 0 .4em}.review-pick{align-items:flex-start;gap:.6em;margin:0;font-weight:600;display:flex}.review-pick .choice-mark{background:var(--end-accent);color:#111;font-size:.8em}.review-effects{color:#9fd3ff;margin:.3em 0 0;font-size:.92em}@media (orientation:portrait){.ending-sprite{right:50%;top:calc(10px + env(safe-area-inset-top));height:64cqh;animation:1s ease-out .2s both fadeIn;bottom:auto;transform:translate(50%)}.ending-card{top:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));background:#080c1adb;border-radius:16px;width:auto;max-height:66cqh;padding:20px 18px;animation:.8s ease-out .3s both fadeIn;transform:none}.ending-title{font-size:clamp(24px,8cqw,36px)}.ending-quote{padding:12px 14px}.ending-actions{flex-direction:column;gap:8px}.ending-actions .btn{width:100%}.review-choices li{padding:10px 12px}}.end-promotion{--end-bg:radial-gradient(ellipse at 60% 20%, #fff2c4 0%, #f2c46d 25%, #8a5a1c 60%, #2b1a06 100%);--end-glow:repeating-conic-gradient(from 0deg at 62% 30%, #ffffff1f 0 6deg, transparent 6deg 18deg);--end-accent:#f7cf6e;--title-fill:linear-gradient(135deg, #fff6d8, #f7cf6e 50%, #e69a3c);--p-anim:fall}.end-promotion .ending-particles i:nth-child(3n){background:#fff}.end-promotion .ending-particles i:nth-child(3n+1){background:#f7cf6e}.end-promotion .ending-particles i:nth-child(3n+2){background:#8ec5ff}.end-promotion .ending-bg:after{animation:40s linear infinite spin;inset:-50%}@keyframes spin{to{transform:rotate(360deg)}}.end-deferred{--end-bg:linear-gradient(to bottom, #13223f 0%, #27426e 55%, #4d6d9a 100%);--end-glow:radial-gradient(ellipse at 70% 100%, #aacdff59, transparent 60%);--end-accent:#9cc3ff;--title-fill:linear-gradient(135deg, #fff, #b9d4ff);--particle:#bed7ff99;--p-anim:rise}.end-deferred .ending-particles i{border-radius:50%;top:auto;bottom:0}.end-recovered{--end-bg:linear-gradient(to top, #0f3a3a 0%, #2f7a6a 40%, #f2b880 78%, #ffe3b8 100%);--end-glow:radial-gradient(circle at 70% 78%, #ffecbef2 0 9cqh, #ffd29659 9.2cqh, transparent 38cqh);--end-accent:#8fe3c2;--title-fill:linear-gradient(135deg, #f4fff9, #8fe3c2 60%, #ffd49a);--particle:#dcffebb3;--p-anim:rise}.end-recovered .ending-bg:after{animation:3s ease-out both sunrise}@keyframes sunrise{0%{opacity:.3;transform:translateY(20cqh)}}.end-recovered .ending-particles i{border-radius:50%;top:auto;bottom:0}.end-pip{--end-bg:linear-gradient(160deg, #2a2b31 0%, #1a1b20 60%, #301416 100%);--end-glow:repeating-linear-gradient(to bottom, #ffffff08 0 2px, transparent 2px 4px);--end-accent:#e0645f;--title-fill:linear-gradient(135deg, #f1f1f1, #c9c9c9);--sprite-filter:grayscale(.55) brightness(.85)}.end-pip .ending-particles{display:none}.ending-stamp{z-index:2;color:#d8433d;letter-spacing:.2em;opacity:.85;border:.8cqh double #d8433d;border-radius:1cqh;padding:1.2cqh 2cqw;font-size:clamp(20px,6cqh,54px);font-weight:900;animation:.5s cubic-bezier(.2,1.6,.5,1) .9s both stamp;position:absolute;top:12cqh;right:9cqw;transform:rotate(-12deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-12deg)scale(2.4)}}@media (orientation:portrait){.ending-stamp{right:16px;top:calc(64px + env(safe-area-inset-top))}}.end-resignation{--end-bg:linear-gradient(to bottom, #2a1d4a 0%, #7a3f6b 40%, #e57a5a 75%, #f7b77a 100%);--end-glow:radial-gradient(ellipse at 30% 85%, #ffc89673, transparent 55%);--end-accent:#ffb38a;--title-fill:linear-gradient(135deg, #fff1e6, #ffb38a 55%, #d989c9);--particle:#ffd2e1d9;--p-anim:drift;--sprite-filter:sepia(.15)}.end-resignation .ending-particles i{border-radius:60% 0}
