.sketch-dialog.duel-cinema-dialog{padding:0!important;overflow:hidden!important;background:#f4f1fc!important;border:2px solid #746187!important;border-radius:22px!important;box-sizing:border-box}.duel-cinema-dialog>.dialog-close{display:none}.duel-cinema-dialog .screen-pager{display:none}.duel-cinema{height:100%;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px 14px;box-sizing:border-box;overflow:hidden;color:#383044;background:radial-gradient(ellipse at 15% 25%,#e1f0eb,transparent 60%),#f4f1fc}.duel-cinema header{display:flex;justify-content:space-between;align-items:center;flex:none;font-weight:800;font-size:14px}.duel-skip{background:#fcfbff;color:#777080;border:1px solid #c6bed3;border-radius:20px;padding:6px 10px;font-size:11px}.duel-skip:active{transform:scale(.97)}.duel-beat-track{display:flex;gap:5px;flex:none}.duel-beat-track i{height:4px;border-radius:4px;flex:1;background:#d9d4e4}.duel-beat-track i.is-played{background:#8860c9}.duel-stage{position:relative;flex:1;min-height:230px;border:2px solid #9c8bab;border-radius:17px 20px 14px 18px;overflow:hidden;background:linear-gradient(#e4f0ea 0 67%,#ede5f6 67%);isolation:isolate}.duel-stage:after{content:'';position:absolute;bottom:27%;height:4px;left:0;right:0;background:#a799b1;z-index:-1}.duel-stage-sign{position:absolute;top:16px;left:50%;transform:translateX(-50%) rotate(-2deg);padding:8px 20px;white-space:nowrap;border:3px solid #8c7e99;border-radius:5px;background:#789d91;box-shadow:0 3px 0 #c5b4a4;color:#fff9e6;font-size:17px;font-weight:850;letter-spacing:3px}.duel-stage-lines{position:absolute;inset:0;opacity:.2;background:repeating-conic-gradient(from 4deg at 50% 53%,transparent 0 12deg,#fff 13deg 15deg,transparent 17deg 30deg);transform:scale(1.2);pointer-events:none}.duel-cast{position:absolute;left:10px;right:10px;bottom:12px;top:75px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:end}.duel-fighter{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}.duel-person{width:100%;height:clamp(130px,22vh,205px);display:grid;place-items:center;transform-origin:50% 90%;animation:duel-arrive-left 500ms cubic-bezier(.16,1,.3,1) both}.duel-enemy .duel-person{animation-name:duel-arrive-right}.duel-person .adventurer{width:100%!important;height:100%!important;max-height:205px!important;filter:drop-shadow(0 4px 0 #c8bed2)}.duel-person-name{font-size:10px;font-weight:750;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.duel-speech{position:absolute;z-index:2;top:-25px;opacity:0;transform:translateY(8px) rotate(-5deg);transition:opacity 180ms,transform 260ms cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:3px;flex-direction:column;color:#624486}.duel-speech svg{height:49px;width:64px;filter:drop-shadow(0 2px 0 #fff)}.duel-speech b{background:#fcfbff;border:1.5px solid #9d87b4;border-radius:8px;padding:4px 5px;font-size:10px;white-space:nowrap}.duel-versus-stamp{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-8deg);font-size:34px;font-weight:950;color:#9271b6;-webkit-text-stroke:1px #faf6ff;text-shadow:2px 3px 0 #d6c6e6}.duel-power{padding:7px 3px 6px;background:#fcfbff;border:2px solid #ad96c3;box-shadow:0 3px 0 #d2c5e0;border-radius:10px;align-self:stretch;min-width:0;position:relative;z-index:2}.duel-power>small{font-size:9px;display:block;color:#777080}.duel-power>strong{font-size:28px;line-height:1.2;font-weight:900;font-variant-numeric:tabular-nums;color:#7752a4}.duel-power-change{display:block;font-size:8px;min-height:12px;opacity:0;margin-top:3px;white-space:nowrap}.duel-power-change b{color:#b05f72;margin-left:2px}.duel-commentary{flex:none;min-height:91px;box-sizing:border-box;text-align:center;background:#fcfbff;border:2px solid #b9a7cd;border-radius:13px;padding:11px 6px;box-shadow:0 3px 0 #ded3e9}.duel-commentary>small{display:block;font-size:10px;font-weight:800;color:#8860bc;margin-bottom:5px}.duel-commentary>strong{display:block;font-size:17px;font-weight:900;line-height:1.35}.duel-commentary>p{font-size:11px;color:#777080;margin:6px 0 0;line-height:1.4}.duel-footer-note{flex:none;font-size:9px;color:#8a8098;text-align:center;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.duel-impact{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%) scale(.9);font-size:90px;color:#ffe4a5;-webkit-text-stroke:2px #987aab;opacity:0;pointer-events:none}.duel-verdict{position:absolute;z-index:4;left:6px;right:6px;top:18%;padding:17px 4px;text-align:center;background:#fff4cd;border:3px solid #b8924f;border-radius:14px;box-shadow:0 5px 0 #c6ac75;transform:translateY(12px) rotate(-3deg);opacity:0;pointer-events:none}.duel-verdict>span{display:block;font-size:13px;letter-spacing:3px;color:#a0793a;font-weight:900}.duel-verdict>strong{font-size:26px;font-weight:900;display:block;margin:5px 0;color:#5d4678}.duel-verdict>small{font-size:11px;color:#7d6e88}.duel-cinema[data-win=false] .duel-verdict{background:#e9e4f2;border-color:#a293b6;box-shadow:0 5px 0 #bfb4ce}.duel-cinema[data-win=false] .duel-verdict>span{color:#8b769c}.duel-cinema:not([data-phase=arrival]) .duel-speech{opacity:1;transform:translateY(0) rotate(-5deg)}.duel-cinema:is([data-phase=counter],[data-phase=clash],[data-phase=verdict]) .duel-power-change{opacity:1}.duel-cinema:is([data-phase=counter],[data-phase=clash],[data-phase=verdict]) .duel-power.is-affected{border-color:#c67a90;background:#fff0f4}.duel-cinema[data-phase=counter] .duel-power.is-affected{animation:duel-counter 500ms ease-out}.duel-cinema[data-phase=clash] .duel-own .duel-person{animation:duel-advance 650ms cubic-bezier(.16,1,.3,1)}.duel-cinema[data-phase=clash] .duel-enemy .duel-person{animation:duel-respond 650ms cubic-bezier(.16,1,.3,1)}.duel-cinema[data-phase=clash] .duel-impact{animation:duel-impact 700ms ease-out both}.duel-cinema[data-phase=verdict] .duel-verdict{animation:duel-verdict 400ms cubic-bezier(.16,1,.3,1) both}.duel-cinema[data-phase=verdict][data-win=true] .duel-own .duel-person{animation:duel-cheer 600ms ease-out}.duel-confetti{position:absolute;inset:0;pointer-events:none}.duel-confetti i{position:absolute;left:calc(5% + var(--i)*8%);top:0;width:6px;height:11px;background:#9271c1;opacity:0;animation:duel-confetti 1000ms calc(var(--i)*25ms) ease-out both}.duel-confetti i:nth-child(3n){background:#67ad97}.duel-confetti i:nth-child(3n + 1){background:#e8ba60}.duel-cinema:not([data-phase=verdict]) .duel-confetti i{animation:none}.duel-result-banner{text-align:center;border:2px solid #b9a4ce;border-radius:13px;background:#ede6f7;padding:12px 6px;margin:2px 0 10px}.duel-result-banner.is-victory{background:#f8ebc1;border-color:#c5a461;box-shadow:0 3px 0 #dacba6}.duel-result-banner>span{display:block;font-size:10px;font-weight:850;letter-spacing:2px;color:#8d6c3b}.duel-result-banner>strong{display:block;font-size:23px;font-weight:900;color:#614a7c;margin-top:5px}.duel-result-banner.is-defeat>span{color:#877197}.duel-replay{display:block;margin:6px auto!important;background:transparent!important;box-shadow:none!important;border:0!important;color:#8a759c!important;font-size:10px!important;padding:4px!important;min-height:25px!important}.duel-cinema.is-reduced *{animation:none!important;transition:none!important}.duel-cinema.is-reduced[data-phase=verdict] .duel-verdict{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.duel-cinema *{animation:none!important;transition:none!important}.duel-cinema[data-phase=verdict] .duel-verdict{opacity:1;transform:none}}@media(max-height:730px){.duel-cinema{padding:11px 10px;gap:7px}.duel-stage-sign{top:10px;font-size:14px;padding:6px 12px}.duel-cast{top:62px;gap:23px;bottom:10px}.duel-person{height:clamp(110px,20vh,145px)}.duel-speech{top:-18px}.duel-speech svg{height:38px}.duel-power>strong{font-size:25px}.duel-commentary{min-height:83px;padding:8px 4px}.duel-commentary>strong{font-size:15px}.duel-verdict{top:16%;padding:12px 4px}.duel-verdict>strong{font-size:23px}}
@keyframes duel-arrive-left{from{transform:translateX(-22px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes duel-arrive-right{from{transform:translateX(22px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes duel-counter{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}65%{transform:translateX(3px)}}@keyframes duel-advance{0%,100%{transform:translateX(0) rotate(0)}45%{transform:translateX(14px) rotate(5deg)}}@keyframes duel-respond{0%,100%{transform:translateX(0)}45%{transform:translateX(-12px) rotate(-4deg)}}@keyframes duel-impact{0%{opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(-12deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(3deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.3)}}@keyframes duel-verdict{from{opacity:0;transform:translateY(12px) rotate(-6deg) scale(.96)}to{opacity:1;transform:translateY(0) rotate(-3deg) scale(1)}}@keyframes duel-cheer{0%,100%{transform:translateY(0)}35%{transform:translateY(-10px)}}@keyframes duel-confetti{0%{opacity:0;transform:translateY(-20px) rotate(0)}25%{opacity:1}100%{opacity:0;transform:translateY(120px) rotate(180deg)}}

.duel-fighter{height:100%;justify-content:flex-end}.duel-person{flex:1;min-height:0;max-height:255px}.duel-speech{top:4px}.duel-cinema[data-phase=clash] .duel-fighter[data-tactic=steady] .duel-person{animation:duel-brace 650ms ease-out}.duel-cinema[data-phase=clash] .duel-fighter[data-tactic=direct] .duel-speech{animation:duel-launch 650ms ease-out}.duel-cinema[data-phase=clash] .duel-fighter[data-tactic=question] .duel-speech{animation:duel-question 650ms ease-out}
@keyframes duel-brace{0%,100%{transform:scale(1)}40%{transform:scale(.95) translateY(3px)}}@keyframes duel-launch{0%,100%{transform:translateY(0) rotate(-5deg)}40%{transform:translate(12px,-10px) rotate(12deg)}}@keyframes duel-question{0%,100%{transform:rotate(-5deg)}40%{transform:rotate(10deg) scale(1.1)}}
