/* 结关是整屏演出，离开演出后才进入作品、剧情与结算。 */
dialog:has(.modal-outcome){width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;overflow:hidden;background:#091c26;box-shadow:none}
.modal-outcome{padding:0!important}.outcome-screen{position:relative;isolation:isolate;min-height:100dvh;height:100dvh;overflow:hidden;color:#fff1c8;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#10252f}
.outcome-landscape,.outcome-shade,.outcome-particles,.outcome-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.outcome-landscape{object-fit:cover;z-index:-3}.outcome-shade{z-index:-2;background:radial-gradient(ellipse at 50% 25%,#123f4452 0,#0b2630c9 51%,#071b27f7 100%),linear-gradient(0deg,#082331d9,transparent 65%,#071e2a7a)}
.outcome-frame{inset:25px;width:calc(100% - 50px);height:calc(100% - 50px);border:1px solid #f4d48e38;z-index:-1}.outcome-frame:before,.outcome-frame:after{content:'✦';position:absolute;top:-12px;left:50%;color:#ecd193;font-size:18px;transform:translateX(-50%);text-shadow:0 0 20px #ffd780}.outcome-frame:after{top:auto;bottom:-12px}
.outcome-particles{z-index:1}.outcome-top{position:absolute;left:55px;right:55px;top:49px;display:flex;justify-content:space-between;font:11px var(--sans);letter-spacing:2px;color:#ddd9b8}.outcome-top>span:first-child{font-family:var(--serif);letter-spacing:3px}.outcome-top i{display:block;font:9px var(--sans);font-style:normal;letter-spacing:5px;opacity:.65;margin-top:8px}
.outcome-hero{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;width:min(850px,88vw);margin-top:-55px}
.outcome-emblem{width:clamp(180px,29vh,290px);height:clamp(180px,29vh,290px);margin-bottom:4px;flex-shrink:0}.outcome-emblem img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 14px #04131c99) drop-shadow(0 0 25px #f4ca7033)}
.outcome-eyebrow{font:11px var(--serif);letter-spacing:.3em;color:#f3d79f;margin:18px 0 12px}
.outcome-hero h2{font:600 clamp(44px,6.5vw,84px)/1.28 var(--serif);letter-spacing:.12em;margin:0 0 8px .12em;color:#ffeec0;background:linear-gradient(175deg,#fffae4 18%,#ffdf94 50%,#cea45a 76%,#fff0c2);background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 14px #071b2c);}
.outcome-subtitle{font:clamp(14px,1.3vw,18px) var(--sans);letter-spacing:.22em;color:#dfe4d1;margin:4px 0 27px}
.outcome-score{min-width:345px;display:flex;align-items:baseline;justify-content:center;gap:12px;padding:16px 26px 18px;border-top:1px solid #ecd7a850;border-bottom:1px solid #ecd7a850;background:linear-gradient(90deg,transparent,#bcaa7020,transparent);font-size:12px;color:#d1d5c7}.outcome-score strong{font:500 44px/1 var(--serif);font-variant-numeric:tabular-nums;color:#ffe2a0;min-width:48px}.outcome-threshold{margin-left:15px;color:#e4d7b3;font-size:11px}
.outcome-message{font-size:14px;line-height:1.9;color:#d1ded5;margin:23px 0 0;max-width:620px}
.outcome-bottom{position:absolute;left:55px;right:55px;bottom:49px;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:25px;z-index:3}.outcome-controls{display:flex;gap:16px;padding-bottom:9px;align-items:center;flex-wrap:wrap}.outcome-controls .text-button{color:#cadbd4;font-size:11px;padding:8px 0}.outcome-forward{text-align:center;width:280px}.outcome-forward .gold-button{display:flex;align-items:center;justify-content:center;gap:28px;width:100%;min-height:51px;font-size:14px;box-shadow:0 4px 0 #a88842,0 0 30px #e5bf6b26;transition:opacity .3s}.outcome-forward .gold-button:disabled{opacity:.4;cursor:default;box-shadow:none}.outcome-wait{display:block;font-size:11px;color:#b6c9c3;margin-bottom:12px;min-height:16px}.outcome-progress{height:1px;background:#e2c78320;margin-top:13px}.outcome-progress i{display:block;height:100%;background:#eac984;transform-origin:left center}.outcome-footnote{color:#92aca9;font-size:10px;letter-spacing:1px;text-align:right;padding-bottom:12px}
.outcome-screen.retry .outcome-shade{background:radial-gradient(ellipse at 50% 27%,#1b49657a,#102b41e3 55%,#081c2afa)}.retry .outcome-hero h2{font-size:clamp(35px,5.7vw,69px);background-image:linear-gradient(175deg,#f0f8ed,#accbd5 78%,#f7deb1)}.retry .outcome-emblem img{filter:drop-shadow(0 8px 14px #04131c99) drop-shadow(0 0 22px #8ed0fa26)}
.outcome-reduced *{transition:none!important}.outcome-forward .gold-button:not(:disabled){opacity:1}
@media(max-height:760px) and (min-width:701px){.outcome-hero{margin-top:-40px}.outcome-emblem{width:175px;height:175px;margin-bottom:0}.outcome-eyebrow{margin:12px 0 8px}.outcome-hero h2{font-size:60px}.outcome-subtitle{margin-bottom:14px}.outcome-score{padding:10px 20px}.outcome-message{margin-top:14px}.outcome-top{top:36px}.outcome-bottom{bottom:36px}}
@media(max-width:700px){.outcome-frame{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px)}.outcome-top{top:34px;left:30px;right:30px;font-size:9px;letter-spacing:0}.outcome-top>span:first-child{font-size:9px;letter-spacing:1px}.outcome-top i{font-size:8px;letter-spacing:3px}.outcome-hero{margin-top:-65px;width:84vw}.outcome-emblem{width:205px;height:205px}.outcome-eyebrow{font-size:9px;margin-top:13px}.outcome-hero h2{font-size:43px}.outcome-subtitle{font-size:12px;letter-spacing:2px;margin:5px 0 24px}.outcome-score{min-width:0;width:100%;padding:14px 0;gap:8px;font-size:11px;flex-wrap:wrap}.outcome-score strong{font-size:36px}.outcome-threshold{margin-left:7px;font-size:10px}.outcome-message{font-size:12px;max-width:290px;margin-top:21px}.outcome-bottom{left:30px;right:30px;bottom:34px;display:flex;flex-direction:column;align-items:center;gap:12px}.outcome-forward{width:min(280px,100%);order:0}.outcome-controls{order:1;padding:0;gap:25px}.outcome-footnote{display:none}.retry .outcome-hero h2{font-size:36px}}
@media(max-width:700px) and (max-height:700px){.outcome-emblem{width:135px;height:135px;margin-bottom:0}.outcome-hero h2{font-size:37px}.outcome-subtitle{margin-bottom:14px}.outcome-message{margin-top:12px}.outcome-bottom{bottom:25px;gap:6px}}
