@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap";.mm{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;overflow-y:auto;color:var(--ui-text);background:#08080c}.mm__bg{position:fixed;inset:0;pointer-events:none;overflow:hidden}.mm__glow{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55}.mm__glow--a{width:60vw;height:60vw;left:-15vw;top:-20vw;background:radial-gradient(circle,rgba(139,0,0,.55),transparent 65%);animation:mm-drift 18s ease-in-out infinite alternate}.mm__glow--b{width:55vw;height:55vw;right:-15vw;bottom:-25vw;background:radial-gradient(circle,rgba(212,168,75,.35),transparent 65%);animation:mm-drift 22s ease-in-out infinite alternate-reverse}.mm__rings{position:absolute;right:8%;top:50%;width:780px;height:780px;transform:translate(30%,-50%);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 58px,rgba(212,168,75,.05) 58px 59px);-webkit-mask-image:radial-gradient(circle,black 30%,transparent 70%);mask-image:radial-gradient(circle,black 30%,transparent 70%)}.mm__embers span{position:absolute;bottom:-10px;left:calc(var(--i) * 5.6%);width:3px;height:3px;border-radius:50%;background:#f0a040;box-shadow:0 0 8px 2px #f08c3299;opacity:0;animation:mm-ember calc(9s + (var(--i) * .7s)) linear infinite;animation-delay:calc(var(--i) * -1.3s)}.mm__topbar{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:20px 40px}.mm__brand{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:.875rem;font-weight:700;letter-spacing:.18em;color:var(--ui-text-dim)}.mm__brand-mark{color:var(--ui-accent);font-size:1.1rem}.mm__account{margin-left:auto;display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 16px 0 5px;border-radius:999px;border:1px solid var(--ui-border-strong);background:#ffffff0a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ui-text);font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:all .15s ease}.mm__account:hover{background:#ffffff14;border-color:#ffffff47}.mm__avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#ffffff14;color:var(--ui-text-dim);font-weight:600}.mm__account.is-signed-in .mm__avatar{background:linear-gradient(135deg,var(--ui-accent-strong),#a9792b);color:#1a1408}.mm__content{position:relative;z-index:1;flex:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,440px);align-items:center;gap:64px;max-width:1200px;width:100%;margin:0 auto;padding:24px 40px}.mm__hero{animation:ui-rise .6s var(--ui-ease) backwards}.mm__eyebrow{display:inline-block;margin-bottom:20px;padding:6px 12px;border-radius:999px;border:1px solid rgba(212,168,75,.3);background:#d4a84b14;color:var(--ui-accent);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.mm__title{font-family:var(--font-display);font-size:clamp(2.75rem,6.5vw,5.25rem);font-weight:900;line-height:1.02;letter-spacing:.01em;background:linear-gradient(170deg,#fff4d6,#f0c040 38%,#c8952f 70%,#8a6420);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 8px 30px rgba(212,168,75,.18))}.mm__tagline{margin-top:20px;max-width:30ch;font-family:var(--font-flavor);font-size:1.35rem;font-style:italic;line-height:1.4;color:var(--ui-text-dim)}.mm__dedication{margin-top:28px;padding-left:14px;max-width:42ch;border-left:2px solid rgba(139,0,0,.7);font-size:.8125rem;line-height:1.5;color:var(--ui-text-faint)}.mm__menu{display:flex;flex-direction:column;gap:10px}.mm__item{display:flex;align-items:center;gap:16px;width:100%;padding:16px 18px;border-radius:14px;border:1px solid var(--ui-border);background:#14141e99;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--ui-text);font-family:var(--font-body);text-align:left;cursor:pointer;transition:transform .2s var(--ui-ease),border-color .2s ease,background .2s ease,box-shadow .2s ease;animation:ui-rise .5s var(--ui-ease) backwards}.mm__item:hover{transform:translate(4px);border-color:#d4a84b73;background:#1e1c26cc;box-shadow:0 10px 30px #00000059}.mm__item:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.mm__item--primary{border-color:#d4a84b80;background:linear-gradient(120deg,#d4a84b33,#8b00002e)}.mm__item--primary:hover{background:linear-gradient(120deg,#d4a84b47,#8b00003d)}.mm__item-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:#ffffff0d;color:var(--ui-accent)}.mm__item--primary .mm__item-icon{background:linear-gradient(180deg,var(--ui-accent-strong),var(--ui-accent));color:#1a1408}.mm__item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.mm__item-label{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.03em}.mm__item-desc{font-size:.8125rem;color:var(--ui-text-dim)}.mm__badge{padding:2px 7px;border-radius:6px;background:#4f9fcf29;color:#7cc0ea;font-family:var(--font-body);font-size:.625rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mm__item-arrow{color:var(--ui-text-faint);font-size:1.1rem;transition:transform .2s var(--ui-ease),color .2s ease}.mm__item:hover .mm__item-arrow{transform:translate(3px);color:var(--ui-accent)}.mm__footer{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:18px 40px 22px;font-size:.72rem;color:var(--ui-text-faint);text-align:center}.mm__dot{opacity:.6}@keyframes mm-drift{0%{transform:translate(0) scale(1)}to{transform:translate(4vw,3vw) scale(1.08)}}@keyframes mm-ember{0%{transform:translate(0);opacity:0}10%{opacity:.9}80%{opacity:.5}to{transform:translate(40px,-105vh);opacity:0}}@media(max-width:900px){.mm__content{grid-template-columns:1fr;gap:36px;padding:16px 24px 32px}.mm__topbar{padding:16px 24px}.mm__rings{display:none}}@media(max-width:480px){.mm__content,.mm__topbar,.mm__footer{padding-left:16px;padding-right:16px}.mm__brand{display:none}}@media(prefers-reduced-motion:reduce){.mm__glow,.mm__embers span,.mm__hero,.mm__item{animation:none}.mm__embers{display:none}}.card.gcard{--cw: var(--card-w, 110px);width:var(--cw);height:calc(var(--cw) * 1.4);border-radius:calc(var(--cw) * .06);border:none;background:#111;position:relative;flex-shrink:0;cursor:pointer;display:block;transform-style:flat;box-shadow:0 0 0 1px #000000e6,0 0 0 2px #d4a84b59,0 6px 10px #0000008c,0 14px 28px #00000059;transition:box-shadow .18s ease,filter .18s ease;-webkit-user-select:none;user-select:none}.card.gcard.card--landscape{width:calc(var(--cw) * 1.4)!important;height:var(--cw)!important}.card.gcard .gcard__face{position:absolute;inset:0;border-radius:inherit;overflow:hidden}.card.gcard .card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card.gcard.card--landscape .card__image{width:100%;height:100%}.card.gcard .gcard__sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .2s ease;background:radial-gradient(circle at calc(var(--mx, .5) * 100%) calc(var(--my, .3) * 100%),rgba(255,255,255,.35) 0%,rgba(255,255,255,.08) 25%,transparent 55%),linear-gradient(115deg,transparent 30%,rgba(255,240,200,.12) 45%,transparent 60%);mix-blend-mode:screen}.card.gcard:hover .gcard__sheen{opacity:1}.card.gcard.gcard--kneeling{margin:0;filter:saturate(.55) brightness(.8)}.card.gcard.gcard--playable{box-shadow:0 0 0 2px #3dff8a,0 0 14px 3px #3dff8aa6,0 10px 20px #00000080;animation:gcard-playable 1.6s ease-in-out infinite}@keyframes gcard-playable{50%{box-shadow:0 0 0 2px #7dffb0,0 0 22px 6px #3dff8acc,0 10px 20px #00000080}}.card.gcard.gcard--targetable{cursor:crosshair;box-shadow:0 0 0 2px #ff5a3c,0 0 16px 4px #ff5a3cb3,0 10px 20px #00000080;animation:gcard-target 1.2s ease-in-out infinite}@keyframes gcard-target{50%{box-shadow:0 0 0 2px #ffa07a,0 0 26px 8px #ff5a3cd9,0 10px 20px #00000080}}.card.gcard.gcard--selected{box-shadow:0 0 0 3px #ffd75e,0 0 20px 6px #ffc83cd9,0 14px 26px #0009;animation:none}.card.gcard.gcard--attacking{box-shadow:0 0 0 2px #ff3b3b,0 0 18px 5px #dc2828bf,0 14px 26px #0009}.card.gcard.gcard--defending{box-shadow:0 0 0 2px #5fb4ff,0 0 18px 5px #3c8cffb3,0 14px 26px #0009}.card.gcard.gcard--has-dupes:before,.card.gcard.gcard--has-dupes:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#1b1612;border:1px solid rgba(212,168,75,.35);z-index:-1}.card.gcard.gcard--has-dupes:before{transform:translate(4px,-4px)}.card.gcard.gcard--has-dupes:after{transform:translate(8px,-8px);z-index:-2}.card.gcard.gcard--kneeling .gcard__power>span,.card.gcard.gcard--kneeling .gcard__str,.card.gcard.gcard--kneeling .gcard__dupes,.card.gcard.gcard--kneeling .gcard__role{rotate:-90deg}.card.gcard.gcard--kneeling .gcard__role{translate:0 0;left:calc(50% - 13px)}.card.gcard .gcard__power{position:absolute;left:50%;bottom:12%;translate:-50% 0;width:calc(var(--cw) * .34);height:calc(var(--cw) * .34);min-width:22px;min-height:22px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:max(11px,calc(var(--cw) * .16));color:#2a1600;background:radial-gradient(circle at 35% 30%,#fff3b0,#f0c040 35%,#a8741c 80%,#6d4a10);box-shadow:0 0 0 2px #3a2400,0 3px 6px #000000b3,0 0 12px #ffc83c99;z-index:5}.card.gcard .gcard__power:before{content:"♛";position:absolute;top:-58%;font-size:.85em;color:#f0c040;text-shadow:0 1px 2px #000}.card.gcard .gcard__str{position:absolute;right:-8%;bottom:-6%;width:calc(var(--cw) * .3);height:calc(var(--cw) * .3);min-width:20px;min-height:20px;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:max(11px,calc(var(--cw) * .15));color:#fff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);text-shadow:0 1px 2px #000;z-index:6}.card.gcard .gcard__str--buff{background:radial-gradient(circle at 40% 35%,#8dffb4,#1e9e4f 60%,#0b4d23)}.card.gcard .gcard__str--debuff{background:radial-gradient(circle at 40% 35%,#ff9d9d,#c02626 60%,#5a0c0c)}.card.gcard .gcard__tokens{position:absolute;top:4px;left:4px;padding:1px 5px;border-radius:999px;font-family:var(--font-display);font-size:.65rem;font-weight:700;color:#f2b3a0;background:#0a0805d9;border:1px solid rgba(196,84,60,.6);z-index:6}.card.gcard .gcard__tokens--gold{color:#f5d77a;border-color:#d6aa3cb3}.card.gcard .gcard__dupes{position:absolute;top:4px;right:4px;padding:1px 5px;border-radius:999px;font-family:var(--font-display);font-size:.65rem;font-weight:700;color:#ffd75e;background:#0a0805d9;border:1px solid rgba(212,168,75,.6);z-index:6}.card.gcard .gcard__icons{position:absolute;left:calc(var(--cw) * -.12);top:20%;display:flex;flex-direction:column;gap:3px;z-index:6}.card.gcard .gcard__icon{position:relative;width:max(16px,calc(var(--cw) * .2));height:max(16px,calc(var(--cw) * .2));border-radius:50%;display:grid;place-items:center;font-size:max(9px,calc(var(--cw) * .11));line-height:1;color:#fff;text-shadow:0 1px 1px #000;border:1.5px solid rgba(255,255,255,.85);box-shadow:0 2px 5px #000000b3}.card.gcard .gcard__icon--military{background:radial-gradient(circle at 35% 30%,#ff8a7a,#c0392b 55%,#6e140c)}.card.gcard .gcard__icon--intrigue{background:radial-gradient(circle at 35% 30%,#8dffb4,#27ae60 55%,#0e4d27)}.card.gcard .gcard__icon--power{color:#2a1600;text-shadow:none;background:radial-gradient(circle at 35% 30%,#fff3b0,#d4a84b 55%,#6d4a10)}.card.gcard .gcard__icon--lost{filter:grayscale(.85) brightness(.75);border-color:#ff5a5a}.card.gcard .gcard__icon--lost:after{content:"";position:absolute;left:-2px;right:-2px;top:calc(50% - 1px);height:2px;background:#ff3b3b;box-shadow:0 0 2px #000;rotate:-45deg}.card.gcard .gcard__keywords{position:absolute;left:calc(var(--cw) * -.06);bottom:calc(var(--cw) * -.05);display:flex;flex-direction:column-reverse;align-items:flex-start;gap:2px;z-index:6}.card.gcard .gcard__kw{padding:1px 4px;border-radius:3px;font-family:var(--font-display);font-size:max(8px,calc(var(--cw) * .085));font-weight:700;line-height:1.2;letter-spacing:.02em;white-space:nowrap;color:#9dffc4;background:#0a0805e6;border:1px solid rgba(61,200,120,.7);box-shadow:0 2px 4px #0009}.card.gcard .gcard__kw--lost{color:#ff9d9d;border-color:#c83c3cbf;text-decoration:line-through}.card.gcard.gcard--kneeling .gcard__icon{rotate:-90deg}.card.gcard.gcard--kneeling .gcard__keywords{flex-direction:row;align-items:flex-end}.card.gcard.gcard--kneeling .gcard__kw{writing-mode:vertical-rl;rotate:180deg;padding:4px 1px}.card.gcard .gcard__role{position:absolute;top:-10px;left:50%;translate:-50% 0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:14px;color:#fff;border:2px solid rgba(255,255,255,.8);box-shadow:0 3px 8px #000000b3;z-index:7}.card.gcard .gcard__role--atk{background:radial-gradient(circle at 35% 30%,#ff7a7a,#b31515)}.card.gcard .gcard__role--def{background:radial-gradient(circle at 35% 30%,#9fd2ff,#1d5fb3)}.card.gcard .gcard__role--bypassed{background:radial-gradient(circle at 35% 30%,#b9b9c4,#4a4a58)}.card.gcard.gcard--back{cursor:default;background:radial-gradient(ellipse at 50% 40%,#6b1414,#3a0a0a 55%,#1a0404)}.card.gcard.gcard--back .gcard-back__inner{position:absolute;inset:7%;border-radius:calc(var(--cw) * .04);border:1.5px solid rgba(240,192,64,.65);box-shadow:inset 0 0 0 3px #00000059,inset 0 0 0 4px #f0c04040;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 140'%3E%3Cg fill='none' stroke='%23f0c040' stroke-opacity='.75'%3E%3Cpath d='M50 30 L72 70 L50 110 L28 70 Z' stroke-width='2'/%3E%3Cpath d='M50 42 L64 70 L50 98 L36 70 Z' stroke-width='1'/%3E%3Cpath d='M50 18v104M20 70h60' stroke-width='.6' stroke-opacity='.4'/%3E%3Ccircle cx='50' cy='70' r='5' fill='%23f0c040' fill-opacity='.8'/%3E%3C/g%3E%3C/svg%3E") center / 80% no-repeat,repeating-linear-gradient(45deg,rgba(0,0,0,.18) 0 2px,transparent 2px 7px)}.gcard-face{position:absolute;inset:0;display:flex;flex-direction:column;padding:5%;gap:3%;color:#f3ead7;background:linear-gradient(160deg,color-mix(in srgb,var(--faction) 55%,#000),#15110c 70%);border:2px solid color-mix(in srgb,var(--faction) 70%,#d4a84b);border-radius:inherit;font-size:calc(var(--cw, 110px) * .085);overflow:hidden}.gcard-face--large{--cw: 300px}.gcard-face__top{display:flex;align-items:center;gap:4%}.gcard-face__cost{flex-shrink:0;width:1.9em;height:1.9em;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#2a1600;background:radial-gradient(circle at 35% 30%,#fff3b0,#d4a84b 60%,#7a5412)}.gcard-face__name{font-family:var(--font-display);font-weight:700;line-height:1.1}.gcard-face__art{flex:1;display:grid;place-items:center;border-radius:4px;background:radial-gradient(circle,color-mix(in srgb,var(--faction) 40%,#2a2218),#0c0a08);box-shadow:inset 0 0 0 1px #d4a84b66;font-family:var(--font-display);font-size:3em;color:#f0c04080}.gcard-face__type{font-size:.8em;opacity:.8;text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gcard-face__text{font-family:var(--font-flavor);font-size:.95em;line-height:1.25;max-height:40%;overflow:hidden}.gcard-face__bottom{display:flex;align-items:center;justify-content:space-between}.gcard-face__str{font-family:var(--font-display);font-weight:900;font-size:1.4em}.gcard-face__icons{display:flex;gap:.2em}.gcard-face__icons .ico{font-style:normal;width:1.5em;height:1.5em;display:grid;place-items:center;border-radius:50%;font-size:.8em}.ico--mil{background:#8f1d1d}.ico--int{background:#1d6b3a}.ico--pow{background:#8a6a12}.gcard-preview{position:fixed;z-index:20000;pointer-events:none;transform-origin:center}.gcard-preview__frame{position:relative;border-radius:14px;overflow:hidden;box-shadow:0 0 0 2px #d4a84bb3,0 0 40px #000000e6,0 30px 60px #000000b3;background:#111}.gcard-preview__frame img{width:100%;height:100%;object-fit:cover;display:block}.gcard-preview__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;justify-content:center}.gcard-preview .chip{padding:3px 10px;border-radius:999px;font-family:var(--font-display);font-size:.8rem;font-weight:700;color:#f3ead7;background:#0f0c08eb;border:1px solid rgba(212,168,75,.5);box-shadow:0 4px 10px #0009}.gcard-preview .chip small{opacity:.6;font-weight:400}.gcard-preview .chip--buff{color:#7dffb0;border-color:#2e9e5b}.gcard-preview .chip--debuff{color:#ff9d9d;border-color:#b33}.gcard-preview .chip--power{color:#ffd75e}.fx-layer{position:fixed;inset:0;pointer-events:none;z-index:1000;overflow:hidden}.fx-skull,.fx-burst,.fx-ring,.fx-float,.fx-orb,.fx-slash,.fx-caption{position:absolute;translate:-50% -50%}.fx-ghost{position:absolute;border-radius:6%/4.3%;box-shadow:0 12px 30px #000000b3;will-change:transform,opacity}.fx-ghost img,.fx-ghost__face,.fx-ghost__back{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;overflow:hidden}.fx-ghost__fallback{position:absolute;inset:0;display:grid;place-items:center;padding:8%;border-radius:inherit;background:linear-gradient(160deg,#3b2a1a,#1a110a);border:1px solid rgba(240,200,110,.5);color:#f3e3bd;font-family:var(--font-display);font-size:.7rem;text-align:center}.fx-ghost--flip{transform-style:preserve-3d}.fx-ghost--flip .fx-ghost__face,.fx-ghost--flip .fx-ghost__back{backface-visibility:hidden}.fx-ghost__back{transform:rotateY(180deg);background:radial-gradient(circle at 50% 50%,rgba(212,168,75,.35),transparent 60%),repeating-linear-gradient(45deg,#2a1a0e 0 6px,#22140a 6px 12px);border:2px solid #8a6420}.fx-ghost--slain{box-shadow:none;animation:fx-drain 1.1s ease-in forwards}@keyframes fx-drain{0%{filter:none}25%{filter:brightness(1.6) sepia(1) hue-rotate(-40deg) saturate(4)}45%{filter:grayscale(1) brightness(.7) sepia(.6) hue-rotate(-30deg) saturate(3)}to{filter:grayscale(1) brightness(.35)}}.fx-ghost--event{box-shadow:0 0 0 2px #ffdc8ccc,0 0 40px #ffbe5a99,0 30px 60px #000c}.fx-slash{height:5px;border-radius:50%;background:linear-gradient(90deg,transparent,#fff 20%,#ffd4c4 50%,#fff 80%,transparent);box-shadow:0 0 12px 3px #ff3c28e6,0 0 30px 8px #c8000099;transform-origin:center}.fx-skull{line-height:1;color:#f4ebe0;text-shadow:0 0 12px rgba(255,30,30,.95),0 0 30px rgba(160,0,0,.9),0 4px 8px rgba(0,0,0,.9)}.fx-burst{border-radius:50%}.fx-burst--blood{background:radial-gradient(circle,rgba(200,10,10,.55) 0%,rgba(120,0,0,.3) 35%,transparent 65%)}.fx-shield{position:absolute;translate:-50% -50%;line-height:1;filter:drop-shadow(0 0 10px rgba(255,215,110,.95)) drop-shadow(0 0 26px rgba(120,180,255,.7)) drop-shadow(0 4px 6px rgba(0,0,0,.9))}.fx-burst--ward{background:radial-gradient(circle,rgba(255,230,150,.5) 0%,rgba(140,190,255,.25) 35%,transparent 65%)}.fx-ward{position:absolute;border-radius:6%/4.3%;border:3px solid rgba(255,225,140,.95);box-shadow:0 0 14px 3px #ffd264d9,0 0 36px 8px #82b4ff80,inset 0 0 18px #ffe6a099}.fx-sheen{position:absolute;border-radius:6%/4.3%;overflow:hidden}.fx-sheen__band{position:absolute;top:-20%;left:0;width:45%;height:140%;rotate:20deg;background:linear-gradient(90deg,transparent,rgba(255,250,225,.75),transparent);mix-blend-mode:screen}.fx-caption--save{translate:-50% 0;padding:3px 12px;font-size:.8rem;border-color:#ffdc82d9;color:#ffe9a8;box-shadow:0 0 14px #ffc85073,0 6px 20px #000000b3}.fx-ring{border-radius:50%}.fx-ring--impact{border:3px solid rgba(255,225,160,.55);box-shadow:0 0 18px #ffc87859,inset 0 0 18px #ffc87840}.fx-ring--dust{background:radial-gradient(circle,rgba(220,190,140,.45),transparent 65%)}.fx-ring--power{border:3px solid rgba(255,215,100,.9);box-shadow:0 0 24px #ffc83ccc,inset 0 0 14px #ffdc7899}.fx-float{font-family:var(--font-display);font-weight:900;font-size:1.6rem;white-space:nowrap;-webkit-text-stroke:1px rgba(0,0,0,.6);text-shadow:0 3px 8px rgba(0,0,0,.9)}.fx-float--power{color:#ffd76a;font-size:2rem;text-shadow:0 0 14px rgba(255,190,40,.9),0 3px 8px rgba(0,0,0,.9)}.fx-float--loss{color:#ff6b5b;font-size:1.8rem}.fx-float--gold{color:#ffe08a;font-size:1.3rem}.fx-float--spend{color:#c9b48a;font-size:1.2rem}.fx-orb{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff8d8,#f3c14a 45%,#a8741c);box-shadow:0 0 16px 6px #ffc846b3}.fx-spot{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#00000026,#0009 70%)}.fx-caption{padding:6px 18px;border-radius:999px;background:#0c0805d9;border:1px solid rgba(240,200,110,.55);color:#f6e6c0;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.06em;white-space:nowrap;box-shadow:0 6px 20px #000000b3}.fx-verdict{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--ctype) 30%,rgba(0,0,0,.8)) 0%,rgba(0,0,0,.55) 45%,transparent 72%)}.fx-verdict__rays{position:absolute;left:50%;top:50%;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--ctype) 45%,transparent) 0deg 6deg,transparent 6deg 22deg);mask:radial-gradient(circle,#000 10%,transparent 62%);-webkit-mask:radial-gradient(circle,#000 10%,transparent 62%);opacity:.55}.fx-verdict--lose .fx-verdict__rays{opacity:.2}.fx-verdict__icon{position:relative;font-size:3.6rem;line-height:1;color:var(--ctype);filter:drop-shadow(0 0 18px var(--ctype)) drop-shadow(0 4px 6px rgba(0,0,0,.9))}.fx-verdict__title{position:relative;font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,6vh,3.8rem);text-transform:uppercase;background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--ctype) 70%,#fff) 45%,color-mix(in srgb,var(--ctype) 80%,#000));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 6px rgba(0,0,0,.95))}.fx-verdict--lose .fx-verdict__title{background:linear-gradient(180deg,#d8d0c4,#8a8076 60%,#4a423a);-webkit-background-clip:text;background-clip:text}.fx-verdict__sub{position:relative;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.1em;color:#f3e6c8;text-shadow:0 2px 6px rgba(0,0,0,.95)}.fx-verdict__tag{padding:2px 10px;border-radius:4px;background:var(--ctype);color:#140c05;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;text-shadow:none}.gb-table.fx-shake{animation:fx-shake .4s ease-out}.gb-table.fx-shake--hard{animation:fx-shake-hard .55s ease-out}@keyframes fx-shake{0%,to{transform:none}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,1px)}80%{transform:translate(1px,-1px)}}@keyframes fx-shake-hard{0%,to{transform:none}12%{transform:translate(-7px,4px) rotate(-.3deg)}26%{transform:translate(6px,-4px) rotate(.3deg)}40%{transform:translate(-5px,3px)}56%{transform:translate(4px,-2px)}72%{transform:translate(-2px,1px)}}.fx-pulse--dead{animation:fx-pulse-dead .7s ease-out}@keyframes fx-pulse-dead{0%{filter:none;transform:scale(1)}30%{filter:drop-shadow(0 0 14px rgba(255,40,40,.9));transform:scale(1.1)}to{filter:none;transform:scale(1)}}.fx-pulse--power{animation:fx-pulse-power .7s ease-out}@keyframes fx-pulse-power{0%{filter:none;transform:scale(1)}30%{filter:drop-shadow(0 0 12px rgba(255,200,60,1));transform:scale(1.18)}to{filter:none;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.gb-table.fx-shake,.gb-table.fx-shake--hard,.fx-pulse--dead,.fx-pulse--power{animation:none}}.campaign{height:100vh;height:100dvh;overflow-y:auto;color:var(--ui-text);font-family:var(--font-body);background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(184,196,208,.1),transparent 70%),radial-gradient(ellipse 60% 40% at 0% 100%,rgba(139,0,0,.1),transparent 70%),#0b0b11}.cp-shell{max-width:1240px;margin:0 auto;padding:24px 32px 64px}.cp-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.cp-topbar__right{display:flex;align-items:center;gap:14px}.cp-progress{display:grid;grid-template-columns:auto auto;column-gap:10px;row-gap:4px;align-items:baseline;font-size:.8125rem}.cp-progress__label{color:var(--ui-text-dim)}.cp-progress__value{font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.cp-progress__track{grid-column:1 / -1;width:180px;height:4px;border-radius:2px;background:#ffffff14;overflow:hidden}.cp-progress__fill{display:block;height:100%;background:var(--ui-accent);border-radius:inherit}.cp-campaigns{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.cp-campaign{--node-accent: var(--ui-accent);display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:999px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text-dim);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.cp-campaign:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong);color:var(--ui-text)}.cp-campaign:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.cp-campaign.is-active{color:var(--ui-text);border-color:color-mix(in srgb,var(--node-accent) 70%,transparent);background:color-mix(in srgb,var(--node-accent) 12%,var(--ui-surface))}.cp-campaign.is-locked{opacity:.6}.cp-campaign__sigil{width:24px;height:24px;object-fit:contain}.cp-locked-note{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:8px 12px;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-surface);font-size:.875rem;color:var(--ui-text-dim)}.cp-heading{margin-bottom:24px}.cp-title{font-family:var(--font-display);font-size:2.25rem;font-weight:700;letter-spacing:.02em}.cp-subtitle{margin-top:6px;max-width:70ch;color:var(--ui-text-dim);font-size:.9rem;line-height:1.5}.cp-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:28px;align-items:start}.cp-ladder{display:flex;flex-direction:column;gap:22px}.cp-act__name{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.03em;color:var(--ui-accent)}.cp-act__blurb{margin:4px 0 10px;font-size:.8rem;color:var(--ui-text-faint);line-height:1.45}.cp-nodes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cp-node{--node-accent: var(--ui-accent);width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text);text-align:left;cursor:pointer;font:inherit;transition:border-color .15s ease,background .15s ease}.cp-node:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.cp-node:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.cp-node.is-selected{border-color:color-mix(in srgb,var(--node-accent) 70%,transparent);background:color-mix(in srgb,var(--node-accent) 10%,var(--ui-surface))}.cp-node.is-locked{opacity:.55}.cp-node.is-boss{border-style:dashed}.cp-node.is-boss.is-selected{border-style:solid}.cp-node__sigil{width:30px;height:30px;object-fit:contain;flex-shrink:0}.cp-node__text{display:flex;flex-direction:column;min-width:0;flex:1}.cp-node__name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-node__meta{font-size:.75rem;color:var(--ui-text-dim)}.cp-node__status{color:var(--ui-text-dim);display:flex}.cp-node.is-done .cp-node__status{color:var(--ui-ok)}.cp-reset{align-self:flex-start;color:var(--ui-text-faint)}.cp-detail{--node-accent: var(--ui-accent);border:1px solid var(--ui-border);border-top:3px solid var(--node-accent);border-radius:16px;background:var(--ui-surface);padding:22px 24px;box-shadow:0 8px 24px #00000059;min-width:0}.cp-detail__head{display:flex;gap:16px;align-items:center}.cp-detail__sigil{width:56px;height:56px;object-fit:contain}.cp-detail__eyebrow{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--node-accent)}.cp-detail__name{font-family:var(--font-display);font-size:1.6rem;font-weight:700;margin:2px 0}.cp-detail__deck{font-size:.8125rem;color:var(--ui-text-dim)}.cp-detail__desc{margin:16px 0 0;line-height:1.55;color:var(--ui-text);max-width:70ch}.cp-detail__record{margin:8px 0 0;font-size:.8125rem;color:var(--ui-text-dim)}.cp-block{margin-top:22px}.cp-block__title{display:flex;align-items:baseline;gap:10px;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ui-text-dim);margin-bottom:10px}.cp-block__count{font-weight:400;color:var(--ui-text-faint);text-transform:none;letter-spacing:0}.cp-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px}.cp-thumb{position:relative;aspect-ratio:5 / 7;border-radius:6px;overflow:hidden;background:#ffffff0a;border:1px solid var(--ui-border)}.cp-thumb--plot{grid-column:span 2;aspect-ratio:7 / 5}.cp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cp-thumb__qty{position:absolute;right:4px;bottom:4px;padding:1px 6px;border-radius:6px;font-size:.75rem;font-weight:700;font-variant-numeric:tabular-nums;background:#000000c7;color:var(--ui-accent-strong)}.cp-thumb__new{position:absolute;left:4px;top:4px;padding:1px 6px;border-radius:6px;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--ui-accent);color:#1a1408}.cp-claimed{opacity:.5;filter:grayscale(.6)}.cp-fight{padding-top:18px;border-top:1px solid var(--ui-border)}.cp-decks{display:flex;flex-wrap:wrap;gap:8px}.cp-deck{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid var(--ui-border);background:transparent;color:var(--ui-text);font:inherit;font-size:.875rem;cursor:pointer}.cp-deck:hover{background:var(--ui-surface-hover)}.cp-deck.is-active{border-color:var(--ui-accent);background:#d4a84b14}.cp-deck:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.cp-deck__name{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-errors{margin:10px 0 0;padding-left:18px;font-size:.8125rem;color:var(--ui-warn);line-height:1.6}.cp-note{font-size:.875rem;color:var(--ui-text-dim)}.cp-fight__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}.cp-rewards{font-family:var(--font-body)}.cp-rewards .cp-strip{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.cp-rewards__eyebrow{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ui-accent);margin-bottom:4px}.cp-rewards__next{margin:16px 0 0;font-size:.875rem;color:var(--ui-text-dim)}.cp-rewards__next strong{color:var(--ui-text)}.cp-rewards__unlock{display:flex;align-items:center;gap:8px;margin:10px 0 0;font-size:.875rem;color:var(--ui-accent)}.cp-rewards__unlock strong{color:var(--ui-text)}@media(max-width:860px){.cp-shell{padding:16px 16px 48px}.cp-layout{grid-template-columns:1fr}.cp-topbar{flex-wrap:wrap}.cp-progress__track{width:120px}}.cp-transfer__label{margin:8px 0;font-size:.8125rem;font-weight:600;color:var(--ui-text-dim)}.cp-transfer__code{min-height:90px;word-break:break-all}.cp-transfer__actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:10px 0 14px}.cp-transfer__ok{margin-right:auto;font-size:.8125rem;color:var(--ui-ok)}.cp-transfer__err{margin-right:auto;font-size:.8125rem;color:var(--ui-warn)}.tco{position:fixed;inset:0;z-index:14000}.tco__dim,.tco__hole{position:absolute;pointer-events:none}.tco__dim{inset:0;background:#0403029e}.tco__hole{border-radius:10px;box-shadow:0 0 0 9999px #0403029e,0 0 0 2px #d4a84b,0 0 26px 4px #f6d98a73;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease;animation:tco-pulse 1.8s ease-in-out infinite}@keyframes tco-pulse{0%,to{box-shadow:0 0 0 9999px #0403029e,0 0 0 2px #d4a84b,0 0 20px 2px #f6d98a59}50%{box-shadow:0 0 0 9999px #0403029e,0 0 0 2px #f6d98a,0 0 32px 6px #f6d98a8c}}.tco__card{position:absolute;width:min(380px,calc(100vw - 24px));max-height:calc(100vh - 24px);display:flex;flex-direction:column;gap:.5rem;padding:.95rem 1.05rem .8rem;border:1px solid rgba(212,168,75,.8);border-radius:10px;background:linear-gradient(180deg,#2c1f10,#1a1209);box-shadow:0 0 0 1px #000c,0 14px 40px #000000b3;color:#efe3c6;font-family:var(--font-body);animation:tco-in .2s ease-out}@keyframes tco-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tco__hole,.tco__card{animation:none;transition:none}}.tco__eyebrow{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#d4a84b}.tco__title{margin:0;font-family:var(--font-display);font-size:1.1rem;color:#f6d98a}.tco__body{overflow-y:auto;font-size:.86rem;line-height:1.5}.tco__body p{margin:0 0 .55rem}.tco__body p:last-child{margin-bottom:0}.tco__body strong{color:#f6d98a;font-weight:600}.tco__foot{display:flex;align-items:center;gap:.45rem;margin-top:.2rem}.tco__spacer{flex:1}.tco__confirm{flex:1;font-size:.78rem;color:#efe3c6d9}.tco__btn{padding:.35rem .9rem;border:1px solid #d4a84b;border-radius:6px;background:linear-gradient(180deg,#f3cf63,#a8741c);color:#241503;font-size:.8rem;font-weight:600;cursor:pointer}.tco__btn--ghost{background:transparent;color:#efe3c6;border-color:#d4a84b73}.tco__btn:focus-visible,.tco__link:focus-visible,.tco-pill:focus-visible{outline:2px solid #f6d98a;outline-offset:2px}.tco__link{padding:0;border:none;background:none;color:#efe3c699;font-size:.74rem;text-decoration:underline;cursor:pointer}.tco__link:hover{color:#f6d98a}.tco-pill{position:fixed;top:12px;right:calc(clamp(250px,21vw,330px) + 14px);z-index:70;display:flex;align-items:center;gap:.4rem;padding:.3rem .75rem .3rem .35rem;border:1px solid rgba(212,168,75,.6);border-radius:999px;background:#1a1209e6;color:#efe3c6;font-size:.75rem;cursor:pointer}.tco-pill:hover{border-color:#f6d98a}.tco-pill__mark{display:grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:#d4a84b;color:#241503;font-weight:700}.tco-step{position:fixed;top:56px;left:calc((100vw - clamp(250px,21vw,330px))/2);transform:translate(-50%);z-index:13000;max-width:min(560px,calc(100vw - clamp(250px,21vw,330px) - 32px));padding:.55rem 1rem;border:1px solid #d4a84b;border-radius:8px;background:#1a1209f2;box-shadow:0 8px 24px #0009,0 0 18px #d4a84b40;color:#efe3c6;font-size:.86rem;line-height:1.4;text-align:center;pointer-events:none}.tco-step__label{margin-right:.35rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:#d4a84b}.tco-step.is-nudged{border-color:#f6d98a;animation:tco-shake .42s ease-in-out}@keyframes tco-shake{0%,to{transform:translate(-50%)}20%{transform:translate(calc(-50% - 8px))}40%{transform:translate(calc(-50% + 8px))}60%{transform:translate(calc(-50% - 5px))}80%{transform:translate(calc(-50% + 5px))}}@media(prefers-reduced-motion:reduce){.tco-step.is-nudged{animation:none}}.gb{--gold-1: #f6d98a;--gold-2: #d4a84b;--gold-3: #8a6420;--ink: #0b0806;--parchment: #efe3c6;display:grid;grid-template-columns:minmax(0,1fr) clamp(250px,21vw,330px);height:100vh;height:100dvh;width:100vw;overflow:hidden;background:#060403;font-family:var(--font-body)}.gb-table{position:relative;display:flex;flex-direction:column;min-width:0;overflow:clip;background:radial-gradient(ellipse 70% 55% at 50% 55%,rgba(255,190,110,.1),transparent 70%),radial-gradient(ellipse at 50% 120%,#1f140b,#0b0705 60%,#050302)}.gb-surface{position:absolute;left:2.5%;right:2.5%;top:calc(var(--opp-hand-h) * .35);bottom:calc(var(--hand-h) * .3);border-radius:40px;transform:perspective(1500px) rotateX(14deg);transform-origin:50% 100%;pointer-events:none;background:repeating-linear-gradient(91deg,rgba(0,0,0,.22) 0 2px,transparent 2px 11px),repeating-linear-gradient(89deg,rgba(255,210,150,.05) 0 1px,transparent 1px 29px),linear-gradient(180deg,#43291a,#2f1d11,#22150b);box-shadow:0 50px 90px #000000d9,inset 0 0 0 2px #f0c86e80,inset 0 0 0 7px #1a0f07,inset 0 0 0 9px #d4a84b4d,inset 0 3px 30px #0009}.gb-surface__felt{position:absolute;inset:22px;border-radius:26px;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,225,160,.1),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(ellipse at 50% 45%,#22362f,#17251f 55%,#0e1714);box-shadow:inset 0 0 0 1px #000000b3,inset 0 0 0 3px #d4a84b2e,inset 0 0 80px #000000bf}.gb-surface__felt:after{content:"";position:absolute;left:6%;right:6%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,75,.25) 20%,rgba(212,168,75,.25) 80%,transparent)}.gb-lane{position:relative;flex-shrink:0}.gb-lane--opp-hand{height:var(--opp-hand-h);z-index:3}.gb-lane--hand{height:var(--hand-h);z-index:50}.gb-half{position:relative;flex:1 1 0;min-height:0;display:grid;grid-template-columns:clamp(170px,16vw,250px) minmax(0,1fr) clamp(110px,9vw,150px);z-index:2;padding:0 3.5%}.gb-rows{display:flex;flex-direction:column;align-items:center;gap:clamp(4px,1vh,12px);min-width:0;padding:4px 0}.gb-half--opp .gb-rows{justify-content:flex-end}.gb-half--me .gb-rows{justify-content:flex-start}.gb-rowwrap{width:100%;display:flex;justify-content:center}.gb-row{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:calc(var(--card-w) * .16);min-height:calc(var(--card-w) * 1.4);min-width:calc(var(--card-w) * 3);max-width:100%}.gb-row__empty{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:#d4a84b29;pointer-events:none}.gb-slot{position:relative;flex-shrink:1;min-width:calc(var(--card-w) * .45);width:var(--card-w);height:calc(var(--card-w) * 1.4 + var(--att, 0) * var(--card-w) * .24);transition:width .3s cubic-bezier(.3,1.3,.5,1)}.gb-slot--kneeling{width:calc(var(--card-w) * 1.4)}.gb-slot:hover{z-index:30}.gb-slot__tilt{position:absolute;inset:0;transform:perspective(900px) rotateX(7deg);transform-origin:50% 100%;transition:transform .22s cubic-bezier(.2,.9,.3,1.2)}.gb-slot:hover .gb-slot__tilt{transform:perspective(900px) rotateX(0) translateY(-10px) scale(1.1)}.gb-slot:hover .card.gcard{box-shadow:0 0 0 1px #000000e6,0 0 0 2px #f0c86eb3,0 18px 28px #000000a6,0 30px 50px #0006}.gb-slot__host{position:absolute;left:50%;bottom:0;translate:-50% 0;z-index:10}.gb-slot--kneeling .gb-slot__host{bottom:calc(var(--card-w) * -.2)}.gb-slot__att{position:absolute;left:50%;bottom:calc(var(--card-w) * .24 * (var(--i) + 1));translate:-50% 0;z-index:calc(9 - var(--i));filter:brightness(.85)}.gb-slot__att:hover{z-index:20;filter:none}.gb-table--targeting .gb-slot:not(:has(.gcard--targetable,.gcard--selected)) .card.gcard{filter:brightness(.5) saturate(.6)}.gb-half--me:after{content:"Release to play";position:absolute;inset:4px 18%;border-radius:24px;display:grid;place-items:center;font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;font-size:.9rem;color:#ffe6a0cc;background:radial-gradient(ellipse at center,rgba(255,200,90,.18),transparent 70%);box-shadow:inset 0 0 0 2px #ffd27873,inset 0 0 60px #ffbe5040;opacity:0;transition:opacity .2s ease;pointer-events:none}.gb-table--drop .gb-half--me:after{opacity:1}.gb-hand,.gb-opp-hand{position:absolute;left:50%;width:0;height:0}.gb-hand{bottom:0}.gb-opp-hand{top:0}.gb-hand__slot{position:absolute;left:calc(var(--card-w) / -2);transform-origin:50% 110%}.gb-hand .gb-hand__slot{bottom:calc(var(--card-w) * 1.4 * -.24)}.gb-opp-hand .gb-hand__slot{top:calc(var(--card-w) * 1.4 * -.45);transform-origin:50% 50%}.gb-hand__drag{cursor:grab;touch-action:none}.gb-hand__drag:active{cursor:grabbing}.gb-hand .card.gcard{box-shadow:0 0 0 1px #000000e6,0 0 0 2px #d4a84b73,-6px 10px 18px #000000a6}.gb-hand .card.gcard.gcard--playable{box-shadow:0 0 0 2px #3dff8a,0 0 16px 4px #3dff8ab3,-6px 10px 18px #000000a6}.gb-opp-hand__count{position:absolute;top:6px;left:calc(var(--card-w) * 3.2);padding:2px 9px;border-radius:999px;font-family:var(--font-display);font-size:.75rem;font-weight:700;color:var(--gold-1);background:#0a0704e6;border:1px solid rgba(212,168,75,.5);white-space:nowrap}.gb-hero{display:flex;flex-direction:column;gap:clamp(6px,1.2vh,14px);justify-content:flex-start;padding:clamp(6px,1.2vh,14px) 0;min-width:0}.gb-hero--me{flex-direction:column-reverse}.gb-hero__main{display:flex;align-items:center;gap:14px}.gb-medallion{--size: clamp(62px, 9vh, 96px);position:relative;flex-shrink:0;width:var(--size);height:var(--size);border-radius:50%;border:none;padding:0;cursor:pointer;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--faction) 55%,#fff 20%) 0%,var(--faction) 45%,color-mix(in srgb,var(--faction) 35%,#000) 100%);box-shadow:0 0 0 3px #1a120a,0 0 0 5px var(--gold-2),0 0 0 6px #2a1c0c,0 10px 24px #000000bf,inset 0 -8px 16px #0000008c,inset 0 4px 10px #ffffff2e;transition:transform .2s ease,filter .3s ease}.gb-medallion:hover{transform:scale(1.06)}.gb-medallion__ring{position:absolute;inset:-12px;width:calc(100% + 24px);height:calc(100% + 24px);transform:rotate(-90deg);pointer-events:none}.gb-medallion__track{fill:none;stroke:#0000008c;stroke-width:4}.gb-medallion__progress{fill:none;stroke:var(--gold-1);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(255,210,110,.9))}.gb-medallion__sigil{position:absolute;inset:14%;border-radius:50%;display:grid;place-items:center;overflow:hidden}.gb-medallion__sigil img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.8))}.gb-medallion--knelt{filter:grayscale(.85) brightness(.6);transform:rotate(-14deg)}.gb-medallion--playable{box-shadow:0 0 0 3px #1a120a,0 0 0 5px #3dff8a,0 0 22px 6px #3dff8a99,0 10px 24px #000000bf}.gb-medallion--targetable{cursor:crosshair;box-shadow:0 0 0 3px #1a120a,0 0 0 5px #ff5a3c,0 0 22px 6px #ff5a3cb3,0 10px 24px #000000bf}.gb-medallion--selected{box-shadow:0 0 0 3px #1a120a,0 0 0 5px #ffd75e,0 0 24px 8px #ffc83ccc}.gb-medallion__first{position:absolute;top:-14px;right:-8px;font-size:22px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.8));animation:gb-bob 3s ease-in-out infinite}@keyframes gb-bob{50%{transform:translateY(-3px) rotate(6deg)}}.gb-medallion__fpower{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:.75rem;color:#2a1600;background:radial-gradient(circle at 35% 30%,#fff3b0,#f0c040 45%,#8a5e12);box-shadow:0 0 0 2px #2a1a06,0 2px 6px #000000b3}.gb-hero__stats{display:flex;flex-direction:column;gap:4px;min-width:0}.gb-hero__name{font-family:var(--font-display);font-weight:700;font-size:clamp(.65rem,.9vw,.85rem);color:var(--gold-1);letter-spacing:.06em;text-shadow:0 2px 4px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gb-stat{display:flex;align-items:center;gap:6px;width:fit-content;padding:2px 10px 2px 6px;border-radius:999px;background:#080503cc;border:1px solid rgba(212,168,75,.35);box-shadow:0 3px 8px #0009;font-family:var(--font-display);line-height:1}.gb-stat__icon{color:var(--gold-1);font-size:1rem}.gb-stat__coin{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff5c4,#e8b53c 45%,#8a5e12);box-shadow:0 0 0 1px #3a2606,0 0 6px #ffc85080}.gb-stat__value{display:inline-block;min-width:1.1em;text-align:center;font-weight:900;font-size:clamp(1rem,1.5vw,1.35rem);color:#fff4d6;text-shadow:0 0 8px rgba(255,200,90,.5),0 2px 3px #000}.gb-stat__of{font-size:.75rem;color:#efe3c680}.gb-strchecks{display:flex;gap:4px}.gb-strcheck{--icon-c: var(--gold-1);display:flex;align-items:center;gap:3px;height:22px;min-width:22px;padding:0 5px;border-radius:999px;border:1px solid color-mix(in srgb,var(--icon-c) 55%,transparent);background:#0a0704b3;color:var(--icon-c);font-size:.75rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .15s ease,background .15s ease}.gb-strcheck:hover,.gb-strcheck--open{opacity:1}.gb-strcheck--open{background:color-mix(in srgb,var(--icon-c) 22%,rgba(10,7,4,.85))}.gb-strcheck--military{--icon-c: var(--military-red)}.gb-strcheck--intrigue{--icon-c: var(--intrigue-green)}.gb-strcheck--power{--icon-c: var(--power-gold)}.gb-strcheck__value{font-weight:900;color:#fff4d6}.gb-strcheck__value small{font-weight:600;font-size:.65rem;color:#efe3c68c}.gb-hero__cards{display:flex;align-items:flex-end;gap:8px;--card-w: clamp(38px, 5.4vh, 64px)}.gb-hero__plot,.gb-hero__agenda{transition:transform .2s ease}.gb-hero__plot:hover,.gb-hero__agenda:hover{transform:translateY(-4px) scale(1.06)}.gb-piles{display:grid;grid-template-columns:repeat(2,auto);gap:10px 12px;justify-content:end;align-content:center;--card-w: clamp(32px, 4.4vh, 54px)}.gb-pile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer}.gb-pile--deck{cursor:default}.gb-pile__stack{position:relative;border-radius:5px;box-shadow:0 calc(var(--depth) * .6px) 0 #2d1e10,0 calc(var(--depth) * .6px + 1px) 0 #120a04,0 calc(var(--depth) * .6px + 6px) 10px #000000b3;transform:translateY(calc(var(--depth) * -.6px));transition:transform .18s ease}.gb-pile:not(.gb-pile--deck):hover .gb-pile__stack{transform:translateY(calc(var(--depth) * -.6px - 4px))}.gb-pile .card.gcard{cursor:inherit}.gb-pile--dead .gb-pile__stack{filter:sepia(.6) hue-rotate(-30deg) saturate(1.4) brightness(.7)}.gb-pile__empty{width:var(--card-w);height:calc(var(--card-w) * 1.4);border-radius:5px;border:1.5px dashed rgba(212,168,75,.25);background:#0003}.gb-pile--plots .gb-pile__empty{width:calc(var(--card-w) * 1.4);height:var(--card-w)}.gb-pile__count{position:absolute;top:calc(var(--card-w) * .7);left:50%;translate:-50% -50%;min-width:26px;padding:3px 6px;border-radius:999px;font-family:var(--font-display);font-weight:900;font-size:.8rem;color:var(--gold-1);background:#080503e6;border:1px solid rgba(212,168,75,.55);box-shadow:0 2px 6px #000c;pointer-events:none}.gb-pile--plots .gb-pile__count{top:calc(var(--card-w) * .5)}.gb-pile__label{font-family:var(--font-display);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:#efe3c680}.gb-midline{position:relative;flex-shrink:0;height:clamp(44px,6.5vh,64px);display:flex;align-items:center;justify-content:center;z-index:5}.gb-midline:before{content:"";position:absolute;left:5%;right:5%;top:50%;height:2px;background:linear-gradient(90deg,transparent,rgba(212,168,75,.55) 18%,rgba(255,225,150,.9) 50%,rgba(212,168,75,.55) 82%,transparent);box-shadow:0 0 14px #d4a84b73}.gb-midline__left{position:absolute;left:4%;display:flex;align-items:center;gap:10px}.gb-round{position:relative;width:clamp(44px,6vh,58px);height:clamp(44px,6vh,58px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 30%,#3a2a18,#120b05 75%);box-shadow:0 0 0 2px var(--gold-2),0 0 0 4px #1a1007,0 6px 16px #000c}.gb-round__label{font-family:var(--font-display);font-size:.45rem;letter-spacing:.2em;text-transform:uppercase;color:#efe3c699}.gb-round__value{font-family:var(--font-display);font-weight:900;font-size:1.25rem;line-height:1;color:var(--gold-1)}.gb-phases{display:flex;gap:2px;padding:3px;border-radius:999px;background:#080503e0;border:1px solid rgba(212,168,75,.35);box-shadow:0 4px 14px #000000b3}.gb-phase{position:relative;padding:4px 9px;border-radius:999px;font-family:var(--font-display);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#efe3c659}.gb-phase--done{color:#efe3c699}.gb-phase--active{color:#1c1204}.gb-phase__glow{position:absolute;inset:0;border-radius:999px;background:linear-gradient(180deg,#fff0bf,#e9b949 55%,#b07e22);box-shadow:0 0 12px #ffc850b3}.gb-phase__text{position:relative}.gb-phase:not(.gb-phase--active){padding:4px 5px}.gb-phase__dot{display:block;width:7px;height:7px;margin:3px 0;rotate:45deg;border:1px solid rgba(212,168,75,.45)}.gb-phase--done .gb-phase__dot{background:var(--gold-2);border-color:var(--gold-1)}.gb-clash{position:relative;display:flex;align-items:center;gap:18px;padding:4px 18px;border-radius:16px;background:linear-gradient(180deg,#181009f5,#080503f5);border:1px solid color-mix(in srgb,var(--ctype) 70%,#fff 10%);box-shadow:0 0 26px color-mix(in srgb,var(--ctype) 55%,transparent),0 12px 30px #000c}.gb-clash__side{display:flex;flex-direction:column;align-items:center;min-width:64px}.gb-clash__role{font-family:var(--font-display);font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:#efe3c68c;white-space:nowrap}.gb-clash__num{display:inline-block;font-family:var(--font-display);font-weight:900;font-size:clamp(1.3rem,3.2vh,2rem);line-height:1.05;color:#fff4d6;text-shadow:0 0 12px rgba(255,200,90,.45),0 2px 3px #000}.gb-clash__type{display:flex;flex-direction:column;align-items:center;gap:1px}.gb-clash__icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:1.05rem;color:#fff;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--ctype) 60%,#fff),var(--ctype) 55%,color-mix(in srgb,var(--ctype) 40%,#000));box-shadow:0 0 0 2px #120b05,0 0 0 3px var(--gold-2),0 0 16px var(--ctype)}.gb-clash__label{font-family:var(--font-display);font-size:.55rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-1)}.gb-banner{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:80;background:radial-gradient(ellipse at center,rgba(0,0,0,.5),transparent 65%)}.gb-banner__ribbon{padding:16px 110px 18px;text-align:center;background:linear-gradient(90deg,transparent,rgba(18,11,5,.96) 18%,rgba(18,11,5,.96) 82%,transparent);border-top:2px solid transparent;border-bottom:2px solid transparent;border-image:linear-gradient(90deg,transparent,var(--gold-2) 20%,var(--gold-1) 50%,var(--gold-2) 80%,transparent) 1}.gb-banner__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,5vh,3.4rem);letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(180deg,#fff6d8,#f0c95a,#a8741c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 6px rgba(0,0,0,.9))}.gb-banner__sub{font-family:var(--font-flavor);font-style:italic;font-size:1.1rem;letter-spacing:.08em;color:#efe3c6bf}.gb-arrow{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;z-index:15000}.gb-arrow__path{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:14 9;animation:gb-arrow-dash .5s linear infinite}.gb-arrow__glow{fill:none;stroke:#ff5a1e59;stroke-width:16;stroke-linecap:round;filter:blur(4px)}.gb-arrow__head{fill:#ff3b1f;stroke:#ffd2a8;stroke-width:1.5;filter:drop-shadow(0 0 6px rgba(255,80,30,.9))}.gb-arrow__origin{fill:#ff783c73;stroke:#ffb080;stroke-width:2}.gb-arrow__reticle{fill:none;stroke:#ff8c50d9;stroke-width:2;stroke-dasharray:6 5;animation:gb-spin 3s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes gb-arrow-dash{to{stroke-dashoffset:-23}}@keyframes gb-spin{to{transform:rotate(360deg)}}.gb-rail{position:relative;min-width:0;height:100vh;height:100dvh;z-index:60;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(180deg,#1b120a,#110b06 60%,#0b0704);border-left:1px solid rgba(212,168,75,.45);box-shadow:-14px 0 40px #000000b3,inset 1px 0 #000c}.gb-rail .sidebar{height:100%;background:transparent;border-left:none}.gb-rail .sidebar__header{font-size:.8rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-1);border-bottom:1px solid rgba(212,168,75,.25);background:linear-gradient(180deg,rgba(212,168,75,.08),transparent)}.gb-rail .game-log{font-size:.72rem;padding:.6rem .7rem;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 24px);mask-image:linear-gradient(180deg,transparent 0,#000 24px)}.gb-rail .log-entry{color:#efe3c6b8;border-left:2px solid transparent}.gb-rail .log-entry--round{background:linear-gradient(90deg,rgba(212,168,75,.16),transparent);border-left-color:var(--gold-2);color:var(--gold-1)}.gb-rail .log-entry--phase{color:var(--gold-1)}.gb-rail .log-entry--kill{border-left-color:#b33}.gb-rail .log-entry--power{color:#ffd75e}.gb-rail .sidebar__actions{position:relative;padding:.9rem;gap:.55rem;border-top:1px solid rgba(212,168,75,.35);background:radial-gradient(ellipse at 50% 0%,rgba(255,190,90,.12),transparent 70%),linear-gradient(180deg,#221609,#120b05);box-shadow:0 -12px 30px #0009}.gb-rail .action-prompt,.gb-rail .action-panel__prompt{font-family:var(--font-display);font-size:.8rem;line-height:1.35;text-align:center;color:var(--parchment);padding:.6rem .7rem;border-radius:8px;background:#00000059;border:1px solid rgba(212,168,75,.3)}.gb-rail .action-panel{display:flex;flex-direction:column;gap:.5rem}.gb-rail .action-panel__btns{display:flex;flex-direction:column;gap:.4rem}.gb .btn{min-width:0;width:100%;padding:.6rem 1rem;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;border-radius:10px;color:var(--parchment);background:linear-gradient(180deg,#3a2a18,#22170c);border:1px solid rgba(212,168,75,.45);box-shadow:inset 0 1px #ffe6aa26,0 3px 8px #00000080;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.gb .btn:hover:not(:disabled){transform:translateY(-1px);border-color:var(--gold-1);box-shadow:inset 0 1px #ffe6aa33,0 0 14px #ffc85a4d,0 5px 12px #0009}.gb .btn--primary{padding:.85rem 1rem;font-size:.9rem;font-weight:800;color:#241503;background:linear-gradient(180deg,#ffe9a6,#f0c14f 45%,#c48a22);border:1px solid #fff0c0;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:0 0 0 2px #3a2406,0 0 20px #ffbe4673,0 6px 14px #0009,inset 0 -3px #78460a80;animation:gb-cta 2.2s ease-in-out infinite}.gb .btn--primary:hover:not(:disabled){box-shadow:0 0 0 2px #3a2406,0 0 30px #ffc850bf,0 8px 18px #0009,inset 0 -3px #78460a80}.gb .btn--primary:disabled{animation:none;filter:grayscale(.8) brightness(.6)}@keyframes gb-cta{50%{box-shadow:0 0 0 2px #3a2406,0 0 32px #ffbe46b3,0 6px 14px #0009,inset 0 -3px #78460a80}}.gb .btn--gold{color:#1c2a12;background:linear-gradient(180deg,#c8f5a8,#6fc24a 55%,#3d7a24);border-color:#e0ffd0;text-transform:none;letter-spacing:.04em;font-weight:700}.gb .btn--danger{color:#ffb3a8;background:linear-gradient(180deg,#3a1410,#200a07);border-color:#c8463280}.gb-rail .challenge-buttons{gap:.45rem}.gb-rail .challenge-btn{padding:.7rem .2rem;font-size:.75rem;font-weight:800;letter-spacing:.08em;border-radius:10px;color:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:inset 0 1px #ffffff40,0 4px 10px #0009;text-shadow:0 1px 2px rgba(0,0,0,.7);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.gb-rail .challenge-btn--military{background:linear-gradient(180deg,#e25a4a,#9c1d14)}.gb-rail .challenge-btn--intrigue{background:linear-gradient(180deg,#4fcf7c,#1d7a3f)}.gb-rail .challenge-btn--power{background:linear-gradient(180deg,#f3cf63,#a8741c);color:#241503;text-shadow:none}.gb-rail .challenge-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.15);box-shadow:inset 0 1px #ffffff4d,0 0 16px #ffdc9659,0 6px 14px #0009}.gb-rail .challenge-btn:disabled{filter:grayscale(1) brightness(.45);opacity:1}.gb .plot-modal,.gb .pile-viewer-overlay{background:radial-gradient(ellipse at center,#140c06bf,#000000eb);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.gb .plot-modal__content,.gb .pile-viewer{max-width:min(1100px,94vw);background:radial-gradient(ellipse at 50% 0%,rgba(255,190,90,.1),transparent 60%),linear-gradient(180deg,#221609,#120b05);border:1px solid rgba(212,168,75,.55);border-radius:18px;box-shadow:0 0 0 4px #0b0704,0 0 0 5px #d4a84b40,0 40px 80px #000000d9}.gb .plot-modal__title,.gb .pile-viewer__title{font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-1)}.gb .pile-viewer__header{background:linear-gradient(180deg,rgba(212,168,75,.1),transparent);border-bottom:1px solid rgba(212,168,75,.25)}.gb .plot-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;max-height:62vh;overflow-y:auto;padding:.5rem}.gb .plot-option{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.6rem;border:none;border-radius:12px;background:#00000040;transition:transform .18s ease,background .18s ease}.gb .plot-option:hover{transform:translateY(-4px);background:#ffd2780f}.gb .plot-option.selected{background:#ffd2781a;box-shadow:none}.gb .plot-option__art{--card-w: 108px}.gb .plot-option__name{margin:0;text-align:center;color:var(--parchment)}.gb .plot-option__stats{display:flex;gap:.6rem;font-size:.72rem}.gb .pile-viewer__grid{--card-w: 130px;justify-items:center}.gb .plot-modal{z-index:200}.gb .plot-modal .btn{width:auto;min-width:240px}:root{--db-bg: #0f1218;--db-panel-bg: rgba(18, 18, 26, .94);--db-accent: #d4a84b;--db-text: #ece9e2;--db-text-dim: #a19d95;--db-border: rgba(255, 255, 255, .08);--db-card-width: 170px;--arena-gold: #d4a84b;--arena-blue: #3a86ff;--arena-red: #e0483a}.deck-builder-container{--faction-accent: var(--ui-accent);display:flex;height:100vh;height:100dvh;width:100vw;color:var(--db-text);font-family:var(--font-body);overflow:hidden;background:radial-gradient(ellipse 70% 50% at 20% -10%,color-mix(in srgb,var(--faction-accent) 12%,transparent),transparent 70%),#0b0b11}.collection-panel{flex:1;min-width:0;display:flex;flex-direction:column;padding:18px 20px 0;overflow:hidden}.db-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--ui-border);background:var(--ui-surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.db-toolbar__search{flex:0 1 300px}.db-toolbar__sets{margin-left:auto}.db-toolbar__sort{align-items:center}.db-toolbar__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ui-text-faint);margin-right:2px}.db-toolbar__count{font-size:.8125rem;color:var(--ui-text-faint);font-variant-numeric:tabular-nums}.db-clear{display:flex;border:none;background:none;color:var(--ui-text-faint);cursor:pointer;padding:2px}.db-clear:hover{color:var(--ui-text)}.db-hint{padding:10px 4px 4px;font-size:.75rem;color:var(--ui-text-faint)}.db-collection{flex:1;min-height:0;display:flex;flex-direction:column;gap:20px;padding:12px 6px 32px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.db-collection-heading{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-family:var(--font-display);font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ui-text-faint)}.db-collection-heading:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.15),transparent)}.db-collection-heading__count{padding:1px 8px;border-radius:999px;background:#ffffff14;font-size:.7rem;letter-spacing:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--db-card-width),1fr));align-content:start;gap:18px}.card-grid--plots{grid-template-columns:repeat(auto-fill,minmax(calc(var(--db-card-width) * 1.4),1fr))}.card-item{position:relative;cursor:pointer;border-radius:10px;transition:transform .18s var(--ui-ease),filter .18s ease;animation:db-fade .3s ease-out backwards}.card-item:hover{transform:translateY(-4px) scale(1.03);z-index:10}.card-item img{display:block;width:100%;aspect-ratio:5 / 7;object-fit:cover;border-radius:10px;background:#ffffff0a;box-shadow:0 6px 18px #00000080;outline:2px solid transparent;outline-offset:2px;transition:outline-color .15s ease}.card-item--plot img{aspect-ratio:7 / 5}.card-item.in-deck img{outline-color:color-mix(in srgb,var(--ui-accent) 80%,transparent)}.card-item.is-maxed img{filter:saturate(.7) brightness(.85)}.card-quantity-badge{position:absolute;top:-8px;right:-8px;min-width:34px;height:24px;padding:0 7px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(180deg,var(--ui-accent-strong),var(--ui-accent));color:#1a1408;font-weight:700;font-size:.75rem;font-variant-numeric:tabular-nums;box-shadow:0 3px 10px #00000080}.db-empty{grid-column:1 / -1;padding:48px 0;text-align:center;color:var(--ui-text-faint)}.deck-panel{width:360px;flex-shrink:0;display:flex;flex-direction:column;background:var(--db-panel-bg);border-left:1px solid var(--ui-border);box-shadow:-10px 0 40px #0006;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.deck-header{padding:18px 18px 16px;border-bottom:1px solid var(--ui-border);background:linear-gradient(180deg,color-mix(in srgb,var(--faction-accent) 12%,transparent),transparent)}.deck-name-input{padding:6px 8px;margin:0 -8px 12px;width:calc(100% + 16px);border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ui-text);font-family:var(--font-display);font-size:1.35rem;font-weight:700;transition:border-color .15s ease,background .15s ease}.deck-name-input:hover{background:#ffffff08}.deck-name-input:focus{outline:none;border-color:#d4a84b80;background:#00000040}.faction-agenda-selectors{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.selector-box{display:flex;align-items:center;gap:10px;min-width:0;height:56px;padding:0 10px;border-radius:10px;border:1px solid var(--ui-border);background:#00000040;color:var(--ui-text);font-family:var(--font-body);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease}.selector-box:hover{border-color:color-mix(in srgb,var(--faction-accent) 60%,transparent);background:#ffffff0a}.selector-icon{width:34px;height:34px;object-fit:contain;flex-shrink:0}.selector-icon--card{width:28px;height:40px;object-fit:cover;border-radius:4px}.selector-icon--empty{display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px dashed var(--ui-border-strong);color:var(--ui-text-faint)}.selector-text{display:flex;flex-direction:column;min-width:0}.selector-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ui-text-faint)}.selector-value{font-size:.8125rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-stats{display:flex;flex-direction:column;gap:10px}.db-progress__head{display:flex;justify-content:space-between;margin-bottom:5px;font-size:.78rem;color:var(--ui-text-dim)}.db-progress__value{color:var(--ui-text);font-weight:600;font-variant-numeric:tabular-nums}.db-progress__value span{color:var(--ui-text-faint);font-weight:400}.db-progress__track{height:5px;border-radius:999px;background:#ffffff12;overflow:hidden}.db-progress__fill{height:100%;border-radius:inherit;background:var(--ui-warn);transition:width .25s var(--ui-ease),background .2s ease}.db-progress.is-ok .db-progress__fill{background:var(--ui-ok)}.db-progress.is-over .db-progress__fill{background:var(--ui-danger)}.db-error{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#e0483a1a;color:#f07a6e;font-size:.78rem}.db-campaign-ok{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#43c1771a;color:var(--ui-ok);font-size:.78rem}.deck-content{flex:1;overflow-y:auto;padding:12px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.deck-section{margin-bottom:18px}.section-title{display:flex;align-items:center;justify-content:space-between;padding:0 8px 6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ui-text-faint)}.section-count{padding:1px 7px;border-radius:999px;background:#ffffff0f;color:var(--ui-text-dim);font-variant-numeric:tabular-nums}.db-section-empty{padding:6px 8px;font-size:.8rem;color:var(--ui-text-faint);font-style:italic}.db-row{--row-accent: var(--ui-accent);position:relative;display:flex;align-items:center;gap:8px;height:34px;padding:0 6px 0 12px;margin-bottom:2px;border-radius:8px;cursor:pointer;transition:background .12s ease}.db-row:before{content:"";position:absolute;left:3px;top:9px;bottom:9px;width:3px;border-radius:2px;background:var(--row-accent);opacity:.8}.db-row:hover{background:#ffffff0f}.db-row__qty{width:24px;font-weight:700;font-size:.8125rem;color:var(--ui-accent);font-variant-numeric:tabular-nums}.db-row__name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem}.db-row__stat{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#00000059;font-size:.72rem;color:var(--ui-text-dim)}.db-row__controls{display:none;gap:2px}.db-row:hover .db-row__controls{display:flex}.db-row:hover .db-row__stat{display:none}.db-row__btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:#ffffff14;color:var(--ui-text);cursor:pointer}.db-row__btn:hover{background:#d4a84b4d}.deck-footer{display:flex;flex-direction:column;gap:10px;padding:14px 18px 18px;border-top:1px solid var(--ui-border)}.deck-footer__tools{display:flex;gap:8px}.deck-footer__tools .ui-btn{flex:1}.deck-footer__main{display:flex;gap:8px}.deck-footer__main .ui-btn{flex:1}.deck-footer__main .ui-btn--primary{flex:2}.db-pick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.db-pick-grid--cards{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.db-pick{--pick-accent: var(--ui-accent);display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 12px;border-radius:12px;border:1px solid var(--ui-border);background:#ffffff05;color:var(--ui-text-dim);font-family:var(--font-body);font-size:.78rem;text-align:center;cursor:pointer;transition:all .15s ease}.db-pick:hover{background:#ffffff0d;color:var(--ui-text);border-color:var(--ui-border-strong)}.db-pick.is-active{color:var(--ui-text);border-color:color-mix(in srgb,var(--pick-accent) 70%,transparent);background:color-mix(in srgb,var(--pick-accent) 12%,transparent)}.db-pick img{width:56px;height:56px;object-fit:contain}.db-pick .db-pick__card{width:100%;height:auto;aspect-ratio:5 / 7;object-fit:cover;border-radius:8px}.db-pick__none{width:100%;aspect-ratio:5 / 7;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px dashed var(--ui-border-strong);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}@keyframes db-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-preview-tooltip{position:fixed;top:50%;transform:translateY(-50%);z-index:2001;pointer-events:none;animation:db-fade .15s ease-out}.card-preview-tooltip.agenda-preview-tooltip{right:40px}.card-preview-tooltip.deck-list-preview{right:380px}.card-preview-tooltip .card-preview{position:relative;top:auto;left:auto;transform:none;box-shadow:0 10px 40px #000c,0 0 20px #d4a84b33}@media(max-width:900px){.deck-panel{width:300px}.card-preview-tooltip.deck-list-preview{right:320px}.db-pick-grid{grid-template-columns:repeat(2,1fr)}}.deck-library{height:100vh;height:100dvh;overflow-y:auto;color:var(--ui-text);font-family:var(--font-body);background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(212,168,75,.1),transparent 70%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(139,0,0,.1),transparent 70%),#0b0b11}.dl-shell{max-width:1240px;margin:0 auto;padding:24px 32px 64px}.dl-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.dl-topbar__actions{display:flex;gap:10px}.dl-heading{margin-bottom:24px}.dl-title{font-family:var(--font-display);font-size:2.25rem;font-weight:700;letter-spacing:.02em;color:var(--ui-text)}.dl-subtitle{margin-top:6px;color:var(--ui-text-dim);font-size:.9rem}.dl-filters{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--ui-border)}.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.dl-card{--faction-accent: var(--ui-accent);position:relative;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:1px solid var(--ui-border);background:var(--ui-surface);box-shadow:0 8px 24px #00000059;transition:transform .2s var(--ui-ease),border-color .2s ease,box-shadow .2s ease;animation:ui-rise .3s var(--ui-ease) backwards}.dl-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--faction-accent) 55%,transparent);box-shadow:0 16px 40px #00000073,0 0 0 1px color-mix(in srgb,var(--faction-accent) 20%,transparent)}.dl-card__banner{position:relative;height:128px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(circle at 50% 60%,color-mix(in srgb,var(--faction-accent) 32%,transparent),transparent 70%),linear-gradient(180deg,color-mix(in srgb,var(--faction-accent) 14%,#111),#121219);border-bottom:1px solid var(--ui-border)}.dl-card__sigil{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 6px 16px rgba(0,0,0,.6));transition:transform .25s var(--ui-ease)}.dl-card:hover .dl-card__sigil{transform:scale(1.06)}.dl-card__agenda{position:absolute;right:12px;bottom:-18px;width:52px;aspect-ratio:5 / 7;object-fit:cover;border-radius:6px;border:2px solid #121219;box-shadow:0 6px 14px #00000080;z-index:1}.dl-card__tags{position:absolute;top:10px;left:10px;display:flex;gap:6px}.dl-card__body{padding:16px 18px 12px;flex:1}.dl-card__name{font-size:1.05rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:56px}.dl-card__meta{margin-top:4px;font-size:.8125rem;color:var(--ui-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dl-card__stats{display:flex;gap:14px;margin-top:12px;font-size:.8125rem;color:var(--ui-text-faint);font-variant-numeric:tabular-nums}.dl-card__stats strong{color:var(--ui-text);font-weight:600}.dl-card__actions{display:flex;align-items:center;gap:4px;padding:10px 12px 12px}.dl-card__edit{flex:1;margin-right:4px}.dl-new-card{min-height:290px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-radius:16px;border:1.5px dashed var(--ui-border-strong);background:transparent;color:var(--ui-text-dim);font-family:var(--font-body);cursor:pointer;transition:all .2s ease}.dl-new-card:hover{border-color:#d4a84b99;background:#d4a84b0d;color:var(--ui-text)}.dl-new-card__icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:6px;border-radius:50%;background:#d4a84b1f;color:var(--ui-accent)}.dl-new-card__label{font-size:1rem;font-weight:600}.dl-new-card__hint{font-size:.8125rem;color:var(--ui-text-faint)}.dl-empty{padding:40px 0;text-align:center;color:var(--ui-text-faint)}@media(max-width:640px){.dl-shell{padding:16px 16px 48px}.dl-title{font-size:1.75rem}.ui-search{min-width:0;flex:1 1 100%}}.debug-simulator{display:flex;flex-direction:column;height:100vh;height:100dvh;background-color:#1a1e24;color:#e2e8f0}.debug-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#0f172a;border-bottom:1px solid #334155}.debug-header h1{font-size:1.5rem;color:gold;margin:0}.debug-header-controls{display:flex;gap:1rem;align-items:center}.debug-header-controls select{margin-left:.5rem;padding:.25rem;background:#1e293b;color:#fff;border:1px solid #475569;border-radius:4px}.debug-content{display:flex;flex:1;overflow:hidden}.debug-library{width:350px;background-color:#0f172a;border-right:1px solid #334155;display:flex;flex-direction:column;padding:1rem}.debug-filters{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.debug-filters input,.debug-filters select{padding:.5rem;background:#1e293b;color:#fff;border:1px solid #475569;border-radius:4px}.debug-card-grid{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.5rem}.debug-card-item{display:flex;flex-direction:column;align-items:center;background:#1e293b;padding:.5rem;border-radius:8px;border:1px solid #334155}.debug-card-item .card{width:120px;height:168px;margin-bottom:.5rem}.debug-add-controls{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center}.debug-add-controls button{font-size:.75rem;padding:.25rem .5rem;background:#3b82f6;color:#fff;border:none;border-radius:3px;cursor:pointer}.debug-add-controls button:hover{background:#2563eb}.debug-state-config{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:1rem}.debug-player-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.debug-player-tabs .tab{padding:.75rem 1.5rem;background:#1e293b;color:#94a3b8;border:1px solid #334155;border-radius:4px;cursor:pointer;font-weight:700}.debug-player-tabs .tab.active{background:#3b82f6;color:#fff;border-color:#2563eb}.debug-player-stats{display:flex;gap:2rem;background:#1e293b;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #334155}.debug-player-stats label{display:flex;align-items:center;gap:.5rem}.debug-player-stats input{width:60px;padding:.25rem;background:#0f172a;color:#fff;border:1px solid #475569;border-radius:4px}.debug-zones-config{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.debug-zone{background:#0f172a;border:1px dashed #475569;border-radius:8px;padding:1rem;min-height:200px}.debug-zone h4{margin-top:0;margin-bottom:1rem;color:#94a3b8;border-bottom:1px solid #334155;padding-bottom:.5rem}.debug-zone-cards{display:flex;flex-wrap:wrap;gap:.5rem}.debug-staged-card{position:relative;width:60px}.debug-staged-card .card{width:60px;height:84px}.debug-staged-card .remove-btn{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;border:none;border-radius:50%;width:20px;height:20px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10}.debug-staged-card .remove-btn:hover{background:#dc2626}.empty-zone{color:#475569;font-size:.875rem;font-style:italic;width:100%;text-align:center;padding:2rem 0}.debug-staged-card .card.debug-landscape{width:84px;height:60px}.debug-card-item .card.debug-landscape,.debug-card-item .card-container.debug-landscape{width:168px;height:120px}.auth-container{display:flex;height:100vh;height:100dvh;width:100vw;background:radial-gradient(circle at center,#1a202c,#0f1218);align-items:center;justify-content:center;color:#e0e0e0;font-family:Inter,sans-serif;padding:20px}.auth-card{background:#141923f2;padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 48px #00000080;width:100%;max-width:450px;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .4s ease-out}.auth-card .back-btn{position:absolute;top:20px;left:20px;background:none;border:none;color:#a0a0a0;cursor:pointer;font-size:.9rem;padding:5px 10px;transition:color .2s}.auth-card .back-btn:hover{color:#fff}.auth-title{font-size:2.2rem;font-weight:800;margin-bottom:10px;text-align:center;background:linear-gradient(135deg,#fff,#a0a0a0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.auth-subtitle{font-size:.95rem;color:#a0a0a0;text-align:center;margin-bottom:30px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:#3b82f6;font-weight:700}.form-group input{background:#00000059;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 16px;color:#fff;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.auth-error{background:#ef444426;border-radius:10px;padding:12px;color:#f87171;font-size:.85rem;border:1px solid rgba(239,68,68,.2);text-align:center}.auth-submit{background:#3b82f6;color:#fff;border:none;padding:14px;border-radius:10px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;margin-top:10px}.auth-submit:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 15px #3b82f64d}.auth-toggle{text-align:center;margin-top:30px;color:#a0a0a0;font-size:.9rem}.auth-toggle button{background:none;border:none;color:#3b82f6;font-weight:700;margin-left:8px;cursor:pointer}.auth-toggle button:hover{text-decoration:underline}.profile-container{display:flex;height:100vh;height:100dvh;width:100vw;background:radial-gradient(circle at center,#1a202c,#0f1218);align-items:center;justify-content:center;color:#e0e0e0;font-family:Inter,sans-serif;padding:20px}.profile-card{background:#141923f2;padding:40px;border-radius:20px;border:1px solid rgba(255,255,255,.1);box-shadow:0 12px 48px #00000080;width:100%;max-width:500px;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .4s ease-out}.profile-card .back-btn{position:absolute;top:20px;left:20px;background:none;border:none;color:#a0a0a0;cursor:pointer;font-size:.9rem;padding:5px 10px;transition:color .2s}.profile-card .back-btn:hover{color:#fff}.profile-header{display:flex;align-items:center;gap:20px;margin-top:30px;margin-bottom:30px}.profile-avatar{width:70px;height:70px;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;color:#fff;box-shadow:0 4px 15px #3b82f64d}.profile-info{display:flex;flex-direction:column}.profile-username{font-size:1.8rem;font-weight:800;margin:0;color:#fff}.profile-joined{font-size:.85rem;color:#a0a0a0;margin:4px 0 0}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:30px}.stat-item{background:#ffffff0d;padding:15px;border-radius:12px;text-align:center;border:1px solid rgba(255,255,255,.05)}.stat-value{font-size:1.25rem;font-weight:700;color:#3b82f6;margin-bottom:4px}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#a0a0a0;font-weight:600}.profile-decks-preview{margin-bottom:30px}.profile-decks-preview h3{font-size:1rem;text-transform:uppercase;letter-spacing:1px;color:#3b82f6;margin-bottom:15px;font-weight:700}.mini-deck-list{display:flex;flex-direction:column;gap:8px}.mini-deck-item{background:#00000040;padding:10px 15px;border-radius:8px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.05)}.faction-dot{width:8px;height:8px;border-radius:50%}.deck-name{font-size:.9rem;color:#e0e0e0}.no-decks{font-size:.85rem;color:#a0a0a0;font-style:italic;text-align:center}.logout-btn{width:100%;background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2);padding:12px;border-radius:10px;font-weight:700;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ef444433;color:#ef4444}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lobby{height:100vh;height:100dvh;width:100vw;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at center,#1a1a2e,#16213e);color:#fff}.lobby__glass{background:#ffffff0d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:3rem;width:90%;max-width:800px;box-shadow:0 8px 32px #0000005e}.lobby__title{text-align:center;margin-bottom:2rem;font-size:2.5rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;background:linear-gradient(45deg,#fff 30%,#aaa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lobby__section{margin-bottom:2rem}.lobby__section h3{margin-bottom:1rem;color:#aaa;font-size:.9rem;text-transform:uppercase}.lobby__deck-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;max-height:300px;overflow-y:auto;padding-right:.5rem;margin-bottom:1rem}.lobby__deck-item{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:1rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s ease}.lobby__deck-item:hover{background:#ffffff1a;transform:translateY(-2px)}.lobby__deck-item.selected{background:#ffffff26;border-color:gold;box-shadow:0 0 15px #ffd70033}.lobby__actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem}.lobby__action-group{display:flex;flex-direction:column;gap:1rem}.lobby__divider{color:#444;font-weight:700}.lobby__input{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.8rem 1rem;color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.lobby__input:focus{border-color:#ffffff4d}.lobby__waiting{text-align:center;padding:2rem}.highlight{color:gold;font-weight:700;margin-left:.5rem}.lobby__spinner-container{margin:3rem 0;display:flex;flex-direction:column;align-items:center;gap:1rem}.lobby__spinner,.lobby__success-icon{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:gold;border-radius:50%;animation:spin 1s linear infinite;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:gold}.lobby__success-icon{animation:none;border-color:gold}.lobby__error{margin:0 0 1rem;padding:.6rem .9rem;border:1px solid #8b2c2c;border-radius:6px;background:#5c1c1c;color:#ffb3b3;font-size:.9rem}.lobby__cancel,.lobby__back{margin-top:2rem;background:transparent;border:none;color:#888;cursor:pointer;text-decoration:underline;font-size:.9rem}.lobby__cancel:hover,.lobby__back:hover{color:#fff}.btn{padding:.8rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:1px}.btn--primary{background:linear-gradient(135deg,gold,#b8860b);color:#000}.btn--primary:hover{transform:scale(1.02);box-shadow:0 4px 15px #daa52066}.btn--secondary{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.btn--secondary:hover{background:#fff3}.lobby__public{height:100%}.lobby__public-list{background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px;max-height:250px;overflow-y:auto;display:flex;flex-direction:column}.lobby__public-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.lobby__public-item:last-child{border-bottom:none}.lobby__public-item:hover{background:#ffffff05}.lobby__public-info{display:flex;align-items:center;gap:1.5rem}.lobby__public-details{display:flex;flex-direction:column}.host-name{font-weight:700;font-size:1rem;color:gold}.deck-name{font-size:.8rem;color:#888}.no-rooms{padding:2rem;text-align:center;color:#666;font-style:italic}.btn--small{padding:.4rem 1rem;font-size:.8rem}:root{--stark-color: #5c636a;--lannister-color: #c9a82e;--baratheon-color: #e8a917;--greyjoy-color: #1a1a2e;--martell-color: #d35400;--targaryen-color: #8b0000;--tyrell-color: #27ae60;--nightswatch-color: #1c1c1c;--neutral-color: #6c757d;--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a28;--bg-card: #1e1e2e;--bg-hover: #252538;--text-primary: #e8e6e0;--text-secondary: #a09c95;--text-muted: #6e6a63;--text-gold: #d4a84b;--text-danger: #c0392b;--gold: #d4a84b;--gold-bright: #f0c040;--power-blue: #3498db;--military-red: #c0392b;--intrigue-green: #27ae60;--power-gold: #d4a84b;--claim-orange: #e67e22;--border-color: #2a2a3a;--border-gold: rgba(212, 168, 75, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6);--shadow-glow: 0 0 20px rgba(212, 168, 75, .15);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--font-display: "Cinzel", serif;--font-body: "Inter", sans-serif;--font-flavor: "Crimson Text", serif;--transition-quick: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease-out;--transition-extra-slow: .8s cubic-bezier(.4, 0, .2, 1);--card-shadow-3d: 0 1px 1px rgba(0,0,0,.1), 0 2px 2px rgba(0,0,0,.1), 0 4px 4px rgba(0,0,0,.1), 0 8px 8px rgba(0,0,0,.1), 0 16px 16px rgba(0,0,0,.1);--card-edge-highlight: linear-gradient(135deg, rgba(255,255,255,.2) 0%, transparent 50%, rgba(0,0,0,.2) 100%);--perspective: 1500px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;height:100dvh;width:100vw}#root{height:100vh;height:100dvh;width:100vw;overflow:hidden}.main-menu{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 30% 20%,rgba(139,0,0,.15) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(212,168,75,.1) 0%,transparent 50%),linear-gradient(180deg,#0a0a0f,#0d0d15,#0a0a0f);gap:2rem}.main-menu__title{font-family:var(--font-display);font-size:3.5rem;font-weight:900;background:linear-gradient(135deg,#d4a84b,#f0c040 40%,#d4a84b 60%,#aa8535);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 40px rgba(212,168,75,.2);text-align:center;line-height:1.2;letter-spacing:2px}.main-menu__subtitle{font-family:var(--font-flavor);font-size:1.2rem;color:var(--text-secondary);font-style:italic;margin-top:-.5rem}.main-menu__buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:2rem}.btn{padding:.85rem 2.5rem;font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:1px;border:1px solid var(--border-gold);border-radius:var(--radius-md);background:#d4a84b14;color:var(--text-gold);cursor:pointer;transition:all var(--transition-normal);min-width:260px;text-align:center}.btn:hover{background:#d4a84b26;border-color:var(--gold);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:linear-gradient(135deg,#d4a84b33,#d4a84b0d);border-color:var(--gold)}.btn--danger{border-color:#c0392b66;color:var(--text-danger);background:#c0392b14}.btn--danger:hover{border-color:var(--text-danger);background:#c0392b26;box-shadow:0 0 20px #c0392b26}.btn--small{padding:.5rem 1.2rem;font-size:.8rem;min-width:auto}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.faction-select{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;padding:2rem;background:var(--bg-primary);overflow-y:auto}.faction-select__title{font-family:var(--font-display);font-size:2rem;color:var(--text-gold);margin-bottom:.5rem}.faction-select__subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.faction-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:900px;width:100%}.faction-card{padding:1.5rem;border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);cursor:pointer;transition:all var(--transition-normal);text-align:center;position:relative;overflow:hidden}.plot-area{width:115px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:.5rem 0}.faction-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--faction-color);opacity:.7}.faction-card:hover{border-color:var(--faction-color);transform:translateY(-4px);box-shadow:0 8px 24px #0006,0 0 0 1px var(--faction-color)}.faction-card.selected{border-color:var(--gold);box-shadow:0 0 20px #d4a84b4d,inset 0 0 30px #d4a84b0d}.faction-card__sigil{font-size:2.5rem;margin-bottom:.5rem}.faction-card__name{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.faction-card__motto{font-family:var(--font-flavor);font-size:.8rem;font-style:italic;color:var(--text-muted)}.faction-select__actions{margin-top:2rem;display:flex;gap:1rem}.card-3d-wrapper{perspective:1000px;width:110px;height:154px;position:relative;z-index:1}.card{width:110px;height:154px;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;position:relative;flex-shrink:0;display:flex;flex-direction:column;transform-style:preserve-3d;box-shadow:var(--shadow-sm);transition:border-color var(--transition-quick),box-shadow var(--transition-quick)}.card__image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:1}.card__content-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.8) 100%);border:1px solid rgba(255,255,255,.1)}.card-shadow-layer{position:absolute;inset:0;border-radius:var(--radius-md);background:#111;transform:translateZ(-5px);box-shadow:0 1px #444,0 2px #333,0 3px #222,0 4px #111,0 6px 12px #000c}.card-with-attachments{display:flex;flex-direction:row;align-items:flex-end;gap:0;min-height:0}.card-with-attachments>.card:not(.card--attachment){z-index:5;position:relative}.card--kneeling{margin:15px 22px}.card--selected{border-color:var(--gold-bright);box-shadow:0 0 12px #f0c04066}.card--playable{border-color:#27ae6080}.card--playable:hover{border-color:var(--intrigue-green);box-shadow:0 0 12px #27ae604d}.card--face-down{background:linear-gradient(135deg,#1a1a28,#252538);border-color:var(--border-color)}.card--has-dupes{box-shadow:3px 3px #0009,3px 3px 0 1px var(--border-color),6px 6px #0006,6px 6px 0 1px var(--border-color)}.card__dupe-badge{position:absolute;top:4px;right:4px;background:var(--bg-primary);color:var(--text-gold);border:1px solid var(--border-gold);border-radius:var(--radius-sm);padding:1px 4px;font-size:.6rem;font-weight:700;z-index:10;box-shadow:var(--shadow-sm)}.card__first-player-badge{position:absolute;top:-8px;left:-8px;background:linear-gradient(135deg,#f0c040,#d4a84b,#aa8535);color:#000;border-radius:50%;width:28px;height:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;box-shadow:0 0 10px #d4a84b80,0 2px 4px #0006;border:1.5px solid rgba(255,255,255,.3);animation:first-player-pulse 3s infinite ease-in-out}@keyframes first-player-pulse{0%{box-shadow:0 0 10px #d4a84b80;transform:scale(1)}50%{box-shadow:0 0 18px #d4a84bcc;transform:scale(1.05)}to{box-shadow:0 0 10px #d4a84b80;transform:scale(1)}}.card__first-player-icon{font-size:.7rem;line-height:1;margin-bottom:-1px}.card__first-player-text{font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:-.5px;line-height:1}.card__first-player-badge:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.4) 50%,transparent 60%);animation:badge-shimmer 4s infinite linear}@keyframes badge-shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.card--face-down:after{content:"🗡️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.2rem;opacity:.3}.card__faction-bar{height:3px;width:100%;flex-shrink:0}.card__body{flex:1;padding:3px;display:flex;flex-direction:column;min-height:0}.card__name{font-family:var(--font-display);font-size:.5rem;font-weight:600;color:var(--text-primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__type-line{font-size:.42rem;color:var(--text-muted);margin-top:1px}.card__cost{position:absolute;top:4px;right:4px;width:16px;height:16px;border-radius:50%;background:var(--gold);color:#000;font-size:.55rem;font-weight:700;display:flex;align-items:center;justify-content:center}.card__strength{position:absolute;bottom:4px;right:4px;width:16px;height:16px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:var(--text-primary);font-size:.55rem;font-weight:700;display:flex;align-items:center;justify-content:center}.card__icons{display:flex;gap:2px;margin-top:auto;padding-top:2px}.card__icon{width:13px;height:13px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.45rem;border:1px solid}.card__icon--military{background:#c0392b33;border-color:var(--military-red);color:var(--military-red)}.card__icon--intrigue{background:#27ae6033;border-color:var(--intrigue-green);color:var(--intrigue-green)}.card__icon--power{background:#d4a84b33;border-color:var(--power-gold);color:var(--power-gold)}.card__power-token{position:absolute;bottom:4px;left:4px;width:14px;height:14px;border-radius:50%;background:var(--power-blue);color:#fff;font-size:.45rem;font-weight:700;display:flex;align-items:center;justify-content:center}.card__unique{font-size:.5rem;color:var(--text-gold);margin-right:2px}.card-preview{position:fixed;z-index:20000;width:280px;background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),var(--shadow-glow);padding:1rem;pointer-events:none}.card-preview__name{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-gold);margin-bottom:.25rem}.card-preview__type{font-size:.8rem;color:var(--text-secondary);margin-bottom:.5rem;text-transform:capitalize}.card-preview__stats{display:flex;gap:.75rem;margin-bottom:.5rem;font-size:.85rem}.phase-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:5000;pointer-events:none;animation:phaseFadeInOut 2s forwards}.phase-overlay__content{text-align:center}.phase-overlay__title{font-family:var(--font-display);font-size:4rem;color:var(--text-gold);text-transform:uppercase;letter-spacing:.5rem;text-shadow:0 0 30px rgba(212,168,75,.5);margin-bottom:.5rem}.phase-overlay__subtitle{font-family:var(--font-flavor);font-size:1.5rem;color:var(--text-secondary);font-style:italic}@keyframes phaseFadeInOut{0%{opacity:0;transform:scale(1.1)}15%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.card-preview__text{font-size:.8rem;color:var(--text-primary);line-height:1.5;margin-bottom:.5rem}.card-preview__flavor{font-family:var(--font-flavor);font-size:.75rem;font-style:italic;color:var(--text-muted);line-height:1.4}.card-preview__traits{font-size:.75rem;font-weight:600;font-style:italic;color:var(--text-secondary);margin-bottom:.25rem}.sidebar{background:var(--bg-secondary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;height:100vh;height:100dvh}.sidebar__header{padding:.75rem;border-bottom:1px solid var(--border-color);font-family:var(--font-display);font-size:.85rem;color:var(--text-gold);text-align:center;position:relative;display:flex;align-items:center;justify-content:center;gap:10px}.bug-report-btn{background:transparent;border:none;cursor:pointer;font-size:1.1rem;padding:4px;line-height:1;transition:transform var(--transition-quick);display:flex;align-items:center;justify-content:center;border-radius:4px}.bug-report-btn:hover{transform:scale(1.2);background:#ffffff0d}.sidebar__actions{padding:.75rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.waiting-for-opponent{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.78rem;color:#aaa;padding:.4rem 0}.quit-confirm{display:flex;flex-direction:column;gap:.4rem}.quit-confirm__prompt{font-size:.8rem;color:var(--text-muted);text-align:center}.quit-confirm__btns{display:flex;gap:.4rem}.action-prompt{font-family:var(--font-display);font-size:.75rem;color:var(--text-gold);text-align:center;padding:.5rem;background:#d4a84b0d;border-radius:var(--radius-sm);border:1px solid var(--border-gold)}.challenge-buttons{display:flex;gap:.5rem}.challenge-btn{flex:1;padding:.5rem .25rem;font-size:.7rem;font-family:var(--font-display);font-weight:600;border:1px solid;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-quick);background:transparent;text-align:center}.challenge-btn--military{border-color:#c0392b66;color:var(--military-red)}.challenge-btn--military:hover:not(:disabled){background:#c0392b26}.challenge-btn--intrigue{border-color:#27ae6066;color:var(--intrigue-green)}.challenge-btn--intrigue:hover:not(:disabled){background:#27ae6026}.challenge-btn--power{border-color:#d4a84b66;color:var(--power-gold)}.challenge-btn--power:hover:not(:disabled){background:#d4a84b26}.challenge-btn:disabled{opacity:.3;cursor:not-allowed}.game-log{flex:1;overflow-y:auto;padding:.5rem;font-size:.7rem;display:flex;flex-direction:column;gap:2px}.log-entry{padding:3px 6px;border-radius:2px;line-height:1.4;color:var(--text-secondary)}.log-entry--phase{color:var(--text-gold);font-weight:600;margin-top:4px}.log-entry--round{color:var(--text-primary);font-weight:700;font-family:var(--font-display);font-size:.75rem;margin-top:8px;padding:4px 6px;background:#d4a84b0d;border-radius:var(--radius-sm)}.log-entry--marshal{color:#81c784}.log-entry--challenge{color:#90caf9}.log-entry--power{color:var(--power-blue)}.log-entry--kill{color:var(--military-red)}.log-entry--gold{color:var(--gold)}.log-entry--keyword{color:#ce93d8}.log-entry--victory{color:var(--gold-bright);font-weight:700;font-size:.8rem;padding:6px;background:#d4a84b1a;border-radius:var(--radius-sm)}.log-card-link{color:inherit;border-bottom:1px dotted currentColor;cursor:default;opacity:.9}.log-card-link:hover{opacity:1;border-bottom-style:solid}.card-tooltip-popup{position:fixed;z-index:9999;transform:translate(-50%,calc(-100% - 10px));pointer-events:none;filter:drop-shadow(0 4px 16px rgba(0,0,0,.85));border-radius:6px;overflow:hidden}.card-tooltip-img{display:block;width:180px;border-radius:6px}.plot-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.plot-modal__content{background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-xl);padding:1.5rem;max-width:800px;width:90%;box-shadow:var(--shadow-lg)}.plot-modal__title{font-family:var(--font-display);font-size:1.2rem;color:var(--text-gold);text-align:center;margin-bottom:1rem}.plot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem}.plot-option{padding:.75rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);cursor:pointer;transition:all var(--transition-normal)}.plot-option:hover{border-color:var(--gold);background:var(--bg-hover)}.plot-option.selected{border-color:var(--gold-bright);box-shadow:0 0 12px #f0c0404d}.plot-option.is-locked{opacity:.35;filter:grayscale(.7);cursor:not-allowed}.plot-option.is-locked:hover{border-color:var(--border-color);background:var(--bg-card)}.plot-option__name{font-family:var(--font-display);font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:.4rem}.plot-option__stats{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;font-size:.7rem}.plot-option__stat{color:var(--text-secondary)}.plot-option__stat span{color:var(--text-primary);font-weight:600}.plot-option__text{font-size:.65rem;color:var(--text-muted);margin-top:.4rem;line-height:1.3}.game-over{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,rgba(212,168,75,.08) 0%,transparent 60%),var(--bg-primary);gap:1.5rem}.game-over__title{font-family:var(--font-display);font-size:3rem;font-weight:900}.game-over__title--win{background:linear-gradient(135deg,#d4a84b,#f0c040);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.game-over__title--lose{color:var(--military-red)}.game-over__subtitle{font-family:var(--font-flavor);font-size:1.2rem;color:var(--text-secondary);font-style:italic}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #d4a84b33}50%{box-shadow:0 0 16px #d4a84b66}}.animate-fade-in{animation:fadeIn var(--transition-slow) forwards}.animate-slide-up{animation:slideUp var(--transition-slow) forwards}.animate-pulse{animation:pulse-glow 2s ease-in-out infinite}.card-enlarged-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:50000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease-out}.card-enlarged-container{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.card-enlarged-image{max-height:85vh;width:auto;border-radius:var(--radius-lg);box-shadow:0 0 50px #000c,0 0 20px #d4a84b33;border:1px solid var(--border-gold);animation:slideUp .25s ease-out}.card-enlarged-info{text-align:center;color:var(--text-primary);background:#0009;padding:1rem 2rem;border-radius:var(--radius-md);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-enlarged-name{font-family:var(--font-display);font-size:1.5rem;color:var(--text-gold);margin-bottom:.5rem}.card-enlarged-traits{font-family:var(--font-flavor);font-style:italic;font-size:1.1rem;color:var(--text-secondary)}.card--landscape{width:154px!important;height:110px!important}.card--landscape .card__image{width:154px;height:110px}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-xl);padding:2rem;width:90%;max-width:600px;box-shadow:var(--shadow-lg);position:relative;animation:slideUp .25s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.pile-viewer-overlay{position:fixed;inset:0;background:#000000f2;z-index:2000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s ease-out}.pile-viewer{width:90vw;height:85vh;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-lg)}.pile-viewer__header{padding:1.5rem 2rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.pile-viewer__title{font-family:var(--font-display);font-size:1.8rem;color:var(--text-gold);margin:0}.pile-viewer__grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1.5rem;padding:2rem;overflow-y:auto}.pile-viewer__grid--landscape{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.pile-viewer__close{padding:.5rem 1.5rem;font-family:var(--font-display);background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.pile-viewer__close:hover{background:#ffffff0d;color:var(--text-primary);border-color:var(--text-secondary)}.game-overlay{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.game-overlay--waiting{background:#0a0a14d9}.game-overlay__content{text-align:center;padding:2.5rem;background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 30px #d4a84b1a;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.phase-overlay{position:absolute;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;animation:fadeIn .4s ease-out}.phase-overlay__content{background:#14141ee6;padding:2rem 4rem;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);text-align:center;box-shadow:0 0 50px #000c;transform:scale(1.1)}.phase-overlay__title{font-family:var(--font-display);font-size:2.5rem;font-weight:900;color:var(--text-gold);text-transform:uppercase;letter-spacing:4px;margin-bottom:.5rem;text-shadow:0 0 20px rgba(212,168,75,.4)}.phase-overlay__subtitle{font-family:var(--font-flavor);font-size:1.1rem;color:var(--text-secondary);font-style:italic;letter-spacing:2px}.lobby__spinner{width:50px;height:50px;border:3px solid rgba(212,168,75,.1);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--ui-surface: rgba(22, 22, 32, .72);--ui-surface-strong: rgba(26, 26, 38, .96);--ui-surface-hover: rgba(255, 255, 255, .06);--ui-border: rgba(255, 255, 255, .08);--ui-border-strong: rgba(255, 255, 255, .16);--ui-accent: #d4a84b;--ui-accent-strong: #f0c040;--ui-text: #ece9e2;--ui-text-dim: #a19d95;--ui-text-faint: #6e6a63;--ui-ok: #43c177;--ui-warn: #e8a13a;--ui-danger: #e0483a;--ui-radius: 12px;--ui-ease: cubic-bezier(.2, .8, .2, 1)}.back-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;margin-bottom:20px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:10px;border:1px solid var(--ui-border-strong);background:#ffffff0a;color:var(--ui-text);font-family:var(--font-body);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}.ui-btn:hover{background:var(--ui-surface-hover);border-color:#ffffff42}.ui-btn:active{transform:translateY(1px)}.ui-btn:focus-visible,.ui-icon-btn:focus-visible,.ui-chip:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ui-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.ui-btn--sm{height:34px;padding:0 12px;font-size:.8125rem;border-radius:8px}.ui-btn--ghost{background:transparent;border-color:var(--ui-border)}.ui-btn--soft{background:#ffffff0f;border-color:transparent}.ui-btn--soft:hover{background:#ffffff1f;border-color:transparent}.ui-btn--primary{background:linear-gradient(180deg,var(--ui-accent-strong),var(--ui-accent));border-color:transparent;color:#1a1408;font-weight:600;box-shadow:0 4px 18px #d4a84b40,inset 0 1px #ffffff59}.ui-btn--primary:hover{background:linear-gradient(180deg,#f6cd5a,#dcb152);border-color:transparent;box-shadow:0 6px 24px #d4a84b59,inset 0 1px #ffffff59}.ui-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ui-text-dim);cursor:pointer;transition:background .15s ease,color .15s ease}.ui-icon-btn:hover{background:var(--ui-surface-hover);color:var(--ui-text)}.ui-icon-btn--danger:hover{background:#e0483a24;color:var(--ui-danger)}.ui-search{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;min-width:240px;border-radius:10px;border:1px solid var(--ui-border);background:#00000040;color:var(--ui-text-faint);transition:border-color .15s ease,box-shadow .15s ease}.ui-search:focus-within{border-color:#d4a84b99;box-shadow:0 0 0 3px #d4a84b1f}.ui-search input{flex:1;min-width:0;border:none;background:transparent;color:var(--ui-text);font:inherit;font-size:.875rem;outline:none}.ui-search input::placeholder{color:var(--ui-text-faint)}.ui-chips{display:flex;flex-wrap:wrap;gap:6px}.ui-chip{--chip-accent: var(--ui-accent);display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--ui-border);background:#ffffff08;color:var(--ui-text-dim);font-family:var(--font-body);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.ui-chip img{width:18px;height:18px;object-fit:contain}.ui-chip:hover{color:var(--ui-text);border-color:var(--ui-border-strong)}.ui-chip.is-active{color:var(--ui-text);border-color:color-mix(in srgb,var(--chip-accent) 70%,transparent);background:color-mix(in srgb,var(--chip-accent) 16%,transparent)}.ui-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:#0000008c;color:var(--ui-text-dim);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ui-tag--gold{color:var(--ui-accent-strong)}.ui-tag--ok{color:var(--ui-ok)}.ui-tag--warn{color:var(--ui-warn)}.ui-modal-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:#040408b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:ui-fade .16s ease-out}.ui-modal{width:min(640px,100%);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--ui-border-strong);background:var(--ui-surface-strong);box-shadow:0 30px 80px #0009;color:var(--ui-text);animation:ui-pop .2s var(--ui-ease)}.ui-modal--wide{width:min(920px,100%)}.ui-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 12px}.ui-modal__title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:.02em}.ui-modal__subtitle{margin-top:4px;font-size:.8125rem;color:var(--ui-text-dim)}.ui-modal__body{padding:8px 22px 16px;overflow-y:auto}.ui-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px;border-top:1px solid var(--ui-border)}.ui-textarea{width:100%;min-height:260px;resize:vertical;padding:14px;border-radius:10px;border:1px solid var(--ui-border);background:#00000059;color:var(--ui-text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8125rem;line-height:1.55;outline:none}.ui-textarea:focus{border-color:#d4a84b99}.ui-hint{margin-top:10px;font-size:.75rem;color:var(--ui-text-faint)}.import-preview{margin-top:14px;display:flex;flex-direction:column;gap:10px}.import-preview__deck{--faction-accent: var(--ui-accent);display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;border:1px solid color-mix(in srgb,var(--faction-accent) 40%,transparent);background:color-mix(in srgb,var(--faction-accent) 8%,transparent)}.import-preview__deck img{width:36px;height:36px;object-fit:contain}.import-preview__name{font-weight:600}.import-preview__meta{font-size:.8125rem;color:var(--ui-text-dim)}.import-preview__counts{margin-left:auto;display:flex;gap:10px;font-size:.8125rem;font-variant-numeric:tabular-nums}.import-preview__counts .ok{color:var(--ui-ok)}.import-preview__counts .bad{color:var(--ui-warn)}.import-preview__warnings{list-style:none;max-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;font-size:.78rem;color:var(--ui-warn)}.import-preview__warnings li{display:flex;align-items:center;gap:6px}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes ui-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.ui-modal-overlay,.ui-modal{animation:none}}
