:root{--kry:#2b4b8c;--pen:#1f7a5a;--net:#5a2b6b;--cel:#b8902b;--neutral:#555;--rarity-common:#9aaa9a;--rarity-rare:#4a9eff;--rarity-epic:#b44aff;--rarity-legendary:#fa3;--bg:#10121a;--panel:#1b1f2e;--panel2:#222740;--border:#2a3050;--text:#eee;--text-dim:#eeeeee8c;--shadow-sm:0 2px 6px #0006;--shadow-md:0 4px 16px #0000008c;--shadow-lg:0 8px 32px #000000b3;--kry-deep:#16264a;--pen-deep:#0f3a2b;--net-deep:#2b1535;--cel-deep:#5e480f;--neutral-deep:#2a2a2a;--text-bright:#fff;--text-soft:#eeeeeebf;--text-info:#cfd6ff;--gold:#ffd36b;--shield:#ffe680;--hp-red:#ff8b8b;--hp-crit:#ff4040;--mana-blue:#7fc3ff;--gem-hi:#5bc5ff;--gem-lo:#1a7ec8;--success-green:#6fe06f;--danger:#ff6b6b;--target:#ff5050;--spell:#8250c8;--focus:var(--mana-blue);--btn-primary:#1b6;--btn-primary-hover:#26a060;--btn-accent:#b3402e;--btn-accent-hover:#c8523e;--btn-accent-deep:#8a2a1e;--btn-accent-deep-hover:#a03530;--btn-danger:#5a1a1a;--btn-danger-hover:#7a2a2a;--hover-bg:#3a445e;--active-bg:#4a5a8c;--atk-hi:#d4a200;--atk-lo:#8a6200;--hpb-hi:#c03030;--hpb-lo:#7a1010;--dur-hi:#3060c0;--dur-lo:#1a3a80;--ink:#0a0c18bf;--ink-soft:#0a0c1899;--ink-solid:#0a0c18;--scrim:#000000bf;--wash:#ffffff0f;--wash-strong:#ffffff1f;--input-bg:#0e1120e6;--border-hi:#6482c880;--danger-surface:#3a1a1acc;--danger-border:#c850504d;--success-surface:#0e2a1acc;--success-border:#50c86440;--sp-05:2px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--fs-xs:10px;--fs-sm:11px;--fs-base:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:20px;--fs-3xl:28px;--display-1:40px;--emoji-sm:14px;--emoji-md:22px;--emoji-lg:32px;--emoji-xl:44px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--r-xl:12px;--r-2xl:16px;--r-pill:999px;--r-round:50%;--shadow-emoji:drop-shadow(0 2px 4px #00000080);--shadow-badge:0 1px 4px #0009;--shadow-text:0 1px 0 #0006;--mx-bg-deep:#0d1119;--mx-panel:#1b2433;--mx-panel-hi:#2a3a52;--mx-cyan:#3fd2e8;--mx-cyan-dim:#1e6f8a;--mx-field:#cdd1c8;--mx-field-mark:#b8bdb2;--mx-steel-hi:#c8cdd6;--mx-steel-lo:#6a7280;--mx-gold:#e8b33a;--mx-gold-deep:#a87a18;--mx-num-ink:#10141c;--mx-num-outline:-1px -1px 0 var(--mx-num-ink), 1px -1px 0 var(--mx-num-ink), -1px 1px 0 var(--mx-num-ink), 1px 1px 0 var(--mx-num-ink), -2px 0 0 var(--mx-num-ink), 2px 0 0 var(--mx-num-ink), 0 -2px 0 var(--mx-num-ink), 0 2px 0 var(--mx-num-ink), 0 2px 4px #0000008c;--mx-num-sm:20px;--mx-num-md:26px;--mx-num-lg:40px}*{box-sizing:border-box}body{background:var(--mx-bg-deep);color:var(--text);margin:0;font-family:system-ui,-apple-system,sans-serif}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-xs)}::-webkit-scrollbar-thumb:hover{background:var(--hover-bg)}#app{max-width:1080px;padding:var(--sp-2) var(--sp-3);margin:0 auto}button{font-family:inherit}.as-btn{appearance:none;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.back-btn{background:var(--panel2);color:var(--text);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-md);white-space:nowrap;border:0;transition:background .15s}.back-btn:hover{background:var(--hover-bg)}.btn-sm{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);background:var(--panel2);color:var(--text);cursor:pointer;font-size:var(--fs-base);border:0;transition:background .15s}.btn-sm:hover{background:var(--hover-bg)}.btn-sm.danger{background:var(--btn-danger)}.btn-sm.danger:hover{background:var(--btn-danger-hover)}.btn-primary{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);background:var(--btn-primary);color:var(--text-bright);cursor:pointer;font-size:var(--fs-md);border:0;font-weight:600;transition:background .15s}.btn-primary:hover:not(.disabled){background:var(--btn-primary-hover)}.btn-primary.disabled{opacity:.45;cursor:not-allowed}.screen{padding:var(--sp-2)}.screen-header{align-items:center;gap:var(--sp-3);background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-lg);margin-bottom:var(--sp-4);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--mx-steel-hi) 30%, transparent), var(--shadow-sm);display:flex}.screen-header h2{font-size:var(--fs-2xl);letter-spacing:.5px;flex:1;margin:0}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);width:max-content;max-width:220px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--ink-solid);color:var(--text);border:1px solid var(--border);font-size:var(--fs-base);letter-spacing:0;text-align:left;white-space:normal;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;pointer-events:none;z-index:200;font-weight:400;line-height:1.45;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tip]:hover:after,[data-tip]:focus-visible:after{opacity:1;visibility:visible}[data-tip].tip-down:after{top:calc(100% + 6px);bottom:auto}.cf-card[data-tip]:has([data-tip]:hover):after{opacity:0;visibility:hidden}.tip-anchor{-webkit-text-decoration:underline dotted var(--text-dim);text-decoration:underline dotted var(--text-dim);text-underline-offset:2px;cursor:help;font-weight:700}.cf-card{border-radius:var(--r-sm);background:linear-gradient(var(--mx-panel), var(--mx-panel)) padding-box, linear-gradient(155deg, var(--mx-steel-hi), var(--mx-steel-lo) 45%, var(--mx-steel-hi) 80%, var(--mx-steel-lo)) border-box;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);border:2px solid #0000;flex-direction:column;transition:transform .18s,box-shadow .18s;display:flex;position:relative}button.cf-card{cursor:pointer}div.cf-card{cursor:default}.cf-card:hover{z-index:10;transform:translateY(-4px)scale(1.04)}.cf-hand.rarity-common,.cf-grid.rarity-common,.cf-compact.rarity-common{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rarity-common) 70%, transparent), var(--shadow-sm)}.cf-hand.rarity-rare,.cf-grid.rarity-rare,.cf-compact.rarity-rare{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rarity-rare) 70%, transparent), var(--shadow-sm)}.cf-hand.rarity-epic,.cf-grid.rarity-epic,.cf-compact.rarity-epic{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rarity-epic) 70%, transparent), var(--shadow-sm)}.cf-hand.rarity-legendary,.cf-grid.rarity-legendary,.cf-compact.rarity-legendary{box-shadow:inset 0 0 0 1px var(--rarity-legendary), 0 0 12px 2px color-mix(in srgb, var(--rarity-legendary) 35%, transparent), var(--shadow-sm)}.cf-hand.rarity-common:hover,.cf-grid.rarity-common:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rarity-common) 70%, transparent), var(--shadow-lg)}.cf-hand.rarity-rare:hover,.cf-grid.rarity-rare:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rarity-rare) 70%, transparent), var(--shadow-lg)}.cf-hand.rarity-epic:hover,.cf-grid.rarity-epic:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rarity-epic) 70%, transparent), var(--shadow-lg)}.cf-hand.rarity-legendary:hover,.cf-grid.rarity-legendary:hover{box-shadow:inset 0 0 0 1px var(--rarity-legendary), 0 0 12px 2px color-mix(in srgb, var(--rarity-legendary) 35%, transparent), var(--shadow-lg)}@media (prefers-reduced-motion:no-preference){.cf-hand.rarity-legendary,.cf-grid.rarity-legendary,.cf-compact.rarity-legendary{animation:2.5s ease-in-out infinite legendary-glow}.pack-card.rarity-legendary{animation:.4s both pack-flip-in,2.5s ease-in-out .5s infinite legendary-glow}}@keyframes legendary-glow{0%,to{box-shadow:inset 0 0 0 1px var(--rarity-legendary), 0 0 8px 2px color-mix(in srgb, var(--rarity-legendary) 30%, transparent), var(--shadow-sm)}50%{box-shadow:inset 0 0 0 1px var(--rarity-legendary), 0 0 20px 5px color-mix(in srgb, var(--rarity-legendary) 55%, transparent), var(--shadow-md)}}.cf-bleed{border-radius:calc(var(--r-sm) - 2px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.cf-bleed-bg{position:absolute;inset:0}.kryptonian-art-bg{background:radial-gradient(ellipse at 50% 28%, color-mix(in srgb, var(--text-bright) 12%, transparent), transparent 70%), linear-gradient(160deg, var(--kry), var(--kry-deep))}.penglai-art-bg{background:radial-gradient(ellipse at 50% 28%, color-mix(in srgb, var(--text-bright) 12%, transparent), transparent 70%), linear-gradient(160deg, var(--pen), var(--pen-deep))}.netherworld-art-bg{background:radial-gradient(ellipse at 50% 28%, color-mix(in srgb, var(--text-bright) 12%, transparent), transparent 70%), linear-gradient(160deg, var(--net), var(--net-deep))}.celestial-art-bg{background:radial-gradient(ellipse at 50% 28%, color-mix(in srgb, var(--text-bright) 12%, transparent), transparent 70%), linear-gradient(160deg, var(--cel), var(--cel-deep))}.neutral-art-bg{background:radial-gradient(ellipse at 50% 28%, color-mix(in srgb, var(--text-bright) 12%, transparent), transparent 70%), linear-gradient(160deg, var(--neutral), var(--neutral-deep))}.cf-bleed>img{object-fit:cover;z-index:3;width:100%;height:100%;position:absolute;inset:0}.cf-bleed-emoji{z-index:2;font-size:var(--emoji-lg);filter:var(--shadow-emoji);line-height:1;position:relative}.cf-cost-shield{top:calc(-2 * var(--sp-05));left:calc(-2 * var(--sp-05));z-index:5;clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%);background:linear-gradient(165deg, var(--mx-gold), var(--mx-gold-deep));width:24px;height:28px;filter:var(--shadow-emoji);justify-content:center;align-items:center;display:flex;position:absolute}.cf-cost-num{font-size:var(--fs-lg);color:var(--text-bright);text-shadow:var(--shadow-text);padding-bottom:var(--sp-05);font-weight:800;line-height:1}.cf-faction-badge{left:var(--sp-05);z-index:5;border-radius:var(--r-xs);border:1px solid var(--ink);width:16px;height:16px;font-size:var(--fs-xs);color:var(--text-bright);box-shadow:var(--shadow-badge);justify-content:center;align-items:center;display:flex;position:absolute;top:30px}.cf-card.kryptonian .cf-faction-badge{background:var(--kry)}.cf-card.penglai .cf-faction-badge{background:var(--pen)}.cf-card.netherworld .cf-faction-badge{background:var(--net)}.cf-card.celestial .cf-faction-badge{background:var(--cel)}.cf-card.neutral .cf-faction-badge{background:var(--neutral)}.cf-faction-badge svg{width:90%;height:90%;display:block}.cf-stars{left:calc(2 * var(--sp-05));z-index:5;font-size:var(--fs-xs);letter-spacing:-1px;text-shadow:var(--shadow-text);cursor:help;line-height:1;position:absolute;top:50px}.rarity-label-common{color:var(--rarity-common)}.rarity-label-rare{color:var(--rarity-rare)}.rarity-label-epic{color:var(--rarity-epic)}.rarity-label-legendary{color:var(--rarity-legendary)}.cf-kw-row{left:var(--sp-05);right:var(--sp-05);z-index:5;justify-content:flex-end;gap:var(--sp-05);flex-wrap:wrap;display:flex;position:absolute;bottom:42px}.cf-kw{min-width:14px;height:14px;padding:0 var(--sp-05);font-size:var(--fs-xs);color:var(--text-bright);background:var(--ink);border:1px solid color-mix(in srgb, var(--text-bright) 25%, transparent);border-radius:var(--r-xs);cursor:help;justify-content:center;align-items:center;line-height:1;display:flex}.cf-kw svg{width:12px;height:12px;display:block}.cf-banner{z-index:3;justify-content:center;align-items:center;gap:var(--sp-1);min-height:16px;padding:var(--sp-05) var(--sp-1);background:var(--ink);border-bottom:2px solid var(--neutral);display:flex;position:absolute;bottom:20px;left:0;right:0}.cf-card.rarity-common .cf-banner{border-bottom-color:var(--rarity-common)}.cf-card.rarity-rare .cf-banner{border-bottom-color:var(--rarity-rare)}.cf-card.rarity-epic .cf-banner{border-bottom-color:var(--rarity-epic)}.cf-card.rarity-legendary .cf-banner{border-bottom-color:var(--rarity-legendary)}.cf-banner .cf-name{min-width:0;font-size:var(--fs-xs);letter-spacing:.2px;color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;text-align:center;font-weight:700;overflow:hidden}.cf-spell-tag{font-size:var(--fs-xs);padding:0 var(--sp-05);border-radius:var(--r-xs);background:color-mix(in srgb, var(--spell) 70%, transparent);color:var(--text-bright);flex-shrink:0;line-height:1.3}.cf-num-row{z-index:6;padding:0 var(--sp-1);pointer-events:none;justify-content:space-between;display:flex;position:absolute;bottom:0;left:0;right:0}.cf-num{font-size:var(--mx-num-md);font-variant-numeric:tabular-nums;color:var(--text-bright);text-shadow:var(--mx-num-outline);font-weight:900;line-height:1}.cf-num-hp.hurt{color:var(--hp-red)}.cf-num-dur{color:var(--mana-blue)}.cf-stats{align-items:center;gap:var(--sp-1);flex-shrink:0;display:flex}.cf-atk,.cf-hp,.cf-dur{border-radius:var(--r-round);width:18px;height:18px;font-size:var(--fs-xs);color:var(--text-bright);box-shadow:var(--shadow-badge);justify-content:center;align-items:center;font-weight:800;line-height:1;display:flex}.cf-atk{background:linear-gradient(135deg, var(--atk-hi), var(--atk-lo))}.cf-hp{background:linear-gradient(135deg, var(--hpb-hi), var(--hpb-lo))}.cf-dur{background:linear-gradient(135deg, var(--dur-hi), var(--dur-lo))}.cf-spell-label{background:color-mix(in srgb, var(--spell) 70%, transparent);color:var(--text-bright);font-size:var(--fs-xs);padding:var(--sp-05) var(--sp-1);border-radius:var(--r-xs)}.cf-hand{width:92px;min-height:128px}.cf-hand .cf-bleed{padding-bottom:40px}.cf-grid{width:100%;min-height:196px}.cf-grid .cf-bleed{padding-bottom:96px}.cf-grid .cf-bleed-emoji{font-size:var(--emoji-xl)}.cf-grid .cf-cost-shield{width:30px;height:36px}.cf-grid .cf-cost-num{font-size:var(--fs-2xl)}.cf-grid .cf-faction-badge{width:20px;height:20px;font-size:var(--fs-sm);top:40px}.cf-grid .cf-stars{font-size:var(--fs-sm);top:64px}.cf-grid .cf-kw-row{bottom:102px}.cf-grid .cf-banner{bottom:76px}.cf-grid .cf-banner .cf-name{font-size:var(--fs-sm)}.cf-grid .cf-num{font-size:var(--mx-num-lg)}.cf-detail{z-index:4;padding:var(--sp-05) var(--sp-1);font-size:var(--fs-xs);color:var(--text-soft);text-align:center;background:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;position:absolute;bottom:44px;left:0;right:0;overflow:hidden}.cf-flavor-inline{font-style:italic;font-size:calc(var(--fs-xs) - 1px);color:#eeeeee8c;display:block}.cf-board{width:80px;min-height:100px}.cf-board:hover{transform:translateY(-3px)}.cf-board:not(.legal-target):not(.ready):not(.shielded):hover{box-shadow:var(--shadow-md)}.cf-board .cf-bleed{padding-bottom:30px}.cf-board .cf-bleed-emoji{font-size:var(--emoji-md)}.cf-board .cf-kw-row{bottom:32px}.cf-board .cf-banner{min-height:12px;padding:0 var(--sp-05);bottom:16px}.cf-board .cf-num{font-size:var(--mx-num-sm)}.cf-compact{align-items:center;gap:var(--sp-2);width:100%;min-height:unset;padding:var(--sp-1) var(--sp-2);border:1px solid var(--mx-steel-lo);border-radius:var(--r-sm);flex-direction:row}.cf-compact.kryptonian{background:linear-gradient(90deg, color-mix(in srgb, var(--kry) 35%, transparent), transparent)}.cf-compact.penglai{background:linear-gradient(90deg, color-mix(in srgb, var(--pen) 35%, transparent), transparent)}.cf-compact.netherworld{background:linear-gradient(90deg, color-mix(in srgb, var(--net) 35%, transparent), transparent)}.cf-compact.celestial{background:linear-gradient(90deg, color-mix(in srgb, var(--cel) 35%, transparent), transparent)}.cf-compact.neutral{background:linear-gradient(90deg, color-mix(in srgb, var(--neutral) 35%, transparent), transparent)}.cf-compact:hover{box-shadow:var(--shadow-sm);transform:none}.cf-compact .cf-cost-shield{flex-shrink:0;width:18px;height:21px;position:static}.cf-compact .cf-cost-num{font-size:var(--fs-xs)}.cf-chip-art{border-radius:var(--r-xs);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative;overflow:hidden}.cf-chip-emoji{z-index:2;font-size:var(--emoji-sm);line-height:1;position:relative}.cf-compact-name{min-width:0;font-size:var(--fs-base);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.cf-trailing{align-items:center;gap:var(--sp-1);flex-shrink:0;margin-left:auto;display:flex}.cf-card.unaffordable{filter:grayscale(.9)brightness(.75)}.cf-card.unaffordable:hover{box-shadow:var(--shadow-sm);transform:none}.collection-card-wrap{position:relative}.collection-card-wrap .card-owned{text-align:center;font-size:var(--fs-sm);color:var(--gold);padding:var(--sp-05) 0 var(--sp-1);background:var(--ink);border-radius:0 0 var(--r-md) var(--r-md);margin-top:calc(-1 * var(--sp-05));font-weight:600}.collection-card-wrap .cf-card.not-owned{filter:grayscale(.6)brightness(.55)}.collection-card-wrap .cf-card.not-owned:hover{box-shadow:var(--shadow-sm);transform:none}.pack-card{opacity:1;width:140px}@media (prefers-reduced-motion:no-preference){.pack-card{animation:.4s both pack-flip-in}}.duel-stage{gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-xl);background:radial-gradient(ellipse at 50% 0%, var(--mx-panel), var(--mx-bg-deep) 72%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--mx-steel-hi) 12%, transparent), var(--shadow-md);flex-direction:column;display:flex}.duel-topbar{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--mx-steel-hi) 30%, transparent),  inset 0 -6px 12px color-mix(in srgb, var(--mx-bg-deep) 50%, transparent), var(--shadow-sm);display:flex}.duel-exit{border-radius:var(--r-round);background:radial-gradient(circle at 50% 35%, var(--mx-panel-hi), var(--mx-panel) 75%);width:34px;height:34px;box-shadow:0 0 0 1px var(--mx-cyan-dim), var(--shadow-sm);color:var(--text);font-size:var(--fs-xl);cursor:pointer;border:0;flex-shrink:0;line-height:1;transition:box-shadow .15s}.duel-exit:hover{box-shadow:0 0 0 1px var(--mx-cyan), 0 0 8px color-mix(in srgb, var(--mx-cyan) 40%, transparent), var(--shadow-sm)}.duel-title{align-items:center;gap:var(--sp-05);flex-direction:column;flex:1;min-width:0;display:flex}.duel-title-row{align-items:baseline;gap:var(--sp-2);display:flex}.turn-label{font-weight:700;font-size:var(--fs-lg)}.turn-round{color:var(--text-dim);font-size:var(--fs-md)}.duel-title:after{content:"";border-radius:var(--r-pill);background:var(--mx-cyan);width:180px;max-width:100%;height:2px;box-shadow:0 0 4px var(--mx-cyan), 0 0 12px color-mix(in srgb, var(--mx-cyan) 55%, transparent), 0 0 24px color-mix(in srgb, var(--mx-cyan) 25%, transparent)}.foe-turn .duel-title:after{background:var(--danger);box-shadow:0 0 4px var(--danger), 0 0 12px color-mix(in srgb, var(--danger) 55%, transparent), 0 0 24px color-mix(in srgb, var(--danger) 25%, transparent)}.duel-mana{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-4);background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel));clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);flex-shrink:0;display:flex}.duel-mana-gem{font-size:var(--emoji-sm);line-height:1}.duel-mana-text{font-size:var(--fs-lg);color:var(--mx-gold);white-space:nowrap;font-weight:800}.duel-main{column-gap:var(--sp-3);row-gap:var(--sp-2);grid-template-rows:1fr 1fr;grid-template-columns:132px minmax(0,1fr) 112px;align-items:start;display:grid}.hexhero.enemy{grid-area:1/1;justify-self:start}.hexhero.own{grid-area:2/1;place-self:end start}.duel-field{grid-area:1/2/3;align-self:stretch}.duel-actions{place-self:center;align-items:center;gap:var(--sp-4);flex-direction:column;grid-area:1/3/3;display:flex}.hint{top:var(--sp-2);z-index:5;background:var(--ink);color:var(--gold);font-size:var(--fs-md);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);white-space:nowrap;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.duel-field{padding:var(--sp-4) var(--sp-5);background:url(/art/board_field.webp) center / cover no-repeat, radial-gradient(ellipse at 50% 32%, var(--mx-field), var(--mx-field-mark) 88%);box-shadow:inset 0 0 24px color-mix(in srgb, var(--mx-num-ink) 18%, transparent),  0 0 0 2px color-mix(in srgb, var(--mx-cyan-dim) 45%, transparent),  var(--shadow-md);border-radius:50%/18%;flex-direction:column;justify-content:center;display:flex;position:relative}.duel-phase-mark{left:var(--sp-5);font-size:var(--fs-3xl);letter-spacing:4px;color:var(--mx-field-mark);opacity:.7;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:800;position:absolute;top:50%;transform:translateY(-50%)}.board{gap:var(--sp-2);flex-wrap:wrap;flex:initial;min-height:104px;padding:var(--sp-2);border-radius:var(--r-lg);background:0 0;border:0;justify-content:center;display:flex}.duel-midline{height:2px;margin:var(--sp-2) 0;background:color-mix(in srgb, var(--mx-field-mark) 80%, transparent);position:relative}.duel-field-mark{font-size:var(--emoji-xl);color:var(--mx-field-mark);opacity:.55;filter:grayscale();pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cf-board.ready{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--success-green) 60%, transparent), var(--shadow-sm)}.cf-board.shielded{box-shadow:0 0 0 2px var(--shield), 0 0 12px color-mix(in srgb, var(--shield) 40%, transparent), var(--shadow-sm)}.legal-target{box-shadow:0 0 0 3px color-mix(in srgb, var(--target) 90%, transparent), var(--shadow-sm)}.cf-card.legal-target,.hexhero.legal-target{cursor:crosshair}.cf-board.ready.shielded{box-shadow:0 0 0 2px var(--shield), 0 0 12px color-mix(in srgb, var(--shield) 40%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--success-green) 60%, transparent), var(--shadow-sm)}.cf-board.ready.legal-target{box-shadow:0 0 0 3px color-mix(in srgb, var(--target) 90%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--success-green) 60%, transparent), var(--shadow-sm)}.cf-board.shielded.legal-target{box-shadow:0 0 0 3px color-mix(in srgb, var(--target) 90%, transparent), 0 0 12px color-mix(in srgb, var(--shield) 50%, transparent), var(--shadow-sm)}.cf-board.ready.shielded.legal-target{box-shadow:0 0 0 3px color-mix(in srgb, var(--target) 90%, transparent), 0 0 12px color-mix(in srgb, var(--shield) 50%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--success-green) 60%, transparent), var(--shadow-sm)}@media (prefers-reduced-motion:no-preference){.cf-board.ready{animation:1.8s ease-in-out infinite ready-pulse}.legal-target{animation:1s ease-in-out infinite target-pulse}.cf-board.ready.shielded{animation:1.8s ease-in-out infinite ready-shielded-pulse}.cf-board.ready.legal-target{animation:1s ease-in-out infinite target-pulse}.cf-board.shielded.legal-target{animation:1s ease-in-out infinite target-shielded-pulse}.cf-board.ready.shielded.legal-target{animation:none}}@keyframes ready-pulse{0%,to{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--success-green) 55%, transparent), var(--shadow-sm)}50%{box-shadow:inset 0 0 0 2px var(--success-green), var(--shadow-sm)}}@keyframes target-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--target) 70%, transparent), var(--shadow-sm)}50%{box-shadow:0 0 0 3px var(--target), var(--shadow-sm)}}@keyframes ready-shielded-pulse{0%,to{box-shadow:0 0 0 2px var(--shield), 0 0 12px color-mix(in srgb, var(--shield) 40%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--success-green) 55%, transparent), var(--shadow-sm)}50%{box-shadow:0 0 0 2px var(--shield), 0 0 12px color-mix(in srgb, var(--shield) 40%, transparent), inset 0 0 0 2px var(--success-green), var(--shadow-sm)}}@keyframes target-shielded-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--target) 70%, transparent), 0 0 12px color-mix(in srgb, var(--shield) 50%, transparent), var(--shadow-sm)}50%{box-shadow:0 0 0 3px var(--target), 0 0 12px color-mix(in srgb, var(--shield) 50%, transparent), var(--shadow-sm)}}.hexhero{align-items:center;gap:var(--sp-05);cursor:pointer;flex-direction:column;width:132px;display:flex}.hexhero-frame{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(160deg, var(--mx-steel-hi), var(--mx-steel-lo));width:76px;height:86px;position:relative}.hexhero:hover .hexhero-frame{filter:brightness(1.12)}.hexhero-face{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--mx-panel-hi) 80%, transparent), transparent 70%), var(--mx-panel);justify-content:center;align-items:center;display:flex;position:absolute;inset:3px}.hexhero-emoji{font-size:var(--emoji-md);filter:var(--shadow-emoji)}.hexhero-face img{object-fit:cover;z-index:2;width:100%;height:100%;position:absolute;inset:0}.hexhero-plate{min-width:56px;padding:var(--sp-05) var(--sp-2) var(--sp-2);margin-top:calc(-1 * var(--sp-1));clip-path:polygon(0 0,100% 0,100% 68%,50% 100%,0 68%);background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-num-ink) 80%);justify-content:center;align-items:center;display:flex}.hexhero.enemy .hexhero-plate{margin-top:0;margin-bottom:calc(-1 * var(--sp-1))}.hexhero-hp{font-size:var(--fs-xl);color:var(--hp-red);font-weight:800;line-height:1.1}.hexhero-maxhp{font-size:var(--fs-sm);color:var(--text-dim);font-weight:400}.hexhero-name{max-width:100%;font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.hexhero-extras{align-items:center;gap:var(--sp-1);min-height:16px;display:flex}.hexhero.legal-target{box-shadow:none;cursor:crosshair;animation:none}.hexhero.legal-target .hexhero-frame{background:var(--target);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--target) 70%, transparent))}@media (prefers-reduced-motion:no-preference){.hexhero.legal-target .hexhero-frame{animation:1s ease-in-out infinite hex-target-pulse}}@keyframes hex-target-pulse{0%,to{filter:drop-shadow(0 0 3px color-mix(in srgb, var(--target) 50%, transparent))}50%{filter:drop-shadow(0 0 9px var(--target))}}.hero-weapon{display:block}.hero-atk-badge{background:linear-gradient(135deg, var(--atk-hi), var(--atk-lo));color:var(--text-bright);font-size:var(--fs-xs);padding:var(--sp-05) var(--sp-1);border-radius:var(--r-xs);font-weight:700}.hero-weapon{font-size:var(--fs-sm);color:var(--text-info);margin-top:var(--sp-05)}.wpn-atk{color:var(--gold);font-weight:700}.wpn-dur{opacity:.7}.duel-roundbtn{border-radius:var(--r-round);color:var(--text-bright);cursor:pointer;text-shadow:var(--shadow-text);background:radial-gradient(circle closest-side, var(--mx-panel-hi) 0 74%, var(--mx-panel) 84%, transparent 85%), repeating-conic-gradient(var(--mx-cyan) 0deg 10deg, var(--mx-cyan-dim) 10deg 20deg);box-shadow:0 0 0 2px var(--mx-cyan), 0 0 10px color-mix(in srgb, var(--mx-cyan) 45%, transparent), var(--shadow-md);border:0;transition:box-shadow .15s;position:relative}.duel-roundbtn:hover:not([disabled]){box-shadow:0 0 0 2px var(--mx-cyan), 0 0 18px color-mix(in srgb, var(--mx-cyan) 70%, transparent), var(--shadow-md)}.duel-roundbtn[disabled]{cursor:not-allowed;color:var(--text-dim);background:radial-gradient(circle closest-side, var(--mx-panel) 0 84%, transparent 85%), repeating-conic-gradient(var(--mx-steel-lo) 0deg 10deg, var(--mx-panel) 10deg 20deg);box-shadow:0 0 0 2px var(--mx-steel-lo), var(--shadow-sm)}.duel-endturn{width:92px;height:92px;font-size:var(--fs-xl);font-weight:800}.duel-power{width:64px;height:64px;font-size:var(--emoji-md)}.duel-roundbtn-label{pointer-events:none;line-height:1.25;display:block}.duel-roundbtn-label svg{vertical-align:-.1em;width:1em;height:1em;display:inline-block}.duel-cost-badge{left:calc(-1 * var(--sp-1));bottom:calc(-1 * var(--sp-1));border-radius:var(--r-round);background:linear-gradient(135deg, var(--gem-hi), var(--gem-lo));min-width:20px;height:20px;color:var(--text-bright);font-size:var(--fs-xs);text-align:center;box-shadow:var(--shadow-badge);font-weight:800;line-height:20px;position:absolute}.duel-power[disabled] .duel-cost-badge{filter:grayscale(.8)}.hand{gap:var(--sp-2);padding:var(--sp-3) var(--sp-2) var(--sp-2);flex-wrap:wrap;justify-content:center;min-height:60px;display:flex}.cf-hand.castable{filter:drop-shadow(0 0 5px color-mix(in srgb, var(--mx-cyan) 80%, transparent))}.cf-hand.castable:hover{filter:drop-shadow(0 0 9px var(--mx-cyan))}.overlay{background:var(--scrim);z-index:50;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay-box{background:var(--mx-panel);border-radius:var(--r-2xl);padding:calc(2 * var(--sp-4)) calc(2 * var(--sp-5));text-align:center;min-width:240px;box-shadow:var(--shadow-lg)}.overlay-icon{font-size:var(--emoji-xl)}.overlay-title{font-size:var(--fs-3xl);margin:var(--sp-3) 0 var(--sp-4);font-weight:700}.win-overlay .overlay-title{color:var(--gold)}.lose-overlay .overlay-title{color:var(--hp-red)}.overlay-btn{background:var(--btn-accent);color:var(--text-bright);padding:var(--sp-3) var(--sp-6);border-radius:var(--r-md);font-size:var(--fs-lg);cursor:pointer;border:0;transition:background .15s}.overlay-btn:hover{background:var(--btn-accent-hover)}.reward-info{font-size:var(--fs-lg);opacity:.85;margin:var(--sp-2) 0;line-height:1.8}.reward-pack{font-size:var(--fs-base);opacity:.7}.overlay-desc{font-size:var(--fs-md);color:var(--text-dim);margin:0 0 var(--sp-4);line-height:1.5}.overlay-actions{gap:var(--sp-3);justify-content:center;display:flex}.overlay-btn.ghost{background:var(--panel2)}.overlay-btn.ghost:hover{background:var(--hover-bg)}.overlay-btn.danger{background:var(--btn-accent)}.overlay-btn.danger:hover{background:var(--btn-accent-hover)}.mulligan-box{max-width:480px}.mulligan-hand{gap:var(--sp-3);margin:var(--sp-4) 0;justify-content:center;display:flex}.mulligan-hand .cf-hand.mull-selected{box-shadow:0 0 0 2px var(--mx-cyan), var(--shadow-lg);animation:none}.mulligan-hand .cf-hand.mull-selected .cf-bleed{filter:grayscale(.6)brightness(.6)}.mulligan-hand .cf-hand.mull-selected:after{content:"↻";z-index:6;font-size:var(--fs-3xl);color:var(--mx-cyan);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.menu-screen{align-items:center;gap:var(--sp-5);padding:calc(2 * var(--sp-4)) var(--sp-4);flex-direction:column;display:flex}.menu-title{text-align:center}.menu-title h1{font-size:var(--display-1);letter-spacing:6px;text-indent:6px;color:var(--gold);text-shadow:var(--shadow-text);margin:0;font-weight:700}.menu-title-emoji{font-size:var(--emoji-xl)}.menu-subtitle{font-size:var(--fs-lg);opacity:.6;margin-top:var(--sp-1)}.menu-currency{align-items:center;gap:var(--sp-2);background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);display:flex}.stone-amount{font-size:var(--fs-2xl);color:var(--mana-blue);font-weight:700}.stone-label{opacity:.7;font-size:var(--fs-md)}.menu-progress{font-size:var(--fs-md);opacity:.6}.menu-buttons{gap:var(--sp-3);flex-direction:column;width:100%;max-width:340px;display:flex}.menu-btn{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border:1px solid var(--wash);border-radius:var(--r-xl);background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);color:var(--text);cursor:pointer;text-align:left;box-shadow:var(--shadow-sm);transition:background .15s,transform .12s,box-shadow .15s;display:flex}.menu-btn:hover{background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);box-shadow:0 0 0 1px var(--mx-cyan), 0 0 12px color-mix(in srgb, var(--mx-cyan) 35%, transparent), var(--shadow-md);transform:translate(4px)}.menu-btn.primary{background:linear-gradient(135deg, var(--btn-accent), var(--btn-accent-deep));border-color:color-mix(in srgb, var(--target) 25%, transparent)}.menu-btn.primary:hover{background:linear-gradient(135deg, var(--btn-accent-hover), var(--btn-accent-deep-hover))}.menu-btn-icon{font-size:var(--emoji-md);flex-shrink:0}.menu-btn-body{gap:var(--sp-05);flex-direction:column;display:flex}.menu-btn-label{font-size:var(--fs-lg);font-weight:700}.menu-btn-desc{font-size:var(--fs-base);opacity:.6}.progress-badge{font-size:var(--fs-md);color:var(--gold);opacity:.9}.campaign-list{gap:var(--sp-3);flex-direction:column;display:flex}.campaign-card{background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);border-radius:var(--r-xl);width:100%;padding:var(--sp-3) var(--sp-4);cursor:pointer;box-shadow:var(--shadow-sm);border:2px solid #0000;transition:border-color .15s,box-shadow .15s,transform .12s;position:relative;overflow:hidden}.campaign-card:not(.locked):hover{border-color:var(--border)}.campaign-card:before{content:"";background:0 0;width:4px;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.campaign-card.current{border-color:var(--gold)}@media (prefers-reduced-motion:no-preference){.campaign-card.current{animation:2s ease-in-out infinite campaign-pulse}}.campaign-card.current:before{background:var(--gold)}@keyframes campaign-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--gold) 30%, transparent), var(--shadow-sm)}50%{box-shadow:0 0 16px 4px color-mix(in srgb, var(--gold) 25%, transparent), var(--shadow-sm)}}.campaign-card.challenge:hover{border-color:var(--success-green);transform:translate(4px)}.campaign-card.challenge:hover:before{background:var(--success-green)}.campaign-card.cleared{opacity:.8}.campaign-card.cleared:before{background:var(--success-green)}.campaign-card.locked{opacity:.45;cursor:not-allowed}.campaign-card-header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);display:flex}.campaign-card-body,.level-desc{display:block}.status-icon{font-size:var(--emoji-md)}.level-name{font-size:var(--fs-lg);font-weight:600}.level-desc{font-size:var(--fs-base);opacity:.72;margin-bottom:var(--sp-2);line-height:1.4}.level-meta{gap:var(--sp-3);font-size:var(--fs-base);flex-wrap:wrap;align-items:center;display:flex}.enemy-hero{color:var(--text-info)}.hp-bonus{color:var(--hp-red);background:color-mix(in srgb, var(--hp-crit) 15%, transparent);padding:var(--sp-05) var(--sp-2);border-radius:var(--r-xs)}.reward{color:var(--gold)}.floating-overlay{background:var(--scrim);z-index:100;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.deck-picker{background:var(--mx-panel);border-radius:var(--r-2xl);padding:var(--sp-5);min-width:300px;max-width:380px;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.deck-picker-header{margin-bottom:var(--sp-4);justify-content:space-between;align-items:center;display:flex}.deck-picker-header h3{font-size:var(--fs-xl);margin:0}.close-btn{color:var(--text);font-size:var(--fs-2xl);cursor:pointer;opacity:.7;background:0 0;border:0;line-height:1}.close-btn:hover{opacity:1}.deck-picker-section{margin-bottom:var(--sp-3)}.section-title{font-size:var(--fs-sm);color:var(--text-dim);margin-bottom:var(--sp-2);text-transform:uppercase;letter-spacing:1px}.deck-pick-item{align-items:center;gap:var(--sp-2);background:var(--panel2);width:100%;color:var(--text);padding:var(--sp-3);border-radius:var(--r-md);cursor:pointer;margin-bottom:var(--sp-2);font-size:var(--fs-lg);border:0;transition:background .15s;display:flex}.deck-pick-item:hover{background:var(--hover-bg)}.deck-type-badge{font-size:var(--fs-sm);background:var(--ink-soft);padding:var(--sp-05) var(--sp-2);border-radius:var(--r-xs);opacity:.7;margin-left:auto}.no-custom-decks{font-size:var(--fs-md);color:var(--text-dim);padding:var(--sp-2) 0}.faction-filters{gap:var(--sp-2);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.faction-filter-btn{background:var(--panel2);color:var(--text);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-md);border:1px solid #0000;transition:background .15s,border-color .15s}.faction-filter-btn.active{background:var(--active-bg);border-color:color-mix(in srgb, var(--mx-cyan) 55%, transparent)}.faction-filter-btn:hover{background:var(--hover-bg)}.collection-count{font-size:var(--fs-md);color:var(--text-dim)}.card-grid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.card-owned{font-size:var(--fs-sm);color:var(--gold);font-weight:600}.gacha-screen{max-width:640px;margin:0 auto}.gacha-info{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-5);flex-direction:column;display:flex}.gacha-currency{align-items:center;gap:var(--sp-2);display:flex}.gacha-cost-hint{font-size:var(--fs-md);opacity:.6}.gacha-actions{text-align:center;margin-bottom:var(--sp-6)}.gacha-buy-btn{background:linear-gradient(135deg, var(--btn-accent), var(--btn-accent-deep));color:var(--text-bright);font-size:var(--fs-xl);padding:var(--sp-3) calc(2 * var(--sp-4));border-radius:var(--r-xl);cursor:pointer;box-shadow:var(--shadow-sm);border:0;font-weight:700;transition:background .15s,transform .12s}.gacha-buy-btn:hover:not(.disabled){background:linear-gradient(135deg, var(--btn-accent-hover), var(--btn-accent-deep-hover));transform:translateY(-2px)}.gacha-buy-btn.disabled{opacity:.45;cursor:not-allowed}.gacha-hint-warn{font-size:var(--fs-base);opacity:.55;margin-top:var(--sp-2)}.pack-result{background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);border-radius:var(--r-xl);padding:var(--sp-4);box-shadow:var(--shadow-sm)}.pack-result-title{font-size:var(--fs-lg);margin-bottom:var(--sp-4);color:var(--gold);text-align:center;font-weight:600}.pack-result-cards{gap:var(--sp-3);flex-wrap:wrap;justify-content:center;display:flex}@keyframes pack-flip-in{0%{opacity:0;transform:rotateY(90deg)scale(.8)}to{opacity:1;transform:rotateY(0)scale(1)}}.pack-empty{text-align:center;color:var(--text-dim);font-size:var(--fs-lg);padding:var(--sp-6)}.deck-list{gap:var(--sp-2);margin-bottom:var(--sp-5);flex-direction:column;display:flex}.deck-item{background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4);align-items:center;gap:var(--sp-3);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:border-color .15s;display:flex}.deck-item:hover{border-color:var(--border-hi)}.deck-item-info{align-items:center;gap:var(--sp-2);flex:1;display:flex}.deck-hero-emoji{font-size:var(--emoji-md)}.deck-name{font-weight:600;font-size:var(--fs-lg)}.deck-meta{font-size:var(--fs-base);color:var(--text-dim)}.deck-item-actions{gap:var(--sp-2);display:flex}.empty-hint{text-align:center;color:var(--text-dim);font-size:var(--fs-md);padding:var(--sp-5)}.deck-new-section{background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);border-radius:var(--r-xl);padding:var(--sp-4);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.hero-pick-row{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.hero-pick-btn{background:var(--panel2);color:var(--text);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-lg);border:1px solid #0000;transition:background .15s,border-color .15s}.hero-pick-btn:hover{background:var(--hover-bg);border-color:var(--border-hi)}.deckbuilder-editor-screen{flex-direction:column;height:100vh;max-height:100vh;display:flex}.hero-badge{font-size:var(--fs-md);background:var(--panel2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);border:1px solid var(--border)}.deck-editor-top{align-items:center;gap:var(--sp-2);background:linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-lg);margin-bottom:var(--sp-2);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.power-pick-row{align-items:center;gap:var(--sp-2);padding:var(--sp-1) var(--sp-4);margin-bottom:var(--sp-2);flex-wrap:wrap;display:flex}.power-pick-label{font-size:var(--fs-md);opacity:.6}.power-pick-btn{background:var(--panel2);border:1px solid var(--border);color:var(--text);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-md);transition:background .15s,border-color .15s}.power-pick-btn:hover{background:var(--hover-bg);border-color:var(--border-hi)}.power-pick-btn.selected{border-color:var(--mx-cyan);box-shadow:0 0 0 1px var(--mx-cyan);color:var(--mx-cyan)}.dust-badge{font-size:var(--fs-md);background:var(--panel2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);border:1px solid var(--border);color:var(--gold)}.dust-icon{margin-left:var(--sp-3)}.dust-amount{color:var(--gold);font-weight:700}.dust-label{font-size:var(--fs-base);opacity:.6}.craft-btn{right:var(--sp-1);bottom:var(--sp-1);z-index:6;background:var(--panel2);border:1px solid var(--gold);color:var(--gold);border-radius:var(--r-sm);padding:var(--sp-05) var(--sp-2);font-size:var(--fs-xs);cursor:pointer;transition:background .15s;position:absolute}.craft-btn:hover{background:var(--hover-bg)}.craft-btn.disabled{border-color:var(--border);color:var(--text-soft);cursor:not-allowed}.pack-dust-line{margin-top:var(--sp-3);font-size:var(--fs-md);color:var(--gold);text-align:center}.deck-name-label{font-size:var(--fs-md);opacity:.6}.deck-name-input{background:var(--input-bg);border:1px solid var(--border);color:var(--text);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-3);font-size:var(--fs-lg);flex:1;min-width:120px;transition:border-color .15s}.deck-name-input:focus-visible{border-color:var(--border-hi)}.deck-count{font-size:var(--fs-lg);color:var(--mana-blue);white-space:nowrap;font-weight:700}.deck-errors{background:var(--danger-surface);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-4);margin-bottom:var(--sp-2);font-size:var(--fs-base);color:var(--hp-red);border:1px solid var(--danger-border)}.deck-errors li{margin:var(--sp-05) 0}.deck-valid{background:var(--success-surface);color:var(--success-green);font-size:var(--fs-base);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-2);border:1px solid var(--success-border)}.deck-editor-body{gap:var(--sp-2);flex:1;display:flex;overflow:hidden}.available-cards-panel,.deck-cards-panel{background:var(--mx-panel);border-radius:var(--r-lg);border:1px solid var(--border);flex:1;overflow-y:auto}.panel-title{font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);opacity:.65;text-transform:uppercase;letter-spacing:.6px;background:var(--mx-panel);z-index:2;font-weight:700;position:sticky;top:0}.available-cards-list,.deck-cards-list{padding:var(--sp-2)}.available-card{margin-bottom:var(--sp-1)}.available-card:hover:not(.unavailable){background:var(--wash-strong)}.available-card.unavailable{opacity:.62;cursor:not-allowed}.card-owned-count{font-size:var(--fs-sm);color:var(--gold)}.in-deck-badge{background:var(--panel2);font-size:var(--fs-xs);padding:var(--sp-05) var(--sp-2);border-radius:var(--r-xs);color:var(--mana-blue)}.deck-card-row{margin-bottom:var(--sp-1)}.deck-card-row:hover{background:var(--wash)}.deck-card-count{color:var(--gold);font-size:var(--fs-sm);font-weight:700}.empty-deck{text-align:center;color:var(--text-dim);font-size:var(--fs-base);padding:var(--sp-6)}.account-strip{gap:var(--sp-3);width:min(100%,460px);padding:var(--sp-3);border:1px solid color-mix(in srgb, var(--mx-cyan) 28%, transparent);border-radius:var(--r-lg);background:linear-gradient(135deg, color-mix(in srgb, var(--mx-cyan-dim) 18%, transparent), transparent 42%), linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);box-shadow:var(--shadow-sm);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;display:grid}.account-strip.signed-in{border-color:color-mix(in srgb, var(--success-green) 45%, transparent)}.account-avatar{border-radius:var(--r-round);background:linear-gradient(135deg, var(--mx-cyan), var(--mx-cyan-dim));width:42px;height:42px;color:var(--mx-num-ink);place-items:center;font-weight:900;display:grid}.account-copy{min-width:0}.account-status-line{font-size:var(--fs-xs);color:var(--mx-cyan);font-weight:800}.account-name{font-size:var(--fs-lg);white-space:nowrap;text-overflow:ellipsis;font-weight:800;overflow:hidden}.account-detail,.account-error{margin-top:var(--sp-05);font-size:var(--fs-xs);color:var(--text-dim);line-height:1.35}.account-error{color:var(--hp-red)}.account-actions,.cloud-conflict-actions{gap:var(--sp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.account-btn{border:1px solid color-mix(in srgb, var(--mx-cyan) 30%, transparent);border-radius:var(--r-md);background:var(--panel2);color:var(--text);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);cursor:pointer;font-weight:800}.account-btn.primary{background:linear-gradient(135deg, var(--btn-accent), var(--btn-accent-deep));border-color:color-mix(in srgb, var(--gold) 35%, transparent)}.account-btn.secondary{background:color-mix(in srgb, var(--mx-panel-hi) 68%, var(--panel2))}.account-btn:hover:not([disabled]){box-shadow:0 0 0 1px var(--mx-cyan), 0 0 10px color-mix(in srgb, var(--mx-cyan) 25%, transparent)}.account-btn[disabled]{opacity:.55;cursor:not-allowed}.cloud-conflict{padding-top:var(--sp-2);border-top:1px solid color-mix(in srgb, var(--mx-cyan) 20%, transparent);grid-column:1/-1}.cloud-conflict-title{margin-bottom:var(--sp-2);font-size:var(--fs-sm);color:var(--gold);font-weight:800}.duel-stage{gap:var(--sp-2);background:radial-gradient(circle at 50% 18%, color-mix(in srgb, var(--mx-cyan-dim) 22%, transparent), transparent 32%), linear-gradient(180deg, color-mix(in srgb, var(--mx-panel) 72%, var(--mx-bg-deep)) 0%, var(--mx-bg-deep) 100%);min-height:calc(100dvh - 16px);overflow:hidden}.opponent-hand-zone{align-items:center;gap:var(--sp-3);min-height:42px;padding:var(--sp-1) var(--sp-2);grid-template-columns:auto minmax(0,1fr);display:grid}.opponent-hand-count{align-items:center;gap:var(--sp-2);color:var(--text-soft);font-size:var(--fs-sm);white-space:nowrap;display:flex}.opponent-hand-count strong{border-radius:var(--r-round);background:linear-gradient(135deg, var(--mx-gold), var(--mx-gold-deep));min-width:28px;height:28px;color:var(--mx-num-ink);font-size:var(--fs-lg);place-items:center;display:grid}.enemy-hand-backs{justify-content:center;min-width:0;display:flex;overflow:hidden}.enemy-hand-card{border-radius:var(--r-xs);border:1px solid color-mix(in srgb, var(--mx-cyan) 45%, transparent);background:linear-gradient(135deg, transparent 0 42%, color-mix(in srgb, var(--mx-cyan) 55%, transparent) 43% 48%, transparent 49%), radial-gradient(circle at 50% 38%, var(--mx-panel-hi), var(--mx-panel) 70%);width:30px;height:42px;box-shadow:var(--shadow-sm);transform:translateY(calc((var(--i) % 2) * 2px));flex:none;margin-left:-8px}.enemy-hand-card:first-child{margin-left:0}.hero-row{justify-content:center;min-height:94px;display:flex}.duel-field{padding:var(--sp-3);border-radius:var(--r-xl);flex:1;grid-template-rows:minmax(96px,auto) auto minmax(96px,auto);justify-content:stretch;align-items:stretch;display:grid}.duel-phase-mark{font-size:var(--fs-3xl);letter-spacing:0;opacity:.26;top:50%;left:50%;transform:translate(-50%,-50%)}.board{min-height:96px;padding:var(--sp-2);place-content:center;align-items:center;position:relative}.board.enemy{align-content:end}.board.own{align-content:start}.duel-midline{margin:var(--sp-1) 0;background:color-mix(in srgb, var(--mx-num-ink) 55%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--mx-cyan) 24%, transparent)}.board-slot{display:inline-block;position:relative}.board-action-badge,.hero-action-badge{z-index:8;pointer-events:none;border-radius:var(--r-pill);padding:var(--sp-05) var(--sp-2);background:color-mix(in srgb, var(--mx-num-ink) 82%, transparent);border:1px solid color-mix(in srgb, var(--mx-cyan) 55%, transparent);color:var(--mx-cyan);font-size:var(--fs-xs);box-shadow:var(--shadow-badge);font-weight:900;position:absolute}.board-action-badge{bottom:-6px;left:50%;transform:translate(-50%)}.state-spent .board-action-badge,.hero-spent .hero-action-badge{color:var(--text-dim);border-color:color-mix(in srgb, var(--mx-steel-lo) 80%, transparent)}.state-sleeping .board-action-badge{color:var(--gold);border-color:color-mix(in srgb, var(--gold) 50%, transparent)}.cf-board.spent{filter:grayscale(.35)brightness(.82)}.cf-board.sleeping{filter:saturate(.75)brightness(.9)}.hexhero{--hero-accent:var(--neutral);align-items:center;gap:var(--sp-1) var(--sp-3);width:min(420px,100%);min-height:92px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--hero-accent) 50%, transparent);border-left:4px solid var(--hero-accent);background:linear-gradient(135deg, color-mix(in srgb, var(--hero-accent) 20%, transparent), transparent 50%), linear-gradient(180deg, var(--mx-panel-hi), var(--mx-panel) 78%);box-shadow:var(--shadow-sm);grid-template-columns:20px 76px minmax(0,1fr) auto;grid-template-areas:"side portrait name plate""side portrait faction extras";display:grid;position:relative}.hexhero.kryptonian{--hero-accent:var(--kry)}.hexhero.penglai{--hero-accent:var(--pen)}.hexhero.netherworld{--hero-accent:var(--net)}.hexhero.celestial{--hero-accent:var(--cel)}.hexhero.neutral{--hero-accent:var(--neutral)}.hexhero.enemy{flex-direction:initial}.hexhero.own{border-left-color:var(--mx-cyan);box-shadow:0 0 0 1px color-mix(in srgb, var(--mx-cyan) 20%, transparent), var(--shadow-sm)}.hexhero-side{writing-mode:vertical-rl;border-radius:var(--r-xs);background:color-mix(in srgb, var(--hero-accent) 35%, transparent);color:var(--text-bright);font-size:var(--fs-xs);letter-spacing:0;grid-area:side;align-self:stretch;place-items:center;font-weight:900;display:grid}.hexhero-frame{background:linear-gradient(160deg, color-mix(in srgb, var(--hero-accent) 72%, var(--mx-steel-hi)), var(--mx-steel-lo));grid-area:portrait;width:70px;height:80px}.hexhero.own .hexhero-frame{background:linear-gradient(160deg, var(--mx-cyan), color-mix(in srgb, var(--hero-accent) 62%, var(--mx-cyan-dim)))}.hexhero-plate{grid-area:plate;min-width:58px;margin:0}.hexhero.enemy .hexhero-plate{margin:0}.hexhero-name{font-size:var(--fs-lg);color:var(--text-bright);grid-area:name}.hexhero-faction{font-size:var(--fs-xs);color:color-mix(in srgb, var(--hero-accent) 65%, var(--text-soft));grid-area:faction;font-weight:800}.hexhero-extras{grid-area:extras;justify-content:flex-end}.hero-action-badge{right:var(--sp-2);bottom:calc(-1 * var(--sp-2))}.hexhero.hero-ready{box-shadow:0 0 0 1px color-mix(in srgb, var(--success-green) 55%, transparent), 0 0 12px color-mix(in srgb, var(--success-green) 18%, transparent), var(--shadow-sm)}.hand{min-height:138px;padding:var(--sp-2);scroll-snap-type:x proximity;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.hand .cf-hand{scroll-snap-align:center;flex:none}.duel-actionbar{z-index:12;align-items:center;gap:var(--sp-2);padding:var(--sp-2);border:1px solid color-mix(in srgb, var(--mx-cyan) 25%, transparent);border-radius:var(--r-lg);background:linear-gradient(180deg, color-mix(in srgb, var(--mx-panel-hi) 88%, transparent), color-mix(in srgb, var(--mx-panel) 96%, transparent)), var(--mx-panel);box-shadow:var(--shadow-md);grid-template-columns:38px minmax(0,1fr) auto 50px 66px;display:grid;position:sticky;bottom:0}.duel-actionbar .duel-title{align-items:flex-start}.duel-actionbar .duel-title:after{width:96px}.duel-actionbar .turn-label{font-size:var(--fs-md)}.duel-actionbar .turn-round{font-size:var(--fs-xs)}.duel-actionbar .duel-roundbtn{border-radius:var(--r-md);width:100%;height:48px;font-size:var(--fs-sm)}.duel-actionbar .duel-power{font-size:var(--fs-xl)}.duel-actionbar .duel-endturn{font-size:var(--fs-base)}@media (width>=860px){.hand{justify-content:center}.duel-field{grid-template-rows:minmax(112px,auto) auto minmax(112px,auto)}.board{min-height:112px}}@media (width<=700px){#app{max-width:none;padding:0}.screen{padding:var(--sp-2)}.duel-stage{min-height:100dvh;padding:var(--sp-1);gap:var(--sp-1);border-radius:0}.opponent-hand-zone{grid-template-columns:auto 1fr;min-height:36px}.enemy-hand-card{width:26px;height:36px;margin-left:-10px}.hero-row{min-height:82px}.hexhero{gap:var(--sp-05) var(--sp-2);min-height:78px;padding:var(--sp-1) var(--sp-2);grid-template-columns:18px 58px minmax(0,1fr) auto}.hexhero-frame{width:56px;height:64px}.hexhero-name{font-size:var(--fs-md)}.hexhero-plate{min-width:50px}.hexhero-hp{font-size:var(--fs-lg)}.hexhero-extras{min-height:14px;font-size:var(--fs-xs)}.duel-field{padding:var(--sp-1);grid-template-rows:minmax(82px,auto) auto minmax(82px,auto)}.board{gap:var(--sp-1);min-height:82px;padding:var(--sp-1)}.cf-board{width:68px;min-height:88px}.cf-board .cf-num{font-size:18px}.cf-board .cf-banner{bottom:14px}.hand{min-height:126px;padding:var(--sp-1)}.duel-actionbar{gap:var(--sp-1);padding:var(--sp-1);border-radius:var(--r-md);grid-template-columns:34px minmax(0,1fr) auto 46px 60px}.duel-exit{width:32px;height:32px;font-size:var(--fs-lg)}.duel-mana{padding:var(--sp-1) var(--sp-2)}.duel-actionbar .duel-roundbtn{height:42px}.duel-actionbar .duel-title-row{flex-direction:column;gap:0}.duel-actionbar .duel-title:after{width:72px}.account-strip{grid-template-columns:36px minmax(0,1fr)}.account-actions{grid-column:1/-1;justify-content:stretch}.account-actions .account-btn{flex:1}}
