:root{--bg: #1a2422;--bg-2: #243330;--accent: #ff7a18;--accent-bright: #ff9d3e;--accent-2: #ff3b2f;--amber: #ffc24b;--text: #fff5ea;--muted: #d0a987;--on-accent: #3a1900;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:manipulation}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% -10%,var(--bg-2),transparent 62%),radial-gradient(55% 50% at 22% 18%,#2c3f3a,transparent 68%),radial-gradient(50% 48% at 80% 72%,#1d2c29,transparent 70%),radial-gradient(48% 45% at 65% 25%,#34473f,transparent 66%),radial-gradient(52% 50% at 30% 78%,#19302b,transparent 70%),radial-gradient(45% 42% at 50% 50%,#2a4036,transparent 64%),var(--bg);background-size:100% 100%,180% 180%,200% 200%,170% 170%,190% 190%,160% 160%,100% 100%;background-repeat:no-repeat;will-change:background-position,filter;animation:bgDrift 22s ease-in-out infinite alternate,bgPulse 9s ease-in-out infinite}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;mix-blend-mode:soft-light;opacity:.7;background:radial-gradient(40% 38% at 18% 60%,#3a4f44,transparent 64%),radial-gradient(42% 40% at 75% 30%,#16282440,transparent 68%),radial-gradient(38% 36% at 55% 85%,#2f4338,transparent 66%);background-size:200% 200%,220% 220%,190% 190%;background-repeat:no-repeat;will-change:background-position;animation:bgDrift2 31s ease-in-out infinite alternate}@keyframes bgDrift{0%{background-position:50% 0%,0% 0%,100% 100%,100% 0%,0% 100%,50% 50%,0 0}50%{background-position:50% 0%,60% 40%,30% 60%,20% 70%,80% 20%,70% 30%,0 0}to{background-position:50% 0%,100% 60%,0% 10%,0% 100%,100% 0%,30% 80%,0 0}}@keyframes bgDrift2{0%{background-position:0% 100%,100% 0%,50% 0%}to{background-position:100% 0%,0% 100%,50% 100%}}@keyframes bgPulse{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.12) saturate(1.18)}}@media (prefers-reduced-motion: reduce){body:before,body:after{animation:none}}#root{display:flex;flex-direction:column}.app{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.scene canvas,.duel-arena canvas{display:block;width:100%!important;height:100%!important}.ui{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));text-align:center}.title{font-size:clamp(32px,9vw,64px);font-weight:800;letter-spacing:-.02em;margin:0;text-shadow:0 4px 24px rgba(0,0,0,.5)}.title .accent{color:var(--accent)}.subtitle{color:#ffe9d6;margin:0;max-width:28ch;line-height:1.4;text-shadow:0 1px 2px rgba(70,22,0,.6),0 2px 12px rgba(40,12,0,.5)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:14px;padding:15px 26px;font-size:16px;font-weight:700;letter-spacing:0;cursor:pointer;color:#f4f6f3;background:#3f5854;box-shadow:0 6px 18px #1e2d2a4d;transition:transform .12s ease,box-shadow .15s ease,background .15s ease,color .15s ease;min-width:220px}.btn:hover{background:#4a6863;box-shadow:0 8px 24px #1e2d2a5c}.btn:active{transform:translateY(1px) scale(.99);box-shadow:0 4px 12px #1e2d2a47}.btn:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.btn.secondary{color:#2c3a37;background:#ece9da;border:1px solid rgba(44,58,55,.16);box-shadow:0 4px 14px #1e2d2a2e;backdrop-filter:none;-webkit-backdrop-filter:none}.btn.secondary:hover{background:#f4f1e6;border-color:#2c3a3747;box-shadow:0 6px 18px #1e2d2a3d}.btn.secondary:active{transform:translateY(1px) scale(.99);background:#e6e2d2}.btn.secondary:disabled{opacity:.5}.home{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;gap:clamp(12px,2.5vh,28px);padding:max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.home-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(to bottom,#5fc9ff,#8cdcff 55%,#c6f0ff)}.bg-rays{position:absolute;left:50%;top:42%;width:260vmax;height:260vmax;margin:-130vmax 0 0 -130vmax;background:repeating-conic-gradient(#ffffff47,#ffffff47 11deg,#fff0 11deg,#fff0 30deg);-webkit-mask:radial-gradient(circle,#000 0%,transparent 32%);mask:radial-gradient(circle,#000 0%,transparent 32%);animation:rays-spin 80s linear infinite;will-change:transform}@keyframes rays-spin{to{transform:rotate(360deg)}}.bg-cloud{position:absolute;background:#fff;border-radius:999px;opacity:.95;filter:drop-shadow(0 4px 0 rgba(90,160,200,.25));animation:cloud-drift linear infinite;will-change:transform}.bg-cloud:before,.bg-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.bg-cloud:before{width:55%;height:160%;left:14%;bottom:28%}.bg-cloud:after{width:42%;height:115%;right:12%;bottom:40%}.bg-cloud.c1{width:clamp(110px,22vw,220px);height:clamp(34px,6.5vw,64px);top:9%;animation-duration:65s}.bg-cloud.c2{width:clamp(80px,16vw,160px);height:clamp(26px,5vw,48px);top:22%;opacity:.8;animation-duration:90s;animation-delay:-30s}.bg-cloud.c3{width:clamp(60px,12vw,120px);height:clamp(20px,4vw,38px);top:4%;opacity:.65;animation-duration:110s;animation-delay:-70s}@keyframes cloud-drift{0%{transform:translate(-30vw)}to{transform:translate(110vw)}}.bg-hills{position:absolute;inset:auto 0 0;height:30%;background:radial-gradient(75% 120% at 22% 115%,#7ed957 64%,transparent 64.5%),radial-gradient(85% 110% at 82% 120%,#5ec649 66%,transparent 66.5%),linear-gradient(to top,#4cb83e 12%,transparent 12%)}.bg-flowers{position:absolute;inset:auto 0 0;height:18%;background-image:radial-gradient(3px 3px at 23px 34px,#ffd23f 90%,transparent),radial-gradient(8px 8px at 23px 34px,#fff 60%,transparent),radial-gradient(3px 3px at 118px 58px,#ffd23f 90%,transparent),radial-gradient(8px 8px at 118px 58px,#ff9ecb 60%,transparent),radial-gradient(3px 3px at 200px 26px,#ffd23f 90%,transparent),radial-gradient(8px 8px at 200px 26px,#fff 60%,transparent),radial-gradient(3px 3px at 277px 64px,#ffd23f 90%,transparent),radial-gradient(8px 8px at 277px 64px,#ffb3a0 60%,transparent);background-size:320px 90px;background-repeat:repeat;opacity:.9}@media (prefers-reduced-motion: reduce){.bg-rays,.bg-cloud{animation:none}.gbtn-play:after{animation:none}}.home-header{position:relative;z-index:1;flex:0 0 auto;width:100%;text-align:center}.home-title{position:relative;margin:0;text-align:center;font-family:Titan One,system-ui,sans-serif;font-weight:400;letter-spacing:.01em;line-height:1.05;font-size:clamp(40px,9vw,84px);color:#ffd23f;transform:rotate(-2.5deg);text-shadow:0 3px 0 rgba(72,30,6,.25)}.home-title:before{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;-webkit-text-stroke:clamp(8px,1.6vw,14px) #5b2a0e;text-shadow:0 clamp(4px,.8vw,7px) 0 #3d1c08}.home-title .accent{color:#ff3b2f}.home-tagline{margin:10px 0 0;display:inline-flex;align-items:center;gap:12px;font-size:clamp(11px,2.8vw,14px);font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#1f6d33;text-shadow:0 1px 0 rgba(255,255,255,.55)}.home-tagline:before,.home-tagline:after{content:"";height:1.5px;width:clamp(22px,6vw,46px);border-radius:1px;background:currentColor;opacity:.45}.home .subtitle{color:#6b4528;text-shadow:0 1px 0 rgba(255,255,255,.5)}.home .error{color:#b23a2a}.home-main{position:relative;z-index:1;flex:1 1 0;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.char-picker{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,24px);width:100%;max-width:760px;height:100%}.char-stage{position:relative;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.5vh,16px)}.char-canvas{position:relative;z-index:1}.char-platform{position:absolute;left:50%;bottom:22%;transform:translate(-50%);z-index:0;width:min(48vmin,340px);height:clamp(36px,8vmin,64px);border-radius:50%;pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(34,84,26,.34),rgba(34,84,26,.12) 58%,transparent 74%)}.char-loader{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6b4528;pointer-events:none}.char-loader .loader-spin{width:42px;height:42px;border-radius:50%;border:4.5px solid rgba(74,36,16,.22);border-top-color:#4a2410;animation:toast-spin .9s linear infinite}.char-info{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.char-name{font-size:clamp(20px,5vw,30px);font-weight:900;letter-spacing:-.01em;color:#4a2410;text-shadow:0 1.5px 0 rgba(255,255,255,.55)}.char-dots{position:relative;z-index:1;display:flex;gap:8px}.char-dots .dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:0;width:9px;height:9px;border-radius:999px;background:#4a24104d;cursor:pointer;transition:width .2s ease,background .2s ease,box-shadow .2s ease}.char-dots .dot:hover{background:#4a241080}.char-dots .dot.active{width:26px;background:#ffd23f;box-shadow:0 0 0 2.5px #4a2410}.arrow{flex:0 0 auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;width:clamp(46px,11vw,64px);height:clamp(46px,11vw,64px);border-radius:50%;border:3px solid #4a2410;background:#fffdf4;color:#4a2410;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 4px #4a241073,0 8px 14px #4a24102e;transition:transform .12s ease,background .15s ease,box-shadow .12s ease}.arrow svg{width:48%;height:48%;display:block}.arrow:hover:not(:disabled){background:#fff}.arrow:active:not(:disabled){transform:scale(.94) translateY(2px);box-shadow:0 1px #4a241073,0 4px 8px #4a241024}.arrow:disabled,.char-dots .dot:disabled{cursor:not-allowed;opacity:.45}.char-tap{display:none}@media (hover: none) and (pointer: coarse){.char-tap{display:block;position:absolute;top:0;bottom:0;width:34%;z-index:3;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;-webkit-tap-highlight-color:transparent}.char-tap.left{left:calc(-1*max(20px,env(safe-area-inset-left)))}.char-tap.right{right:calc(-1*max(20px,env(safe-area-inset-right)))}.char-tap.left:active:not(:disabled)~.char-picker .arrow:first-of-type:not(:disabled),.char-tap.right:active:not(:disabled)~.char-picker .arrow:last-of-type:not(:disabled){background:#fff;transform:scale(.94) translateY(2px);box-shadow:0 1px #4a241073,0 4px 8px #4a241024}}.char-canvas{flex:1;width:100%;min-height:0;align-self:stretch}.char-canvas canvas{display:block;width:100%!important;height:100%!important;opacity:0}.char-canvas.ready canvas{opacity:1;transition:opacity .25s ease}.home-footer{position:relative;z-index:1;flex:0 0 auto;height:clamp(225px,32vh,300px);width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:clamp(12px,2vh,20px)}.primary-action{display:flex;flex-direction:column;align-items:center;gap:12px}.btn-primary{font-size:clamp(18px,2.6vw,22px);padding:18px 40px}.gbtn{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:3px solid #4a2410;cursor:pointer;font:inherit;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:12px 24px 14px;font-size:14px;-webkit-tap-highlight-color:transparent;transition:transform .08s ease,box-shadow .08s ease,filter .15s ease}.gbtn:disabled{cursor:not-allowed;filter:saturate(.35) brightness(.9)}.gbtn-amber{color:#5b2e00;background:linear-gradient(180deg,#ffe06b,#ffc23e 55%,#ffae21);text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:0 6px #4a2410,0 12px 22px #4a24104d,inset 0 2px #ffffff8c}.gbtn-amber:hover:not(:disabled){filter:brightness(1.04)}.gbtn-amber:active:not(:disabled){transform:translateY(5px);box-shadow:0 1px #4a2410,0 6px 12px #4a241042,inset 0 2px #ffffff8c}.gbtn-teal{color:#6b4528;background:#fffcf0eb;border-color:#4a24108c;box-shadow:0 5px #4a241073,0 10px 18px #4a241026}.gbtn-teal:hover:not(:disabled){background:#fffdf4}.gbtn-teal:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #4a241073,0 5px 10px #4a24101f}.gbtn-ghost{color:#6b4528;background:#fffcf0eb;border-color:#4a24108c;box-shadow:0 4px #4a241073,0 8px 14px #4a241026}.gbtn-ghost:hover:not(:disabled){background:#fffdf4}.gbtn-ghost:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #4a241073,0 3px 8px #4a24101f}.gbtn-play{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:min(320px,82vw);padding:16px 54px 20px;border-radius:26px}.gbtn-play .play-label{font-size:clamp(24px,5.5vw,34px);line-height:1.05}.gbtn-play .play-sub{font-size:clamp(10px,2.4vw,12px);font-weight:800;letter-spacing:.16em;opacity:.7}.gbtn-play:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;animation:play-ring 2.6s ease-out infinite}.gbtn-play:disabled:after{animation:none}.gbtn-ghost.gbtn-play:after{animation:none}@keyframes play-ring{0%{box-shadow:0 0 #ffd23f8c}70%,to{box-shadow:0 0 0 18px #ffd23f00}}.menu-actions{display:flex;justify-content:center;gap:clamp(10px,2vw,14px);width:100%;max-width:460px}.gbtn-side{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1 1 0;min-width:0;max-width:144px;padding:12px 10px 14px;font-size:clamp(11px,2.6vw,13px);letter-spacing:.03em}.gbtn-icon{width:clamp(20px,5vw,26px);height:clamp(20px,5vw,26px);filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}.gbtn-inline-icon{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.18em;margin-right:8px}.duel-actions{display:flex;flex-direction:column;gap:16px}.connection-banner{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:5;max-width:calc(100% - 24px);padding:10px 18px;border-radius:999px;background:var(--accent-2);color:#2a0009;font-size:14px;font-weight:700;text-align:center;box-shadow:0 6px 24px #0006;animation:banner-drop .25s ease}@keyframes banner-drop{0%{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%)}}.toast{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:6;max-width:calc(100% - 24px);padding:10px 18px;border-radius:999px;background:#ff4b3e;border:3px solid #4a2410;color:#fff;text-shadow:0 1px 0 rgba(90,10,5,.4);font-size:14px;font-weight:700;text-align:center;box-shadow:0 4px #4a241066,0 10px 20px #4a241040;animation:banner-drop .25s ease}.toast.status{display:flex;align-items:center;gap:10px;background:#fffcf0f0;border:3px solid rgba(74,36,16,.5);color:#6b4528;text-shadow:none;box-shadow:0 4px #4a24104d,0 8px 16px #4a241026}.toast-spin{flex:0 0 auto;width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:toast-spin .9s linear infinite}@keyframes toast-spin{to{transform:rotate(360deg)}}.meter{position:relative;width:64px;height:220px;border-radius:32px;background:#00000059;border:2px solid rgba(255,255,255,.12);overflow:hidden;display:flex;align-items:flex-end}.meter-fill{width:100%;background:linear-gradient(to top,#3ddc7e,var(--accent),var(--accent-2));transition:height .05s linear}.meter.wide{width:90px;height:240px}.animal-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.animal-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:100px;padding:16px 8px;border-radius:18px;background:#ffffff0f;border:2px solid transparent;color:var(--text);cursor:pointer;transition:transform .08s ease,border-color .15s ease}.animal-card:active{transform:scale(.97)}.animal-card.active{border-color:var(--accent);background:#ffcf3f24}.animal-emoji{font-size:44px;line-height:1}.animal-cry{color:var(--muted);font-size:11px}.code-input{font-size:32px;font-weight:800;letter-spacing:.3em;text-align:center;text-transform:uppercase;width:220px;padding:12px;border-radius:14px;border:2px solid rgba(255,255,255,.18);background:#0000004d;color:var(--text)}.error{color:var(--accent-2);margin:0}.room-panel{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.4vh,14px);width:100%}.home-footer .room-panel{max-width:480px;max-height:100%;padding:clamp(12px,2vh,18px) clamp(16px,3vw,24px);border-radius:24px;background:#fffcf0eb;border:3px solid rgba(74,36,16,.5);box-shadow:0 5px #4a241059,0 14px 30px #4a24102e}.home-footer .room-code{color:#ff3b2f}.room-panel .gbtn-play{min-width:min(260px,76vw);padding:12px 40px 16px}.room-panel .play-label{font-size:clamp(20px,4.5vw,26px)}.room-panel .subtitle{font-size:14px}.room-code-box{display:flex;flex-direction:column;align-items:center;gap:4px}.room-code-label{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#4a2410a6}.room-code-chip{display:inline-flex;align-items:stretch;border-radius:14px;background:#fff;border:2px dashed rgba(74,36,16,.45);overflow:hidden}.room-code{display:flex;align-items:center;font-size:clamp(28px,7vw,44px);font-weight:900;letter-spacing:.15em;color:var(--accent);padding:2px 14px 2px 20px}.room-copy-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:54px;border-left:2px dashed rgba(74,36,16,.45);background:#fffcf0e6;color:#6b4528;transition:background .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.room-copy-btn:hover{background:#fffdf4}.room-copy-btn:active{background:#f6efdd}.room-copy-btn svg{display:block;width:20px;height:20px}.room-copy-btn.copied{color:#2fae4e}.modal-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:20px;background:#2e160873;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:modal-fade .15s ease}.modal{display:flex;flex-direction:column;align-items:center;gap:18px;width:100%;max-width:360px;padding:clamp(20px,5vw,32px);border-radius:24px;background:#fffdf4;border:3px solid #4a2410;color:#5b3a20;box-shadow:0 8px #4a241066,0 24px 50px #2e160866;animation:modal-pop .18s ease}.modal-title{margin:0;font-size:clamp(20px,5vw,28px);font-weight:800;color:#4a2410}.modal-actions{display:flex;gap:12px;width:100%}.modal-actions .btn{flex:1 1 auto;min-width:0;padding:14px 18px;font-size:16px}.modal .btn{border:2.5px solid #4a2410;color:#5b2e00;background:linear-gradient(180deg,#ffe06b,#ffc23e 55%,#ffae21);box-shadow:0 4px #4a2410,0 10px 18px #4a241033}.modal .btn:hover:not(:disabled){filter:brightness(1.04);background:linear-gradient(180deg,#ffe06b,#ffc23e 55%,#ffae21)}.modal .btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #4a2410,0 5px 10px #4a24102e}.modal .btn.secondary{color:#6b4528;background:#fffcf0f2;border-color:#4a24108c;box-shadow:0 4px #4a241073,0 8px 14px #4a24101f}.modal .btn.secondary:hover:not(:disabled){background:#fffdf4}.modal .code-input{background:#fff;border:2px dashed rgba(74,36,16,.45);color:#4a2410}.modal .code-input::placeholder{color:#4a241059}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}}.duel-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;background:#aee2f6}.duel-arena{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hp-row{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:flex-start;gap:10px;padding:max(12px,env(safe-area-inset-top)) 14px 0}.hp-cell{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.hp-cell.right{align-items:flex-end}.hp-top{display:flex;align-items:center;gap:8px;width:100%;font-weight:800;font-size:clamp(12px,3.4vw,16px)}.hp-cell.right .hp-top{flex-direction:row-reverse}.hp-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp-wins{margin-left:auto;display:inline-flex;align-items:center;gap:4px}.coin{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff0a8,#f6c026 62%,#c98a00);border:1.5px solid #a9760a;box-shadow:0 1px 2px #0006,inset 0 0 0 2px #fff0a880}.hp-cell.right .hp-wins{margin-left:0;margin-right:auto}.hp-track{width:100%;height:16px;border-radius:8px;background:#00000073;border:2px solid rgba(255,255,255,.18);overflow:hidden;display:flex}.hp-cell.right .hp-track{justify-content:flex-end}.hp-fill{height:100%;transition:width .18s ease,background .18s ease}.hp-num{font-size:12px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}.timer-col{align-self:center;margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:5px}.round-timer{min-width:64px;padding:6px 16px;border-radius:14px;background:#00000080;font-weight:900;font-size:28px;line-height:1;text-align:center;font-variant-numeric:tabular-nums;text-shadow:0 2px 8px rgba(0,0,0,.5)}.round-label{padding:3px 12px;border-radius:999px;background:#0006;font-size:12px;font-weight:700;white-space:nowrap}.float-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;pointer-events:none}.float-col{flex:1;position:relative}.float-text{position:absolute;top:25%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;font-weight:900;text-shadow:0 3px 14px rgba(0,0,0,.7);animation:float-up 1.2s ease-out forwards}.float-col.left .float-text{left:68%}.float-col.right .float-text{left:32%}.float-word{font-size:clamp(24px,7vw,44px);letter-spacing:.02em}.float-dmg{font-size:clamp(16px,4.5vw,26px);font-variant-numeric:tabular-nums}.float-text.voided .float-word{text-transform:none}.float-text.gold .float-word{color:#ffd23f;-webkit-text-stroke:4px #d12f2f;paint-order:stroke fill}.float-text.gold .float-dmg{color:#ffd23f}.float-mult{color:#ff3b3b;-webkit-text-stroke:1.5px #6b0f0f;paint-order:stroke fill}.float-dur{font-size:.7em;opacity:.8;-webkit-text-stroke:0}@keyframes float-up{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}18%{opacity:1;transform:translate(-50%) scale(1.1)}30%{transform:translate(-50%,-6px) scale(1)}to{opacity:0;transform:translate(-50%,-64px) scale(1)}}.round-winner{position:absolute;top:15%;left:50%;transform:translate(-50%);z-index:4;text-align:center;white-space:nowrap;pointer-events:none;font-size:clamp(40px,11vw,96px);font-weight:900;letter-spacing:.04em;text-shadow:0 4px 22px rgba(0,0,0,.7);animation:winner-pop .4s ease-out both}.round-winner.win{color:#ffd23f;-webkit-text-stroke:3px #a9760a;paint-order:stroke fill}.round-winner.lose{color:#ff3b3b;-webkit-text-stroke:3px #6b0f0f;paint-order:stroke fill}.round-winner.draw{color:var(--text)}@keyframes winner-pop{0%{opacity:0;transform:translate(-50%,14px) scale(.8)}60%{opacity:1;transform:translate(-50%) scale(1.08)}to{opacity:1;transform:translate(-50%) scale(1)}}.duel-banner{position:absolute;top:15%;left:50%;transform:translate(-50%);z-index:4;pointer-events:none;text-align:center;white-space:nowrap}.countdown{font-size:clamp(80px,30vw,200px);font-weight:900;color:var(--accent);text-shadow:0 8px 40px rgba(0,0,0,.6)}.fight-banner{font-size:clamp(56px,18vw,130px);font-weight:900;color:var(--accent-2);letter-spacing:.04em;text-shadow:0 8px 40px rgba(0,0,0,.7);animation:fight-pop .8s ease-out forwards}@keyframes fight-pop{0%{opacity:0;transform:scale(.4)}25%{opacity:1;transform:scale(1.15)}60%{transform:scale(1)}to{opacity:.9;transform:scale(1)}}.result-card{background:#00000073;border-radius:24px;padding:24px 32px;display:flex;flex-direction:column;align-items:center;gap:12px}.result-card h2{margin:0}.score-row{display:flex;align-items:center;gap:24px}.score-row.big{gap:32px}.score-row small{color:var(--muted)}.score-val{font-size:clamp(32px,9vw,56px);font-weight:900;color:var(--accent)}.score-mid{font-size:28px;font-weight:800;color:var(--muted)}.float-col.menu .float-text{top:16%}
