@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=EB+Garamond:ital@0;1&display=swap";:root{--bg-0: #07080d;--bg-1: #0c0f18;--panel: #12161f;--panel-2: #161b27;--steel: #41526e;--steel-bright: #7c93b8;--blood: #8a1626;--blood-bright: #c52237;--gold: #c8a24a;--gold-bright: #ecd089;--ink: #d7dcea;--ink-dim: #8b93a8;--stone: #1a1d26;--frame: #6d6038;--buff-green: #5fe06a;--level-gold: #ecd089;--atk-physical: #b8b8c0;--atk-fire: #e0612e;--atk-frost: #4fb3e0;--atk-lightning: #e8d24a;--atk-void: #9a5fe0;--atk-radiant: #f0e0a0;--atk-nature: #5fae4e;--atk-arcane: #c060c0}*{box-sizing:border-box;border-radius:0!important}html,body,#root{margin:0;height:100%;background:radial-gradient(120% 90% at 50% -10%,#141a2a 0%,var(--bg-1) 45%,var(--bg-0) 100%);color:var(--ink);font-family:EB Garamond,Georgia,serif;overflow:hidden}.cinzel{font-family:Cinzel,Trajan Pro,serif;letter-spacing:.08em}.frame{position:relative;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--frame);box-shadow:inset 0 0 0 1px #00000080,inset 0 0 22px #000000a0,0 6px 18px #000000b0}.gilt{border:1px solid var(--gold);box-shadow:inset 0 0 0 1px #000,inset 0 0 18px #00000090,0 0 0 1px #00000060}.app{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:18px;padding:10px 18px;border-bottom:1px solid #2a2f3e;background:linear-gradient(180deg,#0d1119,#0a0d14)}.topbar h1{font-family:Cinzel,serif;font-size:20px;margin:0;color:var(--gold-bright);text-shadow:0 0 12px #c8a24a55,0 2px 0 #000;letter-spacing:.22em}.topbar .meta{color:var(--ink-dim);font-size:13px;letter-spacing:.05em}.topbar .spacer{flex:1}.btn{font-family:Cinzel,serif;font-size:13px;letter-spacing:.1em;color:var(--ink);background:linear-gradient(180deg,#1c2330,#11151e);border:1px solid var(--steel);padding:8px 14px;cursor:pointer;text-transform:uppercase;transition:all .12s ease}.btn:hover{border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 14px #c8a24a40}.btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.6)}.btn.blood{border-color:var(--blood);background:linear-gradient(180deg,#2a0e14,#160709)}.btn.blood:hover{border-color:var(--blood-bright);color:#ff9aa6;box-shadow:0 0 16px #c5223755}.music-picker{display:flex;align-items:center;gap:6px;min-width:0}.icon-btn{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;color:var(--ink-dim);background:linear-gradient(180deg,#151a25,#0d1018);border:1px solid var(--steel);cursor:pointer;font-family:Cinzel,serif;font-size:15px;line-height:1}.icon-btn:hover,.icon-btn.lit{color:var(--gold-bright);border-color:var(--gold);box-shadow:0 0 12px #c8a24a35}.music-select{width:210px;min-width:140px;max-width:22vw;height:32px;color:var(--ink);background:linear-gradient(180deg,#151a25,#0d1018);border:1px solid var(--steel);font-family:EB Garamond,Georgia,serif;font-size:14px;padding:0 8px}.music-select:focus{outline:1px solid var(--gold)}.music-volume{width:82px;accent-color:var(--gold)}.arena{flex:1;display:grid;grid-template-columns:56px 1fr;grid-template-rows:minmax(0,1fr);min-height:0}.table{position:relative;display:flex;justify-content:center;align-items:center;padding:16px 20px;background:radial-gradient(85% 120% at 50% 50%,#1b2030,#0e1119 72%);overflow:auto;min-height:0}.board{display:flex;flex-direction:column;gap:10px;margin:auto}.side{display:flex;align-items:center;gap:14px}.commander-wing{display:flex;flex-direction:column;align-items:center;gap:5px;flex-shrink:0}.commander-tag{font-family:Cinzel,serif;font-size:10px;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;text-align:center}.ranks{display:flex;flex-direction:column;gap:8px}.brow{position:relative;display:flex;gap:8px;align-items:center;width:540px;min-height:132px;padding:6px 30px;background:linear-gradient(180deg,#161a24,#0e1119),repeating-linear-gradient(90deg,#ffffff05 0,#ffffff05 1px,#0000 1px,#0000 60px);border:1px solid #232838;box-shadow:inset 0 1px #ffffff0a,inset 0 0 26px #000000a0}.brow.enemy{border-top:2px solid #6a1320}.brow.player{border-bottom:2px solid #3a5170}.side.player .brow,.side.enemy .brow{justify-content:center}.brow.armed{border-color:var(--gold-bright);box-shadow:inset 0 0 0 1px #c8a24a59}.brow-label{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:9px;color:#46506a;letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl}.divide{height:1px;background:linear-gradient(90deg,#0000,#4a3a1e 30%,#4a3a1e 70%,#0000);box-shadow:0 0 12px #c8a24a18;margin:1px 0}.init-strip{border-right:1px solid #232838;background:linear-gradient(180deg,#0c0f17,#090b11);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;overflow-y:auto}.init-strip .ihdr{font-size:9px;color:#4a5266;letter-spacing:.15em;writing-mode:vertical-rl;margin-bottom:6px}.init-pip{width:34px;height:34px;border:1px solid var(--steel);background-size:cover;background-position:center top;position:relative;filter:saturate(.9)}.init-pip.enemy{border-color:var(--blood)}.init-pip.player{border-color:var(--steel-bright)}.init-pip .ord{position:absolute;bottom:-1px;right:-1px;font-size:9px;background:#000;color:var(--gold);padding:0 2px}.card{position:relative;width:92px;height:128px;background:#0b0d13;border:1px solid var(--frame-col, var(--frame));cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .1s ease,box-shadow .12s ease,filter .12s ease;box-shadow:0 3px 8px #000a}.card:hover{transform:translateY(-3px);box-shadow:0 0 10px var(--frame-col, #888),0 6px 14px #000000c0;z-index:5}.card.commander{width:116px;height:162px;box-shadow:0 0 9px var(--frame-col, var(--gold)),0 5px 12px #000000c0}.card .art{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 20%;filter:contrast(1.05) saturate(1.05)}.card .art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 38%,#000000c0)}.card .name{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-family:Cinzel,serif;font-size:9px;letter-spacing:.03em;color:var(--ink);text-shadow:0 1px 3px #000,0 0 6px #000;padding:0 6px;z-index:3;line-height:1.15;max-height:22px;overflow:hidden}.card.commander .name{bottom:27px;font-size:12px;color:var(--gold-bright);max-height:30px;line-height:1.1}.card .enemy-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(60% 60% at 50% 30%,#c5223715,#0000 70%);mix-blend-mode:screen}.gem{position:absolute;width:22px;height:22px;display:flex;align-items:center;justify-content:center;z-index:4;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 1px 2px #000) drop-shadow(0 0 1px #000);overflow:hidden}.gem>span{position:relative;z-index:2;font-family:Cinzel,serif;font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 2px #000,0 0 3px #000}.gem .stat-buffed{color:var(--buff-green);text-shadow:0 0 5px #2c6b2c,0 1px 2px #000}.gem .stat-low{color:#ff5a5a;text-shadow:0 0 5px #6b1c1c,0 1px 2px #000}.gem.atk{top:2px;left:2px;background-image:radial-gradient(circle at 34% 25%,#ffffff82 0,#ffffff82 8%,#ffffff24 18%,#0000 42%),linear-gradient(145deg,#ffffff28 0,#ffffff28 18%,#0002 58%,#0005);background-blend-mode:screen,multiply}.gem.hp{top:2px;right:2px;background:radial-gradient(circle at 40% 30%,#e05a5a,#5a0c14)}.gem.hp.hurt{background:radial-gradient(circle at 40% 30%,#8a2424,#2e0608)}.blood-pips{position:absolute;top:3px;left:50%;transform:translate(-50%);display:flex;gap:2px;z-index:4}.pip{width:7px;height:10px;flex:0 0 auto;overflow:visible;filter:drop-shadow(1px 1px 1px #000a)}.skill-footer{position:absolute;bottom:2px;left:2px;right:2px;display:flex;align-items:center;gap:1px;z-index:4}.card.commander .skill-footer{bottom:4px;left:3px;right:3px;gap:2px}.tier-tag{font-family:Cinzel,serif;font-size:8px;font-weight:700;text-shadow:0 0 4px #000,0 1px 2px #000;flex-shrink:0}.skill-icons{display:flex;gap:1px;min-width:0}.skill-ico{width:12px;height:12px;display:flex;align-items:center;justify-content:center;font-size:8px;background:linear-gradient(180deg,#1a1f2b,#0c0f16);border:1px solid #3a4254;color:var(--gold-bright)}.card.commander .skill-ico{width:14px;height:14px;font-size:9px}.skill-ico.latch{border-color:var(--blood)}.skill-ico.spent{filter:grayscale(1) brightness(.5)}.skill-ico.passive{color:var(--steel-bright)}.taxonomy-icons{display:flex;gap:1px;margin-left:auto;flex-shrink:0}.taxonomy-icon{width:11px;height:11px;display:block;filter:drop-shadow(0 1px 2px #000)}.taxonomy-icon *{vector-effect:non-scaling-stroke}.card.commander .taxonomy-icon{width:13px;height:13px}.taxonomy-icon.creature{color:var(--steel-bright)}.taxonomy-icon.faction{color:var(--gold-bright)}.status-overlays{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none}.status-strip{position:absolute;top:26px;right:3px;display:flex;flex-direction:column;align-items:flex-end;gap:1px;z-index:5}.status-strip .glyph{position:static;font-size:10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:15px;height:15px;padding:0 2px;background:#06090ee0;border:1px solid #39435a;color:var(--gold-bright);filter:drop-shadow(0 0 2px #000)}.card.commander .status-strip{top:32px;right:4px}.skill-ico{position:relative}.skill-param-badge{position:absolute;right:-3px;bottom:-3px;min-width:10px;padding:0 2px;font-family:Cinzel,serif;font-size:7px;font-weight:700;line-height:1.1;color:var(--gold-bright);background:#0c0a06ee;border:1px solid var(--gold);text-shadow:none;pointer-events:none}.card.commander .skill-param-badge{font-size:8px}.endcard-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.replay-confirm{margin-top:14px;padding-top:12px;border-top:1px solid #3a2f1a;text-align:center}.replay-confirm p{margin:0 0 10px;color:var(--ink-dim);font-style:italic}.replay-confirm .btn-row{display:flex;gap:10px;justify-content:center}.stun-chains{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,#ffffff10 0,#ffffff10 6px,#0000 6px,#0000 12px);border:2px solid #b9a23a;box-shadow:inset 0 0 14px #000}.barrier{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #4fb3e0;box-shadow:inset 0 0 16px #4fb3e066}.card.dim{filter:grayscale(.7) brightness(.55)}.card.targetable{cursor:crosshair;box-shadow:inset 0 0 0 2px var(--blood-bright),0 0 18px #c5223780;animation:pulse 1s ease-in-out infinite}.card.targetable:hover{transform:translateY(-4px) scale(1.04)}@keyframes pulse{0%,to{box-shadow:inset 0 0 0 2px var(--blood-bright),0 0 10px #c5223760}50%{box-shadow:inset 0 0 0 2px var(--blood-bright),0 0 22px #c52237b0}}.card.dead{filter:grayscale(1) brightness(.3);opacity:.5}.brow .card[draggable=true]{cursor:grab}.brow .card[draggable=true]:active{opacity:.6;cursor:grabbing}.actionbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #2a2f3e;background:linear-gradient(0deg,#0d1119,#0a0d14);min-height:92px}.blood-meter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:70px;align-self:stretch;border:1px solid var(--blood);background:linear-gradient(180deg,#1a0a0e,#100608);flex-shrink:0}.blood-meter .bm-label{font-family:Cinzel,serif;font-size:9px;letter-spacing:.14em;color:#b06472}.blood-meter .bm-val{font-family:Cinzel,serif;font-size:22px;font-weight:700;color:#ff7886;text-shadow:0 0 8px #c5223780}.blood-meter .bm-val em{font-size:13px;font-style:normal;color:#8a4a52}.skill-btns{display:flex;gap:8px;flex-wrap:wrap;flex:1}.skill-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;background:linear-gradient(180deg,#161b27,#0e121b);border:1px solid var(--steel);cursor:pointer;width:168px;transition:all .12s}.skill-btn.end-turn{border-color:var(--blood);background:linear-gradient(180deg,#2a0e14,#160709);margin-left:auto}.skill-btn.end-turn:hover:not(.off){border-color:var(--blood-bright);box-shadow:0 0 14px #c5223760}.skill-btn.end-turn .big-ico{color:#ff9aa6}.skill-btn:hover:not(.off){border-color:var(--gold);box-shadow:0 0 12px #c8a24a40}.skill-btn.armed{border-color:var(--blood-bright);box-shadow:0 0 14px #c5223760}.skill-btn.off{opacity:.4;cursor:not-allowed}.skill-btn .big-ico{font-size:20px;color:var(--gold-bright)}.skill-btn .sk-name{font-family:Cinzel,serif;font-size:12px;letter-spacing:.04em}.skill-btn .sk-mech{font-size:11px;color:var(--steel-bright);line-height:1.25;max-width:220px}.skill-btn .sk-sub{font-size:10px;color:var(--ink-dim)}.skill-btn .sk-sub.warn{color:#c98a3a}.banner-hint{align-self:center;color:var(--blood-bright);font-family:Cinzel,serif;letter-spacing:.1em;font-size:13px;padding:0 10px}.log{width:280px;border-left:1px solid #232838;background:linear-gradient(180deg,#0b0e15,#080a10);display:flex;flex-direction:column}.log h2{font-family:Cinzel,serif;font-size:12px;letter-spacing:.16em;color:var(--gold);margin:0;padding:10px 12px;border-bottom:1px solid #1c2230;text-transform:uppercase}.log .entries{flex:1;overflow-y:auto;padding:8px 12px;font-size:13px;line-height:1.5}.log .e{padding:3px 0;border-bottom:1px dotted #1c2230;color:var(--ink-dim)}.log .e.turn{color:var(--gold);font-family:Cinzel,serif;font-size:11px;letter-spacing:.1em;margin-top:6px}.log .e strong{color:var(--ink)}.battle-wrap{display:grid;grid-template-columns:1fr 280px;grid-template-rows:minmax(0,1fr);flex:1;min-height:0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c8;display:flex;align-items:center;justify-content:center;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.inspect{width:620px;max-width:92vw;max-height:88vh;overflow:auto;display:grid;grid-template-columns:220px 1fr;gap:0}.inspect .art-big{background-size:cover;background-position:center top;border-right:1px solid var(--frame);min-height:340px;position:relative}.inspect .art-big:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0000 60%,#12161fcc)}.inspect .body{padding:16px 18px}.inspect .title{font-family:Cinzel,serif;font-size:20px;color:var(--gold-bright);margin:0 0 2px}.inspect .sub{color:var(--ink-dim);font-size:13px;letter-spacing:.05em;margin-bottom:10px}.inspect .statline{display:flex;flex-wrap:wrap;gap:10px 14px;margin-bottom:14px;font-size:14px}.inspect .statline .stat-buffed{color:var(--buff-green)}.inspect .statline .stat-low{color:#ff5a5a}.inspect .skill-row{display:flex;gap:10px;padding:8px 0 8px 4px;border-top:1px solid #232838}.inspect .skill-row .ico2{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:17px;border:1px solid var(--gold);color:var(--gold-bright);flex-shrink:0;background:#0c0f16}.inspect .skill-row .sname{font-family:Cinzel,serif;font-size:13px;color:var(--ink)}.inspect .skill-row .tag{font-size:10px;letter-spacing:.1em;color:var(--blood-bright);text-transform:uppercase}.inspect .skill-row .sdesc{font-size:13px;color:var(--ink-dim);margin-top:2px}.inspect .policies{font-size:11px;color:#6b7390;margin-top:6px;letter-spacing:.04em}.endcard{width:460px;padding:40px;text-align:center}.endcard h1{font-family:Cinzel,serif;font-size:40px;letter-spacing:.1em;margin:0 0 8px}.endcard h1.win{color:var(--gold-bright);text-shadow:0 0 30px #c8a24a80}.endcard h1.lose{color:var(--blood-bright);text-shadow:0 0 30px #c5223780}.endcard p{color:var(--ink-dim);margin-bottom:24px}.inspect .mech{font-size:13px;color:var(--ink);margin-top:3px}.inspect .skill-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.inspect .skill-tags span{border:1px solid #273047;background:#0a0d14;color:#8d9bb8;font-size:9px;letter-spacing:.06em;line-height:1;padding:3px 5px;text-transform:uppercase}.inspect .flavor{font-size:12px;color:#6b7390;font-style:italic;margin-top:3px}.valchip{display:inline-block;margin-left:7px;padding:0 7px;font-family:Cinzel,serif;font-weight:700;border:1px solid #2a3142;background:#0c0f16}.valchip.val-base{color:var(--ink)}.valchip.val-level{color:var(--level-gold);border-color:var(--gold)}.valchip.val-buffed{color:var(--buff-green);border-color:#2c6b2c}.statline .stat-buffed,.sub .stat-buffed{color:var(--buff-green)}.statline .stat-low{color:#ff5a5a}.card.anim-source.fx-attack{animation:lunge .42s ease-out;z-index:6}.card.anim-source.fx-cast{animation:cast .5s ease-out;z-index:6}.card.anim-target.fx-attack,.card.anim-target.fx-cast,.card.anim-target.fx-status{animation:struck .42s ease-out}.card.anim-source.fx-heal,.card.anim-target.fx-heal{animation:healGlow .6s ease-out}.card.anim-source.fx-buff,.card.anim-target.fx-buff{animation:buffPulse .6s ease-out}.card.anim-target.fx-evade{animation:whiff .42s ease-out}.card.anim-target.fx-deflect{animation:buffPulse .42s ease-out}.card.fx-summon{animation:arrive .6s ease-out}.card.anim-target.fx-death{animation:perish .6s ease-in forwards}.card.anim-source.fx-swap-left{animation:slipLeft .48s ease-in-out;z-index:6}.card.anim-source.fx-swap-right{animation:slipRight .48s ease-in-out;z-index:6}.card.anim-source.fx-react{animation:cast .5s ease-out;z-index:6}.card.anim-target.fx-react{animation:struck .42s ease-out}@keyframes lunge{0%{transform:translateY(0)}45%{transform:translateY(-14px) scale(1.05);filter:brightness(1.3)}to{transform:translateY(0)}}@keyframes cast{0%{transform:scale(1)}40%{transform:scale(1.08);filter:brightness(1.4) drop-shadow(0 0 8px #8a4fe0)}to{transform:scale(1)}}@keyframes struck{0%{transform:translate(0)}20%{transform:translate(-5px);filter:brightness(1.6) saturate(2)}40%{transform:translate(5px)}60%{transform:translate(-3px)}to{transform:translate(0)}}@keyframes healGlow{0%,to{filter:none}50%{filter:brightness(1.4) drop-shadow(0 0 10px #4fe07a)}}@keyframes buffPulse{0%,to{filter:none}50%{filter:brightness(1.3) drop-shadow(0 0 9px #e0c040)}}@keyframes slipLeft{0%{transform:translate(0)}40%{transform:translate(-18px) scale(1.04);filter:brightness(1.25) drop-shadow(0 0 8px #6a8fe0)}to{transform:translate(0)}}@keyframes slipRight{0%{transform:translate(0)}40%{transform:translate(18px) scale(1.04);filter:brightness(1.25) drop-shadow(0 0 8px #6a8fe0)}to{transform:translate(0)}}@keyframes coilPulse{0%,to{filter:none}45%{filter:brightness(1.35) drop-shadow(0 0 12px #c040e0);transform:scale(1.03)}}@keyframes whiff{0%{transform:translate(0);opacity:1}30%{transform:translate(10px) skew(-8deg);opacity:.55}to{transform:translate(0);opacity:1}}@keyframes arrive{0%{transform:scale(.4) translateY(18px);opacity:0;filter:brightness(2)}to{transform:scale(1) translateY(0);opacity:1}}@keyframes perish{0%{opacity:1}to{opacity:0;transform:scale(.85) rotate(-4deg);filter:grayscale(1) brightness(.4)}}.float-num{position:absolute;top:16px;left:50%;transform:translate(-50%);font-weight:800;font-size:20px;z-index:8;pointer-events:none;text-shadow:0 1px 3px #000,0 0 6px #000;animation:rise .62s ease-out forwards}.float-num.dmg{color:#ff5a5a}.float-num.crit{top:2px;color:#ff2f2f;font-size:18px;letter-spacing:0;text-shadow:0 1px 3px #000,0 0 8px rgba(255,47,47,.85)}.float-num.heal{color:#6cf09a}.float-num.evade{color:#cfd4dc;font-size:15px;letter-spacing:1px}@keyframes rise{0%{transform:translate(-50%,6px);opacity:0}25%{opacity:1}to{transform:translate(-50%,-22px);opacity:0}}.cast-label{position:absolute;top:-10px;left:50%;transform:translate(-50%);white-space:nowrap;font-family:Cinzel,serif;font-size:10px;letter-spacing:.04em;color:var(--gold-bright);background:linear-gradient(180deg,#1c1206,#0c0a06);border:1px solid var(--gold);padding:1px 6px;z-index:9;pointer-events:none;text-shadow:0 1px 2px #000;animation:castLabel .62s ease-out}@keyframes castLabel{0%{transform:translate(-50%,6px);opacity:0}25%{opacity:1}80%{opacity:1}to{transform:translate(-50%,-6px);opacity:0}}.prep-screen{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid #2a2f3e;background:linear-gradient(180deg,#12161f,#0c0f17)}.topbar-brand{display:flex;flex-direction:column;gap:2px}.topbar h1{margin:0;font-family:Cinzel,serif;font-size:18px;letter-spacing:.12em;color:var(--gold-bright)}.main-nav{display:flex;gap:0;border:1px solid #3a4258}.nav-tab{font-family:Cinzel,serif;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;background:#0d1119;color:var(--ink-dim);border:0;border-right:1px solid #2a2f3e;cursor:pointer}.nav-tab:last-child{border-right:0}.nav-tab:hover:not(.disabled){color:var(--gold-bright);filter:brightness(1.15)}.nav-tab.active{color:var(--gold-bright);background:linear-gradient(180deg,#1a2230,#121820);box-shadow:inset 0 -2px 0 var(--blood)}.nav-tab.disabled{opacity:.45;cursor:not-allowed}.passkey-account{display:flex;align-items:center;gap:8px;min-height:32px;flex-wrap:wrap}.live-pill{display:inline-flex;align-items:center;gap:6px;font-family:Cinzel,serif;font-size:10px;letter-spacing:.1em;color:var(--ink-dim);text-transform:uppercase}.live-dot{width:8px;height:8px;background:#7d1420;box-shadow:0 0 8px #7d142066;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.live-pill.on .live-dot{background:var(--buff-green);box-shadow:0 0 8px #48b06a88}.live-pill.off{color:var(--blood-bright)}.tournament-screen{flex:1;display:flex;flex-direction:column;min-height:0;padding:14px 18px;gap:14px;overflow-y:auto}.tournament-hero{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tournament-rating,.tournament-challenge{border:1px solid #2a2f3e;background:#0b0d13;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.tournament-rating .elo{font-family:Cinzel,serif;font-size:28px;color:var(--gold-bright)}.tournament-challenge strong{font-family:Cinzel,serif;color:var(--steel-bright)}.tournament-challenge-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:6px}.tournament-columns{flex:0 0 auto;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.tournament-panel{border:1px solid #2a2f3e;background:radial-gradient(80% 80% at 50% 0%,#141a28,#0b0d13 70%);padding:12px 14px;min-height:0;display:flex;flex-direction:column}.tournament-panel h2{margin:0 0 10px;font-family:Cinzel,serif;font-size:13px;letter-spacing:.1em;color:var(--gold-bright);text-transform:uppercase}.ladder-list{list-style:none;margin:0;padding:0;flex:0 0 auto}.ladder-header,.ladder-row{display:grid;grid-template-columns:28px 1fr 52px 44px 72px 72px;gap:8px;align-items:center;padding:7px 8px;border-bottom:1px solid #1e2433;font-size:12px;width:100%;text-align:left;background:transparent;border-left:0;border-right:0;border-top:0;color:inherit;cursor:default}.ladder-row.inspectable{cursor:pointer}.ladder-row.inspectable:hover{background:#141a28}.ladder-row.you{background:linear-gradient(90deg,#1a1520,transparent);border-left:2px solid var(--blood)}.tournament-inspect{max-width:520px;width:90vw;padding:14px 16px}.tournament-inspect header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:12px}.tournament-inspect h2{margin:0;font-family:Cinzel,serif;color:var(--gold-bright)}.group-roster{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow-y:auto}.group-roster-card{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;padding:8px;border:1px solid #2a2f3e;background:#0b0d13;color:var(--ink);text-align:left;cursor:pointer}.group-roster-card:hover{filter:brightness(1.15)}.group-roster-card .art-thumb{height:64px;background-size:cover;background-position:center top;border:1px solid #2a2f3e}.group-roster-card strong{font-family:Cinzel,serif;color:var(--gold-bright);font-size:12px}.roster-label .roster-dot{color:var(--ink-dim);font-weight:400}.ladder-header{padding:6px 8px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid #2a2f3e;list-style:none}.ladder-row .rank{color:var(--gold);font-family:Cinzel,serif}.rank-delta{margin-left:4px;font-size:10px;font-family:ui-monospace,monospace;vertical-align:baseline}.rank-delta.up{color:#5a5}.rank-delta.down{color:#a44}.ladder-row .elo{color:var(--steel-bright);text-align:right}.ladder-row .power{color:var(--gold-bright);text-align:right;font-size:11px}.ladder-row .record{color:var(--ink-dim);font-size:10px;text-align:right}.ladder-header .elo,.ladder-header .power,.ladder-header .record,.ladder-row .watch,.ladder-header .watch{text-align:right}.watch-eye{justify-self:end;display:inline-grid;grid-auto-flow:column;align-items:center;justify-content:center;gap:4px;min-width:34px;height:28px;padding:0 6px;border:1px solid #526078;background:#070911;color:#f6f8ff;cursor:pointer}.watch-eye:hover:not(:disabled){border-color:var(--gold);background:#111722}.watch-eye:disabled{opacity:.35;cursor:default}.watch-eye.active{color:var(--blood);border-color:var(--blood)}.watch-eye-svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:2}.watch-eye-svg circle{fill:currentColor}.watch-eye span{font-family:Cinzel,serif;font-size:12px;line-height:1}.match-feed{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.match-feed li{padding:8px 0;border-bottom:1px solid #1e2433;font-size:12px;line-height:1.4}.match-feed strong{color:var(--steel-bright)}.meta.err{color:var(--blood)}.ladder-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:10px;margin-top:auto;border-top:1px solid #1e2433}.pager-arrow{font-size:12px;line-height:1;padding:5px 12px;background:#0d1119;color:var(--gold-bright);border:1px solid #3a4258;cursor:pointer}.pager-arrow:hover:not(:disabled){filter:brightness(1.25);border-color:var(--gold)}.pager-arrow:disabled{opacity:.35;cursor:default}.pager-label{font-size:11px;letter-spacing:.06em;color:var(--ink-dim);font-variant-numeric:tabular-nums}.watch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#07090d}.season-track{border:1px solid #2a2f3e;border-left:3px solid var(--gold);background:radial-gradient(120% 90% at 50% 0%,#15101f,#0a0c13 70%);padding:12px 16px 14px;display:flex;flex-direction:column;gap:10px}.season-track-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.season-track-head h2{margin:0;font-family:Cinzel,serif;font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright)}.season-rail{position:relative;padding-top:8px}.season-rail:before{content:"";position:absolute;left:0;right:0;top:14px;height:3px;background:#1c2333}.season-rail-fill{position:absolute;left:0;top:14px;height:3px;background:linear-gradient(90deg,#6f4bbf,#b388ff);box-shadow:0 0 8px #966ef0b3;transition:width .4s ease}.season-nodes{position:relative;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:6px 2px 4px}.season-node{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px}.season-node-elo{font-family:Cinzel,serif;font-size:11px;color:var(--gold);font-variant-numeric:tabular-nums}.season-node.locked .season-node-elo{color:#58637a}.season-card{position:relative;cursor:pointer;overflow:hidden}.season-card-scale{transform-origin:top left}.season-card.dim{filter:grayscale(.6) brightness(.62);opacity:.85}.season-card-missing{height:119px;border:1px solid #2a2f3e;background:#0b0d13}.season-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#06080d73;color:#8190ad}.season-lock-svg{width:24px;height:24px}.season-claim{font-size:10px;min-width:0;padding:3px 10px}.season-claim-spacer{height:22px}.season-claimed-tag{font-family:Cinzel,serif;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#b388ff;height:22px;display:flex;align-items:center}.season-current{font-size:13px;color:var(--ink-dim)}.season-current strong{font-family:Cinzel,serif;font-size:18px;color:var(--gold-bright);margin-left:4px}.shop{flex:1;display:flex;flex-direction:column;min-height:0;padding:14px 18px;gap:12px;overflow-y:auto}.shop-head{display:flex;align-items:baseline;justify-content:space-between}.shop-head h3{font-family:Cinzel,serif;color:var(--gold-bright);margin:0}.shop-memories{display:flex;align-items:center;gap:6px}.shop-memories .mem-glyph{color:var(--steel-bright)}.shop-memories .mem-val{font-family:Cinzel,serif;font-size:20px;color:var(--gold-bright)}.shop-memories .mem-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.shop-trader{display:flex;align-items:stretch;gap:14px;min-height:150px;border:1px solid #2a2f3e;border-left:3px solid var(--gold);background:linear-gradient(180deg,#12161f,#0b0d13);cursor:pointer}.trader-portrait{width:120px;flex:0 0 120px;background-size:contain;background-repeat:no-repeat;background-position:center bottom;border-right:1px solid #2a2f3e;background-color:#070a0f}.trader-speech{flex:1;display:flex;align-items:center;padding:14px 18px;font-family:Cinzel,serif;font-size:14px;line-height:1.6;color:var(--steel-bright);font-style:italic}.inspect .title .uniq-tag{margin-left:10px;font-family:Cinzel,Trajan Pro,serif;font-weight:400;font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);vertical-align:middle}.inspect .title .uniq-tag.is-unique{color:var(--gold-bright)}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.shop-card{border:1px solid var(--frame-col, #2a2f3e);background:#0b0f15;display:flex;flex-direction:column}.shop-art{height:120px;background-size:cover;background-position:center top;cursor:pointer}.shop-name{font-size:12px;padding:4px 6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-counts{display:flex;gap:6px;align-items:baseline;padding:2px 6px;font-size:11px;color:var(--ink-dim)}.shop-counts .surplus{color:var(--gold-bright)}.shop-counts .shop-tier{margin-left:auto;color:var(--frame-col, #888)}.shop-actions{display:flex;gap:4px;padding:6px;margin-top:auto}.shop-actions .btn{flex:1;font-size:11px}.shop-actions .fuse-need{opacity:.7;font-variant-numeric:tabular-nums}.shop-howto{color:var(--ink-dim);font-size:12px;line-height:1.5;margin:0}.shop-howto b{color:var(--gold-bright);font-weight:400}.shop-section{font-family:Cinzel,serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-bright);margin:6px 0 2px}.recipe-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.recipe-group{border:1px solid var(--frame-col, #2a2f3e);border-left:3px solid var(--frame-col, var(--gold));background:#0b0f15;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.recipe-target{display:flex;align-items:center;gap:10px;cursor:pointer}.recipe-art{width:48px;height:48px;background-size:cover;background-position:center top;border:1px solid var(--frame-col, #2a2f3e)}.recipe-target-meta{display:flex;flex-direction:column}.recipe-name{font-family:Cinzel,serif;font-size:13px;color:var(--gold-bright)}.recipe-target-meta .shop-tier{font-size:11px;color:var(--frame-col, #888)}.recipe-paths{display:flex;flex-direction:column;gap:6px}.recipe-path{display:flex;align-items:center;gap:8px}.recipe-path.fusing{animation:evolve-surge .9s ease-out}.recipe-ings{display:flex;flex-wrap:wrap;gap:4px;flex:1}.recipe-ing{position:relative;cursor:pointer}.recipe-ing .ing-art{display:block;width:34px;height:34px;background-size:cover;background-position:center top;border:1px solid #2a2f3e}.recipe-ing.short .ing-art{border-color:var(--blood)}.recipe-ing .ing-count{position:absolute;right:-2px;bottom:-3px;font-size:9px;font-variant-numeric:tabular-nums;background:#070a0f;border:1px solid #2a2f3e;padding:0 2px;line-height:1.2}.recipe-ing.short .ing-count{color:var(--blood-bright);border-color:var(--blood)}.recipe-go{font-size:11px;min-width:84px}.shop-card.fusing{animation:evolve-surge .9s ease-out}@keyframes evolve-surge{0%{box-shadow:inset 0 0 #c8a24a00;filter:brightness(1)}40%{box-shadow:inset 0 0 24px 4px #c8a24ae6;filter:brightness(1.6)}to{box-shadow:inset 0 0 #c8a24a00;filter:brightness(1)}}.helix-lineages{display:flex;flex-direction:column;gap:18px}.helix{position:relative;padding:26px 8px 14px;overflow-x:auto;border:1px solid #1a2030;border-left:3px solid var(--gold);background:linear-gradient(180deg,#090d14,#0b0f17)}.helix-strand{position:absolute;left:0;top:50%;transform:translateY(-50%);height:140px;z-index:0;pointer-events:none;filter:drop-shadow(0 0 7px rgba(127,168,207,.3));-webkit-mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 132px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 24px,#000 calc(100% - 132px),transparent 100%)}.helix-columns{position:relative;display:flex;align-items:center;gap:32px;min-width:min-content;min-height:150px}.helix-col{width:176px;flex:0 0 176px;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}.helix-node{position:relative;z-index:1;width:100%;box-sizing:border-box;border:1px solid var(--frame-col, #2a2f3e);border-top:2px solid var(--frame-col, var(--gold));background:#080b11d1;box-shadow:0 0 0 1px #070a0f,0 4px 16px #000000bf;padding:8px 9px;display:flex;flex-direction:column;gap:7px}.helix-node.root{opacity:.96;border-top-color:#566b82}.helix-node-head{display:flex;align-items:center;gap:9px;cursor:pointer}.helix-art{width:46px;height:46px;background-size:cover;background-position:center top;border:1px solid var(--frame-col, #2a2f3e);flex:0 0 auto}.helix-node-meta{display:flex;flex-direction:column;min-width:0}.helix-node-name{font-family:Cinzel,serif;font-size:12.5px;color:var(--gold-bright);line-height:1.15}.helix-node-meta .shop-tier{font-size:11px;color:var(--frame-col, #888)}.helix-root-tag{font-size:10px;letter-spacing:.04em;color:#6f8298;text-transform:uppercase}.helix-paths{display:flex;flex-direction:column;gap:6px}.helix-path{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.helix-path.fusing{animation:evolve-surge .9s ease-out}.helix-ings{display:flex;flex-wrap:wrap;gap:4px;flex:1}.helix-path .recipe-go{font-size:10.5px;min-width:72px}.helix-gap{position:relative;z-index:1;width:100%;box-sizing:border-box;height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px dashed #3a4760;background:#080b11;color:#51637d}.helix-gap-tier{font-family:Cinzel,serif;font-size:18px;color:#6c809a}.helix-gap-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.feedback-screen{flex:1;min-height:0;padding:18px;display:grid;place-items:start center;background:linear-gradient(90deg,#07080d 0 1px,transparent 1px 80px),radial-gradient(90% 80% at 50% 0%,#171b28,#0b0e15 72%)}.feedback-panel{width:min(760px,100%);padding:18px}.feedback-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #2a2f3e}.feedback-head h2{margin:0;font-family:Cinzel,serif;font-size:18px;letter-spacing:.12em;color:var(--gold-bright);text-transform:uppercase}.feedback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-top:14px}.feedback-field{display:flex;flex-direction:column;gap:5px;min-width:0}.feedback-field.wide{grid-column:1 / -1}.feedback-field span{font-size:10px;letter-spacing:.12em;color:var(--ink-dim);text-transform:uppercase}.feedback-field select,.feedback-field input,.feedback-field textarea{width:100%;color:var(--ink);background:linear-gradient(180deg,#111722,#0a0d13);border:1px solid #2f394d;font-family:EB Garamond,Georgia,serif;font-size:15px;padding:8px 10px}.feedback-field select:focus,.feedback-field input:focus,.feedback-field textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}.feedback-field textarea{min-height:190px;resize:vertical;line-height:1.45}.feedback-actions{display:flex;align-items:center;gap:12px;min-height:44px;margin-top:14px;padding-top:14px;border-top:1px solid #2a2f3e}.feedback-result{color:var(--gold-bright);text-decoration:none;border-bottom:1px solid var(--gold)}.feedback-error{color:var(--blood-bright);font-size:13px}@media (max-width: 760px){.feedback-screen{padding:10px;place-items:stretch}.feedback-grid{grid-template-columns:1fr}.feedback-actions{flex-wrap:wrap}}.prep-body{flex:1;display:grid;grid-template-columns:1fr 360px;min-height:0;gap:14px;padding:14px 18px}.tournament-prep-body{grid-template-columns:1fr 360px}.tournament-prep-body .party-prep{min-height:0}.tournament-prep-body .tournament-screen{min-width:0}.dungeon-select{display:grid;grid-template-columns:1fr 300px;gap:16px;min-height:0;background:radial-gradient(70% 70% at 50% 45%,#161b29,#0c0f17 75%);border:1px solid #232838;box-shadow:inset 0 0 30px #000a;padding:12px}.star-wrap{position:relative;align-self:center;justify-self:center;width:min(100%,60vh);aspect-ratio:1}.star-svg{width:100%;height:100%;overflow:visible}.star-tri{fill:none;stroke:var(--gold);stroke-width:1.5;opacity:.55;filter:drop-shadow(0 0 6px #c8a24a55)}.star-ring{fill:none;stroke:#4a3a1e;stroke-width:1;opacity:.5}.star-spoke{stroke:#2f3550;stroke-width:1;opacity:.5}.civ-node{position:absolute;width:92px;height:92px;transform:translate(-50%,-50%);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(180deg,#1c2330,#11151e);border:0;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #2a2f3e,0 4px 12px #000a;transition:filter .12s ease,transform .12s ease;outline:1px solid var(--steel)}.civ-node:hover{filter:brightness(1.25)}.civ-node .civ-label{font-family:Cinzel,serif;font-size:10px;letter-spacing:.04em;text-align:center;padding:0 6px;pointer-events:none}.civ-node.available{outline-color:var(--gold);box-shadow:0 0 12px #c8a24a55,0 0 0 1px #000}.civ-node.complete{outline-color:var(--buff-green)}.civ-node.locked{filter:grayscale(.8) brightness(.55)}.civ-node.active{transform:translate(-50%,-50%) scale(1.12);filter:brightness(1.35);z-index:3}.civ-node.covenant{width:104px;height:104px;background:linear-gradient(180deg,#2a0e14,#140709);outline-color:var(--blood)}.civ-node.covenant.available{outline-color:var(--blood-bright);box-shadow:0 0 16px #c5223766}.dungeon-track{overflow-y:auto;border-left:1px solid #232838;padding-left:12px}.dungeon-track h3{font-family:Cinzel,serif;color:var(--gold-bright);letter-spacing:.08em;margin:0;font-size:14px}.dungeon-track-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 10px}.difficulty-icons{display:inline-flex;align-items:center;gap:6px}.difficulty-icon{width:22px;height:22px;padding:0;position:relative;border:0;background:transparent;color:var(--gold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;overflow:visible}.difficulty-icon-frame{width:22px;height:22px;border:1px solid #2c3446;background:#090d14;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 8px #000d,0 0 0 1px #000}.difficulty-icon .difficulty-glyph{display:block}.normal-gem{width:10px;height:10px;transform:rotate(45deg);background:linear-gradient(135deg,#f7d978,#9b701f);box-shadow:0 0 8px #c8a24a77}.difficulty-icon.hard{color:#a7adb8}.difficulty-icon.hard .difficulty-icon-frame{border-color:#3d4658;background:#080b11}.skull-glyph{width:16px;height:16px;fill:currentColor;stroke:#080b11;stroke-width:1.35;stroke-linecap:square;stroke-linejoin:miter;filter:drop-shadow(0 0 5px #6f7b8f66)}.difficulty-icon.nightmare{color:var(--blood-bright)}.difficulty-icon.nightmare .difficulty-icon-frame{border-color:#6d1724;background:#170407}.difficulty-icon.nightmare .skull-glyph{filter:drop-shadow(0 0 6px #c52237aa)}.difficulty-icon.active{filter:brightness(1.2)}.difficulty-icon.active .difficulty-icon-frame{border-color:var(--gold-bright);box-shadow:0 0 9px #c8a24a66,inset 0 0 8px #000b}.difficulty-icon.nightmare.active{filter:brightness(1.16)}.difficulty-icon.nightmare.active .difficulty-icon-frame{border-color:var(--blood-bright);box-shadow:0 0 12px #c5223788,inset 0 0 10px #2c0509}.difficulty-icon[aria-disabled=true]{opacity:.78;cursor:not-allowed;filter:saturate(.85) brightness(.86)}.difficulty-tooltip{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:max-content;max-width:260px;padding:9px 11px;border:1px solid var(--gold);background:#080b11;color:var(--ink);font-size:11px;line-height:1.3;letter-spacing:.02em;text-transform:none;box-shadow:0 10px 28px #000,inset 0 0 18px #000;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity .12s ease,transform .12s ease}.difficulty-tooltip:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:1px solid #2a2130;pointer-events:none}.difficulty-icon:hover .difficulty-tooltip,.difficulty-icon:focus-visible .difficulty-tooltip{opacity:1;transform:translateY(0)}.dungeon-track ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.dungeon-node{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:8px 10px;background:linear-gradient(180deg,#141a24,#0e1119);border:1px solid #232838;cursor:pointer;transition:border-color .12s ease,background .12s ease}.dungeon-node .dn-order{font-family:Cinzel,serif;color:var(--ink-dim);text-align:center}.dungeon-node .dn-name{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px}.dungeon-node .dn-state{font-size:10px;color:var(--ink-dim);letter-spacing:.05em;text-transform:uppercase}.dn-reward{border:1px solid var(--gold);color:var(--gold-bright);background:#181307;padding:1px 4px;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.dn-reward-text{grid-column:2 / 4;color:var(--gold-bright);font-size:10px;line-height:1.25}.dungeon-node.open{border-color:var(--gold)}.dungeon-node.open:hover{background:linear-gradient(180deg,#1b2230,#11151e)}.dungeon-node.cleared .dn-state,.dungeon-node.cleared .dn-name{color:var(--buff-green)}.dungeon-node.uncharted{opacity:.6;cursor:default}.dungeon-node.locked{opacity:.4;cursor:not-allowed}.dungeon-node.selected{border-color:var(--gold-bright);box-shadow:0 0 10px #c8a24a44,inset 0 0 0 1px #000}.party-prep{display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,#12161f,#0c0f17);border:1px solid #232838;box-shadow:inset 0 0 24px #000a;padding:12px;min-height:0;flex:1}.pp-head{display:flex;align-items:baseline;justify-content:space-between}.pp-head h3{font-family:Cinzel,serif;color:var(--gold-bright);margin:0;letter-spacing:.08em;font-size:14px}.pp-budget{font-size:12px;color:var(--ink-dim)}.pp-budget span{color:var(--gold-bright);font-weight:700}.pp-budget span.over{color:var(--blood-bright)}.pp-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #2a2f3e}.pp-tabs button{border:0;border-right:1px solid #2a2f3e;background:#0b0d13;color:var(--ink-dim);padding:7px 8px;font-family:Cinzel,serif;letter-spacing:.06em;cursor:pointer}.pp-tabs button:last-child{border-right:0}.pp-tabs button.active{background:#171b25;color:var(--gold-bright);box-shadow:inset 0 -2px 0 var(--gold)}.pp-commander{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--gold);background:#14110a}.pp-portrait{width:44px;height:44px;background-size:cover;background-position:center top;outline:1px solid var(--gold)}.pp-name{font-family:Cinzel,serif;color:var(--gold-bright);font-size:13px}.pp-sub{font-size:10px;color:var(--ink-dim);letter-spacing:.05em;text-transform:uppercase}.pp-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px;align-content:start}.pp-pager{margin-top:6px;border-top:none;padding-top:6px}.pp-card{position:relative;border:1px solid var(--frame-col, var(--frame));background:#0b0d13;cursor:pointer;padding:0;aspect-ratio:3 / 4;overflow:hidden;transition:transform .1s ease,box-shadow .12s ease,filter .12s ease}.pp-card:hover{transform:translateY(-2px)}.pp-art{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center 20%}.pp-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000 40%,#000c)}.pp-cost{position:absolute;top:3px;left:4px;font-family:Cinzel,serif;font-weight:700;font-size:11px;z-index:2;text-shadow:0 1px 2px #000}.pp-cardname{position:absolute;bottom:3px;left:0;right:0;text-align:center;font-size:9px;z-index:2;color:var(--ink);text-shadow:0 1px 2px #000;padding:0 2px}.pp-card.picked{box-shadow:0 0 0 2px var(--gold-bright),0 0 12px #c8a24a55}.pp-card.blocked{filter:grayscale(.7) brightness(.5);cursor:not-allowed}.catalog-pane{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.cat-count{margin:0;font-size:10px}.cat-empty{padding:12px;margin:0}.cat-filters{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cat-filter{display:grid;gap:3px;font-size:10px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.04em}.cat-filter select{min-width:0;background:#0b0d13;color:var(--ink);border:1px solid #2a2f3e;padding:5px 6px;font-size:11px}.cat-scroll{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:10px;padding-right:2px}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.cat-card{min-height:78px;display:grid;grid-template-columns:54px 1fr;grid-template-rows:1fr auto;column-gap:7px;align-items:center;border:1px solid var(--frame-col, var(--frame));background:#0b0d13;color:var(--ink);padding:0;text-align:left;cursor:pointer}.cat-card.locked{filter:grayscale(.55) brightness(.75)}.cat-art{grid-row:1 / span 2;height:78px;background-size:cover;background-position:center top;border-right:1px solid #2a2f3e}.cat-card span{align-self:end;font-family:Cinzel,serif;color:var(--gold-bright);font-size:11px;padding:5px 6px 0 0}.cat-card small{align-self:start;color:var(--ink-dim);font-size:9px;line-height:1.25;padding:1px 6px 5px 0}.skill-catalog{display:flex;flex-direction:column;gap:5px;max-height:140px;overflow-y:auto;flex-shrink:0}.skill-row{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;border:1px solid #242a39;background:#0b0d13;padding:6px 8px}.skill-row b{color:var(--gold-bright);text-align:center}.skill-row span{font-size:12px}.skill-row small{color:var(--ink-dim);font-size:10px}.prep-confirm{display:flex;align-items:center;gap:16px;padding:12px 18px;border-top:1px solid #2a2f3e;background:linear-gradient(180deg,#0d1119,#0a0d14)}.prep-confirm .sel-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.prep-confirm .sel-info strong{font-family:Cinzel,serif;color:var(--gold-bright);letter-spacing:.05em}.prep-confirm .sel-flavor{font-style:italic;color:var(--ink-dim);font-size:13px}.btn.embark{font-size:15px;padding:12px 28px}.endcard-actions{display:flex;gap:10px;justify-content:center;margin-top:14px}
