:root{--bg: #0d0b1a;--bg2: #17132b;--panel: rgba(30, 25, 56, .75);--line: rgba(190, 170, 255, .18);--text: #ece8ff;--muted: #9a93bb;--gold: #f0c24a;--player: #3d8bff;--cpu: #ff4d5e;--cw: 104px;color-scheme:dark}*{box-sizing:border-box}html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:Nunito,system-ui,sans-serif;color:var(--text);background:radial-gradient(ellipse at 50% -10%,#3a2a6e 0%,transparent 60%),radial-gradient(ellipse at 100% 100%,#1d3a5a 0%,transparent 50%),var(--bg);background-attachment:fixed}#app{max-width:1100px;margin:0 auto;padding:16px}h1,h2,h3{font-family:Cinzel,Georgia,serif;margin:0}button{font:inherit;color:inherit;cursor:pointer}.btn{background:linear-gradient(#5a46b8,#3c2e86);border:1px solid #8c78ff;border-radius:10px;padding:10px 18px;font-weight:800;box-shadow:0 2px #1d1546;transition:transform .1s,filter .1s}.btn:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.small{padding:6px 12px;font-size:.9rem}.btn.ghost{background:transparent;border-color:var(--line);box-shadow:none}.link{background:none;border:none;color:var(--muted);text-decoration:underline;font-size:.85rem}.chip{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;font-size:.8rem;font-weight:700}.chip.toggle:hover{border-color:var(--gold)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.muted{color:var(--muted)}.bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.rules{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.card{position:relative;width:var(--cw);height:var(--cw);flex:none;border-radius:3px;overflow:hidden;border:3px solid var(--frame, #777);background:#111;box-shadow:0 4px 10px #00000080;-webkit-user-select:none;user-select:none;transition:transform .15s,box-shadow .15s}.card .art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.card .tint{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:background .2s}.card.own-player .tint{background:linear-gradient(to top,#2878ff99,#2878ff14 65%);box-shadow:inset 0 0 0 2px var(--player)}.card.own-cpu .tint{background:linear-gradient(to top,#ff324699,#ff324614 65%);box-shadow:inset 0 0 0 2px var(--cpu)}.lvl1{--frame: #8a7660}.lvl2{--frame: #a9b8c4}.lvl3{--frame: #48c2b4}.lvl4{--frame: #b48cff}.lvl5{--frame: var(--gold)}.lvl5{box-shadow:0 0 12px #f0c24a73,0 4px 10px #00000080}.val{position:absolute;min-width:calc(var(--cw) * .2);padding:0 3px;border-radius:6px;background:#080614b8;font-weight:800;font-size:calc(var(--cw) * .16);line-height:1.25;text-align:center;color:#fff;text-shadow:0 1px 2px #000}.val.top{top:3px;left:50%;transform:translate(-50%)}.val.bottom{bottom:3px;left:50%;transform:translate(-50%)}.val.left{left:3px;top:50%;transform:translateY(-50%)}.val.right{right:3px;top:50%;transform:translateY(-50%)}.stars,.character-mark{position:absolute;top:3px;left:5px;font-size:calc(var(--cw) * .06);color:var(--gold);text-shadow:0 0 3px #000;letter-spacing:-1px}.character-mark{color:#f0dcff;font-size:calc(var(--cw) * .16);line-height:1;text-shadow:0 0 6px #b67cff}.card.character{border-color:transparent;background:linear-gradient(#111,#111) padding-box,linear-gradient(var(--shine-angle, 135deg),#f0c24a,#9ef3ff,#c59bff,#f0c24a) border-box;animation:shine 6s linear infinite;box-shadow:0 0 14px #78dcff73,0 4px 10px #00000080}@property --shine-angle{syntax: "<angle>"; inherits: false; initial-value: 135deg;}@keyframes shine{to{--shine-angle: 495deg}}.element{position:absolute;bottom:3px;right:4px;width:calc(var(--cw) * .19);height:calc(var(--cw) * .19);display:grid;place-items:center;border-radius:50%;font-size:calc(var(--cw) * .12);line-height:1;color:#fff;background:var(--el, #555);box-shadow:0 0 0 1.5px #ffffffb3,0 0 6px var(--el, #555)}.el-fuego{--el: #e8572a}.el-hielo{--el: #3fa9e0}.el-trueno{--el: #c9a400}.el-tierra{--el: #8a6a3a}.el-agua{--el: #2e64c9}.el-viento{--el: #3aa77a}.el-veneno{--el: #8b3fb8}.el-sagrado{--el: #d9b950}.card.clickable{cursor:pointer}.card.clickable:hover{transform:translateY(-4px);box-shadow:0 8px 18px #0009}.card.locked{display:grid;place-items:center;background:repeating-linear-gradient(45deg,#1b1730,#1b1730 8px,#211c3a 8px,#211c3a 16px);opacity:.6;font-family:Cinzel,serif;font-size:calc(var(--cw) * .4);color:var(--muted)}.empty-slot{display:grid;place-items:center;border:2px dashed var(--line);background:#ffffff08;box-shadow:none;color:var(--muted);font-size:2rem}.menu{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding-top:20px}.menu .panel{width:min(640px,100%);display:flex;flex-direction:column;align-items:center;gap:14px}.title{font-size:clamp(2.2rem,7vw,3.6rem);font-weight:800;letter-spacing:2px;background:linear-gradient(#fff3c4,var(--gold) 60%,#b07a10);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 8px rgba(240,194,74,.35))}.subtitle{margin:-10px 0 0;color:var(--muted)}.menu-top{width:min(640px,100%);display:flex;align-items:center;justify-content:space-between;margin-bottom:-12px}.btn.play{font-size:1.2rem;padding:12px 48px}.rival{margin:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}.menu .player-card{flex-direction:row;align-items:center;text-align:left}.avatar{width:52px;height:52px;flex:none;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;font-family:Cinzel,serif;font-size:1.5rem;background:var(--bg2);object-fit:cover}.player-card .who{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.player-card .lvl{display:flex;flex-direction:column;align-items:center;color:var(--muted)}.player-card .lvl .level-badge{width:46px;height:46px;font-size:1.4rem}.level-badge{display:inline-grid;place-items:center;min-width:1.7em;height:1.7em;padding:0 4px;border-radius:50%;font-family:Cinzel,serif;font-weight:800;color:#2a1d00;background:radial-gradient(circle at 35% 30%,#fff3c4,var(--gold) 55%,#9a6b00);box-shadow:0 0 10px #f0c24a73}.xp{display:flex;flex-direction:column;gap:4px;width:100%;font-size:.8rem}.xpbar{height:10px;border-radius:999px;background:#ffffff14;border:1px solid var(--line);overflow:hidden}.xpfill{height:100%;background:linear-gradient(90deg,#8c78ff,var(--gold));box-shadow:0 0 10px #f0c24a99;transition:width .8s ease-out}.xp-gain{font-family:Cinzel,serif;font-size:1.4rem;color:var(--gold)}.levelup{display:flex;align-items:center;gap:8px;font-size:1.2rem;font-weight:800;animation:levelup .8s ease-out}@keyframes levelup{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15)}}.deck-preview{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;--cw: 84px}.warn{color:var(--gold);margin:0}.stats{color:var(--muted);margin:0}.deck-panel{margin-bottom:16px}.deck-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px;flex-wrap:wrap}.deck-head div{display:flex;gap:8px}.slots{display:flex;gap:10px;flex-wrap:wrap}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.tab{background:#ffffff0d;border:1px solid var(--line);border-radius:8px;padding:6px 12px}.tab.active{border-color:var(--gold);color:var(--gold)}.collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--cw) + 8px),1fr));gap:16px 10px}.item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.item .count{position:absolute;top:-6px;right:calc(50% - var(--cw) / 2 - 6px);background:var(--gold);color:#2a1d00;font-weight:800;font-size:.75rem;border-radius:999px;padding:1px 6px}.item .caption{font-size:.75rem;text-align:center;max-width:calc(var(--cw) + 10px)}.card.used{filter:grayscale(.8) brightness(.6)}.game .bar{justify-content:space-between}.table{display:flex;justify-content:center;align-items:flex-start;gap:24px}.side{display:flex;flex-direction:column;align-items:center;gap:10px}.score{font-family:Cinzel,serif;font-size:2.2rem;font-weight:800;line-height:1}.score.player{color:var(--player)}.score.cpu{color:var(--cpu)}.turn-player .score.player,.turn-cpu .score.cpu{text-shadow:0 0 14px currentColor}.hand{--cw: 88px;display:grid;grid-template-columns:repeat(2,var(--cw));grid-auto-rows:var(--cw);gap:6px;min-height:calc(var(--cw) * 3 + 12px);align-content:start}.hand .card.selected{transform:translateY(-6px) scale(1.04);z-index:2}.hand.player .card.selected{box-shadow:0 0 0 3px #fff,0 0 18px var(--player)}.hand.cpu .card.selected{box-shadow:0 0 0 3px #fff,0 0 18px var(--cpu)}.board{display:grid;grid-template-columns:repeat(3,var(--cw));grid-auto-rows:var(--cw);gap:6px;padding:10px;border-radius:16px;background:radial-gradient(circle at 50% 50%,rgba(140,120,255,.15),transparent 70%),#0f0c20d9;border:2px solid rgba(240,194,74,.35);box-shadow:inset 0 0 30px #0009,0 10px 30px #00000080;perspective:600px}.cell{border-radius:3px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.cell>.card{width:100%;height:100%}.cell.target{cursor:pointer;border:2px dashed rgba(61,139,255,.6);animation:pulse 1.4s ease-in-out infinite}.cell.target:hover{background:#3d8bff33}.card.placed{animation:place .3s ease-out}.card.flip{animation:flip .45s ease-in-out both}@keyframes place{0%{transform:scale(1.25) translateY(-8px);opacity:0}to{transform:none;opacity:1}}@keyframes flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg)}to{transform:rotateY(0)}}@keyframes pulse{50%{border-color:#3d8bff}}.status{text-align:center;margin-top:16px;min-height:1.5em;font-weight:700;font-size:1.1rem}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#05030fb3;animation:fade .3s;z-index:10}@keyframes fade{0%{opacity:0}}.result{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;max-width:640px;background:#1e1938f7}.result h2{font-size:2.2rem}.result.win h2{color:var(--gold)}.result.loss h2{color:var(--cpu)}.final-score{font-family:Cinzel,serif;font-size:1.4rem;margin:0}.result p{margin:0}.reward,.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}@media (max-width: 780px){:root{--cw: 84px}.table{flex-direction:column;align-items:center;gap:12px}.side{flex-direction:row}.side.player{order:2}.side{gap:8px}.board{--cw: clamp(72px, min(calc((100vw - 76px) / 3), calc((100svh - 400px) / 3)), 120px)}.hand{--cw: clamp(52px, calc((100vw - 92px)/5) , 76px);gap:4px;grid-template-columns:repeat(5,var(--cw));min-height:var(--cw)}}@media (max-width: 420px){:root{--cw: 72px}}.login-screen{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;padding:28px 0 32px;text-align:center;isolation:isolate}.login-screen:before{content:"";position:absolute;top:-40px;left:50%;width:min(760px,120vw);height:420px;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(240,194,74,.18),rgba(140,100,255,.12) 40%,transparent 70%);filter:blur(10px);z-index:-1}.hero-fan{--cw: 112px;position:relative;width:calc(var(--cw) * 4.4);height:calc(var(--cw) * 1.15);margin-bottom:calc(var(--cw) * .34)}.fan-slot{position:absolute;left:50%;bottom:0;transform-origin:50% 100%;transform:translate(calc(-50% + var(--i) * var(--cw) * .68)) translateY(calc(var(--i) * var(--i) * 7px)) rotate(calc(var(--i) * 9deg));z-index:calc(10 - var(--i) * var(--i));animation:fan-in .9s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:calc((var(--i) + 2) * 70ms)}.fan-slot .card{animation:float 5s ease-in-out infinite,shine 6s linear infinite;animation-delay:calc(var(--i) * -1.1s),0s;box-shadow:0 0 18px #78dcff59,0 14px 26px #000000a6}@keyframes fan-in{0%{opacity:0;transform:translate(-50%) rotate(0) translateY(30px)}}@keyframes float{0%,to{translate:0 0}50%{translate:0 -6px}}.login-screen .title{font-size:clamp(2.6rem,9vw,4.4rem);letter-spacing:4px;line-height:1}.tagline{display:flex;align-items:center;gap:12px;margin:-6px 0 6px;color:var(--muted);letter-spacing:1px;font-size:.95rem}.tagline:before,.tagline:after{content:"";width:48px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}.tagline:after{transform:scaleX(-1)}.login-panel{position:relative;width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 22px 18px;border-radius:18px;background:linear-gradient(180deg,#2c2254d9,#16122ce6) padding-box,linear-gradient(160deg,#f0c24ab3,#8c78ff40 45%,#f0c24a80) border-box;border:1px solid transparent;box-shadow:0 20px 50px #0000008c,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.login-panel h2{font-size:1.35rem;color:#fff3c4;letter-spacing:1px}.login-panel p{margin:0;font-size:.92rem;max-width:300px}.login-panel .google-slot iframe{color-scheme:light}.login-panel .google-slot{min-height:44px;display:flex;justify-content:center;margin-top:6px}.login-status:empty{display:none}.dev-login{margin-top:2px}.login-features{list-style:none;margin:8px 0 0;padding:0;width:min(720px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.login-features li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:14px;border:1px solid var(--line);background:#ffffff08;font-size:.85rem}.login-features strong{font-family:Cinzel,Georgia,serif;font-size:.95rem}.feat-icon{font-size:1.3rem;color:var(--gold);text-shadow:0 0 10px rgba(240,194,74,.6)}.motes{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:-2}.motes i{position:absolute;bottom:-10px;width:4px;height:4px;border-radius:50%;background:#ffe39a;box-shadow:0 0 8px 2px #f0c24a99;opacity:0;animation:rise 14s linear infinite}@keyframes rise{10%{opacity:.8}80%{opacity:.5}to{transform:translate(var(--dx, 20px),-105vh);opacity:0}}.motes i:nth-child(3n){--dx: -30px;width:3px;height:3px}.motes i:nth-child(4n){--dx: 40px;animation-duration:18s}.motes i:nth-child(5n){width:2px;height:2px;animation-duration:11s}.motes i:nth-child(1){left:53%;animation-delay:-3.7s}.motes i:nth-child(2){left:6%;animation-delay:-7.4s}.motes i:nth-child(3){left:59%;animation-delay:-11.1s}.motes i:nth-child(4){left:12%;animation-delay:-.8s}.motes i:nth-child(5){left:65%;animation-delay:-4.5s}.motes i:nth-child(6){left:18%;animation-delay:-8.2s}.motes i:nth-child(7){left:71%;animation-delay:-11.9s}.motes i:nth-child(8){left:24%;animation-delay:-1.6s}.motes i:nth-child(9){left:77%;animation-delay:-5.3s}.motes i:nth-child(10){left:30%;animation-delay:-9s}.motes i:nth-child(11){left:83%;animation-delay:-12.7s}.motes i:nth-child(12){left:36%;animation-delay:-2.4s}.motes i:nth-child(13){left:89%;animation-delay:-6.1s}.motes i:nth-child(14){left:42%;animation-delay:-9.8s}.motes i:nth-child(15){left:95%;animation-delay:-13.5s}.motes i:nth-child(16){left:48%;animation-delay:-3.2s}.motes i:nth-child(17){left:1%;animation-delay:-6.9s}.motes i:nth-child(18){left:54%;animation-delay:-10.6s}@media (prefers-reduced-motion: reduce){.fan-slot,.fan-slot .card,.motes i{animation:none}.motes{display:none}}@media (max-width: 640px){.hero-fan{--cw: 72px}.tagline{font-size:.85rem;gap:8px}.tagline:before,.tagline:after{width:20px}.login-features{grid-template-columns:1fr}.login-features li{flex-direction:row;text-align:left;gap:10px}}.who .handle{font-weight:400;font-size:.8rem;color:var(--muted)}.account-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}a.link{font-size:.85rem}.link.danger:hover{color:var(--cpu)}.legal-note{font-size:.75rem!important;color:var(--muted)}.legal-note a{color:inherit}.clock{position:fixed;right:14px;bottom:12px;z-index:50;display:flex;align-items:baseline;gap:8px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:#0d0b1ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.78rem;color:var(--muted);pointer-events:none;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.clock-time{font-family:Cinzel,Georgia,serif;font-weight:800;font-size:.95rem;color:var(--gold);letter-spacing:.5px}.toasts{position:fixed;top:14px;left:50%;z-index:100;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:10px 16px;border-radius:12px;border:1px solid var(--cpu);background:#280e18f2;box-shadow:0 10px 30px #00000080;transition:opacity .5s}.toast.hide{opacity:0}.toast.info{border-color:var(--gold);background:#241c0af2}.discord-slot:empty{display:none}.discord-btn{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px 0 14px;border-radius:999px;background:#5865f2;color:#fff;font-weight:700;font-size:.9rem;text-decoration:none;transition:filter .15s,transform .1s}.discord-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.discord-btn svg{width:20px;height:20px}.link-account{align-self:center;display:inline-flex;align-items:center;gap:6px;margin:-6px 0 0;padding:6px 14px;border-radius:999px;background:#5865f2;color:#fff;transition:filter .15s,transform .1s}.link-account:hover{filter:brightness(1.1);transform:translateY(-1px)}.link-account svg{width:20px;height:20px}.link-account svg:last-child{width:16px;height:16px}#app{padding-bottom:56px}.music-toggle.off{opacity:.55}.reclaim{position:absolute;top:3px;right:3px;z-index:2;width:calc(var(--cw) * .2);height:calc(var(--cw) * .2);display:grid;place-items:center;border-radius:50%;background:var(--player);color:#fff;box-shadow:0 0 0 1.5px #ffffffd9,0 0 8px var(--player);animation:reclaim-pulse 1.6s ease-in-out infinite;pointer-events:none}.reclaim svg{width:70%;height:70%}@keyframes reclaim-pulse{50%{box-shadow:0 0 0 1.5px #ffffffd9,0 0 14px 3px var(--player)}}.reward-option{display:flex;flex-direction:column;align-items:center;gap:6px}.owned-tag{padding:2px 9px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;font-size:.75rem;font-weight:700;color:var(--muted);white-space:nowrap}.owned-tag.new{border-color:var(--gold);color:var(--gold);background:#f0c24a1f}.mode-switch{display:flex;gap:6px}.fusion-panel{display:flex;flex-direction:column;gap:10px}.fusion-panel p{margin:0}.fusion-panel h3{font-size:1.05rem}.fusion-slots{--cw: 64px;display:grid;grid-template-columns:repeat(5,var(--cw));gap:8px;justify-content:center}.fusion-slots .empty-slot{font-size:1.2rem}.fusion-panel .btn.play{align-self:center}.tab.ready:not(.active){border-color:#f0c24a80}.item.picked .card{box-shadow:0 0 0 3px var(--gold),0 4px 10px #00000080}.fusion-result .card{--cw: 140px}.fusion-reveal{animation:fusion-reveal .9s cubic-bezier(.2,.8,.2,1) both}@keyframes fusion-reveal{0%{transform:scale(.4) rotateY(180deg);opacity:0;filter:brightness(3)}60%{transform:scale(1.08) rotateY(0);opacity:1;filter:brightness(1.6)}to{transform:none;filter:none}}@media (max-width: 640px){.fusion-slots{--cw: 54px;gap:6px}}.sound-toggles{display:flex;gap:6px;flex-wrap:wrap}.modal{width:min(440px,calc(100% - 32px));padding:0;border:1px solid var(--line);border-radius:18px;background:#1e1938fa;color:var(--text);box-shadow:0 24px 60px #0009}.modal[open]{animation:modal-in .22s cubic-bezier(.2,.8,.2,1)}.modal::backdrop{background:#05030fb3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}.modal-body{display:flex;flex-direction:column;gap:12px;padding:20px;text-align:center}.modal-body h2{margin:0;font-family:Cinzel,serif;font-size:1.3rem}.modal-body p{margin:0;line-height:1.45}.modal-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:4px}.modal-stake{--cw: 72px;display:flex;align-items:center;gap:12px;justify-content:center;text-align:left}.modal-label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.modal-input{font:inherit;text-align:center;letter-spacing:2px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#0000004d;color:var(--text)}.modal-input:focus{outline:2px solid var(--gold);outline-offset:1px}.btn.danger{background:linear-gradient(#c23848,#8a1e2c);border-color:var(--cpu);box-shadow:0 2px #4a0d16}.pack{--pw: 46px;position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--pw) * .06);width:var(--pw);aspect-ratio:5 / 7;border-radius:calc(var(--pw) * .08);background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 45%,transparent 60%) 0 0 / 250% 100%,linear-gradient(160deg,#6b4fd8,#2a1d6e 55%,#4a1f6e);border:1px solid rgba(240,194,74,.7);box-shadow:inset 0 0 0 2px #00000040,0 6px 16px #00000073;overflow:hidden;animation:pack-shine 3.5s ease-in-out infinite;flex:none}.pack:before,.pack:after{content:"";position:absolute;left:0;right:0;height:calc(var(--pw) * .09);background:repeating-linear-gradient(90deg,#f0c24ad9 0,#f0c24ad9 3px,#785a14d9 3px,#785a14d9 6px)}.pack:before{top:0}.pack:after{bottom:0}.pack-mark{color:var(--gold);font-size:calc(var(--pw) * .34);line-height:1;text-shadow:0 0 10px rgba(240,194,74,.8)}.pack-name{font-family:Cinzel,serif;font-weight:700;font-size:calc(var(--pw) * .11);color:#f5e9c8;white-space:nowrap}.pack.mini{--pw: 22px;animation:none}.pack.mini .pack-name{display:none}.pack.big{--pw: 150px}.pack.clickable{cursor:pointer}.pack.clickable:hover{transform:translateY(-3px) rotate(-1deg);transition:transform .15s}.pack.opening{animation:pack-tear .7s ease-in forwards}@keyframes pack-shine{0%,60%{background-position:120% 0,0 0}to{background-position:-120% 0,0 0}}@keyframes pack-tear{0%{transform:none}15%{transform:rotate(-4deg) scale(1.03)}30%{transform:rotate(4deg) scale(1.05)}45%{transform:rotate(-3deg) scale(1.06);filter:brightness(1.3)}to{transform:scale(1.35);opacity:0;filter:brightness(3)}}.packs-panel{display:flex;flex-direction:column;gap:12px}.packs-row{display:flex;align-items:center;justify-content:center;gap:14px}.pack-stack{position:relative}.pack-count{position:absolute;right:-10px;bottom:-6px;padding:1px 7px;border-radius:999px;background:var(--gold);color:#2a1d00;font-weight:800;font-size:.8rem}.packs-panel .btn.play{margin:0}.daily{align-self:stretch;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px dashed var(--line);text-align:center}.daily>div{display:flex;flex-direction:column;align-items:center;gap:2px}.pack-gain{display:inline-flex;align-items:center;gap:8px;font-family:Cinzel,serif;font-weight:700;color:var(--gold)}.pack-open .odds{font-size:.75rem}.pack-open .reward-option .caption{font-size:.85rem}.pack-open .card,.pack-open .reward{--cw: 120px}.pack-card{animation:fusion-reveal .8s cubic-bezier(.2,.8,.2,1) both}@media (max-width: 640px){.packs-row{flex-direction:column;align-items:center}.packs-panel .btn.play{width:100%}.pack-open .card,.pack-open .reward{--cw: 104px}}.ranking-bar{width:min(640px,100%);margin-bottom:-12px}.ranking{width:min(640px,100%);display:flex;flex-direction:column;gap:12px}.ranking h2{margin:0}.ranking-list{align-self:stretch;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ranking-row{display:grid;grid-template-columns:40px 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:#ffffff08;text-align:left}.ranking-row.top1{border-color:#f0c24ab3;background:#f0c24a1a}.ranking-row.top2{border-color:#c8d2e680}.ranking-row.top3{border-color:#cd7f3299}.ranking-row.you{box-shadow:0 0 0 2px var(--player)}.rank-pos{font-family:Cinzel,serif;font-weight:700;font-size:1.2rem;text-align:center}.rank-name{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-name small,.rank-wins small{color:var(--muted);font-weight:400}.rank-wins strong{font-family:Cinzel,serif;font-size:1.15rem;color:var(--gold)}.ranking-you{margin:0;color:var(--muted)}.ranking-btn{margin-top:-8px}@media (max-width: 640px){.ranking-row{grid-template-columns:32px 1fr auto;gap:8px;padding:8px 10px}.ranking-row .level-badge{display:none}}.promo{align-self:stretch;display:flex;gap:8px}.promo-input{flex:1;min-width:0;font:inherit;padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:#00000040;color:var(--text);text-transform:uppercase;letter-spacing:1px;text-align:center}.promo-input::placeholder{text-transform:none;letter-spacing:0;color:var(--muted)}.promo-input:focus{outline:2px solid var(--gold);outline-offset:1px}.card-preview{align-self:center;display:inline-flex;padding:0;border:0;border-radius:3px;background:transparent;cursor:pointer}.card-eye{display:inline-grid;place-items:center;vertical-align:middle;width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--gold);cursor:pointer}.card-eye[aria-pressed=true]{background:#f0c24a1f}.card-eye[aria-pressed=false] .eye-slash,.card.hide-values .val{display:none}.card-zoom{width:min(400px,calc(100% - 32px))}.card-zoom .card.zoomed{--cw: min(300px, 72vw, 52vh);align-self:center;border-width:5px;box-shadow:0 16px 40px #0009;animation:card-zoom-in .25s cubic-bezier(.2,.8,.2,1)}.card-zoom .card.zoomed:hover{transform:none}@keyframes card-zoom-in{0%{transform:scale(.6);opacity:0}}.modal-input.plain{letter-spacing:0}.app-banner{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:90;transform:translate(-50%);width:min(560px,calc(100% - 32px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 40px 12px 12px;border-radius:16px;border:1px solid var(--line);background:#1e1938f7;box-shadow:0 18px 44px #0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:banner-in .3s cubic-bezier(.2,.8,.2,1)}.app-banner.update{border-color:var(--gold);box-shadow:0 0 0 1px #f0c24a40,0 18px 44px #0009}.app-banner.leaving{opacity:0;transform:translate(-50%,12px);transition:opacity .25s,transform .25s}.app-banner-icon{width:44px;height:44px;border-radius:10px}.app-banner-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.85rem;color:var(--muted)}.app-banner-text strong{font-family:Cinzel,Georgia,serif;font-size:1rem;color:var(--text)}.app-banner.update .app-banner-text strong{color:var(--gold)}.app-banner-actions{display:flex;gap:8px}.app-banner-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border:none;border-radius:50%;background:none;color:var(--muted);font-size:.9rem;line-height:1}.app-banner-close:hover{color:var(--text);background:#ffffff14}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,16px)}}@media (max-width: 520px){.app-banner{grid-template-columns:auto 1fr}.app-banner-actions{grid-column:1 / -1;justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.app-banner{animation:none}}@media (display-mode: standalone){#app{padding-top:max(16px,env(safe-area-inset-top,0px))}.clock{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}.pvp-bar{width:min(640px,100%);margin-bottom:-6px}.pvp-bar h2{flex:1;font-size:1.2rem;text-align:left}.pvp-lobby,.pvp-room,.pvp-queue{width:min(640px,100%);display:flex;flex-direction:column;align-items:center;gap:12px}.pvp-lobby h3,.pvp-room h3,.pvp-queue h3{font-size:1.15rem}.pvp-lobby p,.pvp-room p,.pvp-queue p{margin:0}.pvp-option{align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:8px}.pvp-option .promo{align-self:center;width:min(360px,100%)}.pvp-check{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer}.pvp-check input{width:18px;height:18px;accent-color:var(--gold)}.pvp-divider{align-self:stretch;display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.85rem}.pvp-divider:before,.pvp-divider:after{content:"";flex:1;height:1px;background:var(--line)}.room-code{padding:10px 22px;border-radius:12px;border:1px solid rgba(240,194,74,.6);background:#f0c24a14;font-family:Cinzel,Georgia,serif;font-weight:800;font-size:clamp(2rem,9vw,2.8rem);letter-spacing:6px;color:var(--gold);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.room-expires{font-size:.8rem;color:var(--muted)}.pvp-waiting{display:inline-flex;align-items:center;gap:10px;font-weight:700}.pvp-spinner{width:18px;height:18px;flex:none;border-radius:50%;border:2px solid var(--line);border-top-color:var(--gold);animation:spin .9s linear infinite}.pvp-spinner.big{width:42px;height:42px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.pvp-rival{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:-4px 0 12px;font-size:.9rem}.pvp-rival .level-badge{font-size:.8rem}.pvp-rival .warn{font-weight:700}.pvp-dot{width:9px;height:9px;border-radius:50%;background:#3fcf7f;box-shadow:0 0 8px #3fcf7fb3}.pvp-dot.away{background:var(--cpu);box-shadow:0 0 8px #ff4d5eb3;animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{50%{opacity:.4}}.card.back{display:grid;place-items:center;border-color:#f0c24a8c;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 6px,transparent 6px 12px),linear-gradient(160deg,#4a36a8,#221a58 60%,#3a1a5a)}.card.back .back-mark{color:var(--gold);font-size:calc(var(--cw) * .32);text-shadow:0 0 10px rgba(240,194,74,.7)}.turn-timer{width:min(420px,100%);margin:14px auto 0;display:flex;align-items:center;gap:10px}.turn-track{flex:1;height:8px;border-radius:999px;background:#ffffff14;border:1px solid var(--line);overflow:hidden}.turn-fill{height:100%;width:100%;background:var(--cpu);transition:width .25s linear}.turn-timer.mine .turn-fill{background:var(--player)}.turn-timer.urgent .turn-fill{background:var(--gold)}.turn-secs{min-width:3ch;font-family:Cinzel,Georgia,serif;font-weight:800;font-variant-numeric:tabular-nums;color:var(--muted)}.turn-timer.mine .turn-secs{color:var(--text)}.turn-timer.urgent .turn-secs{color:var(--gold)}.elo-change{margin:0;font-family:Cinzel,Georgia,serif;font-weight:700;color:var(--muted)}.elo-change.up{color:var(--gold)}.elo-change.down{color:var(--cpu)}.pvp-reward{display:flex;flex-direction:column;align-items:center;gap:10px}.reward.busy{opacity:.5;pointer-events:none}.ranking-tabs{justify-content:center;margin-bottom:-6px}@media (prefers-reduced-motion: reduce){.pvp-spinner,.pvp-dot.away{animation-duration:3s}}.top-actions{display:flex;align-items:center;gap:12px}.login-top{align-self:flex-end;margin:-12px 0 -8px;position:relative;z-index:3}.lang-menu{position:relative}.lang-toggle{display:inline-flex;align-items:center;gap:6px;color:var(--text)}.lang-toggle:hover,.lang-toggle[aria-expanded=true]{border-color:var(--gold)}.lang-toggle svg{color:var(--gold)}.lang-chevron{font-size:.7rem;color:var(--muted)}.lang-list{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:150px;margin:0;padding:6px;list-style:none;border:1px solid var(--line);border-radius:12px;background:#1c1735;box-shadow:0 10px 30px #00000073;text-align:left}.lang-list[hidden]{display:none}.lang-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:none;font-weight:700;text-align:left}.lang-item:hover,.lang-item:focus-visible{background:#ffffff14;outline:none}.lang-item.active,.lang-check{color:var(--gold)}.login-invite{margin:0;padding:8px 12px;border:1px solid var(--gold);border-radius:10px;background:#f0c24a1a;color:var(--gold);font-weight:700}.who-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0}.who-name strong{overflow-wrap:anywhere}.rename-btn{font:inherit;font-size:.95rem;line-height:1;padding:4px 7px;border-radius:8px;border:1px solid var(--line);background:#ffffff0d;color:var(--gold);cursor:pointer}.rename-btn:hover,.rename-btn:focus-visible{border-color:var(--gold)}.modal-error:empty{display:none}.modal-body .modal-input.plain{letter-spacing:normal}.insurance{margin:0;font-size:.85rem;color:var(--muted)}.insurance.on,.result .insured{color:#8fe3b0}.menu-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:-8px}.menu-links .ranking-btn{margin-top:0}.history-intro{margin:-8px 0 0;max-width:640px}.history{width:min(640px,100%)}.history-list{align-self:stretch;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.history-item{--cw: 58px;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;border:1px solid var(--line);border-left-width:4px;background:#ffffff08;text-align:left}.history-item.kind-won,.history-item.kind-pack,.history-item.kind-fusion{border-left-color:#5ad08a}.history-item.kind-lost{border-left-color:var(--cpu)}.history-item.kind-saved{border-left-color:var(--gold)}.history-text{display:flex;flex-direction:column;gap:2px;min-width:0}.history-text strong{overflow-wrap:anywhere}.history-kind{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.history-kind.kind-won,.history-kind.kind-pack,.history-kind.kind-fusion{color:#5ad08a}.history-kind.kind-lost{color:var(--cpu)}.history-kind.kind-saved{color:var(--gold)}.modal.changelog{width:min(520px,calc(100% - 24px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}.changelog-body{max-height:calc(100vh - 34px);max-height:calc(100dvh - 34px);box-sizing:border-box;padding-bottom:16px}.changelog-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;text-align:left;padding:2px 6px 2px 2px;display:flex;flex-direction:column;gap:14px}.changelog-pages{display:flex;justify-content:center;gap:8px}.changelog-release h3{margin:0 0 6px;font-size:1rem;color:var(--gold)}.changelog-release h3 small{font-weight:400;font-size:.8rem}.changelog-release ul{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}.changelog-release li{line-height:1.45;padding:8px 10px;border-radius:10px;background:#ffffff0a}.panel.heroic{border-color:#f0c24a73;background:radial-gradient(120% 90% at 50% 0%,rgba(240,194,74,.12),transparent 60%),var(--panel)}.panel.heroic h2{color:var(--gold)}.panel.heroic.locked{border-color:var(--line);background:var(--panel)}.panel.heroic.locked h2{color:var(--muted)}.heroic-lock{margin:0;font-weight:800}.heroic-desc{margin:0;font-size:.9rem}.btn.heroic-play{background:linear-gradient(#d9a62e,#9c6f12);border-color:#ffd877;color:#1c1406;box-shadow:0 2px #4a3405,0 0 18px #f0c24a40}.chip.heroic-chip,.chip.heroic-mode{border-color:#f0c24a8c;color:#ffe3a1}.chip.heroic-mode{background:#f0c24a29}.chip.round-chip[hidden]{display:none}.chip.round-chip{border-color:var(--cpu);color:#ffb3bb}.heroic-packs{margin:0;font-size:.85rem;color:var(--muted)}.heroic-packs.on{color:#ffe3a1}.callout{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%) scale(.6);pointer-events:none;opacity:0;z-index:40;font-family:Cinzel,serif;font-weight:800;font-size:clamp(2rem,9vw,3.4rem);letter-spacing:.04em;color:#ffe3a1;text-shadow:0 0 18px rgba(240,194,74,.7),0 3px 0 #4a3405;white-space:nowrap}.callout.show{animation:callout 1.6s ease-out forwards}@keyframes callout{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}25%{transform:translate(-50%,-50%) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-60%) scale(1)}}@media (prefers-reduced-motion: reduce){@keyframes callout{0%,to{opacity:0;transform:translate(-50%,-50%)}10%,80%{opacity:1;transform:translate(-50%,-50%)}}}button.chip.rule-help{color:#ffe3a1;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px}button.chip.rule-help:hover,button.chip.rule-help:focus-visible{background:#f0c24a29;outline:none}.rule-q{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#f0c24a40;font-size:.7rem;line-height:1}.rules-modal{width:min(480px,calc(100% - 24px));max-height:min(88vh,860px);overflow:hidden}.rules-modal[open]{display:flex;flex-direction:column}.rules-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 16px;gap:14px}.rules-body>p{font-size:.92rem}.rule-section{text-align:left;padding:12px;border-radius:14px;border:1px solid var(--line);background:#ffffff08;display:flex;flex-direction:column;gap:10px}.rule-section.focus{border-color:#f0c24a99;background:#f0c24a12}.rule-section h3{margin:0}.rule-section p{font-size:.92rem}.rule-example{margin:0;display:flex;align-items:center;gap:12px}.rule-example figcaption{font-size:.85rem;color:var(--muted);line-height:1.4}.mini-board{flex:none;display:grid;grid-template-columns:repeat(2,58px);grid-template-rows:repeat(2,58px);gap:4px}.mini-empty{border-radius:8px;border:1px dashed var(--line)}.mini-card{position:relative;border-radius:8px;border:2px solid}.mini-card.cpu{border-color:var(--cpu);background:linear-gradient(160deg,#5a2140,#3a1430)}.mini-card.player{border-color:var(--player);background:linear-gradient(160deg,#23417c,#172a55)}.mini-card.flips{box-shadow:0 0 0 2px var(--player)}.mini-v{position:absolute;min-width:15px;padding:0 2px;border-radius:4px;background:#0000008c;font-size:.72rem;font-weight:800;line-height:15px;text-align:center}.mini-v.s0{top:3px;left:50%;transform:translate(-50%)}.mini-v.s1{right:3px;top:50%;transform:translateY(-50%)}.mini-v.s2{bottom:3px;left:50%;transform:translate(-50%)}.mini-v.s3{left:3px;top:50%;transform:translateY(-50%)}.mini-v.hl{background:var(--gold);color:#1c1406}.mini-flip{position:absolute;right:-7px;top:-7px;width:16px;height:16px;border-radius:50%;background:var(--player);font-size:.7rem;line-height:16px;text-align:center}@media (max-width: 360px){.rule-example{flex-direction:column;align-items:flex-start}}.level-gift{margin:0;color:#ffe3a1;font-weight:700}.level-gift-cards{--cw: 84px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.history-item.kind-level{border-left-color:var(--gold)}.history-kind.kind-level{color:var(--gold)}@media (min-width: 1024px) and (hover: hover) and (pointer: fine){body:has(.game) #app{max-width:1400px}.game .table{--bw: clamp(104px, min(calc((100vh - 246px) / 3), calc((min(100vw, 1400px) - 128px)/6.4) ), 200px);gap:calc(var(--bw) * .2)}.game .board{--cw: var(--bw);gap:calc(var(--bw) * .05);padding:calc(var(--bw) * .08)}.game .hand{--cw: calc(var(--bw) * .85);gap:calc(var(--bw) * .05);min-height:calc(var(--cw) * 3 + var(--bw) * .1)}.game .score{font-size:calc(var(--bw) * .3)}.game .status{font-size:1.25rem}}
