#settings-modal .upgrade-settings-modal-v2 { isolation:isolate; background:radial-gradient(circle at 18% 8%,rgba(var(--accent-rgb,81,187,134),.14),transparent 34%),linear-gradient(180deg,#121a17,#0d1216) !important; }
/* One luminous ascension and one dissolving relic. Both run for 3.6 seconds. */
.ur-animation-setting { display:flex; align-items:center; gap:16px; cursor:pointer; position:relative; color:#edf5f0; font-size:14px; font-weight:600; line-height:1.5; min-height:32px; }
.ur-animation-setting > span:first-child { flex:1; }
.ur-animation-setting input { position:absolute; width:1px; height:1px; opacity:0; }
.ur-setting-switch { flex:0 0 44px; height:26px; border-radius:20px; background:#394840; padding:3px; transition:background .15s; }
.ur-setting-switch::after { content:''; display:block; width:20px; height:20px; border-radius:50%; background:#f4fff8; transition:transform .15s; }
.ur-animation-setting input:checked + .ur-setting-switch { background:var(--accent,#50bd88); }
.ur-animation-setting input:checked + .ur-setting-switch::after { transform:translateX(18px); }
.ur-animation-setting input:focus-visible + .ur-setting-switch { outline:2px solid #fff; outline-offset:4px; }
.ur-skip { display:block; margin:24px auto 0; padding:12px 36px; min-height:44px; border:1px solid rgba(var(--ur-rgb),.28); border-radius:9px; color:var(--ur-bright); background:rgba(var(--ur-rgb),.06); font-size:13px; font-weight:600; line-height:1.4; font-family:inherit; cursor:pointer; transition:background .15s,border-color .15s; }
.ur-skip:hover { background:rgba(var(--ur-rgb),.15); border-color:rgba(var(--ur-rgb),.6); }
.ur-skip:focus-visible { outline:2px solid var(--ur-bright); outline-offset:4px; }
.ur-result { --ur-rgb:105,244,190; --ur-bright:#bcffe2; position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:20px; border:0; background:transparent; color:#f3fff8; overflow:auto; font-family:inherit; user-select:none; outline:none; }
.ur-result::backdrop { background:rgba(3,9,12,.9); backdrop-filter:blur(12px); animation:ur-backdrop var(--ur-duration,3.6s) both; }
.ur-result[open] { display:grid; place-items:center; animation:ur-scene var(--ur-duration,3.6s) both; }
.ur-scene { width:min(620px,100%); margin:auto; position:relative; overflow:clip; overflow-clip-margin:90px; }
.ur-art { position:relative; width:100%; height:350px; isolation:isolate; }
.ur-aura { position:absolute; inset:-90px -80px -70px; background:radial-gradient(ellipse,rgba(var(--ur-rgb),.15),transparent 65%); animation:ur-aura 3.6s ease-out both; pointer-events:none; }
.ur-light { position:absolute; width:90px; height:470px; top:-180px; left:calc(50% - 90px); background:linear-gradient(90deg,transparent,rgba(var(--ur-rgb),.12),transparent); filter:blur(9px); transform:rotate(24deg); mask-image:linear-gradient(transparent,#000 45%,transparent); animation:ur-light 3.6s both; }
.ur-light-right { left:50%; transform:rotate(-24deg); }
.ur-horizon { position:absolute; left:8%; right:8%; top:276px; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--ur-rgb),.6),transparent); box-shadow:0 0 22px rgba(var(--ur-rgb),.35); animation:ur-horizon 3.6s both; }
.ur-orbit { position:absolute; top:52px; left:calc(50% - 123px); width:246px; height:246px; border:1px solid rgba(var(--ur-rgb),.3); border-radius:22px; transform:rotate(45deg); animation:ur-orbit 3.6s cubic-bezier(.16,.8,.3,1) both; }
.ur-orbit-back { top:33px; left:calc(50% - 142px); width:284px; height:284px; border-color:rgba(var(--ur-rgb),.1); border-radius:30px; animation-name:ur-orbit-back; }
.ur-orbit-front::before, .ur-orbit-front::after { content:''; position:absolute; width:6px; height:6px; background:var(--ur-bright); box-shadow:0 0 15px var(--ur-bright); }
.ur-orbit-front::before { top:-3px; left:28px; } .ur-orbit-front::after { bottom:-3px; right:28px; }
.ur-relic { position:absolute; width:170px; height:170px; left:calc(50% - 85px); top:88px; animation:ur-relic-in 3.6s cubic-bezier(.18,.8,.25,1) both; }
.ur-relic-glass { position:absolute; inset:-8px; border:1px solid rgba(var(--ur-rgb),.28); background:linear-gradient(135deg,rgba(var(--ur-rgb),.2),rgba(var(--ur-rgb),.02) 45%,rgba(var(--ur-rgb),.09)); transform:rotate(45deg); border-radius:22px; box-shadow:inset 0 0 28px rgba(var(--ur-rgb),.08),0 0 60px rgba(var(--ur-rgb),.13); }
.ur-item { position:absolute; inset:20px; display:grid; place-items:center; filter:drop-shadow(0 0 18px rgba(var(--ur-rgb),.5)); }
.ur-item img, .ur-fragments img { width:100%; height:100%; object-fit:contain; image-rendering:pixelated; }
.ur-result [hidden] { display:none; }
.ur-gem { display:block; width:100%; height:100%; clip-path:polygon(50% 0,95% 27%,82% 72%,50% 100%,18% 72%,5% 27%); background:conic-gradient(from 28deg at 50% 37%,#e2fff1 0deg,#72f6b5 75deg,#1e845d 76deg,#63c794 154deg,#225b46 155deg,#65d2a3 235deg,#bfffdb 236deg,#f0fff5); }
.ur-sheen { position:absolute; inset:-35px; background:linear-gradient(110deg,transparent 40%,#e6fff333 49%,transparent 58%); clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); animation:ur-sheen 1.7s .25s both; }
.ur-rays { position:absolute; left:50%; top:173px; z-index:-1; }
.ur-rays i { position:absolute; left:-1px; bottom:0; width:2px; height:200px; transform-origin:bottom; background:linear-gradient(transparent,rgba(var(--ur-rgb),.5),transparent); transform:rotate(var(--angle)); animation:ur-rays 2.6s var(--delay) both; }
.ur-dust { position:absolute; left:50%; top:175px; }
.ur-dust i { position:absolute; width:var(--size); height:var(--size); border-radius:1px; background:var(--ur-bright); box-shadow:0 0 9px rgba(var(--ur-rgb),.6); animation:ur-dust 3s var(--delay) both; }
.ur-dust i:nth-child(7n) { background:#ffe1a1; box-shadow:0 0 12px #ffdc8970; transform:rotate(45deg); }
.ur-seal { position:absolute; top:294px; left:calc(50% - 18px); width:36px; height:36px; border:1px solid rgba(var(--ur-rgb),.5); border-radius:50%; background:#102d24; display:grid; place-items:center; box-shadow:0 0 24px rgba(var(--ur-rgb),.15); animation:ur-seal 3.6s both; }
.ur-seal svg { width:21px; height:21px; fill:none; stroke:var(--ur-bright); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.ur-copy { text-align:center; position:relative; z-index:2; animation:ur-copy 3.6s both; }
.ur-kicker { color:#7d9b90; font-size:9px; letter-spacing:3.5px; font-weight:600; margin:4px 0 15px; }
.ur-kicker span { color:rgba(var(--ur-rgb),.65); padding:0 5px; }
.ur-result h2 { font-size:clamp(28px,4.5vw,44px); font-weight:800; line-height:1.12; letter-spacing:-1.5px; color:#f1fff6; margin:0 0 16px; text-shadow:0 0 38px rgba(var(--ur-rgb),.2); }
.ur-name { font-size:20px; line-height:1.4; font-weight:650; color:var(--ur-bright); margin:0 0 9px; overflow-wrap:anywhere; }
.ur-result #ur-detail { font-size:13px; line-height:1.5; color:#a5b6b0; margin:0; }
.ur-meta { color:#778c83; font-size:11px; line-height:1.6; margin:9px 0 0; min-height:18px; }
.ur-end-mark { margin:23px auto 0; display:flex; align-items:center; justify-content:center; gap:10px; opacity:.6; }
.ur-end-mark i { width:44px; height:1px; background:linear-gradient(90deg,transparent,rgba(var(--ur-rgb),.6)); }
.ur-end-mark i:last-child { transform:rotate(180deg); }
.ur-end-mark b { width:4px; height:4px; transform:rotate(45deg); background:var(--ur-bright); }
.ur-fragments { display:none; position:absolute; top:108px; left:calc(50% - 65px); width:130px; height:130px; }
.ur-fragments i { position:absolute; inset:0; clip-path:var(--cut); animation:ur-fragment 3.6s cubic-bezier(.2,.6,.4,1) both; }
.ur-fragments .ur-gem { filter:grayscale(.6); }
.ur-loss { --ur-rgb:229,118,120; --ur-bright:#f0b1a8; }
.ur-loss .ur-aura { background:radial-gradient(ellipse,rgba(186,56,69,.15),transparent 62%); }
.ur-loss .ur-light { opacity:.3; }
.ur-loss .ur-relic { animation-name:ur-relic-break; }
.ur-loss .ur-relic-glass { box-shadow:inset 0 0 24px #e7797710,0 0 50px #ab344319; }
.ur-loss .ur-gem { background:conic-gradient(from 28deg at 50% 37%,#e9bab0,#a26d71 75deg,#53333f 76deg,#b17a7e 154deg,#513343 155deg,#b57b7b 235deg,#e6b3a5 236deg,#f2ccc4); }
.ur-loss .ur-fragments { display:block; }
.ur-loss .ur-orbit { animation-name:ur-orbit-fall; }
.ur-loss .ur-orbit-back { animation-name:ur-orbit-back-fall; }
.ur-loss .ur-rays i { height:140px; animation-name:ur-loss-rays; }
.ur-loss .ur-dust i { animation-name:ur-embers; }
.ur-loss .ur-dust i:nth-child(7n) { background:#e79773; }
.ur-loss .ur-seal { background:#291b21; }
.ur-loss h2 { color:#fbe8e5; }
/* Each input gets its own entrance and outcome, then reveals one shared result. */
.ur-sources { --spread-x:clamp(110px,30vw,210px); --spread-y:100px; position:absolute; inset:0; z-index:3; pointer-events:none; }
.ur-source { --sx:calc(var(--source-x) * var(--spread-x)); --sy:calc(var(--source-y) * var(--spread-y)); position:absolute; left:calc(50% - 36px); top:139px; width:72px; height:72px; animation:ur-source-merge 2.25s var(--spawn-delay) cubic-bezier(.2,.7,.2,1) both; }
.ur-source-shell { position:absolute; inset:0; border-radius:13px; transform:rotate(45deg); border:1px solid rgba(var(--ur-rgb),.65); background:linear-gradient(135deg,rgba(var(--ur-rgb),.2),#101b1dd9 55%,rgba(var(--ur-rgb),.12)); box-shadow:0 0 26px rgba(var(--ur-rgb),.18),inset 0 0 16px rgba(var(--ur-rgb),.08); }
.ur-source-shell::after { content:''; position:absolute; inset:-6px; border:1px solid rgba(var(--ur-rgb),.16); border-radius:17px; }
.ur-source-item { position:absolute; inset:12px; display:grid; place-items:center; filter:drop-shadow(0 0 9px rgba(var(--ur-rgb),.35)); }
.ur-source img { width:100%; height:100%; object-fit:contain; image-rendering:pixelated; }
.ur-source-flare { position:absolute; inset:-22px; border:1px solid rgba(var(--ur-rgb),.35); border-radius:50%; background:radial-gradient(circle,rgba(var(--ur-rgb),.24),transparent 68%); animation:ur-source-flare .7s var(--spawn-delay) ease-out both; }
.ur-source-number { position:absolute; right:-6px; top:-8px; padding:2px 4px; border-radius:4px; color:var(--ur-bright); background:#122220; font:9px/1.2 monospace; border:1px solid rgba(var(--ur-rgb),.25); }
.ur-source-name { position:absolute; top:88px; left:-24px; width:120px; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--ur-bright); font-size:9px; line-height:1.4; opacity:.7; animation:ur-source-label 2.25s var(--spawn-delay) both; }
.ur-source-pieces { display:none; position:absolute; inset:12px; }
.ur-source-pieces i { position:absolute; inset:0; clip-path:var(--cut); animation:ur-source-piece 2.8s var(--spawn-delay) ease-out both; }
.ur-win.ur-multiple .ur-relic { animation:ur-prize-reveal 1s 2.1s cubic-bezier(.15,.8,.25,1) both; }
.ur-multiple .ur-sheen { animation-delay:2.1s; }
.ur-multiple .ur-seal { animation:ur-prize-reveal .6s 2.2s both; }
.ur-loss.ur-multiple .ur-relic, .ur-loss.ur-multiple .ur-fragments { display:none; }
.ur-loss .ur-source { animation:ur-source-scatter 3.1s var(--spawn-delay) both; }
.ur-loss .ur-source-shell { animation:ur-source-shell-break 2.8s var(--spawn-delay) both; }
.ur-loss .ur-source-item { animation:ur-source-item-break 2.8s var(--spawn-delay) both; }
.ur-loss .ur-source-pieces { display:block; }
.ur-loss .ur-source-number { background:#2d1b21; animation:ur-source-label 2.25s var(--spawn-delay) both; }
@keyframes ur-source-merge {
    0% { opacity:0; transform:translate(var(--sx),calc(var(--sy) + 35px)) rotate(-14deg) scale(.2); }
    22%,55% { opacity:1; transform:translate(var(--sx),var(--sy)) rotate(0) scale(1); }
    65% { opacity:1; transform:translate(var(--sx),var(--sy)) scale(1.06); }
    92%,100% { opacity:0; transform:translate(0,0) rotate(15deg) scale(.08); }
}
@keyframes ur-source-scatter {
    0% { opacity:0; transform:translate(var(--sx),calc(var(--sy) + 35px)) rotate(-14deg) scale(.2); }
    16%,80% { opacity:1; transform:translate(var(--sx),var(--sy)) rotate(0) scale(1); }
    100% { opacity:0; transform:translate(var(--sx),calc(var(--sy) + 18px)); }
}
@keyframes ur-source-flare { from { opacity:0; transform:scale(.3); } 35% { opacity:.8; } to { opacity:0; transform:scale(1.3); } }
@keyframes ur-source-label { 0%,18% { opacity:0; } 28%,57% { opacity:.7; } 75%,100% { opacity:0; } }
@keyframes ur-source-shell-break { 0%,43% { opacity:1; transform:rotate(45deg); } 70%,100% { opacity:0; transform:rotate(65deg) scale(1.4); } }
@keyframes ur-source-item-break { 0%,45% { opacity:1; transform:none; } 50%,100% { opacity:0; transform:scale(.95); } }
@keyframes ur-source-piece { 0%,44% { opacity:0; transform:none; } 48% { opacity:1; transform:none; } 90%,100% { opacity:0; transform:translate(var(--piece-x),var(--piece-y)) rotate(var(--piece-turn)) scale(.7); } }
@keyframes ur-prize-reveal { from { opacity:0; transform:translateY(12px) scale(.35); } 65% { opacity:1; transform:translateY(-5px) scale(1.06); } to { opacity:1; transform:none; } }
@keyframes ur-scene { 0% { opacity:0; transform:scale(.98); } 10%,88% { opacity:1; transform:none; } 100% { opacity:0; transform:scale(1.025); } }
@keyframes ur-backdrop { 0%,100% { opacity:0; } 10%,88% { opacity:1; } }
@keyframes ur-aura { 0% { opacity:0; transform:scale(.3); } 30% { opacity:1; transform:scale(1.1); } 100% { opacity:.6; transform:scale(1.2); } }
@keyframes ur-light { 0% { opacity:0; } 35% { opacity:1; } 100% { opacity:.4; } }
@keyframes ur-horizon { 0%,12% { opacity:0; transform:scaleX(0); } 38%,85% { opacity:1; transform:scaleX(1); } 100% { opacity:0; } }
@keyframes ur-orbit { 0% { opacity:0; transform:rotate(15deg) scale(.45); } 32% { opacity:1; transform:rotate(45deg) scale(1); } 100% { transform:rotate(51deg) scale(1.03); } }
@keyframes ur-orbit-back { 0% { opacity:0; transform:rotate(70deg) scale(.4); } 35% { opacity:1; transform:rotate(45deg); } 100% { transform:rotate(39deg) scale(1.03); } }
@keyframes ur-relic-in { 0% { opacity:0; transform:translateY(55px) scale(.45) rotate(-12deg); } 28% { opacity:1; transform:translateY(-8px) scale(1.04); } 55% { transform:none; } 100% { transform:translateY(-7px); } }
@keyframes ur-sheen { 0%,15% { opacity:0; transform:translateX(-70px); } 45% { opacity:1; } 100% { opacity:0; transform:translateX(70px); } }
@keyframes ur-rays { 0% { opacity:0; transform:rotate(var(--angle)) scaleY(.2); } 24% { opacity:.7; } 100% { opacity:0; transform:rotate(var(--angle)) scaleY(1.4); } }
@keyframes ur-dust { 0% { opacity:0; transform:translate(0,0) scale(.2); } 25%,55% { opacity:.9; } 100% { opacity:0; transform:translate(var(--dx),var(--dy)) rotate(90deg); } }
@keyframes ur-seal { 0%,23% { opacity:0; transform:scale(.5); } 38%,100% { opacity:1; transform:none; } }
@keyframes ur-copy { 0%,18% { opacity:0; transform:translateY(14px); } 35%,100% { opacity:1; transform:none; } }
@keyframes ur-relic-break { 0% { opacity:0; transform:scale(.7); } 15% { opacity:1; transform:none; } 22% { transform:translateX(-4px) rotate(-2deg); } 27% { opacity:1; transform:translateX(3px) rotate(2deg); } 35%,100% { opacity:0; transform:scale(1.08); } }
@keyframes ur-fragment { 0%,25% { opacity:0; transform:none; } 30% { opacity:1; transform:none; } 72%,100% { opacity:0; transform:translate(var(--dx),var(--dy)) rotate(var(--turn)) scale(.65); } }
@keyframes ur-orbit-fall { 0% { opacity:0; transform:rotate(30deg) scale(.7); } 22% { opacity:.8; transform:rotate(45deg); } 70%,100% { opacity:0; transform:translateY(28px) rotate(62deg) scale(1.1); } }
@keyframes ur-orbit-back-fall { 0% { opacity:0; transform:rotate(60deg) scale(.7); } 22% { opacity:.6; transform:rotate(45deg); } 70%,100% { opacity:0; transform:translateY(24px) rotate(28deg) scale(1.15); } }
@keyframes ur-loss-rays { 0%,24% { opacity:0; transform:rotate(var(--angle)) scaleY(.2); } 36% { opacity:.35; } 80%,100% { opacity:0; transform:rotate(var(--angle)) scaleY(1.3); } }
@keyframes ur-embers { 0%,20% { opacity:0; transform:translate(0,0); } 40% { opacity:.7; } 100% { opacity:0; transform:translate(var(--dx),calc(var(--dy) + 95px)) scale(.3); } }
@media (max-width:540px) {
    .ur-source-name { display:none; }
    .ur-art { height:300px; transform:scale(.83); transform-origin:50% 100%; margin-top:-45px; margin-bottom:30px; }
    .ur-result { padding:20px 16px; overflow-x:hidden; }
    .ur-result h2 { letter-spacing:-.8px; }
    .ur-name { font-size:18px; }
    .ur-kicker { font-size:8px; letter-spacing:2.5px; }
}
@media (max-height:650px) {
    .ur-art { height:280px; transform:scale(.7); transform-origin:50% 100%; margin-top:-65px; margin-bottom:25px; }
    .ur-result h2 { font-size:28px; margin-bottom:10px; }
    .ur-kicker { margin-bottom:10px; }
    .ur-end-mark { margin-top:12px; }
}
@media (prefers-reduced-motion:reduce) {
    .ur-result[open], .ur-result::backdrop, .ur-result * { animation:none !important; }
    .ur-rays, .ur-dust, .ur-fragments, .ur-sheen, .ur-light { display:none !important; }
    .ur-loss .ur-relic { opacity:.35; filter:grayscale(1); }
    .ur-source { transform:translate(var(--sx),var(--sy)); }
    .ur-source-flare, .ur-source-pieces { display:none !important; }
    .ur-multiple .ur-relic { transform:scale(.6); }
}
