:root{--ink-0: #04060c;--ink-1: #080c16;--ink-2: #0e1522;--ink-3: #172136;--ink-4: #23304c;--line: #2a3a58;--line-soft: #21304c80;--brass: #aebfd8;--brass-hi: #e8f0fb;--brass-dim: #5c6c88;--gold-glow: #4fb4ff;--blue: #2f7fe0;--blue-hi: #63a6ff;--blue-glow: #4fb4ff;--vermil: #e0432c;--vermil-hi: #ff5b45;--paper: #e7edf6;--paper-dim: #94a2ba;--paper-faint: #5a687f;--cyan: #6fd4ee;--atk: #ff6a44;--def: #5aa6ee;--good: #63c47a;--mono: "SF Mono", ui-monospace, "Roboto Mono", Menlo, Consolas, monospace;--ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--card-h: clamp(78px, 12vh, 146px);--card-w: calc(var(--card-h) * .64);--card-r: 6px;--slot-gap: clamp(4px, .55vw, 8px);--card-h-mkt: clamp(90px, min(13.2vh, 9vw), 172px);--card-w-mkt: calc(var(--card-h-mkt) * .64);--card-h-hand: clamp(106px, 15vh, 174px);--card-w-hand: calc(var(--card-h-hand) * .64);--radius: 10px;--shadow-1: 0 2px 8px #0008;--shadow-2: 0 8px 30px #000a;--ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:radial-gradient(58% 48% at 88% 32%,#e0432c14,transparent 60%),radial-gradient(58% 48% at 12% 34%,#2f7fe01f,transparent 60%),radial-gradient(150% 100% at 50% -20%,#14335e 0%,var(--ink-1) 52%,var(--ink-0) 100%);color:var(--paper);font-family:var(--ui);font-size:13px;line-height:1.4;height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 50% 50%,transparent 52%,#0008 100%);mix-blend-mode:multiply}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:2000;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}#app{position:relative;z-index:1;height:100vh}a{color:var(--brass)}button{font-family:var(--ui);cursor:pointer}.mono{font-family:var(--mono)}.muted{color:var(--paper-faint)}.dmg{color:var(--vermil-hi);font-weight:600}.good{color:var(--good);font-weight:600}.t{color:var(--brass-hi);font-weight:600}.panel{position:relative;background:radial-gradient(110% 90% at 50% 0%,#ffffff05,transparent 55%),linear-gradient(180deg,#18213340,#0c121d80),var(--ink-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1),inset 0 1px #ffffff0a,inset 0 -1px #0005}.panel-title{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);padding:8px 12px 6px;display:flex;align-items:center;gap:8px}.panel-title:before{content:"";width:8px;height:8px;transform:rotate(45deg);background:var(--brass);box-shadow:0 0 6px var(--gold-glow)}.btn{font-family:var(--mono);font-size:12px;letter-spacing:.08em;padding:9px 16px;border-radius:7px;border:1px solid var(--brass-dim);background:linear-gradient(180deg,#2a3650,#18223a);color:var(--paper);transition:.15s var(--ease);text-transform:uppercase}.btn:hover{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass-dim),0 4px 14px #0006;color:var(--brass-hi)}.btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.btn-primary{background:linear-gradient(180deg,var(--vermil),#a8341a);border-color:var(--vermil-hi);color:#fff;font-weight:600}.btn-primary:hover{box-shadow:0 0 18px #d8542f70;color:#fff}.btn-gold{background:linear-gradient(180deg,var(--brass-hi),var(--brass-dim));border-color:var(--gold-glow);color:#2a1d08;font-weight:700}.btn-ghost{background:#ffffff05;border-color:var(--line)}.btn-danger{border-color:var(--vermil);color:var(--vermil-hi);background:#2a141040}.btn-danger:hover{background:var(--vermil);color:#fff}.btn-block{display:block;width:100%;text-align:center}.field-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);margin-bottom:5px;display:block}.input{width:100%;padding:11px 13px;border-radius:8px;background:var(--ink-0);border:1px solid var(--line);color:var(--paper);font-size:14px;font-family:var(--ui);transition:.15s var(--ease)}.input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2f7fe033}.input::placeholder{color:var(--paper-faint)}.overlay{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;background:#04070ccc;backdrop-filter:blur(4px);animation:fade .2s var(--ease)}.modal{min-width:300px;max-width:90vw;background:linear-gradient(180deg,var(--ink-3),var(--ink-1));border:1px solid var(--brass-dim);border-radius:14px;box-shadow:var(--shadow-2),inset 0 1px #ffffff10;padding:26px 28px;text-align:center}.modal h2{font-family:var(--mono);font-size:20px;letter-spacing:.18em;color:var(--brass-hi);text-transform:uppercase;margin-bottom:8px}.modal p{color:var(--paper-dim);margin-bottom:6px}.modal-row{display:flex;gap:10px;margin-top:18px;justify-content:center}.dv-tabs{display:inline-flex;gap:6px;margin:4px auto 2px;padding:4px;border-radius:10px;background:#0003;border:1px solid var(--line)}.dv-tab{padding:6px 16px;border-radius:7px;border:none;background:transparent;color:var(--paper-dim);font-family:var(--mono);font-size:12px;letter-spacing:.06em;cursor:pointer;transition:.14s var(--ease)}.dv-tab b{color:var(--cyan);margin-left:4px}.dv-tab:hover{color:var(--paper)}.dv-tab.is-active{background:linear-gradient(180deg,#4fb4ff26,#ffffff08);color:var(--brass-hi)}.dv-note{font-size:11.5px;color:var(--paper-faint);margin-top:8px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal{animation:pop .22s var(--ease)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:4px}::-webkit-scrollbar-track{background:transparent}.card{--cw: var(--card-w);--ch: var(--card-h);position:relative;width:var(--cw);height:var(--ch);flex:0 0 auto;border-radius:0;background-size:100% 100%;background-repeat:no-repeat;font-size:calc(var(--cw) * .135);color:var(--paper);filter:drop-shadow(0 2px 4px #0009);transition:transform .14s var(--ease),filter .14s var(--ease);user-select:none}.card--mkt{--cw: var(--card-w-mkt);--ch: var(--card-h-mkt)}.card--hand{--cw: var(--card-w-hand);--ch: var(--card-h-hand)}.card--mon{--cc: #d1431f;--cc-lo: #f47a4a}.card--spell{--cc: #2c6bd0;--cc-lo: #5a9cf2}.card--trap{--cc: #38984d;--cc-lo: #67c67c}.card--starter{--cc: #24a9bd;--cc-lo: #5ad6e6}.card-cost{position:absolute;top:-1.6%;left:-4%;right:auto;width:35%;height:auto;aspect-ratio:1;display:grid;place-items:center;font-family:var(--mono);font-weight:800;font-size:1.4em;line-height:1;color:#fff;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 50% 58%,var(--cc-lo),var(--cc) 80%);border:max(1.5px,.09em) solid #fdf1d6;box-shadow:0 .14em .3em #000b,0 0 .4em -.1em var(--cc),inset 0 -.14em .26em #0006;text-shadow:0 .06em .12em #000a;z-index:6}.card-frame{position:absolute;inset:0;z-index:1;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat;border-radius:var(--card-r)}.card-name{position:absolute;top:6%;left:34%;right:6.5%;height:7.8%;z-index:3;display:flex;align-items:center;justify-content:flex-start;font-weight:800;font-size:.52em;line-height:1;letter-spacing:-.02em;color:#17120c;text-shadow:0 1px 0 #ffffff44;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-name--long{font-size:.42em;white-space:normal;line-height:1.02}.card-art{position:absolute;top:13.8%;left:7%;right:6.4%;height:50.6%;z-index:0;background:radial-gradient(120% 90% at 50% 30%,#2c3a55,#0c1320 90%);overflow:hidden}.card-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 22%}.card-art:after{content:"◆";position:absolute;inset:0;display:grid;place-items:center;color:#ffffff14;font-size:1.8em}.card-art:has(img):after{content:none}.card-eff{position:absolute;left:11%;right:11%;z-index:2;top:64%;height:22%;font-size:.44em;line-height:1.12;color:#1b1610;text-align:center;overflow:hidden;word-break:keep-all;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35em}.card-eff--small{font-size:.375em;line-height:1.1}.card-eff--tiny{font-size:.33em;line-height:1.08}.card--spell .card-eff,.card--trap .card-eff,.card--starter .card-eff{height:31%}.card-cast{flex:0 0 auto;display:inline-flex;align-items:center;gap:.25em;font-weight:800;font-size:.94em;letter-spacing:.01em;line-height:1;color:#2b2450;background:#fffefaee;border:1px solid var(--cc, #b9a76e);border-radius:999px;padding:.18em .6em .2em;cursor:help;box-shadow:0 1px 2px #0003,inset 0 0 0 1px #fffc}.card-cast .cc-ico{color:#e0932a;font-size:.95em}.cast-tip{position:absolute;left:7%;right:7%;top:22%;z-index:40;pointer-events:none;text-align:left;background:#14100af7;color:#f4e8c8;border:1px solid var(--brass-dim);border-radius:7px;padding:.55em .6em;font-size:.4em;line-height:1.32;font-weight:500;box-shadow:0 .4em 1.1em #000c;opacity:0;visibility:hidden;transition:opacity .1s}.cast-tip.show{opacity:1;visibility:visible}.card-ench{position:absolute;top:.3em;left:1.4em;z-index:4;display:inline-flex;align-items:center;justify-content:center;width:1.55em;height:1.55em;border-radius:50%;background:radial-gradient(circle at 40% 35%,#8a72e8,#4a34a0 85%);color:#fff;border:1px solid #c3b4ffcc;box-shadow:0 1px 2px #0005,inset 0 0 0 1px #ffffff30;cursor:help}.card-ench .ce-ico{font-size:1.15em;font-weight:800;line-height:1}.ench-tip{position:absolute;left:7%;right:7%;top:22%;z-index:40;pointer-events:none;text-align:left;background:#120e1cf7;color:#ece3ff;border:1px solid #7c66c0;border-radius:7px;padding:.55em .6em;font-size:.4em;line-height:1.32;font-weight:500;box-shadow:0 .4em 1.1em #000c;opacity:0;visibility:hidden;transition:opacity .1s}.ench-tip.show{opacity:1;visibility:visible}.ad-atk,.ad-def{position:absolute;top:89.2%;height:6.7%;width:27%;z-index:3;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.86em;line-height:1;color:#16110c;text-shadow:0 1px 0 #ffffff44}.ad-atk{left:21%}.ad-def{left:66.5%}.card.is-playable,.card.is-buyable{cursor:pointer}.card.is-playable:hover,.card.is-buyable:hover{transform:translateY(-6px);filter:drop-shadow(0 8px 14px #000c)}.card.is-dim{filter:grayscale(.55) brightness(.62)}.card.is-attacker{cursor:pointer;animation:attackerPulse 1.1s infinite}.card.is-targetable{cursor:crosshair;animation:attackerPulse .8s infinite}@keyframes attackerPulse{0%,to{filter:drop-shadow(0 2px 4px #0009) drop-shadow(0 0 4px #ff7a4d66)}50%{filter:drop-shadow(0 2px 4px #0009) drop-shadow(0 0 9px #ff7a4d)}}.card.is-exhausted{filter:grayscale(.7) brightness(.6)}.card .badge{position:absolute;bottom:2%;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:.66em;letter-spacing:.1em;background:var(--vermil);color:#fff;padding:1px 6px;border-radius:3px;text-transform:uppercase;z-index:3}.card--back{background-size:100% 100%}.tribe-tag{position:absolute;top:15.5%;left:9%;transform:none;font-size:.48em;font-weight:700;letter-spacing:.02em;color:#f6e7b6;background:#1a1230e0;border:1px solid var(--brass-dim);border-radius:4px;padding:1px 5px;cursor:pointer;z-index:4;white-space:nowrap}.tribe-tag:hover{background:var(--brass);color:#2a1d08;border-color:var(--gold-glow)}.slot{width:var(--cw, var(--card-w));height:var(--ch, var(--card-h));flex:0 0 auto;border-radius:var(--card-r);border:1px solid #ffffff09;background:radial-gradient(120% 90% at 50% 0%,#ffffff04,transparent 60%),linear-gradient(180deg,#080d16,#0c1220);display:grid;place-items:center;box-shadow:inset 0 2px 7px #000a,inset 0 0 0 1px #00000070,0 1px #ffffff05;position:relative}.slot:after{content:"◆";color:#3a4c6e3a;font-size:calc(var(--cw, var(--card-w)) * .34);text-shadow:0 1px 1px #000,0 0 10px #00000080}.slot.is-bought:after{content:"구매됨";font-size:.6rem;letter-spacing:.15em;color:var(--paper-faint)}.slot.is-active{border-color:var(--brass-dim);box-shadow:inset 0 0 12px #4fb4ff22}.pile{position:relative;width:var(--card-w);height:var(--card-h);flex:0 0 auto;cursor:default}.pile-card{position:absolute;inset:0;border-radius:var(--card-r);background-size:100% 100%;border:1px solid #00000090;box-shadow:0 2px 8px #0009,inset 0 0 0 1px #ffffff0a}.pile.is-empty .pile-card{background:var(--ink-1);border:1px dashed var(--line)}#pile-myDeck .pile-card,#pile-oppDeck .pile-card{border-color:#4fb4ff66;box-shadow:0 2px 8px #0009,inset 0 0 0 1px #4fb4ff33,0 0 9px -2px #4fb4ff70}.pile-count{position:absolute;bottom:-16px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:11px;color:var(--brass);font-weight:700}.pile-tag{position:absolute;top:-15px;left:50%;transform:translate(-50%);font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--paper-faint);text-transform:uppercase;white-space:nowrap}.pile.flash .pile-card{animation:pileFlash .5s var(--ease)}@keyframes pileFlash{50%{box-shadow:0 0 16px var(--gold-glow),var(--shadow-1);filter:brightness(1.4)}}.inline-pile{cursor:pointer}.inline-pile .pile-count{position:absolute;inset:0;transform:none;display:grid;place-items:center;font-size:calc(var(--card-w) * .28);color:var(--paper);text-shadow:0 1px 3px #000,0 0 6px #000}.inline-pile .pile-tag{top:auto;bottom:2px;left:50%;transform:translate(-50%);font-size:7px;letter-spacing:.1em;color:var(--paper-dim);background:#000a;padding:0 3px;border-radius:2px;z-index:2}.game{height:100vh;display:grid;grid-template-rows:auto 1fr;padding:5px 12px 6px;gap:4px;overflow:hidden}.topbar{display:flex;align-items:center;gap:14px;padding:2px 4px 8px;position:relative}.brand{display:flex;align-items:center;gap:10px}.brand .mark{width:104px;height:34px;transform:none;border:none;position:relative;background:url(/art/brand/lore-wordmark.png) left center/contain no-repeat;filter:drop-shadow(0 1px 4px #000a) drop-shadow(0 0 10px #4fb4ff44)}.brand .mark:after{content:none}.brand h1{display:none}.topbar .turn-info{margin-left:auto;display:flex;align-items:center;gap:10px}.turn-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 12px 4px 11px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff0d,#ffffff03);box-shadow:inset 0 1px #ffffff10}.turn-badge .tb-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-faint)}.turn-badge .tb-num{font-family:var(--mono);font-size:17px;font-weight:800;line-height:1;color:var(--brass-hi)}.turn-info .turn-cur{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--paper-dim)}.turn-info .turn-cur b{color:var(--vermil-hi)}.mute-fab{position:fixed;top:auto;bottom:80px;right:clamp(16px,2.4vw,54px);left:auto;z-index:55;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:#0e1522cc;color:var(--paper-dim);cursor:pointer;transition:.15s var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0007}.mute-fab:hover{color:var(--paper);border-color:var(--brass-dim);background:#16203ae0}.mute-fab.muted{color:var(--vermil-hi);border-color:var(--vermil)}.mute-fab svg{display:block}.giveup-btn{position:fixed;right:clamp(16px,2.4vw,54px);bottom:30px;z-index:46;flex:0 0 auto;padding:9px 18px;font-size:12px;letter-spacing:.1em}.gear{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;border:1px solid var(--line);background:#ffffff05;color:var(--paper-dim)}.gear:hover{color:var(--brass);border-color:var(--brass-dim)}.stage{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;overflow:hidden;position:relative;z-index:1}.log-tab{position:fixed;left:0;top:46%;z-index:91;writing-mode:vertical-rl;text-orientation:mixed;padding:14px 6px;font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--paper-dim);background:linear-gradient(180deg,#16203300,#0a0f1a);border:1px solid var(--line);border-left:none;border-radius:0 9px 9px 0;box-shadow:3px 0 12px #0007;cursor:pointer;transition:left .22s var(--ease),color .15s,border-color .15s}.log-tab:hover{color:var(--brass-hi);border-color:var(--brass-dim)}.game.log-open .log-tab{left:min(320px,82vw);color:var(--brass-hi);border-color:var(--brass-dim)}.mp-clock{margin-left:auto;width:44px;height:44px;flex:0 0 auto;display:none;place-items:center;position:relative}.mp-clock.show{display:grid}.mp-clock .tc-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.mp-clock .tc-track{fill:#0b1120cc;stroke:#ffffff1a;stroke-width:6}.mp-clock .tc-arc{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.mp-clock.mine .tc-arc{stroke:var(--blue-hi);filter:drop-shadow(0 0 4px #4fb4ff)}.mp-clock.opp .tc-arc{stroke:var(--vermil-hi);filter:drop-shadow(0 0 4px #ff5b45)}.mp-clock .tc-num{position:relative;font-family:var(--mono);font-weight:800;font-size:15px;color:var(--paper)}.mp-clock.warn .tc-num{color:var(--vermil-hi)}.mp-clock.warn{animation:clockPulse .55s ease-in-out infinite}@keyframes clockPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.board-col{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:5px;min-height:0;align-content:start}.opp-hand{display:flex;justify-content:center;align-items:flex-start;height:14px;margin-top:3px;position:relative;z-index:40;pointer-events:none}.opp-hand .card--back{width:44px;height:70px;margin:0 -14px;transform-origin:top center}.opp-hand.is-flat .card--back{margin:0 -8px}.opp-hand-count{display:none}.prow{display:flex;justify-content:center}.field-block{position:relative;display:flex;align-items:stretch;gap:12px;max-width:100%;background:linear-gradient(180deg,#ffffff12,#ffffff02 22%,transparent 40%),radial-gradient(130% 120% at 30% 0%,#6fc6e80f,transparent 55%),linear-gradient(180deg,#172234aa,#0b0f18cc);background-color:#101827bb;backdrop-filter:blur(9px) saturate(1.15);-webkit-backdrop-filter:blur(9px) saturate(1.15);border:1px solid #ffffff1f;border-radius:14px;padding:6px 10px;box-shadow:inset 0 1px #fff2,inset 0 0 0 1px #0003,inset 0 -14px 24px -14px #000a,0 8px 26px #0006;transition:background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}.field-block:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,#ffffff14,transparent 30%);mix-blend-mode:screen}.field-block:not(.is-turn){opacity:.82;filter:saturate(.7)}.field-block.is-mine.is-turn{border-color:#6fc6e8;opacity:1;filter:none;background:radial-gradient(130% 130% at 30% 0%,#6fc6e820,transparent 60%),linear-gradient(180deg,#14273acc,#0a1420);box-shadow:inset 0 0 0 1px #6fc6e83a,inset 0 0 34px #6fc6e814,0 0 26px #6fc6e820,0 6px 20px #0006}.field-block.is-opp.is-turn{border-color:var(--vermil-hi);opacity:1;filter:none;background:radial-gradient(130% 130% at 30% 0%,#d8542f24,transparent 60%),linear-gradient(180deg,#2a1620cc,#160b12);box-shadow:inset 0 0 0 1px #ff7a4d3a,inset 0 0 34px #d8542f16,0 0 26px #d8542f24,0 6px 20px #0006}.zones{display:flex;flex-direction:column;gap:var(--slot-gap);flex:0 1 auto;min-width:0}.zone-row{display:flex;align-items:center;gap:var(--slot-gap)}.zone{display:flex;gap:var(--slot-gap);flex:0 1 auto}.zone-row>.inline-pile{flex:0 0 auto}.meta-panel{flex:0 0 clamp(150px,15vw,196px);display:flex;flex-direction:column;gap:5px;justify-content:center;padding-left:12px;border-left:1px solid var(--line-soft)}.mp-top{display:flex;align-items:center;gap:7px;min-height:44px}.mp-name{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--paper);display:flex;align-items:center;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-name .who{width:15px;height:15px;flex:0 0 auto;transform:rotate(45deg);border:1.5px solid var(--brass-dim)}.turn-chip{font-size:9px;letter-spacing:.12em;padding:2px 7px;border-radius:4px;text-transform:uppercase;background:#ffffff0c;color:var(--paper-faint);white-space:nowrap}.turn-chip.on{background:linear-gradient(180deg,#7fd0ec,var(--cyan));color:#05202c;font-weight:700;box-shadow:0 0 10px #6fc6e855}.field-block.is-opp .turn-chip.on{background:linear-gradient(180deg,#ff6a40,var(--vermil));color:#fff;box-shadow:0 0 10px #d8542f55}.mp-hp{display:flex;align-items:center;gap:7px}.mp-hp .lbl,.mp-mana .lbl{font-size:9px;letter-spacing:.1em;color:var(--paper-faint);flex:0 0 auto}.mp-hp .num{font-family:var(--mono);font-weight:700;font-size:13px}.hpbar{flex:1 1 auto;min-width:40px;height:10px;border-radius:6px;background:linear-gradient(180deg,#04060a,#0c1119);border:1px solid #00000090;overflow:hidden;box-shadow:inset 0 2px 4px #000c;position:relative}.hpbar>i{display:block;height:100%;border-radius:5px;background:linear-gradient(180deg,#ff9a68,var(--vermil) 45%,#8a1f12);box-shadow:0 0 8px #d8542f55,inset 0 1px #ffd0abaa;transition:width .4s var(--ease)}.hpbar:after{content:"";position:absolute;left:1px;right:1px;top:1px;height:40%;border-radius:4px;background:linear-gradient(180deg,#ffffff22,transparent);pointer-events:none}.hp-hit{animation:hpHit .45s}.hp-heal{animation:hpHeal .45s}@keyframes hpHit{0%,to{color:inherit}40%{color:var(--vermil-hi);transform:scale(1.25)}}@keyframes hpHeal{0%,to{color:inherit}40%{color:var(--good);transform:scale(1.25)}}.hpbar.shake{animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.mp-mana{display:flex;align-items:center;gap:6px}.pips{display:flex;gap:3px;flex-wrap:wrap}.pip{width:11px;height:11px;transform:rotate(45deg);border:1.5px solid #2c4a66;background:#0a1422;border-radius:2px}.pip.full{background:radial-gradient(circle at 40% 30%,#bfe9ff,var(--cyan));border-color:#9fe0ff;box-shadow:0 0 6px #6fc6e8aa}.pip.locked{opacity:.3}.mnum{font-family:var(--mono);font-size:12px;color:var(--cyan);font-weight:700;margin-left:auto}.mp-btns{display:flex;gap:6px;flex-wrap:wrap}.mp-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;line-height:16px;letter-spacing:0;text-transform:none;border-radius:7px}.mp-btn .mp-ico{font-size:11px;line-height:1}.mp-btn b{font-family:var(--mono)}.mp-btn--deck{border-color:#3a6ea8;color:#bcdcff;background:#3a6ea814}.mp-btn--deck:hover{border-color:var(--cyan);color:#eaf6ff;background:#3a6ea826}.mp-btn--exile{border-color:#7a3a3a;color:#f0b6a6;background:#7a3a3a1a}.mp-btn--exile:hover{border-color:var(--vermil);color:#ffd7cc;background:#7a3a3a2e}.mp-tribes{display:flex;flex-wrap:wrap;gap:4px}.tribe-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px 2px 7px;border-radius:9px;font-size:10.5px;line-height:15px;border:1px solid #3d4859;color:#aeb8c6;background:#ffffff05;white-space:nowrap}.tribe-chip.has-syn{border-color:#4f9a5e;background:#4a9a5a12}.tribe-chip.all{border-color:#7fe08c;background:#4a9a5a22}.tribe-chip .tc-name{color:#d3dbe6;font-weight:700;letter-spacing:.02em}.tribe-chip .tc-cnt{font-family:var(--mono);font-weight:800;color:var(--cyan);margin:0 1px 0 2px}.tribe-chip .tp{display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 2px;border-radius:4px;font-size:9px;font-weight:800;color:#5b6678;background:#0000}.tribe-chip .tp.ready{color:#cfe4ff;background:#2f7fe033;box-shadow:0 0 6px #4fb4ff55}.tribe-chip .tp.done{color:#0b2113;background:#7fe08c}.mp-timer{font-family:var(--mono);font-weight:700;font-size:13px;margin-left:auto;padding:1px 8px;border-radius:6px;min-width:34px;text-align:center}.mp-timer.run{background:#ffffff0c;color:var(--paper);border:1px solid var(--line)}.mp-timer.warn{color:var(--vermil-hi);border-color:var(--vermil);box-shadow:0 0 10px #d8542f44}.mp-timer.shake{animation:shake .4s}.cant-toast{position:fixed;top:26%;left:50%;transform:translate(-50%,-50%);z-index:200;pointer-events:none;display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:12px;max-width:80vw;background:linear-gradient(180deg,#2a1210f2,#180c0bf2);border:1px solid var(--vermil);color:#ffdcd2;font-size:15px;font-weight:600;letter-spacing:.01em;text-align:left;box-shadow:0 10px 34px #000b,0 0 18px #d8542f44;animation:cantPop .2s var(--ease)}.cant-toast .ct-x{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--vermil);color:#fff;font-size:11px;font-weight:800}.cant-toast.out{animation:cantOut .3s var(--ease) forwards}@keyframes cantPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes cantOut{to{opacity:0;transform:translate(-50%,-62%) scale(.96)}}.turn-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:140;pointer-events:none;font-family:var(--mono);font-weight:800;letter-spacing:.06em;color:#fff;background:#12060699;border:1px solid var(--vermil);border-radius:14px;padding:14px 30px;box-shadow:0 8px 30px #000a,0 0 24px #d8542f44;animation:toastPop .25s var(--ease)}.turn-toast.big{font-size:42px;padding:10px 30px}.turn-toast.small{font-size:16px}@keyframes toastPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.turn-toast.out{animation:toastOut .3s var(--ease) forwards}@keyframes toastOut{to{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}.cointoss-ov{position:fixed;inset:0;z-index:240;display:grid;place-items:center;background:radial-gradient(ellipse at center,#0a0f18cc,#05070bee);animation:ctFade .25s var(--ease)}.cointoss-ov.out{animation:ctFadeOut .35s var(--ease) forwards}@keyframes ctFade{0%{opacity:0}to{opacity:1}}@keyframes ctFadeOut{to{opacity:0}}.cointoss{display:flex;flex-direction:column;align-items:center;gap:22px}.ct-coin{width:146px;height:146px;position:relative;transform-style:preserve-3d}.ct-coin.to-heads{animation:ctSpinHeads 1s cubic-bezier(.2,.7,.2,1) forwards}.ct-coin.to-tails{animation:ctSpinTails 1s cubic-bezier(.2,.7,.2,1) forwards}.ct-face{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;backface-visibility:hidden;overflow:hidden;box-shadow:0 10px 30px #000b,inset 0 0 0 5px #dfe8f5cc,inset 0 0 0 8px #6f86ad88,inset 0 0 22px #0006}.ct-heads{background:radial-gradient(circle at 40% 32%,#b9cdea,#4a5f80 82%)}.ct-tails{background:radial-gradient(circle at 40% 32%,#efdcb0,#a07d40 82%);transform:rotateY(180deg)}.ct-ava{display:block}.ct-ava .avatar{width:112px!important;height:112px!important;--avs: 112px}.ct-ava .avatar img{width:100%;height:100%;object-fit:cover}.ct-ava .avatar-fb{font-size:46px}@keyframes ctSpinHeads{0%{transform:rotateY(0) scale(.7)}to{transform:rotateY(1440deg) scale(1)}}@keyframes ctSpinTails{0%{transform:rotateY(0) scale(.7)}to{transform:rotateY(1620deg) scale(1)}}.ct-caption{text-align:center;opacity:0;animation:ctCap .4s var(--ease) .9s forwards}.ct-head{font-family:var(--mono);letter-spacing:.28em;font-size:12px;color:var(--paper-faint);text-transform:uppercase;margin-bottom:7px}.ct-result{font-family:var(--mono);font-size:24px;font-weight:800;letter-spacing:.04em;color:var(--brass-hi)}@keyframes ctCap{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tut-coach{position:fixed;top:74px;left:50%;transform:translate(-50%);width:min(600px,94vw);z-index:300;pointer-events:auto;background:linear-gradient(180deg,#0f1a2ef2,#0a1220f7);border:1px solid var(--brass-dim);border-radius:14px;box-shadow:0 14px 40px #000b,0 0 0 1px #4fb4ff22,inset 0 1px #ffffff12;animation:coachIn .3s var(--ease)}@keyframes coachIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.tut-coach-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}.tut-coach-step{font-family:var(--mono);font-size:12px;font-weight:800;letter-spacing:.06em;color:#06101f;background:var(--brass);border-radius:999px;padding:3px 9px}.tut-coach-head b{font-family:var(--mono);font-size:14px;letter-spacing:.06em;color:var(--brass-hi)}.tut-coach-gem{margin-left:auto;font-family:var(--mono);font-size:13px;color:var(--cyan)}.tut-coach-exit{cursor:pointer;color:var(--paper-faint);font-size:15px;line-height:1;padding:2px 4px}.tut-coach-exit:hover{color:var(--vermil)}.tut-coach-body{padding:13px 16px;font-size:14px;line-height:1.65;color:var(--paper)}.tut-coach-body b{color:var(--brass-hi);font-weight:700}.tut-coach-btn{margin:0 16px 15px}.tut-glow{position:relative;border-radius:12px;animation:tutGlow 1.15s ease-in-out infinite;z-index:5}@keyframes tutGlow{0%,to{box-shadow:0 0 0 2px #4fb4ffaa,0 0 14px 2px #4fb4ff55}50%{box-shadow:0 0 0 3px #7fd0ffee,0 0 30px 7px #4fb4ff99}}.tut-toast{position:fixed;bottom:34px;left:50%;transform:translate(-50%);z-index:320;pointer-events:none;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:12px;font-size:14.5px;color:var(--paper);background:linear-gradient(180deg,#14361ff2,#0c2415f7);border:1px solid #3f8f5a;box-shadow:0 10px 30px #000b,0 0 18px #4fd88a33;animation:tutToastIn .3s var(--ease)}.tut-toast b{color:var(--brass-hi)}.tut-toast .gem{color:var(--cyan);font-family:var(--mono);font-weight:800}.tut-toast.out{animation:tutToastOut .4s var(--ease) forwards}@keyframes tutToastIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes tutToastOut{to{opacity:0;transform:translate(-50%,-8px)}}.trapchip-card{position:relative}.market{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px 14px;padding:8px 14px;align-self:center;max-width:min(1800px,99%);margin:0 auto;overflow:hidden;border-color:#4fb4ff26}.market:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(60% 95% at 50% 30%,#4fb4ff0c,transparent 70%)}.market-sub{min-width:0;display:flex;align-items:center;gap:10px}.market-sub:nth-child(1),.market-sub:nth-child(3){flex:0 1 auto}.market-sub .sub-head{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;margin:0;text-align:left;width:max-content;max-width:84px}.market-sub .sub-head .tag{font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--brass-hi);text-transform:uppercase}.market-sub .sub-head .tag:before,.market-sub .sub-head .tag:after{content:none}.market-sub .sub-head .meta{font-size:10.5px;color:var(--paper-dim);line-height:1.3;white-space:normal}.market-sub .sub-head .sh-opp{font-size:10px;display:block}.market-sub--supply .sub-head{align-items:center;text-align:center}.market-cards{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}.market-div{width:1px;align-self:stretch;margin:4px 2px;background:linear-gradient(180deg,transparent,var(--line) 15%,var(--line) 85%,transparent)}.refresh-btn{position:relative;flex:0 0 auto;white-space:nowrap;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.04em;padding:5px 11px;border-radius:8px;border:1px solid var(--blue);background:linear-gradient(180deg,#2f7fe033,#2f7fe012);color:#cfe4ff;display:inline-flex;align-items:center;gap:4px}.refresh-btn .rf-ico{font-size:14px}.refresh-btn b{font-family:var(--mono);color:var(--cyan)}.refresh-btn:hover:not(:disabled){border-color:var(--blue-hi);background:linear-gradient(180deg,#2f7fe055,#2f7fe022);color:#eaf6ff;box-shadow:0 0 12px #4fb4ff44}.refresh-btn:disabled{opacity:.4;cursor:not-allowed}.refresh-btn .refresh-tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);width:max-content;max-width:220px;padding:7px 10px;border-radius:8px;background:#14100af5;color:#f4e8c8;border:1px solid var(--brass-dim);font-family:var(--ui);font-size:11.5px;font-weight:500;letter-spacing:0;line-height:1.35;text-align:left;white-space:normal;box-shadow:0 8px 22px #000b;opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none;z-index:60}.refresh-btn:hover .refresh-tip{opacity:1;visibility:visible}.hand-area{display:flex;align-items:flex-end;justify-content:center;gap:0;min-height:var(--card-h-hand);padding-top:2px;position:relative;z-index:40}.hand{display:flex;justify-content:center;align-items:flex-end}.hand .card{margin:0 -12px;transform-origin:bottom center;transition:transform .12s var(--ease)}.hand .card:hover{z-index:50!important}.hand.is-flat{flex-wrap:wrap;row-gap:4px}.hand.is-flat .card{margin:0 -6px}.end-turn-wrap{position:fixed;right:clamp(16px,2.4vw,54px);bottom:clamp(140px,22vh,220px);top:auto;transform:none;z-index:45}.end-turn-wrap .btn{position:relative;letter-spacing:.04em;width:clamp(132px,17vh,178px);height:auto;aspect-ratio:610 / 272;padding:0 0 2px;display:grid;place-items:center;text-align:center;white-space:normal;line-height:1.15;font-size:clamp(13px,1.65vh,18px);font-weight:800;color:#eaf3ff;text-shadow:0 1px 3px #000b,0 0 8px #0009;background:url(/ui/endturn_idle.png) center/100% 100% no-repeat;border:none;border-radius:0;box-shadow:none;transition:color .15s var(--ease),text-shadow .15s var(--ease)}.end-turn-wrap .btn:hover:not(:disabled){background-image:url(/ui/endturn_hover.png);color:#d6eeff;text-shadow:0 1px 3px #000b,0 0 12px #4fb4ffaa}.end-turn-wrap .btn:active:not(:disabled){transform:translateY(1px)}.end-turn-wrap .btn:disabled{filter:grayscale(.55) brightness(.62);opacity:.85}.end-turn-wrap .btn:after{content:none}.logpanel{position:fixed;left:0;top:54px;bottom:12px;width:min(320px,82vw);z-index:90;display:grid;grid-template-rows:auto 1fr auto;min-height:0;background:linear-gradient(180deg,#141d2ef2,#0a0f1af2);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border:1px solid var(--line);border-left:none;border-radius:0 12px 12px 0;box-shadow:10px 0 34px #000b;transform:translate(-100%);transition:transform .22s var(--ease)}.game.log-open .logpanel{transform:none}.logpanel .panel-title{position:relative;padding-bottom:8px}.logpanel .panel-title:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:1px;background:linear-gradient(90deg,var(--brass-dim),transparent 85%);opacity:.6}.log{overflow-y:auto;padding:6px 12px 10px;font-size:11.5px}.log .turn-head{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);margin:10px 0 4px;padding:4px 8px;border-left:2px solid var(--brass);background:linear-gradient(90deg,#4fb4ff14,#ffffff03 70%);border-radius:0 4px 4px 0;box-shadow:inset 0 1px #ffffff06}.log .turn-head.bot{border-color:var(--vermil)}.log .ln{padding:2px 0;color:var(--paper-dim);line-height:1.35}.log .log-card{color:var(--brass-hi);cursor:pointer;text-decoration:underline dotted}.log .log-card:hover{color:var(--gold-glow)}.log-foot{padding:10px 12px;border-top:1px solid var(--line)}.target-hint{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:80;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--vermil-hi);background:#1a0f0cdd;border:1px solid var(--vermil);padding:7px 16px;border-radius:8px;box-shadow:0 4px 18px #000a}.card.summon-in{animation:summonIn .42s var(--ease)}@keyframes summonIn{0%{transform:translateY(22px) scale(.85);opacity:0}to{transform:none;opacity:1}}.card.lunge-up{animation:lungeUp .45s var(--ease);z-index:60}.card.lunge-down{animation:lungeDown .45s var(--ease);z-index:60}@keyframes lungeUp{50%{transform:translateY(-46px) scale(1.06)}}@keyframes lungeDown{50%{transform:translateY(46px) scale(1.06)}}.card.mhit{animation:mhit .4s}@keyframes mhit{0%,to{filter:none}30%{filter:brightness(1.8) drop-shadow(0 0 10px var(--vermil-hi))}}.card.mdie{animation:mdie .42s forwards;transform-origin:center}@keyframes mdie{0%{filter:brightness(1)}30%{transform:scale(1.12) rotate(2deg);filter:brightness(2.2) drop-shadow(0 0 12px var(--vermil-hi))}to{transform:scale(.4) rotate(-16deg);opacity:0;filter:brightness(.4)}}.card.summon-pop{animation:summonPop .56s var(--ease);z-index:40}@keyframes summonPop{0%{transform:translateY(14px) scale(.7);opacity:0;filter:brightness(1.6)}45%{transform:translateY(-8px) scale(1.12);opacity:1;filter:brightness(1.5) drop-shadow(0 0 12px var(--brass-hi))}70%{transform:translateY(2px) scale(.97)}to{transform:none;filter:none}}.card--back.trap-land{animation:trapLand .25s var(--ease);box-shadow:0 0 16px var(--good)}@keyframes trapLand{0%{transform:scale(.7)}50%{transform:scale(.78) rotate(-3deg)}to{transform:scale(.7)}}.card.fx-dissolve{animation:fxDissolve .42s var(--ease) forwards}@keyframes fxDissolve{0%{transform:scale(1.25);filter:brightness(1)}40%{transform:scale(1.32);filter:brightness(1.9) drop-shadow(0 0 14px var(--brass-hi))}to{transform:scale(1.5);opacity:0;filter:brightness(2.4) blur(3px)}}.card.trap-flip{animation:trapFlip .5s var(--ease);box-shadow:0 0 22px var(--vermil-hi)}@keyframes trapFlip{0%{transform:rotateY(90deg) scale(1.05);filter:brightness(2)}55%{transform:rotateY(0) scale(1.12);filter:brightness(1.6)}to{transform:scale(1)}}.card.drawing{animation:drawIn .42s var(--ease)}@keyframes drawIn{0%{transform:translate(-60px) scale(.8);opacity:0}}.floater{position:fixed;z-index:120;font-family:var(--mono);font-weight:800;font-size:22px;pointer-events:none;animation:floatUp 1.1s var(--ease) forwards;text-shadow:0 2px 6px #000}.floater.dmg{color:var(--vermil-hi)}.floater.heal{color:var(--good)}@keyframes floatUp{0%{opacity:0;transform:translateY(6px)}20%{opacity:1}to{opacity:0;transform:translateY(-38px)}}.flycard{position:fixed;z-index:110;border-radius:6px;background-size:100% 100%;pointer-events:none;box-shadow:var(--shadow-2)}.zoom-overlay{position:fixed;inset:0;z-index:250;background:#04070cdd;backdrop-filter:blur(5px);display:grid;place-items:center;cursor:zoom-out}.zoom-wrap{display:flex;align-items:center;gap:28px}.zoom-overlay .card{--cw: 400px;--ch: 640px;box-shadow:var(--shadow-2)}.zoom-tribe{max-width:280px;text-align:left;color:var(--paper);background:linear-gradient(180deg,var(--ink-3),var(--ink-1));border:1px solid var(--brass-dim);border-radius:12px;padding:18px 20px;box-shadow:var(--shadow-2)}.zoom-tribe h3{font-family:var(--mono);color:var(--brass-hi);letter-spacing:.14em;margin-bottom:8px}.zoom-tribe .note{color:var(--vermil-hi);font-size:12px;margin-bottom:10px}.zoom-tribe .b{font-size:13px;line-height:1.7}.zoom-tribe{max-width:300px}.zoom-tribe-cards{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.ztc-head{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--brass);margin-bottom:9px;text-transform:uppercase}.ztc-grid{display:flex;flex-wrap:wrap;gap:9px;max-height:46vh;overflow-y:auto}.zoom-overlay .ztc-grid .card{--cw: 82px;--ch: 131px;cursor:zoom-in;box-shadow:0 4px 12px #0008;transition:transform .12s var(--ease)}.zoom-overlay .ztc-grid .card:hover{transform:translateY(-3px) scale(1.05)}.chest-reward{font-size:40px;margin:10px 0;animation:pop .4s var(--ease)}.treasure-roll{font-family:var(--mono);font-size:16px;color:var(--gold-glow);letter-spacing:.1em;margin-bottom:4px}.fx-banner{position:fixed;left:50%;top:38%;transform:translate(-50%,-50%) scale(.85);z-index:150;pointer-events:none;text-align:center;padding:14px 42px;border-radius:12px;background:linear-gradient(180deg,#1a2233ee,#0a0f1aee);border:1px solid var(--brass-dim);box-shadow:0 10px 40px #000c,inset 0 1px #ffffff10;animation:fxBannerIn .3s var(--ease) forwards}.fx-banner.trap{border-color:var(--vermil);box-shadow:0 0 34px #d8542f44,0 10px 40px #000c}.fx-banner.danger{border-color:var(--vermil-hi)}.fx-banner.out{animation:fxBannerOut .26s var(--ease) forwards}.fx-banner-main{font-family:var(--mono);font-weight:800;font-size:26px;letter-spacing:.18em;color:var(--paper);text-shadow:0 2px 10px #000}.fx-banner.trap .fx-banner-main{color:var(--vermil-hi)}.fx-banner-sub{margin-top:4px;font-size:14px;color:var(--brass-hi);letter-spacing:.06em}@keyframes fxBannerIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fxBannerOut{to{opacity:0;transform:translate(-50%,-54%) scale(.92)}}.fx-ghost-pop{animation:fxGhostPop .4s var(--ease)}@keyframes fxGhostPop{0%{filter:brightness(2) drop-shadow(0 0 14px var(--brass-hi))}to{filter:none}}.fx-result{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%);z-index:150;cursor:pointer;text-align:center;min-width:260px;max-width:440px;padding:18px 30px;border-radius:14px;background:linear-gradient(180deg,#1d2333f2,#0b101cf2);border:1px solid var(--gold-glow);box-shadow:0 0 40px #4fb4ff33,0 14px 44px #000d,inset 0 1px #ffffff12;animation:fxResultIn .32s var(--ease) forwards}.fx-result.opp{top:24%;min-width:210px;padding:11px 22px;border-color:var(--brass-dim);box-shadow:0 8px 30px #000b}.fx-result.out{animation:fxBannerOut .26s var(--ease) forwards}.fx-result-title{font-family:var(--mono);font-weight:700;font-size:16px;letter-spacing:.1em;color:var(--gold-glow);margin-bottom:8px}.fx-result.opp .fx-result-title{font-size:13px;margin-bottom:5px;color:var(--brass-hi)}.fx-result-line{font-size:14px;color:var(--paper);line-height:1.65}.fx-result.opp .fx-result-line{font-size:12px}@keyframes fxResultIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(-1.5deg)}60%{transform:translate(-50%,-50%) scale(1.06)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.fx-mana-aura{position:fixed;z-index:149;pointer-events:none;width:30px;height:30px;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 #6fc6e8cc;animation:fxManaAura 1s var(--ease) 2}.fx-mana-aura.out{opacity:0;transition:opacity .3s}@keyframes fxManaAura{0%{box-shadow:0 0 #6fc6e8bb}to{box-shadow:0 0 24px 60px #6fc6e800}}.fx-mana-p{position:fixed;z-index:150;pointer-events:none;width:11px;height:11px;background:radial-gradient(circle at 40% 30%,#d8f4ff,var(--cyan));border:1px solid #bfe9ff;transform:rotate(45deg);box-shadow:0 0 10px #6fc6e8;animation:fxManaP 1.15s var(--ease) both}@keyframes fxManaP{0%{opacity:0;translate:var(--sx) var(--sy);scale:.4}25%{opacity:1;scale:1.15}85%{opacity:1}to{opacity:0;translate:0 0;scale:.5}}.fx-pip-wave .pip.full{animation:fxPipPulse .55s var(--ease) 3}@keyframes fxPipPulse{50%{box-shadow:0 0 16px #9fe0ff;filter:brightness(1.9);transform:rotate(45deg) scale(1.25)}}.fx-hp-bloom{animation:fxHpBloom .7s var(--ease) 3}@keyframes fxHpBloom{50%{box-shadow:0 0 22px var(--good),inset 0 2px 4px #000c}}.fx-hp-p{position:fixed;z-index:150;pointer-events:none;color:var(--good);font-weight:800;font-size:15px;text-shadow:0 0 10px var(--good);animation:fxHpP 1.4s var(--ease) both}@keyframes fxHpP{0%{opacity:0;transform:translateY(6px) scale(.6)}25%{opacity:1;transform:translateY(-8px) scale(1.1)}to{opacity:0;transform:translateY(-46px) scale(.8)}}.fx-gain-label{position:fixed;z-index:151;pointer-events:none;transform:translate(-50%,-100%);font-family:var(--mono);font-weight:800;font-size:21px;letter-spacing:.08em;padding:6px 18px;border-radius:10px;white-space:nowrap;background:#0b101cee;border:1px solid;animation:fxGainIn .45s var(--ease) forwards}.fx-gain-label.mana{color:#bfe9ff;border-color:var(--cyan);box-shadow:0 0 24px #6fc6e855}.fx-gain-label.hp{color:var(--good);border-color:var(--good);box-shadow:0 0 24px #4caf7a55}.fx-gain-label.out{transition:opacity .3s,transform .3s;opacity:0;transform:translate(-50%,-140%)}@keyframes fxGainIn{0%{opacity:0;transform:translate(-50%,-60%) scale(.6)}60%{transform:translate(-50%,-110%) scale(1.12)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.fx-death-vignette{position:fixed;inset:0;z-index:148;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,#2a0505cc 100%);animation:fxVignette .5s ease-out forwards}.fx-death-vignette.win{background:radial-gradient(ellipse at center,transparent 45%,#3a2a05b0 100%)}@keyframes fxVignette{0%{opacity:0}to{opacity:1}}.fx-shatter{animation:fxShatter .5s ease-in forwards}@keyframes fxShatter{0%{filter:brightness(1)}40%{filter:brightness(2.4) drop-shadow(0 0 14px var(--vermil-hi));transform:translate(-2px)}70%{transform:translate(3px)}to{filter:brightness(.35);transform:none}}.fx-shard{position:fixed;z-index:150;pointer-events:none;width:9px;height:9px;background:linear-gradient(135deg,#ff9a68,var(--vermil));clip-path:polygon(50% 0,100% 60%,20% 100%);box-shadow:0 0 8px #d8542f;animation:fxShard 1.15s ease-in both}@keyframes fxShard{0%{opacity:1;translate:0 0;rotate:0deg}to{opacity:0;translate:var(--dx) var(--dy);rotate:var(--rot)}}.fx-quake{animation:fxQuake .55s linear}@keyframes fxQuake{0%,to{transform:none}15%{transform:translate(-5px,3px)}30%{transform:translate(5px,-3px)}45%{transform:translate(-4px,-3px)}60%{transform:translate(4px,2px)}75%{transform:translate(-2px,2px)}90%{transform:translate(2px,-1px)}}.fx-verdict{position:fixed;left:50%;top:44%;transform:translate(-50%,-50%);z-index:152;pointer-events:none;text-align:center;animation:fxVerdictIn .5s var(--ease) forwards}.fx-verdict.out{transition:opacity .28s;opacity:0}.fx-verdict-main{font-family:var(--mono);font-weight:800;font-size:58px;letter-spacing:.3em;text-shadow:0 4px 30px #000}.fx-verdict.win .fx-verdict-main{color:var(--gold-glow);filter:drop-shadow(0 0 26px #4fb4ff66)}.fx-verdict.lose .fx-verdict-main{color:var(--vermil-hi);filter:drop-shadow(0 0 26px #d8542f66)}.fx-verdict-sub{margin-top:10px;font-size:17px;color:var(--paper);letter-spacing:.08em;text-shadow:0 2px 8px #000}@keyframes fxVerdictIn{0%{opacity:0;transform:translate(-50%,-50%) scale(1.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.fx-review-fab{position:fixed;right:18px;bottom:18px;z-index:140;box-shadow:0 8px 28px #000a,0 0 18px #4fb4ff33}.zone{position:relative}.card.is-dragging{opacity:.35;filter:grayscale(.5)}.drag-ghost{position:fixed;margin:0;z-index:2000;pointer-events:none;transform:translate(-50%,-58%) scale(1.07) rotate(2deg);box-shadow:0 14px 34px #0000008c}.drop-marker{position:absolute;top:2px;bottom:2px;width:3px;border-radius:2px;background:#63a6ff;box-shadow:0 0 9px #ffd166d9;z-index:6;pointer-events:none}.card img{-webkit-user-drag:none;user-select:none}#hand .card.is-played{opacity:0!important;transition:opacity .18s ease-out;pointer-events:none}.card.striking{position:relative;z-index:60;will-change:transform;filter:drop-shadow(0 8px 20px rgba(0,0,0,.65))}.impact-burst{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;pointer-events:none;z-index:70}.impact-burst:before{content:"";position:absolute;inset:-30px;border-radius:50%;background:radial-gradient(circle,rgba(255,240,200,.95) 0%,rgba(255,168,76,.6) 35%,transparent 70%);animation:burst-flash .34s ease-out forwards}.impact-burst.big:before{inset:-52px;animation-duration:.44s;background:radial-gradient(circle,rgba(255,244,214,1) 0%,rgba(255,140,60,.7) 38%,transparent 72%)}.impact-burst i{position:absolute;left:0;top:0;width:4px;height:4px;border-radius:1px;background:#63a6ff;box-shadow:0 0 6px #ffd166e6;animation:burst-shard .44s cubic-bezier(.2,.7,.3,1) forwards}.impact-burst.big i{width:6px;height:6px;background:#ffb15e;box-shadow:0 0 8px #ff9646f2}@keyframes burst-flash{0%{transform:scale(.3);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes burst-shard{0%{transform:translate(0);opacity:1}to{transform:translate(var(--tx),var(--ty));opacity:0}}.game.shake-soft{animation:bshake-soft .32s linear}.game.shake-hard{animation:bshake-hard .44s linear}@keyframes bshake-soft{0%,to{transform:translate(0)}25%{transform:translate(2px,-2px)}50%{transform:translate(-3px,2px)}75%{transform:translate(2px,1px)}}@keyframes bshake-hard{0%,to{transform:translate(0)}12%{transform:translate(-7px,5px)}28%{transform:translate(7px,-6px)}44%{transform:translate(-6px,-4px)}60%{transform:translate(5px,5px)}76%{transform:translate(-4px,2px)}90%{transform:translate(2px,-1px)}}.screen{height:100vh;display:grid;place-items:center;padding:24px;position:relative}.screen:has(.home){align-items:start;padding:30px 26px 26px;overflow-y:auto}.screen:has(.home):before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:linear-gradient(#05070b1f,#05070b3d)}.screen:has(.home)>.home{position:relative;z-index:1}.topright-lang{position:absolute;top:22px;right:26px;z-index:5}.lang-select select{background:var(--ink-2);color:var(--paper);border:1px solid var(--line);border-radius:7px;padding:6px 11px;font-family:var(--ui);font-size:13px;cursor:pointer}.lang-select select:focus{outline:none;border-color:var(--brass)}.screen-brand{position:absolute;top:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:0;z-index:6}.screen-brand .mark{width:176px;height:60px;transform:none;border:none;position:relative;background:url(/art/brand/lore-wordmark.png) center/contain no-repeat;filter:drop-shadow(0 2px 7px #000a) drop-shadow(0 0 16px #4fb4ff55)}.screen-brand .mark:after{content:none}.screen-brand h1{display:none}.auth-card{width:360px;max-width:92vw;padding:32px 30px}.auth-card .sub{text-align:center;color:var(--paper-dim);margin-bottom:22px;font-size:12px;letter-spacing:.04em}.auth-card .form-row{margin-bottom:16px}.auth-card .btn-block{margin-top:6px;padding:12px}.auth-switch{text-align:center;margin-top:18px;font-size:12px;color:var(--paper-dim)}.auth-switch a{cursor:pointer;text-decoration:underline}.auth-error{color:var(--vermil-hi);font-size:12px;text-align:center;margin-top:12px;min-height:16px;line-height:1.5}.auth-error.ok{color:var(--good)}.auth-error a{color:inherit}.auth-links{text-align:center;margin-top:12px;font-size:12px}.auth-links a{color:var(--paper-dim);cursor:pointer;text-decoration:underline dotted}.auth-links a:hover{color:var(--brass)}.login-help{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#00000030}.login-help a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;font-size:12.5px;color:var(--paper-dim);cursor:pointer;text-decoration:none}.login-help a:hover{background:#ffffff08;color:var(--paper)}.login-help .help-sub{margin-left:auto;font-size:10.5px;color:var(--paper-faint)}.invite-box{text-align:left}.invite-box .inv-desc{color:var(--brass-hi);font-size:13px;margin-bottom:14px;text-align:center}.invite-link-row{display:flex;gap:8px;margin:8px 0 14px}.invite-link-row input{flex:1}.invite-list{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.invite-list .inv-row{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;background:#ffffff05;border-radius:7px;font-size:12.5px}.invite-list .inv-st{font-family:var(--mono);font-size:11px;color:var(--brass)}.invite-list .inv-st.earned{color:var(--good)}.inv-note{font-size:11px;color:var(--paper-faint);text-align:center}.adm-screen{align-items:stretch}.adm{width:min(1100px,96vw);max-height:94vh;margin:0 auto;display:flex;flex-direction:column;padding:0}.adm-head{display:flex;align-items:baseline;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}.adm-head h2{font-family:var(--mono);font-size:16px;letter-spacing:.14em;color:var(--brass-hi)}.adm-sub{font-size:12px;color:var(--paper-dim)}.adm-body{overflow-y:auto;padding:16px 20px 24px}.adm-search{width:220px;margin-left:12px;padding:5px 10px;font-size:12px;display:inline-block}.adm-sticky{position:sticky;top:-16px;z-index:5;background:var(--ink-2);padding:12px 0 10px;margin:-4px 0 4px;border-bottom:1px solid var(--line)}.adm-sort .th{cursor:pointer;user-select:none;position:sticky;top:-16px;background:var(--ink-2);z-index:4}.adm-sort .th:hover{color:var(--brass-hi)}.adm-ver{display:inline-block;width:auto;padding:3px 8px;font-size:12px;margin-left:10px;vertical-align:middle}.adm-live{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:12px 16px;margin-bottom:16px;border:1px solid #3a6ea855;border-radius:10px;background:linear-gradient(90deg,#6fbf7314,transparent);font-size:13px}.adm-live>b{color:var(--paper);letter-spacing:.04em}.adm-live .live-dot{width:9px;height:9px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good);animation:livePulse 1.8s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:.5}50%{opacity:1}}.adm-live .live-stat{color:var(--paper-dim)}.adm-live .live-stat b{font-family:var(--mono);color:var(--paper);font-weight:700;margin-left:3px}.adm-live .live-stat.hot b{color:var(--good)}.adm-body .form-row{max-width:340px;margin:40px auto 14px}.adm-body>button.btn-block{max-width:340px;margin:0 auto;display:block}.adm-loading,.adm-err{text-align:center;color:var(--paper-dim);padding:30px 0 10px}.adm-err{color:var(--vermil-hi)}.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}.adm-grid section{background:#ffffff04;border:1px solid var(--line-soft);border-radius:10px;padding:12px 14px}.adm-grid section.wide{grid-column:1 / -1}.adm-grid h3{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--brass);margin-bottom:10px}.adm-grid table{width:100%;border-collapse:collapse;font-size:12px}.adm-grid td{padding:3px 6px;color:var(--paper-dim);border-bottom:1px solid #ffffff06}.adm-grid tr.hd td{color:var(--paper-faint);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em}.adm-grid td.num{text-align:right;font-family:var(--mono);color:var(--paper)}.adm-grid td.barcell{width:45%}.adm-bar{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--brass-dim),var(--brass))}.adm-grid tr.hot td{color:var(--vermil-hi)}.adm-grid tr.cold td{color:var(--def)}.adm-note{font-size:11.5px;color:var(--paper-faint);margin-top:8px}.adm-note b{color:var(--paper-dim)}.adm-gate{text-align:center;padding:60px 20px}.adm-gate p{color:var(--paper-dim);margin-bottom:18px}.adm-tabs{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--line);overflow-x:auto}.adm-tab{padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--paper-faint);font-family:var(--mono);font-size:12px;letter-spacing:.06em;cursor:pointer;white-space:nowrap}.adm-tab:hover{color:var(--paper-dim)}.adm-tab.on{color:var(--brass-hi);border-bottom-color:var(--brass)}.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}.adm-kpi{background:linear-gradient(180deg,#ffffff06,#0002);border:1px solid var(--line-soft);border-radius:10px;padding:14px 16px}.adm-kpi .k-v{font-family:var(--mono);font-size:22px;font-weight:700;color:var(--brass-hi);line-height:1.1}.adm-kpi .k-l{font-size:11px;color:var(--paper-dim);margin-top:4px;letter-spacing:.04em}.adm-kpi .k-h{font-size:10px;color:var(--paper-faint);margin-top:3px}.auth-or{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--paper-faint);font-size:11px;letter-spacing:.1em}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--line))}.auth-or:after{background:linear-gradient(90deg,var(--line),transparent)}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;text-transform:none;letter-spacing:.02em}.google-btn svg{width:18px;height:18px;flex:0 0 auto}.auth-tabs{display:flex;gap:4px;background:var(--ink-0);border:1px solid var(--line);border-radius:9px;padding:4px;margin-bottom:22px}.auth-tabs button{flex:1;padding:8px;border:none;background:transparent;color:var(--paper-dim);font-family:var(--mono);font-size:11px;letter-spacing:.12em;border-radius:6px;text-transform:uppercase}.auth-tabs button.on{background:linear-gradient(180deg,#2a3650,#18223a);color:var(--brass-hi)}.home{width:min(760px,94vw);text-align:center;margin:0 auto}.home-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.home-brand{position:static;transform:none;top:auto;left:auto}.home-brand .mark{width:148px;height:50px}.home-top-right{display:flex;align-items:center;gap:12px}.home-credits{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:linear-gradient(180deg,#4fb4ff12,#ffffff03);cursor:pointer;transition:.15s var(--ease);font-family:var(--mono)}.home-credits:hover{border-color:var(--blue);background:#4fb4ff1f;transform:translateY(-1px);box-shadow:0 6px 18px #0007}.home-credits .hc-gem{font-size:15px}.home-credits b{color:var(--cyan);font-size:16px;letter-spacing:.04em}.home .modes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode-card{padding:28px 20px;text-align:center;cursor:pointer;transition:.16s var(--ease)}.mode-card:hover{transform:translateY(-4px);border-color:var(--brass);box-shadow:0 12px 30px #000a,inset 0 1px #ffffff10}.mode-card .icon{font-size:34px;margin-bottom:10px}.mode-card .mode-ico{width:62px;height:62px;object-fit:contain;margin:0 auto 8px;display:block;filter:drop-shadow(0 3px 8px #0008);transition:transform .16s var(--ease)}.mode-card:hover .mode-ico{transform:scale(1.06)}.mode-card h3{font-family:var(--mono);font-size:14px;letter-spacing:.14em;color:var(--brass-hi);text-transform:uppercase;margin-bottom:6px}.mode-card p{font-size:12px;color:var(--paper-dim);line-height:1.4}.home .acct{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px;color:var(--paper-faint)}.home .acct .stats{font-family:var(--mono);color:var(--brass)}.home-links{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.tut-card{padding:16px 20px;display:flex;align-items:center;gap:14px;cursor:pointer;text-align:left;transition:.16s var(--ease)}.tut-card:hover{transform:translateY(-3px);border-color:var(--brass);box-shadow:0 10px 26px #000a,inset 0 1px #ffffff10}.tut-card .tut-emoji{font-size:26px}.tut-card .tut-ico-img{width:34px;height:34px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 2px 5px #0008)}.tut-card .tut-txt{display:flex;flex-direction:column;gap:2px}.tut-card .tut-txt b{font-family:var(--mono);font-size:13px;letter-spacing:.12em;color:var(--brass-hi);text-transform:uppercase}.tut-card .tut-txt span{font-size:12px;color:var(--paper-dim)}.tut-card .tut-arrow{margin-left:auto;color:var(--brass);font-size:18px}.home-links .tut-card{flex-direction:column;align-items:center;text-align:center;gap:8px;padding:15px 8px}.home-links .tut-card .tut-emoji{font-size:24px}.home-links .tut-card .tut-ico-img{width:40px;height:40px}.home-links .tut-card .tut-txt{align-items:center;gap:0}.home-links .tut-card .tut-txt b{font-size:11px;letter-spacing:.05em}.home-links .tut-card .tut-txt>span{display:none}.home-links .tut-card .tut-arrow{display:none}@media (max-width: 680px){.home-links{grid-template-columns:repeat(3,1fr)}}.tut-screen{align-items:stretch}.tut{width:min(840px,94vw);max-height:92vh;margin:0 auto;display:flex;flex-direction:column}.tut-head{display:flex;align-items:center;gap:16px;padding:4px 2px 14px;border-bottom:1px solid var(--line)}.tut-head h2{font-family:var(--mono);font-size:18px;letter-spacing:.22em;color:var(--brass-hi);text-transform:uppercase}.tut-body{overflow-y:auto;padding:18px 4px 10px;-webkit-overflow-scrolling:touch}.tut-sec{margin-bottom:20px}.tut-sec h3{font-family:var(--mono);font-size:14px;letter-spacing:.08em;color:var(--brass);margin-bottom:8px;display:flex;align-items:center;gap:9px}.tut-sec .tut-ico{font-size:17px}.tut-sec p{color:var(--paper-dim);line-height:1.65;margin-bottom:6px;font-size:13.5px}.tut-sec p b{color:var(--paper);font-weight:700}.tut-cta{display:flex;justify-content:center;padding:8px 0 20px}.home .acct .credits{font-family:var(--mono);color:var(--cyan);letter-spacing:.04em}.tut-inter{background:var(--ink-2);border:1px solid var(--brass-dim);border-radius:12px;padding:16px 18px 4px}.tut-inter>p{font-size:13px}.tut-steps{list-style:none;margin:12px 0 4px;display:flex;flex-direction:column;gap:6px}.tut-steps li{display:flex;align-items:center;gap:10px;background:var(--ink-1);border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:13px;color:var(--paper-dim)}.tut-steps li.claimed{opacity:.75;border-color:var(--good)}.tut-step-n{font-family:var(--mono);font-size:11px;color:var(--brass);border:1px solid var(--brass-dim);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;flex:none}.tut-step-t{color:var(--paper)}.tut-step-r{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--cyan);white-space:nowrap}.tut-steps li.claimed .tut-step-r{color:var(--good)}.tut-rules-h{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--paper-faint);text-transform:uppercase;margin:22px 0 14px;border-bottom:1px solid var(--line);padding-bottom:8px}.lobby{text-align:center}.lobby .spinner{width:54px;height:54px;margin:0 auto 22px;border:3px solid var(--line);border-top-color:var(--brass);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lobby h2{font-family:var(--mono);letter-spacing:.2em;color:var(--brass-hi);margin-bottom:8px}.lobby p{color:var(--paper-dim);margin-bottom:22px}.cards-screen{align-items:stretch}.cards{width:min(1040px,96vw);max-height:94vh;margin:0 auto;display:flex;flex-direction:column}.cards-head{display:flex;align-items:center;gap:16px;padding:4px 2px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.cards-head h2{font-family:var(--mono);font-size:18px;letter-spacing:.2em;color:var(--brass-hi);text-transform:uppercase}.cards-count{font-size:12px;color:var(--paper-dim);letter-spacing:.05em;margin-left:4px}.cards-search{margin-left:auto;background:var(--ink-2);color:var(--paper);border:1px solid var(--line);border-radius:7px;padding:7px 12px;font-family:var(--ui);font-size:13px;min-width:160px}.cards-search:focus{outline:none;border-color:var(--brass)}.cards-filters{display:flex;flex-direction:column;gap:8px;padding:12px 2px 8px}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.chip{background:var(--ink-2);color:var(--paper-dim);border:1px solid var(--line);border-radius:999px;padding:5px 13px;font-family:var(--mono);font-size:12px;letter-spacing:.04em;cursor:pointer;transition:.14s var(--ease)}.chip:hover{color:var(--paper);border-color:var(--brass-dim)}.chip.is-on{background:linear-gradient(180deg,#2a3650,#18223a);color:var(--brass-hi);border-color:var(--brass)}.cards-hint{font-size:11.5px;color:var(--paper-faint);padding:2px 2px 10px}.cards-grid{--gcw: calc((min(1040px, 96vw) - 8px - 8px * 8) / 9);overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;grid-template-columns:repeat(9,var(--gcw));justify-content:center;gap:16px 8px;padding:6px 4px 24px}.cards-grid .card{cursor:pointer;--cw: var(--gcw);--ch: calc(var(--gcw) / .64)}.cards-grid .card:hover{transform:translateY(-5px);box-shadow:0 12px 26px #000b}.cards-empty{grid-column:1 / -1;text-align:center;color:var(--paper-faint);padding:40px 0;font-size:13px}.home:has(.modes-3){width:min(760px,94vw)}.home .modes-3{grid-template-columns:repeat(3,1fr)}.mode-ranked{border-color:#4fb4ff55}.mode-ranked:hover{border-color:var(--gold-glow);box-shadow:0 12px 30px #000a,0 0 22px #4fb4ff22,inset 0 1px #ffffff10}.mode-card .my-tier{margin-top:10px;min-height:22px}.tier-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:2px 10px;border-radius:999px;color:var(--tc, var(--paper-dim));border:1px solid color-mix(in srgb,var(--tc, #888) 55%,transparent);background:color-mix(in srgb,var(--tc, #888) 12%,transparent);text-shadow:0 1px 2px #0008}.tier-chip b{font-weight:700}.tier-chip.tier-gm{border-color:var(--gold-glow);background:linear-gradient(90deg,#4fb4ff2e,#d8542f2e);box-shadow:0 0 10px #4fb4ff33}.lb-screen{align-items:stretch}.lb{width:min(680px,94vw);max-height:92vh;margin:0 auto;display:flex;flex-direction:column;padding:0 0 10px}.lb-head{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line)}.lb-head h2{font-family:var(--mono);font-size:16px;letter-spacing:.2em;color:var(--brass-hi);text-transform:uppercase}.lb-head .lb-season{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--paper-faint);letter-spacing:.1em}.lb-list{overflow-y:auto;padding:8px 12px;min-height:120px}.lb-list .spinner{width:40px;height:40px;margin:30px auto;border:3px solid var(--line);border-top-color:var(--brass);border-radius:50%;animation:spin 1s linear infinite}.lb-row{display:grid;grid-template-columns:44px 1fr auto 64px 84px;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;font-size:13px}.lb-row:nth-child(odd){background:#ffffff04}.lb-row.is-gm{background:linear-gradient(90deg,#4fb4ff14,#d8542f0e);box-shadow:inset 0 0 0 1px #4fb4ff33}.lb-rank{font-family:var(--mono);font-weight:700;color:var(--paper-dim);text-align:center}.lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--paper)}.lb-mmr{font-family:var(--mono);font-weight:700;color:var(--brass-hi);text-align:right}.lb-wl{font-size:11.5px;color:var(--paper-faint);text-align:right}.lb-empty{text-align:center;color:var(--paper-faint);padding:40px 0}.lb-me{padding:12px 18px 8px;border-top:1px solid var(--line);font-size:12.5px;color:var(--paper-dim);text-align:center}.lb-me b{color:var(--brass-hi);font-family:var(--mono)}.avatar{position:relative;width:var(--avs, 40px);height:var(--avs, 40px);border-radius:50%;flex:0 0 auto;display:inline-grid;place-items:center;overflow:hidden;border:2px solid var(--brass-dim);background:linear-gradient(160deg,#1b2436,#0d1320);box-shadow:0 2px 8px #0008,inset 0 1px #ffffff14}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}.avatar-fb{font-family:var(--mono);font-weight:700;color:var(--brass);font-size:calc(var(--avs, 40px) * .42)}.avatar:has(img) .avatar-fb{visibility:hidden}.badge-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:11px;letter-spacing:.04em;color:var(--bc, var(--brass));border:1px solid color-mix(in srgb,var(--bc, #4fb4ff) 55%,transparent);background:color-mix(in srgb,var(--bc, #4fb4ff) 12%,transparent);white-space:nowrap}.badge-chip.badge-sm{font-size:9.5px;padding:1.5px 7px}.home-id{display:inline-flex;align-items:center;gap:11px;margin:0;padding:7px 12px 7px 8px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff0d,#ffffff03);cursor:pointer;transition:.15s var(--ease)}.home-id:hover{border-color:var(--blue);background:#ffffff12;transform:translateY(-1px);box-shadow:0 6px 18px #0007,0 0 0 1px #2f7fe033}.home-id-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.12}.home-id-name{font-family:var(--mono);font-size:15px;letter-spacing:.05em;color:var(--paper);font-weight:700;display:flex;align-items:center;gap:6px}.home-id-sub{font-size:10.5px;letter-spacing:.03em;color:var(--paper-faint)}.home-id-go{color:var(--paper-faint);font-size:20px;line-height:1;margin-left:3px;transition:color .15s var(--ease),transform .15s var(--ease)}.home-id:hover .home-id-go{color:var(--blue-hi);transform:translate(2px)}.fr-badge{display:inline-grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:10px;background:var(--vermil);color:#fff;font-size:10px;font-weight:700;margin-left:5px;vertical-align:2px}.pf-loading{text-align:center;color:var(--paper-faint);padding:30px 0}.pf-head{display:flex;align-items:center;gap:16px}.pf-ava{position:relative;border:none;background:none;padding:0;cursor:pointer;border-radius:50%}.pf-ava:disabled{cursor:default}.pf-ava-edit{position:absolute;right:-2px;bottom:-2px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--brass);color:#14100a;font-size:12px;border:2px solid var(--ink-1)}.pf-id{min-width:0}.pf-name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pf-name{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--paper);letter-spacing:.06em}.pf-badge-row{margin-top:4px}.pf-nobadge{font-size:11px;color:var(--paper-faint)}.pf-joined{margin-top:5px;font-size:11px;color:var(--paper-faint)}.pf-rename{display:flex;gap:8px;margin-top:12px}.pf-rename .input{flex:1}.btn-mini{font-size:11px;padding:4px 10px}.pf-stats{display:flex;gap:10px;flex-wrap:wrap}.pf-stat{flex:1;min-width:74px;text-align:center;padding:10px 8px;border-radius:10px;border:1px solid var(--line);background:#ffffff05;display:grid;gap:2px}.pf-stat b{font-family:var(--mono);font-size:19px;color:var(--paper)}.pf-stat span{font-size:10px;letter-spacing:.12em;color:var(--paper-faint)}.pf-stat-tier{display:grid;place-items:center}.pf-badges{display:grid;gap:8px}.pf-badge{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:#ffffff05;justify-content:space-between}.pf-badge.locked{opacity:.5}.pf-badge.equipped{border-color:var(--brass-dim);background:#4fb4ff12}.pf-badge-lock{font-size:10.5px;color:var(--paper-faint)}.pf-matches{display:grid;gap:6px}.pf-match{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:9px;border:1px solid var(--line);background:#ffffff04;font-size:12.5px}.pf-m-res{font-family:var(--mono);font-weight:700;min-width:44px}.pf-win .pf-m-res{color:var(--good)}.pf-loss .pf-m-res{color:var(--vermil-hi)}.pf-draw .pf-m-res{color:var(--paper-dim)}.pf-m-opp{color:var(--paper);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pf-m-meta{color:var(--paper-faint);font-size:11px;white-space:nowrap}.pf-mini-modal{min-width:320px}.pf-mini-modal .pf-name{font-size:17px}.ava-modal{max-width:560px}.ava-grid{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;max-height:52vh;overflow:auto;margin:14px 0 4px;padding:4px}.ava-opt{border:none;background:none;padding:2px;cursor:pointer;border-radius:50%;transition:transform .12s}.ava-opt:hover{transform:scale(1.12)}.ava-opt.sel .avatar{border-color:var(--gold-glow);box-shadow:0 0 0 2px var(--gold-glow),0 2px 8px #0008}.fr-add{display:flex;gap:8px}.fr-add .input{flex:1;min-width:0}.fr-add-msg{margin-top:8px;font-size:12px;color:var(--brass);min-height:16px}.fr-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;border:1px solid var(--line);background:#ffffff04}.fr-row+.fr-row{margin-top:7px}.fr-info{flex:1;min-width:0;display:grid;gap:2px}.fr-name{color:var(--paper);font-size:13.5px;display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap}.fr-state{font-size:10.5px;color:var(--paper-faint);display:flex;align-items:center;gap:5px}.fr-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#4a5568}.fr-state.on{color:var(--good)}.fr-state.on:before{background:var(--good);box-shadow:0 0 6px var(--good)}.fr-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.fr-x{padding:4px 8px}.fr-wait{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--paper-dim)}.set-row{display:flex;align-items:center;gap:12px;padding:6px 0}.set-label{flex:1;color:var(--paper);font-size:13.5px}.set-val{font-family:var(--mono);color:var(--paper-dim);font-size:13px}.set-desc{font-size:11.5px;color:var(--paper-faint);margin-top:2px}.set-row input[type=range]{flex:2;accent-color:var(--brass)}.switch{position:relative;width:44px;height:24px;flex:0 0 auto}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;inset:0;border-radius:24px;background:#2a3346;border:1px solid var(--line);cursor:pointer;transition:background .2s,border-color .2s}.switch .slider:before{content:"";position:absolute;left:3px;top:50%;width:17px;height:17px;border-radius:50%;background:#8a93a5;transform:translateY(-50%);transition:left .2s,background .2s}.switch input:checked+.slider{background:#4fb4ff40;border-color:var(--brass-dim)}.switch input:checked+.slider:before{left:22px;background:var(--brass);box-shadow:0 0 8px #4fb4ff88}.bill-plan{margin-top:10px;padding:14px 16px;border-radius:12px;border:1px solid var(--brass-dim);background:linear-gradient(160deg,#4fb4ff14,#ffffff03)}.bill-plan-name{font-family:var(--mono);letter-spacing:.22em;color:var(--brass-hi);font-size:13px;margin-bottom:6px}.bill-plan-desc{font-size:12.5px;color:var(--paper-dim);margin-bottom:12px;line-height:1.6}.pf-tabs{display:flex;gap:6px;padding:10px 2px 0}.pf-tab{flex:1;padding:9px 6px;border-radius:10px 10px 0 0;border:1px solid transparent;border-bottom:none;background:transparent;color:var(--paper-faint);font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;cursor:pointer;transition:.14s var(--ease)}.pf-tab:hover{color:var(--paper-dim);background:#ffffff08}.pf-tab.is-active{color:var(--brass-hi);background:linear-gradient(180deg,#4fb4ff14,#ffffff03);border-color:var(--line)}.sl-preview{width:84px;height:131px;border-radius:8px;background-size:cover;background-position:center;border:1px solid var(--line);box-shadow:0 4px 12px #0007;position:relative}.sl-preview-lg{width:116px;height:181px;border-color:var(--brass-dim);box-shadow:0 6px 18px #000a,0 0 0 1px #4fb4ff33}.sl-current-row{display:flex;align-items:center;gap:18px}.sl-current-name{font-family:var(--mono);font-size:16px;letter-spacing:.06em;color:var(--brass-hi);margin-bottom:6px}.sl-current-tag{font-size:12px;color:var(--cyan);letter-spacing:.04em}.sl-grid,.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:16px 12px;margin-top:6px}.sl-tile,.shop-item{display:flex;flex-direction:column;align-items:center;gap:8px}.sl-tile .sl-preview,.shop-item .sl-preview{transition:transform .14s var(--ease)}.sl-tile:hover .sl-preview,.shop-item:hover .sl-preview{transform:translateY(-3px)}.sl-tile.is-eq .sl-preview{border-color:var(--brass);box-shadow:0 4px 14px #000a,0 0 0 2px var(--cyan)}.sl-tile.is-locked .sl-preview{filter:grayscale(.5) brightness(.72)}.sl-lock{position:absolute;inset:0;display:grid;place-items:center;font-size:22px}.sl-name{font-size:12px;color:var(--paper-dim);text-align:center}.sl-price{font-family:var(--mono);font-size:12px;color:var(--cyan)}.sl-getmore{display:inline-block;margin-top:12px;color:var(--blue-hi);font-size:13px;cursor:pointer}.sl-getmore:hover{text-decoration:underline}.shop-credits{margin-left:auto;font-family:var(--mono);font-size:15px;color:var(--cyan)}.shop-item.is-owned .sl-preview{border-color:var(--brass-dim)}.pf-stats-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.pf-stats-head h3{margin-bottom:0}.pf-filter select{padding:5px 9px;font-size:12.5px}.pf-h2h{display:flex;flex-direction:column;gap:6px}.h2h-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:14px;padding:9px 13px;border-radius:10px;border:1px solid var(--line);background:linear-gradient(180deg,#ffffff08,#ffffff02);cursor:pointer;transition:.14s var(--ease)}.h2h-row:hover{border-color:var(--blue);background:#ffffff10;transform:translate(2px)}.h2h-opp{font-weight:700;color:var(--paper);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.h2h-rec{font-family:var(--mono);font-size:15px;letter-spacing:.04em;color:var(--paper-dim)}.h2h-rec .h2h-w{color:#6fd39a}.h2h-rec .h2h-l{color:#e0776a}.h2h-rate{font-family:var(--mono);font-size:13px;color:var(--brass-hi);min-width:40px;text-align:right}.h2h-games{font-size:11.5px;color:var(--paper-faint);min-width:44px;text-align:right}.log-fab{display:none}@media (max-width: 860px){.log-toggle,.icon-rail{display:none}}*{-webkit-tap-highlight-color:transparent}@media (orientation: portrait) and (max-width: 860px){body,#app,.game,.screen{height:100dvh}:root{--card-h: clamp(50px, 13.2vw, 104px);--card-h-mkt: clamp(56px, 15vw, 120px);--card-h-hand: clamp(70px, 18.5vw, 138px);--slot-gap: 3px}.game{padding:4px 5px 6px;gap:3px}.topbar{gap:8px;padding:1px 2px 4px}.brand .mark{width:20px;height:20px}.brand h1{font-size:15px;letter-spacing:.25em}.topbar .turn-info{font-size:10px}.stage{grid-template-columns:1fr;gap:4px}.board-col{gap:3px}.opp-hand{height:13px;margin-top:-2px}.opp-hand .card--back{width:28px;height:45px;margin:0 -9px}.field-block{padding:3px 5px;min-width:0;overflow:hidden;flex-direction:column;gap:4px}.meta-panel{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 10px;padding-left:0;border-left:none;border-top:1px solid var(--line-soft);padding-top:4px}.mp-name{font-size:10px;letter-spacing:.06em}.turn-chip{font-size:8px;padding:1px 5px}.mp-hp,.mp-mana{gap:5px}.mp-hp .num{font-size:11px}.hpbar{min-width:54px}.mp-mana .pips{display:none}.mnum{font-size:11px;margin-left:4px}.mp-btn{font-size:9.5px;padding:1px 6px}.zone{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.zone::-webkit-scrollbar{display:none}.market{flex-direction:column;align-items:stretch;gap:5px;padding:4px 6px}.market-sub:nth-child(1),.market-sub:nth-child(3){flex:0 0 auto}.market-div{display:none}.market-cards{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.market-cards::-webkit-scrollbar{display:none}.market-sub .sub-head{gap:7px;margin-bottom:3px}.hand-area{min-height:var(--card-h-hand);padding-top:0}.hand .card{margin:0 -9px}.end-turn-wrap{right:4px;bottom:4px}.end-turn-wrap .btn{padding:7px 11px;font-size:11px}.logpanel{position:fixed;left:0;right:0;bottom:0;height:64dvh;z-index:95;border-radius:14px 14px 0 0;grid-template-rows:auto 1fr auto;transform:translateY(103%);transition:transform .26s var(--ease)}.game.log-open .logpanel{transform:none}.log{font-size:12px;padding:6px 12px 12px;-webkit-overflow-scrolling:touch}.log-fab{display:grid;place-items:center;position:fixed;right:12px;bottom:12px;z-index:96;width:46px;height:46px;border-radius:50%;background:linear-gradient(180deg,#2a3650,#18223a);border:1px solid var(--brass-dim);color:var(--brass-hi);font-size:19px;box-shadow:var(--shadow-2)}.log-fab.open{background:var(--vermil);color:#fff;border-color:var(--vermil-hi)}.zoom-overlay .card{--cw: min(86vw, 360px);--ch: calc(min(86vw, 360px)*1.6) }.zoom-wrap{flex-direction:column;gap:14px;max-height:92dvh;overflow:auto}.zoom-tribe{max-width:88vw}.home .modes{grid-template-columns:1fr;gap:12px}.screen-brand h1{font-size:20px;letter-spacing:.35em}.home .title{font-size:18px}}@media (orientation: landscape) and (max-height: 560px){body,#app,.game,.screen{height:100dvh}:root{--card-h: clamp(30px, 8.4vh, 76px);--card-h-mkt: clamp(36px, 9.8vh, 88px);--card-h-hand: clamp(42px, 11.2vh, 96px);--slot-gap: 3px}.game{padding:2px 6px 3px;gap:2px}.topbar{padding:0 2px 2px;gap:8px}.brand .mark{width:16px;height:16px}.brand h1{font-size:13px;letter-spacing:.22em}.topbar .turn-info{font-size:9px}.stage{grid-template-columns:1fr 188px;gap:6px}.board-col{gap:2px}.opp-hand{height:9px;margin-top:-2px}.opp-hand .card--back{width:24px;height:38px;margin:0 -8px}.field-block{padding:2px 6px;min-width:0;overflow:hidden}.meta-panel{flex:0 0 clamp(120px,22vw,168px);padding-left:8px;gap:3px}.mp-name{font-size:10px}.turn-chip{font-size:8px;padding:1px 5px}.mp-hp .num{font-size:11px}.hpbar{min-width:44px}.mp-mana .pips{display:none}.mnum{font-size:11px}.mp-btn{font-size:9.5px;padding:1px 5px}.zone{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.zone::-webkit-scrollbar{display:none}.market{padding:2px 8px}.market-sub .sub-head{margin-bottom:2px}.hand-area{min-height:var(--card-h-hand);padding-top:0}.end-turn-wrap{bottom:4px}.log{font-size:10.5px;padding:5px 9px 8px}.panel-title{font-size:9px;padding:4px 9px 3px}.log-foot{padding:5px 9px}.zoom-overlay .card{--cw: min(32vh, 220px);--ch: calc(min(32vh, 220px)*1.6) }.zoom-wrap{gap:14px}.screen-brand{display:none}.screen{padding:12px}.topright-lang{top:10px;right:12px}}
