.victory-trophy {flex:none;width:46px;height:46px;padding:4px;border:1px solid #ddd7f4;border-radius:50%;background:#f1edff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.victory-trophy svg {width:34px;height:38px}.victory-trophy[data-active="false"] svg {filter:grayscale(1);opacity:.65}
.victory-trophy:focus-visible {outline:3px solid #5943d6;outline-offset:3px}
.victory-panel {width:min(46rem,calc(100vw - 2rem));max-height:85dvh;border:1px solid #e5e2ef;border-radius:24px;padding:28px;color:#252338;background:#f7f6fb}
.victory-panel::backdrop {background:#241a3680;backdrop-filter:blur(4px)}
.victory-close {float:right}.victory-panel h2 {margin-top:0}.victory-status {width:95px;height:105px;margin:auto}.victory-panel h3 {color:#5943d6}
.victory-series {font-size:1.2rem;font-weight:700}.victory-panel progress {width:100%;accent-color:#5943d6}
.victory-help {font-size:.88rem;color:#625f73;line-height:1.6}
.victory-levels {list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.victory-levels li {padding:9px 12px;border:1px solid #e5e2ef;border-radius:9px;background:#fff;color:#625f73}
.victory-levels .reached {color:#4932bc;background:#eeeafb;border-color:#b8a9ed;font-weight:700}
.victory-history {overflow-x:auto}.victory-history table {width:100%;border-collapse:collapse;font-size:.85rem}.victory-history th,.victory-history td {padding:10px 8px;text-align:left;border-bottom:1px solid #e5e2ef}
.victory-celebration {position:fixed;inset:0;margin:auto;width:min(42rem,calc(100vw - 2rem));padding:40px 25px;border:0;border-radius:28px;text-align:center;overflow:hidden;color:#252338;background:#fffdf7;box-shadow:0 0 100px #e5be6150}
.victory-celebration::backdrop {background:#20143bbd;backdrop-filter:blur(7px)}
.victory-celebration h2 {position:relative;font-size:clamp(1.5rem,4vw,2rem);color:#4932bc}.victory-celebration p,.victory-celebration button {position:relative;z-index:1}
.victory-kicker {text-transform:uppercase;font-size:.75rem;letter-spacing:.12em;color:#625f73}
.victory-winner {position:relative;z-index:1;width:150px;height:165px;margin:0 auto 25px;animation:victory-spin 1.25s cubic-bezier(.2,.8,.3,1) both;filter:drop-shadow(0 8px 12px #b58b3435)}
.victory-winner svg,.victory-flying svg {width:100%;height:100%}
.victory-glow {position:absolute;width:360px;height:360px;top:-65px;left:50%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,#f9e5a2aa,transparent 68%)}
.victory-flying {position:fixed;z-index:2000;pointer-events:none}
.victory-confetti {position:absolute;pointer-events:none;left:var(--x);top:-20px;width:8px;height:14px;animation:victory-confetti 3.6s var(--delay) ease-in both;z-index:0}
.victory-arrived {animation:victory-arrived .7s ease-out}
@keyframes victory-spin {from {transform:rotate(-360deg) scale(.05);opacity:0}to {transform:rotate(0) scale(1);opacity:1}}
@keyframes victory-confetti {to {transform:translate(-80px,650px) rotate(var(--turn));opacity:0}}
@keyframes victory-arrived {50% {box-shadow:0 0 0 14px #e5be6130;transform:scale(1.14)}}
@media(max-width:600px) {.victory-panel {padding:20px}.victory-levels {grid-template-columns:1fr}.topbar {gap:10px}.victory-trophy {width:40px;height:40px}.victory-celebration {padding:25px 18px}}
@media(prefers-reduced-motion:reduce) {.victory-winner,.victory-arrived,.victory-confetti {animation:none}}
