/* Shared teacher, projector and private student cinematic. */
.victory-reveal{box-sizing:border-box;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:7vh max(24px,5vw);border:0;border-radius:0;background:#0b0d10;color:#ecdec3;font-family:Georgia,serif;overflow:hidden;isolation:isolate}
.victory-reveal[open]{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:3vw;align-items:center}
.victory-reveal::backdrop{background:#030506f5;backdrop-filter:blur(8px)}
.victory-reveal::before,.victory-reveal::after{content:'';position:absolute;left:0;right:0;height:6.4vh;background:#050709;z-index:8;pointer-events:none}
.victory-reveal::before{top:0}.victory-reveal::after{bottom:0}
.victory-reveal *{box-sizing:border-box}
.victory-reveal button{font-family:system-ui,sans-serif;font-weight:500;line-height:1.2;cursor:pointer;letter-spacing:.04em;transform:none;box-shadow:none;min-width:0}
.victory-reveal button:focus-visible{outline:2px solid #f4d69a;outline-offset:5px}
.victory-film{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:3;opacity:1;transition:opacity .85s ease;background:#080d12}
.victory-film-caption{position:absolute;z-index:6;left:7%;bottom:14%;max-width:600px;opacity:0;transition:opacity .6s ease;pointer-events:none;text-shadow:0 2px 18px #000}
.victory-film-caption[data-visible=true]{opacity:1}
.victory-film-caption p:first-child{font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.36em;color:#d4b370;margin:0 0 11px}
.victory-film-caption p:last-child{font:400 clamp(22px,2.5vw,38px)/1.2 Georgia,serif;color:#f3e9d7;margin:0}
.victory-close{position:absolute;top:calc(6.4vh + 18px);right:max(22px,3vw);z-index:15;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #c7af773d;border-radius:50%;background:#080d12bb;color:#eeddb8;font-size:27px;backdrop-filter:blur(8px)}
.victory-film-tools{position:absolute;z-index:12;bottom:calc(6.4vh + 16px);right:max(22px,3vw);display:flex;gap:12px}
.victory-film-tools button{min-height:42px;padding:10px 14px;border:1px solid #b3975f40;border-radius:3px;background:#0a1014b8;color:#d3c4a5;font-size:12px;backdrop-filter:blur(8px)}
.victory-film-tools button:disabled{cursor:default;opacity:.55}
.victory-loading{position:absolute;inset:45% 20% auto;z-index:10;text-align:center;font:400 17px/1.6 Georgia,serif;color:#d8bc82;letter-spacing:.05em}
.victory-stage{position:relative;height:100%;min-height:0;min-width:0;display:grid;place-items:center;overflow:hidden;opacity:0;transition:opacity 1.05s ease;z-index:1}
.victory-chamber{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:#0d0e0e}
.victory-statue{display:block;position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;object-fit:contain;object-position:center;transform:none}
.victory-copy{min-width:0;position:relative;z-index:4;padding:18px 0 32px;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease,visibility .8s;overflow:hidden}
.victory-kicker{margin:0 0 35px;color:#c2a36b;font:600 10px/1.5 system-ui,sans-serif;letter-spacing:.29em}
.victory-series{font:500 12px/1.5 system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#948e81;margin:0 0 12px}
.victory-title{font:400 clamp(43px,6.5vw,96px)/1.04 Georgia,serif;letter-spacing:-.025em;color:#f0d293;text-shadow:0 3px 32px #d5a34c14;margin:0 0 27px;overflow-wrap:anywhere}
.victory-boss{font:400 clamp(20px,2vw,29px)/1.3 Georgia,serif;color:#e4d6b8;margin:0 0 20px;padding-top:22px;border-top:1px solid #ba965849}
.victory-detail{font:400 clamp(13px,1.2vw,16px)/1.65 system-ui,sans-serif;color:#a9ada8;margin:0;max-height:135px;overflow:auto}
.victory-status{font:400 12px/1.5 system-ui,sans-serif;color:#ab9367;min-height:18px;margin:22px 0 0}
.victory-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.victory-actions button{min-height:48px;padding:13px 23px;border:1px solid #b99a60;border-radius:2px;font-size:13px}
.victory-primary{background:linear-gradient(115deg,#ecd59b,#b79251);color:#11171a!important}
.victory-secondary{background:#10161c;color:#d3c09a}
.victory-reveal .victory-primary:hover{background:#f1d99f}.victory-reveal .victory-secondary:hover{background:#202b32;color:#f6ddad}
.victory-reveal[data-phase=revealing] .victory-film{opacity:0}
.victory-reveal[data-phase=revealing] .victory-stage,.victory-reveal[data-phase=settled] .victory-stage,.victory-reveal[data-phase=failed] .victory-stage{opacity:1}
.victory-reveal[data-phase=revealing] .victory-copy,.victory-reveal[data-phase=settled] .victory-copy,.victory-reveal[data-phase=failed] .victory-copy{opacity:1;visibility:visible;transform:none}
.victory-reveal[data-phase=revealing] .victory-copy{transition-delay:.28s}
.victory-reveal[data-phase=revealing] .victory-film-caption{opacity:0}
.victory-reveal[data-phase=loading] .victory-stage,.victory-reveal[data-phase=failed] .victory-stage{visibility:hidden}
.victory-reveal[data-paused=true] .victory-film-caption{opacity:0}
.victory-reveal [hidden]{display:none!important}
@media(max-width:650px){
 .victory-reveal[open]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:9px;padding:58px 15px 73px}
 .victory-reveal::before,.victory-reveal::after{height:35px}
 .victory-close{top:43px;right:18px;width:36px;height:36px;font-size:24px}
 .victory-film-tools{bottom:39px;right:17px;gap:8px}.victory-film-tools button{min-height:32px;font-size:10px;padding:8px 10px}
 .victory-film-caption{left:8%;bottom:16%;max-width:84%}.victory-film-caption p:first-child{font-size:8px;letter-spacing:.24em}.victory-film-caption p:last-child{font-size:24px;max-width:250px}
 .victory-stage{width:100%;height:100%;margin:0 auto;max-width:430px}
 .victory-chamber{background:#0b0d10}
 .victory-copy{text-align:center;padding:0 15px;overflow:visible}
 .victory-kicker{font-size:8px;letter-spacing:.2em;margin:0 0 9px}.victory-series{font-size:9px;letter-spacing:.15em;margin:0 0 5px}
 .victory-title{font-size:37px;line-height:1.05;margin:0 0 11px}.victory-boss{font-size:19px;margin:0 0 8px;padding-top:10px}
 .victory-detail{font-size:11px;line-height:1.5;max-height:34px}.victory-status{font-size:10px;margin-top:7px;min-height:15px}
 .victory-actions{justify-content:center;gap:9px;margin-top:13px}.victory-actions button{min-height:42px;font-size:11px;padding:11px 15px}
}
@media(max-height:590px) and (min-width:651px){
 .victory-reveal{padding:7vh 5vw}.victory-title{font-size:48px;margin-bottom:15px}.victory-kicker{margin-bottom:15px}.victory-boss{font-size:22px;padding-top:14px;margin-bottom:12px}.victory-detail{max-height:52px}.victory-copy{padding-block:8px}.victory-status{margin-top:12px}.victory-actions{margin-top:14px}.victory-film-tools{bottom:calc(6.4vh + 8px)}
}
@media(max-height:690px) and (max-width:650px){.victory-reveal[open]{padding-top:44px;padding-bottom:64px;gap:5px}.victory-kicker,.victory-status{display:none}.victory-series{font-size:8px}.victory-title{font-size:28px;margin-bottom:7px}.victory-boss{font-size:16px;padding-top:7px}.victory-actions{margin-top:8px}.victory-detail{max-height:30px}}
@media(prefers-reduced-motion:reduce){.victory-reveal *{transition:none!important;animation:none!important}.victory-copy{transform:none}}
