@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800&family=Inter:wght@400;500;600;700;800&display=swap";html,body,#root{height:100%}:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.35;color:#f5ead7;background:#080c14;--bg: #080c14;--bg-2: #0e1522;--surface: #171b25;--surface-2: #202536;--surface-3: #262d40;--border: #5b4734;--border-soft: #3a3140;--gold: #cda35d;--gold-soft: #8c6f41;--text: #f5ead7;--muted: #b9aa91;--faint: #7d6f5b;--accent: #2dd4bf;--accent-deep: #0f766e;--danger: #fb7185;--danger-deep: #9f1239;--success: #86efac;--warning: #fbbf24;--shadow: 0 18px 50px rgba(0, 0, 0, .34);--inset-line: inset 0 1px 0 rgba(255, 255, 255, .08)}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:radial-gradient(circle at top left,rgba(205,163,93,.12),transparent 34rem),radial-gradient(circle at bottom right,rgba(45,212,191,.08),transparent 28rem),var(--bg)}.app{width:100%;margin:0;height:100%;padding:10px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid rgba(205,163,93,.34);border-radius:8px;background:linear-gradient(180deg,#202536f0,#0f1522f0);box-shadow:var(--shadow),var(--inset-line)}.app-header-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.alpha-mode-banner{width:min(980px,100%);min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 12px;border:1px solid rgba(251,191,36,.48);border-radius:8px;background:#2c1f0ac7;color:var(--text);box-shadow:var(--inset-line);text-align:center}.alpha-mode-banner.compact{width:min(1120px,100%);justify-self:center}.alpha-mode-banner strong{color:var(--warning);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.alpha-mode-banner span{color:var(--muted);font-size:13px;font-weight:600}.mode-switch{margin:0;display:flex;gap:8px;flex-wrap:wrap}.player-brief{margin-bottom:12px}.entry-shell{min-height:0;height:100%;display:grid;align-content:center;justify-items:center;gap:12px;padding:16px;overflow:auto}.entry-card{width:min(460px,100%);display:grid;gap:14px}.entry-card.wide{width:min(920px,100%)}.character-select-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.character-select-card,.empty-state-card{min-height:118px;border:1px solid rgba(205,163,93,.3);border-radius:8px;background:#080c147a;padding:12px;display:grid;gap:6px;align-content:start;text-align:left}.character-select-card{justify-content:stretch}.character-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.character-card-actions button{min-width:92px}.character-select-card:hover,.character-select-card:focus-visible{border-color:var(--accent)}.character-create-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:start}.field-group{display:grid;gap:6px}.field-group.compact{gap:4px}.label-text{color:var(--muted);font-size:12px;font-weight:700}.base-class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.base-class-card{min-height:114px;display:grid;gap:7px;justify-items:center;align-content:center;text-align:center;background:#080c1485;border-color:#cda35d47}.base-class-card.selected,.base-class-card:hover,.base-class-card:focus-visible{border-color:var(--accent);background:#14b8a624}.champion-portrait-frame.small{width:58px;height:58px}.champion-portrait-frame.small .champion-portrait{width:44px;height:44px}.champion-portrait-frame.large{width:172px;height:172px}.champion-portrait-frame.large .champion-portrait{width:128px;height:128px}.champion-hero-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;align-items:center;background:linear-gradient(180deg,#291f2af7,#0d131ffa)}.champion-portrait-frame{width:104px;height:104px;border:1px solid rgba(205,163,93,.42);border-radius:8px;background:radial-gradient(circle at 50% 30%,#cda35d2e,#080c14e0);display:grid;place-items:center;overflow:hidden}.champion-portrait,.fighter-hud img{width:78px;height:78px;object-fit:contain;image-rendering:auto}.champion-hero-main{min-width:0;display:grid;gap:8px}.eyebrow{color:var(--gold);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.champion-badge-row{display:flex;flex-wrap:wrap;gap:6px}.champion-badge-row span,.badge{border:1px solid rgba(205,163,93,.3);border-radius:999px;background:#080c146b;padding:4px 8px;font-size:12px}.xp-track,.hud-hp-bar{height:10px;border:1px solid rgba(205,163,93,.34);border-radius:999px;overflow:hidden;background:#080c14c7}.xp-track span,.hud-hp-bar span{display:block;height:100%;background:linear-gradient(90deg,#10b981,#facc15)}.hud-hp-bar.enemy span{background:linear-gradient(90deg,#e11d48,#f97316)}.champion-action-panel{display:grid;gap:10px}.champion-action-grid,.pvp-opponent-grid,.gear-slot-grid,.card-grid.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.action-card-button{min-height:64px;justify-content:flex-start;text-align:left}.pvp-entry-panel{display:grid;gap:10px}.pvp-opponent-card,.gear-item-card{display:grid;gap:4px;text-align:left;align-items:start;justify-content:stretch;min-height:112px;background:#0a0f188f;border-color:var(--border-soft)}.pvp-opponent-card.selected,.gear-item-card.selected{border-color:var(--accent);background:#14b8a624}.technique-loadout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.technique-slot,.gear-slot-card,.raid-member-card{border:1px solid var(--border-soft);border-radius:6px;background:#080c1470;padding:8px;display:grid;gap:4px}.technique-slot.empty{border-style:dashed;color:var(--muted)}.board-shell{min-height:0;overflow:auto;display:grid;gap:10px;align-content:start}.board-header-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.armory-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(340px,1.2fr) minmax(280px,.9fr);gap:10px;align-items:start}.gear-list,.raid-list{display:grid;gap:8px}.activity-card{display:grid;gap:8px;align-content:start}.cosmetic-preview{width:100%;max-width:140px;aspect-ratio:1;object-fit:contain;justify-self:center;border-radius:6px;border:1px solid var(--border-soft);background:#080c147a;padding:6px}.expedition-active-card{display:grid;gap:8px}.raid-card{display:grid;gap:9px}.hosted-lobby-panel{display:grid;gap:10px}.hosted-lobby-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.hosted-lobby-card{display:grid;gap:8px;padding:10px;border:1px solid var(--border-soft);border-radius:6px;background:#080c1485}.hosted-social-panel{display:grid;gap:12px}.hosted-friend-request-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(45,212,191,.34);border-radius:8px;background:#081c205c}.hosted-friend-request-panel h4{margin:0 0 3px}.hosted-social-search{align-items:end}.hosted-social-search input{min-width:min(280px,100%)}.hosted-social-filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.hosted-social-filter-row select{min-width:150px}.hosted-social-list,.hosted-direct-invites,.hosted-social-notifications,.hosted-direct-messages{display:grid;gap:8px}.hosted-social-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--border-soft);border-radius:6px;background:#080c146b}.hosted-social-row>div:first-child{min-width:180px}.notification-row.unread{border-color:#edb65c9e;background:#32241061}.message-row{align-items:flex-start}.message-row.unread{border-color:#62b3ff99;background:#0e264461}.message-body{max-width:min(420px,100%);overflow-wrap:anywhere}.social-message-input{min-width:min(220px,100%)}.section-header.compact{align-items:center;min-height:0}.raid-member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.raid-member-grid.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.quick-message-row button{padding:6px 9px}.raid-admin-row{align-items:end}.compact-field{display:grid;gap:4px;min-width:156px}.battle-hud-panel{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center}.fighter-hud{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center}.fighter-hud.opponent{grid-template-columns:minmax(0,1fr) 72px;text-align:right}.fighter-hud.opponent img{order:2}.vs-mark{color:var(--gold);font-weight:900;font-size:24px}.battle-result-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:12px;align-items:center}.battle-result-hero .row,.battle-result-hero details{grid-column:1 / -1}.result-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.result-stat-grid span{border:1px solid var(--border-soft);border-radius:6px;background:#080c1475;padding:8px}.player-arena-page{flex:1 1 auto;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:4px;overflow:hidden}.player-arena-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.player-arena-header-spacer{min-width:1px}.player-arena-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-left:auto}.authority-banner{min-height:34px;max-width:min(620px,100%);display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border:1px solid rgba(133,98,53,.48);border-radius:8px;background:#080c147a}.authority-banner.hosted{border-color:#86efac66}.authority-banner.hosted-pending{border-color:#fbbf247a}.authority-banner.local-offline{border-color:#cda35d75}.player-menu-anchor{position:relative}.icon-menu-button{min-width:42px;padding:8px 10px}.icon-bars{display:inline-block;width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor;vertical-align:middle}.player-popover-menu{position:absolute;top:calc(100% + 8px);right:0;width:min(340px,calc(100vw - 24px));z-index:12;box-shadow:var(--shadow)}h1,h2,h3{margin:0 0 8px;color:var(--text)}h2{font-size:18px}h3{font-size:15px}ul{margin:0;padding-left:18px}label{display:flex;flex-direction:column;gap:4px;font-size:13px}input,select{width:100%;border:1px solid var(--border-soft);background:#101722;color:var(--text);padding:6px 8px;border-radius:4px;box-shadow:var(--inset-line)}input[type=checkbox]{width:auto}button{border:1px solid #7f623d;border-radius:4px;background:linear-gradient(180deg,#6f4d27,#3b2a19);color:#fff7e8;padding:8px 12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;box-shadow:var(--inset-line),0 8px 18px #0000002e}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{background:linear-gradient(180deg,#20283a,#141b2a);color:var(--text);border-color:var(--border-soft)}button.danger{color:#fecdd3;border-color:#fb718580}button.accent{background:linear-gradient(180deg,#0f766e,#124e49);border-color:#2dd4bf}.panel{background:linear-gradient(180deg,#202536f7,#111723f7);border:1px solid rgba(205,163,93,.28);border-radius:8px;padding:10px;color:var(--text);box-shadow:var(--shadow),var(--inset-line)}.controls-panel{margin-bottom:12px}.toolbar{display:flex;gap:8px;align-items:center}.section-header{display:flex;justify-content:space-between;gap:10px;align-items:start;flex-wrap:wrap;margin-bottom:8px}.wrap{flex-wrap:wrap}.inline-label{display:flex;flex-direction:row;align-items:center;gap:6px}.inline-label select{width:auto;min-width:80px}.build-name-input input{min-width:220px}.controls-subrow{margin-top:8px}.main-layout{display:grid;grid-template-columns:minmax(320px,.95fr) minmax(680px,1.7fr) minmax(320px,.95fr);gap:12px;align-items:start}.player-scene-switch{margin-bottom:0}.player-battle-layout{display:grid;grid-template-columns:155px minmax(0,1fr) 165px;gap:8px;align-items:stretch;height:100%;min-height:0;overflow:hidden}.center-column{display:grid;gap:12px;min-height:0}.battle-command-column,.battle-arena-column,.battle-info-column{min-height:0}.battle-command-column,.battle-info-column{display:grid;align-content:start;gap:6px;overflow:auto}.battle-arena-column{display:grid;overflow:hidden}.player-development-layout{display:grid;grid-template-columns:minmax(360px,1fr) minmax(320px,.8fr);gap:12px;align-items:start;min-height:0;overflow:hidden}.player-development-layout>.panel,.player-development-layout>.stack{min-height:0;overflow:hidden}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:8px;margin:10px 0}.stack{display:grid;gap:8px}.player-development-shell{min-height:0;display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:8px;overflow:hidden}.player-development-shell .player-brief,.player-development-shell .controls-panel{margin-bottom:0}.development-ability-panel,.development-sidebar{min-height:0;overflow:auto}.development-ability-panel{padding-bottom:6px}.persistent-ability-manager,.development-sidebar{align-content:start}.ability-toolbar{display:grid;gap:8px}.ability-toolbar-actions{justify-content:space-between;align-items:center}.ability-points-strip{display:flex;flex-wrap:wrap;gap:6px 12px;padding:8px;border:1px solid var(--border-soft);border-radius:6px;background:#080c1475}.ability-list{align-content:start;overflow:visible}.ability-details{position:relative;border:1px solid var(--border-soft);border-radius:6px;background:#0a0f188f;padding:8px}.ability-hover-card{min-height:76px;outline:none}.ability-details-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.ability-details summary{cursor:pointer;list-style:none}.ability-details summary::-webkit-details-marker{display:none}.ability-details-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ability-details-body{margin-top:8px}.ability-card-summary{margin-top:6px}.ability-details-actions{margin-top:7px}.ability-hover-tooltip{position:absolute;left:16px;right:16px;top:calc(100% + 8px);display:none;gap:5px;padding:9px 10px;border:1px solid rgba(205,163,93,.38);border-radius:6px;background:#101722;color:var(--text);box-shadow:0 12px 34px #0000006b;z-index:30;pointer-events:none;white-space:normal}.ability-row{position:relative}.ability-row:hover .ability-hover-tooltip,.ability-row:focus-within .ability-hover-tooltip,.ability-hover-card:hover .ability-hover-tooltip,.ability-hover-card:focus-within .ability-hover-tooltip{display:grid}.ability-spec-grid{grid-template-columns:repeat(3,minmax(110px,1fr))}.visualization-current{min-height:58px;display:grid;align-content:center;gap:3px;padding:8px;border:1px solid var(--border-soft);border-radius:6px;background:#080c146b}.ability-visual-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.visual-choice{display:flex;gap:10px;justify-content:flex-start;align-items:center;min-height:86px;text-align:left;background:#0a0f188f;border:1px solid var(--border-soft);border-color:var(--border-soft);border-radius:6px;padding:9px;color:var(--text)}.visual-choice.selected{border-color:#ecc476e0;background:radial-gradient(circle at 20% 25%,rgba(236,196,118,.14),transparent 7rem),#2d211380}.visual-preview{position:relative;flex:0 0 58px;width:58px;height:48px;border:1px solid rgba(245,234,215,.2);border-radius:6px;background:#080c14b8;box-shadow:inset 0 0 18px color-mix(in srgb,var(--type-glow) 22%,transparent);overflow:hidden}.visual-preview>span{position:absolute;display:block}.visual-preview-caster{left:8px;top:20px;width:11px;height:11px;border-radius:999px;background:var(--type-color);box-shadow:0 0 10px var(--type-glow);animation:visualCasterPulse 1.8s infinite ease-in-out}.visual-preview-cast{left:3px;top:13px;width:22px;height:22px;border:2px solid var(--type-color);border-radius:999px;opacity:0;box-shadow:0 0 12px var(--type-glow);animation:visualCastPulse 1.8s infinite ease-out}.visual-preview-projectile{left:14px;top:22px;width:24px;height:5px;border-radius:999px;background:var(--type-color);box-shadow:0 0 12px var(--type-glow);transform-origin:center;animation:visualProjectileRun 1.8s infinite cubic-bezier(.2,.75,.25,1)}.visual-preview-impact{right:7px;top:17px;width:14px;height:14px;border:2px solid var(--type-color);border-radius:999px;opacity:0;box-shadow:0 0 16px var(--type-glow);animation:visualImpactPop 1.8s infinite ease-out}.visual-preview-spell .visual-preview-projectile{height:9px;border-radius:999px}.visual-preview-archery .visual-preview-projectile{width:32px;height:2px;border-radius:0;transform:rotate(-18deg);animation-name:visualArrowRun}.visual-preview-archery .visual-preview-projectile:after{content:"";position:absolute;right:-8px;top:-5px;border-left:10px solid var(--type-color);border-top:6px solid transparent;border-bottom:6px solid transparent}.visual-preview-weapon .visual-preview-projectile{width:36px;height:3px;border-radius:0;transform:rotate(-32deg);animation-name:visualSlashRun}.visual-preview-weapon .visual-preview-cast,.visual-preview-archery .visual-preview-cast{border-radius:0;border-top:0}.visual-preview-ward .visual-preview-projectile{left:18px;top:12px;width:22px;height:27px;border:2px solid var(--type-color);border-radius:0;background:transparent;clip-path:polygon(50% 0,100% 28%,82% 100%,18% 100%,0 28%);animation-name:visualWardRun}.visual-preview-ward .visual-preview-impact{right:14px}@keyframes visualCasterPulse{0%,to{transform:scale(.9);opacity:.78}30%{transform:scale(1.2);opacity:1}}@keyframes visualCastPulse{0%{transform:scale(.35);opacity:0}18%{opacity:.85}42%,to{transform:scale(1.25);opacity:0}}@keyframes visualProjectileRun{0%,24%{transform:translate(0) scaleX(.65);opacity:0}34%{opacity:1}68%{transform:translate(21px) scaleX(1);opacity:1}78%,to{transform:translate(24px) scaleX(.7);opacity:0}}@keyframes visualSlashRun{0%,24%{transform:translate(0) rotate(-32deg) scaleX(.35);opacity:0}42%{opacity:1}66%{transform:translate(18px) rotate(-32deg) scaleX(1);opacity:1}80%,to{transform:translate(20px) rotate(-32deg) scaleX(.5);opacity:0}}@keyframes visualArrowRun{0%,24%{transform:translate(0) rotate(-18deg) scaleX(.65);opacity:0}34%{opacity:1}68%{transform:translate(21px) rotate(-18deg) scaleX(1);opacity:1}78%,to{transform:translate(24px) rotate(-18deg) scaleX(.7);opacity:0}}@keyframes visualWardRun{0%,20%{transform:scale(.55);opacity:0}42%,66%{transform:scale(1);opacity:1}86%,to{transform:scale(1.28);opacity:0}}@keyframes visualImpactPop{0%,62%{transform:scale(.25);opacity:0}72%{opacity:.9}to{transform:scale(1.7);opacity:0}}.visual-choice-copy{min-width:0;display:grid;gap:3px}.visual-choice-copy span{color:var(--muted);font-size:12px;line-height:1.25}.visual-choice-actions{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.visual-choice-actions button{padding:6px 9px}.ability-preview-modal{width:min(760px,calc(100vw - 32px))}.actual-visual-preview{position:relative;height:300px;border:1px solid rgba(205,163,93,.28);border-radius:8px;overflow:hidden;background:radial-gradient(circle at 20% 50%,color-mix(in srgb,var(--type-glow) 22%,transparent),transparent 24%),radial-gradient(circle at 78% 50%,rgba(245,234,215,.08),transparent 26%),linear-gradient(180deg,#070b12,#111827)}.actual-preview-source,.actual-preview-target{position:absolute;bottom:54px;width:16px;height:16px;border-radius:999px;background:#101722;border:2px solid rgba(245,234,215,.42);box-shadow:0 0 20px #00000080}.actual-preview-source{left:98px}.actual-preview-target{right:112px}.actual-preview-cast{position:absolute;left:44px;bottom:27px;width:130px;height:76px;object-fit:contain;filter:drop-shadow(0 0 18px var(--type-glow));animation:actualCastPreview 2.2s infinite ease-out}.actual-preview-projectile{position:absolute;left:100px;top:120px;width:138px;height:76px;object-fit:contain;filter:drop-shadow(0 0 16px var(--type-glow));transform-origin:center;animation:actualProjectilePreview 2.2s infinite cubic-bezier(.2,.78,.22,1)}.actual-preview-impact{position:absolute;right:58px;bottom:21px;width:148px;height:116px;background-repeat:no-repeat;background-position:0 50%;background-size:calc(var(--impact-frames) * 100%) 100%;filter:drop-shadow(0 0 20px var(--type-glow));opacity:0;animation:actualImpactVisibility 2.2s infinite linear,actualImpactFrames 2.2s infinite steps(var(--impact-frames))}.actual-preview-empty{height:100%;display:grid;place-items:center;padding:18px;text-align:center}@keyframes actualCastPreview{0%{transform:scale(.75) rotate(0);opacity:0}10%,36%{opacity:.92}48%,to{transform:scale(1.16) rotate(32deg);opacity:0}}@keyframes actualProjectilePreview{0%,30%{transform:translate(0) scale(.72);opacity:0}38%{opacity:1}67%{transform:translate(330px) scale(.86);opacity:1}74%,to{transform:translate(365px) scale(.7);opacity:0}}@keyframes actualImpactVisibility{0%,62%{transform:scale(.75);opacity:0}69%,88%{opacity:1}to{transform:scale(1.08);opacity:0}}@keyframes actualImpactFrames{0%,62%{background-position:0 50%}to{background-position:100% 50%}}.summary-details{border:1px solid var(--border-soft);border-radius:6px;background:#0a0f188f;padding:8px}.summary-details summary{cursor:pointer;font-weight:600}.summary-details ul,.summary-details .stack{margin-top:8px}.archive-panel{overflow:hidden}.archive-actions{justify-content:flex-end}.ability-modal-backdrop{align-items:flex-start;overflow:auto}.ability-modal-card{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}.ability-row{display:grid;grid-template-columns:20px 1fr;gap:8px;padding:8px;border:1px solid var(--border-soft);border-radius:6px;background:#0a0f188f}.ability-row.selected{border-color:var(--accent);background:#14b8a624}.ability-title{display:flex;justify-content:space-between;gap:10px}.row{display:flex;gap:8px;align-items:end}.row>label{min-width:130px;flex:1}.tag-grid{margin:6px 0 10px;display:flex;flex-wrap:wrap;gap:6px 12px}.effect-row{padding:8px;border:1px solid var(--border-soft);border-radius:6px;background:#0a0f188f}.rule-card{border:1px solid var(--border-soft);border-radius:6px;padding:8px;display:grid;gap:8px;background:#080c1457}.turn-planning-panel{position:relative;margin-top:0;border:1px solid rgba(205,163,93,.34);background:linear-gradient(180deg,#202536fa,#0f1522fa)}.turn-planning-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px}.ongoing-action-card{background:#080c1461}.ongoing-action-banner{padding:10px;border:1px solid rgba(251,191,36,.6);border-radius:6px;background:#fbbf241f;font-weight:700}.turn-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.turn-action-grid.compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ability-action-card{display:grid;gap:4px;text-align:left;align-items:start;min-height:104px;position:relative}.active-turn-choice{border-color:var(--accent);background:#14b8a629}.warning-text{color:var(--warning);font-weight:600}.hosted-progression-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:center;justify-content:center;padding:16px;z-index:20}.modal-card{width:min(520px,100%);background:linear-gradient(180deg,#202536,#111723);border:1px solid rgba(205,163,93,.34);border-radius:10px;padding:16px;display:grid;gap:12px;box-shadow:0 24px 70px #00000080}.arena-panel{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px;overflow:hidden;height:100%;background:linear-gradient(180deg,#101722fa,#070b13fa);border-color:#cda35d6b;color:var(--text)}.phaser-container{cursor:crosshair}.arena-header{display:flex;justify-content:space-between;align-items:start;gap:8px;flex-wrap:wrap}.arena-playback-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.arena-stage-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;height:100%}.arena-stage-layout.has-actions{grid-template-columns:1fr;align-items:stretch}.arena-stage-main{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:start;height:100%}.arena-header .muted,.arena-meta,.arena-hint,.legend-item{color:#d8ccb8}.arena-legend{margin-top:0;display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;font-size:11px}.arena-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap;margin-bottom:6px;padding:6px 8px;border:1px solid rgba(205,163,93,.18);border-radius:6px;background:#080c146b}.legend-item{display:inline-flex;gap:6px;align-items:center}.type-legend-item{color:#f3ead9}.legend-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(245,234,215,.34)}.legend-swatch.team-a{background:#4ea8de}.legend-swatch.team-b{background:#e56b6f}.legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.legend-dot.shield{border:2px solid var(--accent)}.legend-dot.dot{background:#ef4444}.legend-dot.slow{background:#38bdf8}.legend-dot.stun{background:#f59e0b}.legend-dot.typed{background:var(--type-color);box-shadow:0 0 10px var(--type-glow);border:1px solid rgba(255,255,255,.5)}.legend-ko{width:12px;height:12px;border-radius:3px;border:1px solid #111827;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:#111827}.arena-toggle{font-size:11px;justify-self:start;white-space:nowrap;color:var(--text)}.arena-speed-row{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.arena-speed-buttons{display:flex;gap:6px;flex-wrap:wrap}.arena-speed-buttons button{padding:6px 10px}.phaser-container{width:100%;justify-self:stretch;aspect-ratio:24 / 14;height:auto;min-height:0;max-height:none;max-width:100%;margin-top:0;border:1px solid rgba(205,163,93,.38);border-radius:8px;overflow:hidden;background:#080c14;box-shadow:inset 0 0 0 1px #ffffff0a,0 14px 36px #00000052}.phaser-container canvas{display:block;width:100%;height:100%}.phaser-loading{margin-top:0;border:1px dashed #2f405f;border-radius:8px;background:#0b1220;color:#94a3b8;aspect-ratio:24 / 14;min-height:260px;display:flex;align-items:center;justify-content:center}.arena-commentary{margin-top:6px;padding:6px 8px;border:1px solid rgba(205,163,93,.22);border-radius:6px;background:linear-gradient(180deg,#141b29,#090e17);color:#f7e7bd;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.4;min-height:30px}.arena-commentary-clock{color:#facc15;font-weight:700}.arena-commentary-text{overflow:visible;text-overflow:clip;white-space:normal}.arena-meta{margin-top:0;text-align:right;font-size:11px}.battle-command-column .turn-planning-panel{min-height:0;overflow:auto;padding:10px}.battle-command-column .section-header{align-items:start}.battle-command-column .section-header h2,.battle-command-column .rule-card h3,.battle-info-column h2{font-size:14px;text-transform:uppercase;letter-spacing:.02em;color:#f7e7bd}.battle-command-column .rule-card{padding:8px}.battle-command-column .turn-action-grid{grid-template-columns:1fr}.battle-command-column .ability-action-card{min-height:auto;padding:7px 8px}.lock-in-button{min-width:132px}.ability-action-card{border:12px solid transparent;border-image:var(--frame-secondary) 18 stretch}.ability-action-gem{width:30px;height:30px;display:grid;place-items:center;color:var(--accent);background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%3e%3cpath%20d='M14%202h92l12%2012v92l-12%2012H14L2%20106V14z'%20fill='%23111923'%20stroke='%23bd8f48'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h72l12%2012v72l-12%2012H24L12%2096V24z'%20fill='none'%20stroke='%2331465a'%20stroke-width='2'/%3e%3ccircle%20cx='60'%20cy='60'%20r='27'%20fill='none'%20stroke='%232fd6cc'%20stroke-width='1.5'%20opacity='.24'/%3e%3cpath%20d='M60%2024v72M24%2060h72'%20stroke='%232fd6cc'%20opacity='.14'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.ability-action-tooltip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);width:190px;padding:8px 9px;border:1px solid rgba(205,163,93,.34);border-radius:6px;background:#101722;color:var(--text);box-shadow:0 10px 30px #00000061;display:none;gap:4px;z-index:5;pointer-events:none;white-space:normal}.ability-action-card:hover .ability-action-tooltip,.ability-action-card:focus-visible .ability-action-tooltip{display:grid}.battle-command-column .small{font-size:11px}.arena-battle-bar{padding:8px 10px}.arena-battle-bar .section-header{margin-bottom:0;align-items:center}.arena-battle-bar h3{margin-bottom:2px}.player-battle-shell{min-height:0;display:grid;grid-template-rows:auto 1fr;gap:8px;overflow:hidden}.opponent-panel,.battle-status-panel{display:grid;gap:8px}.battle-status-body{display:grid;gap:4px}.opponent-summary{display:grid;gap:2px}.accordion-list{display:grid;gap:6px}.accordion-entry{border:1px solid var(--border-soft);border-radius:6px;overflow:hidden;background:#0a0f188f}.accordion-trigger{width:100%;border:0;border-radius:0;background:#20283ae6;color:var(--text);display:flex;justify-content:space-between;align-items:center;padding:7px 9px;font-weight:700}.accordion-trigger[aria-expanded=true]{background:#14b8a624;color:#99f6e4}.accordion-body{padding:8px 9px;display:grid;gap:6px}.balance-result{margin-top:8px;font-weight:600}.balance-result.pass{color:var(--success)}.balance-result.fail{color:var(--danger)}.balance-check-list{margin-top:8px}.logs{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.list{max-height:320px;overflow:auto;font-family:Consolas,Courier New,monospace;font-size:12px;border:1px solid var(--border-soft);border-radius:6px;background:#080c1485;padding:8px}.combat-log-entry{padding:3px 6px;border-radius:4px}.combat-log-entry+.combat-log-entry{margin-top:2px}.combat-log-entry.movement{color:#64748b}.combat-log-entry.action{color:#f3ead9}.combat-log-entry.ability,.combat-log-entry.healing,.combat-log-entry.shield{background:#38bdf81f}.combat-log-entry.damage{font-weight:600}.combat-log-entry.damage-outgoing{background:#22c55e21;color:#bbf7d0}.combat-log-entry.damage-incoming{background:#f43f5e24;color:#fecdd3}.breakdown-card{border:1px solid var(--border-soft);border-radius:6px;padding:8px;background:#0a0f188f}.archive-list{margin-top:8px}.archive-entry{border:1px solid var(--border-soft);border-radius:6px;background:#0a0f188f;padding:8px}.archive-entry summary{cursor:pointer}.archive-body{margin-top:8px}.archive-breakdown{padding:6px 8px;border:1px solid var(--border-soft);border-radius:6px;background:#080c1466}.archive-log{max-height:260px}.small{font-size:12px}.muted{color:var(--muted)}@media (max-width: 1680px){.player-development-layout{grid-template-columns:minmax(320px,1fr) minmax(300px,.8fr)}}@media (max-width: 1220px){.main-layout,.player-battle-layout{grid-template-columns:1fr;height:100%;overflow:hidden}.player-development-layout{grid-template-columns:1fr}.player-development-shell{grid-template-rows:repeat(4,auto) minmax(0,1fr)}.development-sidebar{grid-template-columns:1fr}.center-column{order:-1}.arena-stage-layout.has-actions{grid-template-columns:1fr}.phaser-container{width:100%;height:auto;max-height:none}body{overflow:auto}.app,.player-arena-page,.player-battle-shell,.player-battle-layout{height:auto;overflow:visible}}@media (max-width: 900px){html,body,#root{max-width:100%;overflow-x:hidden}.app{padding:10px}button{max-width:100%;white-space:normal}.toolbar.wrap>button{flex:1 1 140px}.toolbar.wrap>label{flex:1 1 160px}.controls-panel .toolbar{display:grid;grid-template-columns:1fr;align-items:stretch}.controls-panel .toolbar>*{min-width:0;width:100%}.inline-label{flex-wrap:wrap;align-items:stretch}.inline-label select{width:100%}.arena-toolbar{flex-wrap:wrap;align-items:flex-start}.arena-toggle{white-space:normal}.logs{grid-template-columns:1fr}.arena-commentary{grid-template-columns:1fr;gap:4px}.arena-commentary-text{white-space:normal}.stat-grid,.turn-planning-grid,.champion-hero-card,.character-create-layout,.armory-layout,.battle-hud-panel,.battle-result-hero{grid-template-columns:1fr}.fighter-hud.opponent{grid-template-columns:72px minmax(0,1fr);text-align:left}.fighter-hud.opponent img{order:0}.technique-loadout-grid,.result-stat-grid,.base-class-grid{grid-template-columns:1fr}}:root{font-family:Inter,Segoe UI,Tahoma,sans-serif;color:#f3e7cf;background:#05070c;--bg: #05070c;--bg-2: #0a0f18;--surface: #131b28;--surface-2: #1a2534;--surface-3: #243045;--iron: #090d13;--stone: #182233;--slate: #202b3c;--border: #9d7947;--border-soft: #4c3f32;--gold: #d4ad65;--gold-bright: #f1d48a;--gold-soft: #8e6f41;--bronze-dark: #4a2f19;--text: #f3e7cf;--muted: #b8aa91;--faint: #817463;--accent: #38d8cf;--accent-deep: #17615e;--accent-soft: rgba(56, 216, 207, .16);--danger: #d75d55;--danger-deep: #76231e;--success: #9fdb9e;--warning: #d9ad4f;--panel-texture: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='220'%20height='220'%20viewBox='0%200%20220%20220'%3e%3cdefs%3e%3cfilter%20id='grain'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.9'%20numOctaves='3'%20seed='7'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3cfeComponentTransfer%3e%3cfeFuncA%20type='table'%20tableValues='0%20.32'/%3e%3c/feComponentTransfer%3e%3c/filter%3e%3c/defs%3e%3crect%20width='220'%20height='220'%20fill='%23141b27'/%3e%3crect%20width='220'%20height='220'%20filter='url(%23grain)'%20opacity='.38'/%3e%3cpath%20d='M0%2033h220M0%20101h220M0%20169h220M31%200v220M96%200v220M166%200v220'%20stroke='%23566071'%20stroke-width='.8'%20opacity='.12'/%3e%3c/svg%3e");--page-texture: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='320'%20height='320'%20viewBox='0%200%20320%20320'%3e%3cdefs%3e%3cfilter%20id='n'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.75'%20numOctaves='4'%20seed='19'/%3e%3cfeColorMatrix%20type='saturate'%20values='0'/%3e%3cfeComponentTransfer%3e%3cfeFuncA%20type='table'%20tableValues='0%20.26'/%3e%3c/feComponentTransfer%3e%3c/filter%3e%3cradialGradient%20id='g'%20cx='50%25'%20cy='44%25'%20r='72%25'%3e%3cstop%20offset='0'%20stop-color='%23182234'/%3e%3cstop%20offset='.62'%20stop-color='%230b111c'/%3e%3cstop%20offset='1'%20stop-color='%2305070c'/%3e%3c/radialGradient%3e%3c/defs%3e%3crect%20width='320'%20height='320'%20fill='url(%23g)'/%3e%3crect%20width='320'%20height='320'%20filter='url(%23n)'%20opacity='.45'/%3e%3cpath%20d='M0%2046h320M0%20112h320M0%20185h320M0%20259h320M42%200v320M119%200v320M205%200v320M283%200v320'%20stroke='%232a3446'%20stroke-width='1'%20opacity='.16'/%3e%3cpath%20d='M0%2046h320M0%20185h320M119%200v320M283%200v320'%20stroke='%238a6a3d'%20stroke-width='.7'%20opacity='.08'/%3e%3c/svg%3e");--parchment-texture: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='260'%20height='180'%20viewBox='0%200%20260%20180'%3e%3cdefs%3e%3cfilter%20id='grain'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.55'%20numOctaves='5'%20seed='22'/%3e%3cfeColorMatrix%20type='matrix'%20values='.9%20.2%200%200%200%20.1%20.65%20.1%200%200%200%20.08%20.42%200%200%200%200%200%20.22%200'/%3e%3c/filter%3e%3clinearGradient%20id='paper'%20x1='0'%20x2='1'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232a2218'/%3e%3cstop%20offset='.5'%20stop-color='%233b301f'/%3e%3cstop%20offset='1'%20stop-color='%231e1710'/%3e%3c/linearGradient%3e%3c/defs%3e%3crect%20width='260'%20height='180'%20fill='url(%23paper)'/%3e%3crect%20width='260'%20height='180'%20filter='url(%23grain)'%20opacity='.6'/%3e%3cpath%20d='M18%2018h224v144H18z'%20fill='none'%20stroke='%23b68a48'%20stroke-width='1.4'%20opacity='.35'/%3e%3cpath%20d='M32%2042h196M32%2068h168M32%2094h190M32%20120h148'%20stroke='%23d7b66d'%20stroke-width='1'%20opacity='.13'/%3e%3c/svg%3e");--frame-primary: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20height='160'%20viewBox='0%200%20160%20160'%3e%3cpath%20d='M18%201h124l17%2017v124l-17%2017H18L1%20142V18z'%20fill='none'%20stroke='%23c49752'%20stroke-width='2'/%3e%3cpath%20d='M24%208h112l16%2016v112l-16%2016H24L8%20136V24z'%20fill='none'%20stroke='%235f4527'%20stroke-width='2'/%3e%3cpath%20d='M22%201v21H1M138%201v21h21M1%20138h21v21M138%20159v-21h21'%20fill='none'%20stroke='%23e0bd73'%20stroke-width='2'/%3e%3cpath%20d='M32%2016h96M16%2032v96M32%20144h96M144%2032v96'%20stroke='%232fd6cc'%20stroke-width='1'%20opacity='.28'/%3e%3c/svg%3e");--frame-secondary: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='140'%20height='140'%20viewBox='0%200%20140%20140'%3e%3cpath%20d='M12%201h116l11%2011v116l-11%2011H12L1%20128V12z'%20fill='none'%20stroke='%23806040'%20stroke-width='2'/%3e%3cpath%20d='M20%208h100l12%2012v100l-12%2012H20L8%20120V20z'%20fill='none'%20stroke='%232f3b4d'%20stroke-width='2'/%3e%3cpath%20d='M27%2012h86M12%2027v86M27%20128h86M128%2027v86'%20stroke='%23c9a15a'%20stroke-width='1'%20opacity='.32'/%3e%3c/svg%3e");--frame-modal: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='220'%20height='160'%20viewBox='0%200%20220%20160'%3e%3cpath%20d='M24%202h172l22%2022v112l-22%2022H24L2%20136V24z'%20fill='none'%20stroke='%23d2aa62'%20stroke-width='3'/%3e%3cpath%20d='M34%2012h152l20%2020v96l-20%2020H34l-20-20V32z'%20fill='none'%20stroke='%2348331f'%20stroke-width='3'/%3e%3cpath%20d='M45%2022h130M45%20138h130M22%2045v70M198%2045v70'%20stroke='%232fd6cc'%20stroke-width='1'%20opacity='.22'/%3e%3c/svg%3e");--divider-ornate: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='460'%20height='28'%20viewBox='0%200%20460%2028'%3e%3cpath%20d='M8%2014h170M282%2014h170'%20stroke='%23a87d43'%20stroke-width='2'/%3e%3cpath%20d='M180%2014c16-16%2034-16%2050%200%2016-16%2034-16%2050%200-16%2016-34%2016-50%200-16%2016-34%2016-50%200z'%20fill='none'%20stroke='%23d4ad65'%20stroke-width='2'/%3e%3ccircle%20cx='230'%20cy='14'%20r='4'%20fill='%2336d7cf'/%3e%3cpath%20d='M39%208l-8%206%208%206M421%208l8%206-8%206'%20fill='none'%20stroke='%23d4ad65'%20stroke-width='2'/%3e%3c/svg%3e");--divider-engraved: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='360'%20height='10'%20viewBox='0%200%20360%2010'%3e%3cpath%20d='M0%205h360'%20stroke='%230a0d13'%20stroke-width='3'/%3e%3cpath%20d='M0%204h360'%20stroke='%23b88d4c'%20stroke-width='1'%20opacity='.55'/%3e%3cpath%20d='M166%201h28l5%204-5%204h-28l-5-4z'%20fill='%23151b27'%20stroke='%23b88d4c'%20stroke-width='1'/%3e%3c/svg%3e");--shadow: 0 22px 60px rgba(0, 0, 0, .46);--shadow-tight: 0 12px 28px rgba(0, 0, 0, .36);--inset-line: inset 0 1px 0 rgba(255, 237, 184, .08);--focus-ring: 0 0 0 2px rgba(56, 216, 207, .28), 0 0 24px rgba(56, 216, 207, .14)}body{color:var(--text);background:radial-gradient(circle at 18% 0,rgba(153,105,48,.2),transparent 34rem),radial-gradient(circle at 92% 20%,rgba(56,216,207,.08),transparent 28rem),linear-gradient(180deg,#05070cb3,#05070cf5),var(--page-texture)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,rgba(212,173,101,.07),transparent 16%,transparent 84%,rgba(212,173,101,.07)),radial-gradient(circle at 50% -18%,rgba(241,212,138,.12),transparent 42rem);mix-blend-mode:screen}.app{padding:12px;gap:10px}.app-header{position:relative;min-height:58px;padding:10px 14px;border:0;border-radius:0;background:linear-gradient(180deg,#1e2737f0,#080c13fa),var(--panel-texture);box-shadow:var(--shadow)}.app-header:before,.panel:before,.modal-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:18px solid transparent;border-image:var(--frame-primary) 22 stretch;opacity:.9}.app-header h1{margin:0;font-family:Cinzel,Georgia,serif;font-size:clamp(19px,2vw,28px);color:var(--gold-bright);text-shadow:0 2px 0 #07090e,0 0 18px rgba(212,173,101,.2)}h1,h2,h3{font-family:Cinzel,Georgia,serif;letter-spacing:0}h2{color:var(--gold-bright);font-size:20px;text-shadow:0 1px 0 #05070c}h3{color:#ead7ad;font-size:15px}.eyebrow,.label-text{color:var(--gold);letter-spacing:.08em}.panel{position:relative;border:0;border-radius:0;padding:14px;background:linear-gradient(180deg,#1f2a3bed,#0c111af7),var(--panel-texture);box-shadow:var(--shadow),inset 0 0 42px #00000047}.panel>*{position:relative;z-index:1}.panel:after{content:"";position:absolute;left:18px;right:18px;top:8px;height:1px;background:linear-gradient(90deg,transparent,rgba(241,212,138,.42),transparent);pointer-events:none}.board-header-panel,.battle-hud-panel,.champion-hero-card{background:radial-gradient(circle at 16% 28%,rgba(212,173,101,.15),transparent 16rem),linear-gradient(180deg,#262b3af5,#0a0e16fa),var(--panel-texture)}button{min-height:36px;border:0;border-radius:0;background:linear-gradient(180deg,#8b622efa,#462b15fa 58%,#23160efa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b622e'/%3e%3cstop%20offset='.48'%20stop-color='%235a381d'/%3e%3cstop%20offset='1'%20stop-color='%232a1a10'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M16%204h208l12%2012v32l-12%2012H16L4%2048V16z'%20fill='url(%23b)'%20stroke='%23d2aa62'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h192l8%208v24l-8%208H24l-8-8V20z'%20fill='none'%20stroke='%23442b18'%20stroke-width='2'/%3e%3cpath%20d='M30%2010h180M30%2054h180'%20stroke='%23ffe4a3'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat;color:#fff1d0;font-family:Inter,Segoe UI,sans-serif;font-weight:800;letter-spacing:0;text-shadow:0 1px 0 #05070c;box-shadow:var(--shadow-tight),inset 0 1px #ffe9ac29;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}button:hover:not(:disabled),button:focus-visible:not(:disabled){transform:translateY(-1px);filter:brightness(1.08);box-shadow:var(--shadow-tight),var(--focus-ring);outline:none}button:active:not(:disabled){transform:translateY(1px);filter:brightness(.96)}button:disabled{opacity:.48;filter:grayscale(.45)}button.ghost{background:linear-gradient(180deg,#263143f5,#111925fa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232c384b'/%3e%3cstop%20offset='.5'%20stop-color='%23172130'/%3e%3cstop%20offset='1'%20stop-color='%230c111a'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M14%205h212l9%209v36l-9%209H14L5%2050V14z'%20fill='url(%23b)'%20stroke='%23866842'%20stroke-width='2'/%3e%3cpath%20d='M24%2013h192l8%208v22l-8%208H24l-8-8V21z'%20fill='none'%20stroke='%233d4b61'%20stroke-width='1.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat;color:#e8ddc9}button.accent{background:linear-gradient(180deg,#1c6f6bf5,#0f3e3bfa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b622e'/%3e%3cstop%20offset='.48'%20stop-color='%235a381d'/%3e%3cstop%20offset='1'%20stop-color='%232a1a10'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M16%204h208l12%2012v32l-12%2012H16L4%2048V16z'%20fill='url(%23b)'%20stroke='%23d2aa62'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h192l8%208v24l-8%208H24l-8-8V20z'%20fill='none'%20stroke='%23442b18'%20stroke-width='2'/%3e%3cpath%20d='M30%2010h180M30%2054h180'%20stroke='%23ffe4a3'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat;border-color:transparent;box-shadow:var(--shadow-tight),inset 0 0 18px #38d8cf29}button.danger,button.ghost.danger{color:#ffd5cf;background:linear-gradient(180deg,#74241ef5,#2d0f0ffa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232c384b'/%3e%3cstop%20offset='.5'%20stop-color='%23172130'/%3e%3cstop%20offset='1'%20stop-color='%230c111a'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M14%205h212l9%209v36l-9%209H14L5%2050V14z'%20fill='url(%23b)'%20stroke='%23866842'%20stroke-width='2'/%3e%3cpath%20d='M24%2013h192l8%208v22l-8%208H24l-8-8V21z'%20fill='none'%20stroke='%233d4b61'%20stroke-width='1.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat}input,select,textarea{border:1px solid rgba(157,121,71,.45);border-radius:0;background:linear-gradient(180deg,#080c13eb,#121925eb),var(--panel-texture);color:var(--text);padding:8px 10px;box-shadow:inset 0 0 0 1px #00000073,var(--inset-line)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring),inset 0 0 0 1px #00000080}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;padding:0;display:inline-grid;place-items:center;border:1px solid rgba(212,173,101,.68);background:#080c13}input[type=checkbox]:before{content:"";width:8px;height:8px;transform:scale(0);background:var(--accent);box-shadow:0 0 12px #38d8cf8c}input[type=checkbox]:checked:before{transform:scale(1)}.badge,.champion-badge-row span,.game-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(212,173,101,.45);border-radius:0;background:linear-gradient(180deg,#1f2a3bc7,#090d14d1);color:#ecd9b5;padding:4px 8px;font-size:12px;font-weight:700;box-shadow:inset 0 0 12px #00000040}.game-badge.good{border-color:#9fdb9e80;color:#d8f6cf}.game-badge.danger{border-color:#d75d5594;color:#ffd0ca}.game-badge.gold{border-color:#f1d48aa6;color:var(--gold-bright)}.game-icon,.game-badge svg,.game-action-icon svg{width:18px;height:18px;flex:0 0 auto}.game-section-title{display:grid;gap:3px}.game-section-title:after,.board-header-panel h2:after,.champion-action-panel:after{content:"";display:block;width:min(360px,100%);height:10px;margin-top:5px;background:var(--divider-engraved) center / 100% 100% no-repeat;opacity:.8}.xp-track,.hud-hp-bar{height:14px;border:1px solid rgba(212,173,101,.62);border-radius:0;background:linear-gradient(180deg,#04060af2,#121823f2);box-shadow:inset 0 0 14px #000000b8,0 1px #f1d48a1f}.xp-track span,.hud-hp-bar span{background:linear-gradient(90deg,#17615ef2,#38d8cfeb,#ecd385e6);box-shadow:inset 0 0 12px #ffffff29,0 0 14px #38d8cf40}.hud-hp-bar span{background:linear-gradient(90deg,#7e1f1e,#c14d42,#e1a05d)}.hud-hp-bar.enemy span{background:linear-gradient(90deg,#4f1418,#d75d55,#e08a45)}.summary-details,.rule-card,.breakdown-card,.archive-entry,.effect-row,.accordion-entry,.ability-details,.visualization-current,.list,.result-stat-grid span{border:1px solid rgba(157,121,71,.35);border-radius:0;background:linear-gradient(180deg,#090d14a8,#131b28b8),var(--panel-texture);box-shadow:inset 0 0 22px #00000038}.summary-details summary,.accordion-trigger{color:#ead7ad}.accordion-trigger{background:linear-gradient(180deg,#242f40eb,#0f151ff5)}.accordion-trigger[aria-expanded=true]{background:linear-gradient(180deg,#284149d1,#121e27f5);color:#bffbf6;box-shadow:inset 0 0 18px #38d8cf14}.modal-backdrop{background:radial-gradient(circle at 50% 35%,rgba(56,216,207,.1),transparent 24rem),#020408c7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{position:relative;border:0;border-radius:0;padding:22px;background:linear-gradient(180deg,#202837fa,#0a0e15fc),var(--panel-texture);box-shadow:0 30px 90px #000000b8}.modal-card:before{border-image:var(--frame-modal) 28 stretch}.ability-hover-tooltip,.ability-action-tooltip,.player-popover-menu{border:0;border-radius:0;background:linear-gradient(180deg,#192230fa,#070a10fa),var(--panel-texture);box-shadow:var(--shadow)}.ability-hover-tooltip:before,.ability-action-tooltip:before,.player-popover-menu:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:14px solid transparent;border-image:var(--frame-secondary) 18 stretch}.champion-portrait-frame{position:relative;border:0;border-radius:0;background:radial-gradient(circle at 50% 32%,#d4ad6542,#080c13eb 62%),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%3e%3cpath%20d='M14%202h92l12%2012v92l-12%2012H14L2%20106V14z'%20fill='%23111923'%20stroke='%23bd8f48'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h72l12%2012v72l-12%2012H24L12%2096V24z'%20fill='none'%20stroke='%2331465a'%20stroke-width='2'/%3e%3ccircle%20cx='60'%20cy='60'%20r='27'%20fill='none'%20stroke='%232fd6cc'%20stroke-width='1.5'%20opacity='.24'/%3e%3cpath%20d='M60%2024v72M24%2060h72'%20stroke='%232fd6cc'%20opacity='.14'/%3e%3c/svg%3e") center / 100% 100% no-repeat;box-shadow:inset 0 0 30px #00000070,0 16px 34px #00000052}.champion-portrait{filter:drop-shadow(0 14px 12px rgba(0,0,0,.45))}.game-action-tile{min-height:88px;padding:12px;justify-content:start;text-align:left;background:radial-gradient(circle at 20% 30%,rgba(212,173,101,.13),transparent 5rem),linear-gradient(180deg,#1d2839f5,#090d14fa),var(--panel-texture);border:16px solid transparent;border-image:var(--frame-secondary) 18 stretch}.game-action-tile.active,.game-action-tile:hover:not(:disabled),.pvp-opponent-card.selected,.gear-item-card.selected,.visual-choice.selected,.ability-row.selected,.base-class-card.selected,.character-select-card:hover,.character-select-card:focus-visible{box-shadow:var(--shadow-tight),var(--focus-ring)}.game-action-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--gold-bright);background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%3e%3cpath%20d='M14%202h92l12%2012v92l-12%2012H14L2%20106V14z'%20fill='%23111923'%20stroke='%23bd8f48'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h72l12%2012v72l-12%2012H24L12%2096V24z'%20fill='none'%20stroke='%2331465a'%20stroke-width='2'/%3e%3ccircle%20cx='60'%20cy='60'%20r='27'%20fill='none'%20stroke='%232fd6cc'%20stroke-width='1.5'%20opacity='.24'/%3e%3cpath%20d='M60%2024v72M24%2060h72'%20stroke='%232fd6cc'%20opacity='.14'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.game-action-copy{display:grid;gap:4px;min-width:0}.game-action-copy span{color:var(--muted);font-size:12px;font-weight:600;text-shadow:none}.character-select-card,.empty-state-card,.pvp-opponent-card,.gear-item-card,.activity-card,.raid-card,.gear-slot-card,.raid-member-card,.technique-slot,.base-class-card{border-radius:0;border:14px solid transparent;border-image:var(--frame-secondary) 18 stretch;background:linear-gradient(180deg,#141d2be6,#080c13f0),var(--panel-texture)}.pvp-opponent-card,.gear-item-card,.character-select-card,.base-class-card{min-height:126px}.pvp-opponent-card{grid-template-columns:58px minmax(0,1fr);align-items:center}.pvp-opponent-card strong,.pvp-opponent-card .small,.pvp-opponent-card .champion-badge-row{grid-column:2}.duel-poster-sigil{grid-row:1 / span 3;width:54px;height:70px;display:grid;place-items:center;background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%3e%3cpath%20d='M14%202h92l12%2012v92l-12%2012H14L2%20106V14z'%20fill='%23111923'%20stroke='%23bd8f48'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h72l12%2012v72l-12%2012H24L12%2096V24z'%20fill='none'%20stroke='%2331465a'%20stroke-width='2'/%3e%3ccircle%20cx='60'%20cy='60'%20r='27'%20fill='none'%20stroke='%232fd6cc'%20stroke-width='1.5'%20opacity='.24'/%3e%3cpath%20d='M60%2024v72M24%2060h72'%20stroke='%232fd6cc'%20opacity='.14'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.duel-poster-sigil img{width:42px;height:56px;object-fit:contain;filter:drop-shadow(0 9px 8px rgba(0,0,0,.5))}.pvp-opponent-card.selected,.gear-item-card.selected,.base-class-card.selected{background:radial-gradient(circle at 18% 28%,rgba(56,216,207,.13),transparent 8rem),linear-gradient(180deg,#1c2d37eb,#0a1018f5),var(--panel-texture);border-image-source:var(--frame-primary)}.technique-slot,.gear-slot-card{background:linear-gradient(180deg,#111824db,#06090feb),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%3e%3cpath%20d='M16%202h88l14%2014v88l-14%2014H16L2%20104V16z'%20fill='%23151922'%20stroke='%239d7947'%20stroke-width='2'/%3e%3cpath%20d='M31%2010h58l21%2021v58l-21%2021H31L10%2089V31z'%20fill='none'%20stroke='%23c7a15e'%20stroke-width='1.5'%20opacity='.42'/%3e%3cpath%20d='M60%2024l29%2018v35L60%2096%2031%2077V42z'%20fill='none'%20stroke='%23d7bf82'%20stroke-width='1'%20opacity='.22'/%3e%3c/svg%3e") center / 100% 100% no-repeat;border-image-source:none;border:1px solid rgba(157,121,71,.36)}.technique-slot.empty{border:1px dashed rgba(157,121,71,.42)}.rarity-common{--rarity-color: #9da8ad}.rarity-uncommon{--rarity-color: #8fd59a}.rarity-rare{--rarity-color: #74a7e8}.rarity-epic{--rarity-color: #c08be8}.rarity-legendary{--rarity-color: #f0b95e}.gear-item-card[class*=rarity-],.gear-slot-card[class*=rarity-]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--rarity-color, #9d7947) 60%,transparent),0 10px 28px #00000047}.gear-item-card[class*=rarity-] strong,.gear-slot-card[class*=rarity-] strong{color:color-mix(in srgb,var(--rarity-color, #f3e7cf) 72%,#fff1d0)}.main-game-nav button{min-height:42px;padding:9px 13px;background:linear-gradient(180deg,#111823f2,#080c13fa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='52'%20viewBox='0%200%20180%2052'%3e%3cpath%20d='M15%205h150l10%2012-7%2030H12L5%2017z'%20fill='%23111823'%20stroke='%2373583a'%20stroke-width='2'/%3e%3cpath%20d='M28%2013h124'%20stroke='%23a88955'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.main-game-nav button.accent{color:#fff1d0;background:linear-gradient(180deg,#1d343df2,#0c141efa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='52'%20viewBox='0%200%20180%2052'%3e%3cpath%20d='M15%204h150l11%2013-7%2031H11L4%2017z'%20fill='%231b2432'%20stroke='%23caa35f'%20stroke-width='2'/%3e%3cpath%20d='M26%2011h128l9%209-4%2020H21l-4-20z'%20fill='none'%20stroke='%2335d7cf'%20stroke-width='1'%20opacity='.45'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.champion-action-grid,.pvp-opponent-grid,.gear-slot-grid,.card-grid.three,.pvp-entry-panel,.champion-action-panel,.expedition-active-card{gap:12px}.player-development-shell{position:relative;isolation:isolate}.player-development-shell:before,.board-shell:before,.player-battle-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;opacity:.24;background:linear-gradient(180deg,#05070c1f,#05070cc2),url(/assets/game/ui/backdrops/champion-hall-v1.png) center / cover no-repeat}.board-shell,.player-battle-shell{position:relative;isolation:isolate}.player-battle-shell:before{background:linear-gradient(180deg,#05070c14,#05070cbd),url(/assets/game/ui/backdrops/arena-challenge-hall-v1.png) center / cover no-repeat}.armory-board:before,.forge-board:before,.roster-board:before{background:linear-gradient(180deg,#05070c2e,#05070ccc),url(/assets/game/ui/backdrops/champion-hall-v1.png) center / cover no-repeat}.expedition-board:before{background:linear-gradient(180deg,#05070c24,#05070cc7),url(/assets/game/ui/backdrops/expedition-contract-board-v1.png) center / cover no-repeat}.raid-board:before{background:linear-gradient(180deg,#05070c1a,#05070cc2),url(/assets/game/ui/backdrops/raid-war-table-v1.png) center / cover no-repeat}.activity-card{background:linear-gradient(180deg,#271f16c7,#0d0f14f0),var(--parchment-texture)}.raid-card{background:radial-gradient(circle at 0 0,rgba(215,93,85,.12),transparent 12rem),linear-gradient(180deg,#181e2af0,#080b11fa),var(--panel-texture)}.arena-panel,.turn-planning-panel,.battle-info-column .panel{box-shadow:var(--shadow),inset 0 0 34px #00000059}.arena-toolbar,.arena-commentary{border:1px solid rgba(157,121,71,.36);border-radius:0;background:linear-gradient(180deg,#0a0e16c7,#121925d1),var(--panel-texture)}.phaser-container,.phaser-loading{border:0;border-radius:0;box-shadow:0 0 0 2px #5e4527d6,0 0 0 4px #0c1018f2,var(--shadow)}.battle-result-hero{background:radial-gradient(circle at 20% 30%,rgba(212,173,101,.24),transparent 16rem),radial-gradient(circle at 86% 52%,rgba(56,216,207,.11),transparent 18rem),linear-gradient(180deg,#252937fa,#090c12fc),var(--panel-texture)}.fighter-hud img{background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%20viewBox='0%200%20120%20120'%3e%3cpath%20d='M14%202h92l12%2012v92l-12%2012H14L2%20106V14z'%20fill='%23111923'%20stroke='%23bd8f48'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h72l12%2012v72l-12%2012H24L12%2096V24z'%20fill='none'%20stroke='%2331465a'%20stroke-width='2'/%3e%3ccircle%20cx='60'%20cy='60'%20r='27'%20fill='none'%20stroke='%232fd6cc'%20stroke-width='1.5'%20opacity='.24'/%3e%3cpath%20d='M60%2024v72M24%2060h72'%20stroke='%232fd6cc'%20opacity='.14'/%3e%3c/svg%3e") center / 100% 100% no-repeat;padding:5px}.vs-mark{font-family:Cinzel,Georgia,serif;color:var(--gold-bright);text-shadow:0 0 18px rgba(212,173,101,.22)}.success-text{color:var(--success)}.warning-text{color:var(--warning)}.combat-log-entry{border-radius:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#070a10}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8e6f41,#40311e);border:2px solid #070a10}@media (max-width: 900px){.app{padding:8px}.panel{padding:12px}.app-header h1{font-size:18px}.main-game-nav{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.main-game-nav button{width:100%}}:root{--raster-panel: url(/assets/game/ui/materials/panel-stone-frame-v1.png);--raster-button: url(/assets/game/ui/materials/button-bronze-v1.png);--raster-parchment: url(/assets/game/ui/materials/card-parchment-v1.png);--raster-action: url(/assets/game/ui/materials/action-leather-v1.png);--raster-victory: url(/assets/game/ui/materials/banner-victory-v1.png);--raster-defeat: url(/assets/game/ui/materials/banner-defeat-v1.png)}.app-header:before,.panel:before,.modal-card:before,.ability-hover-tooltip:before,.ability-action-tooltip:before,.player-popover-menu:before{display:none}.app-header{border:2px solid rgba(99,75,45,.88);border-radius:8px;background:linear-gradient(180deg,#070a0f1f,#070a0f8a),var(--raster-panel) center / 100% 100% no-repeat;box-shadow:0 18px 44px #00000094}.panel{border:2px solid rgba(93,73,46,.82);border-radius:8px;padding:18px;background:linear-gradient(180deg,#090c120f,#090c1280),var(--raster-panel) center / 100% 100% no-repeat;box-shadow:0 18px 48px #00000080,inset 0 0 22px #00000052}.panel:after,.champion-action-panel:after{display:none}.board-header-panel,.battle-hud-panel,.champion-hero-card,.battle-result-hero{border-color:#836033eb;background:linear-gradient(180deg,#070a0f05,#070a0f7a),var(--raster-panel) center / 100% 100% no-repeat}button,button.accent,button.ghost,button.danger,button.ghost.danger{border:2px solid rgba(122,87,44,.88);border-radius:7px;background:linear-gradient(180deg,#0000,#00000042),var(--raster-button) center / 100% 100% no-repeat;color:#fff0c8;box-shadow:0 10px 22px #00000061,inset 0 1px #ffe2a433}button.ghost{border-color:#524637e6;background:linear-gradient(180deg,#080c131a,#080c1380),var(--raster-action) center / 100% 100% no-repeat}button.accent,.lock-in-button{border-color:#48aba4e0;box-shadow:0 10px 28px #0000006b,0 0 22px #38d8cf2e,inset 0 1px #bbfff838}button.danger,button.ghost.danger{border-color:#7e302af2;background:linear-gradient(180deg,#5a181542,#0a080880),var(--raster-action) center / 100% 100% no-repeat}.main-game-nav{gap:6px}.main-game-nav button,.main-game-nav button.accent{min-height:54px;padding:7px 12px;border-radius:7px;background:linear-gradient(180deg,#0000000a,#00000070),var(--raster-action) center / 100% 100% no-repeat}.main-game-nav button.accent{border-color:#37beb5db;box-shadow:0 0 22px #38d8cf33,0 10px 24px #0006}.game-icon-raster,.main-game-nav .game-icon{width:30px;height:30px;object-fit:cover;border-radius:5px;box-shadow:0 3px 8px #00000073}.game-action-tile{min-height:116px;padding:14px;border:2px solid rgba(111,81,46,.9);border-radius:8px;background:linear-gradient(180deg,#05070a0d,#05070a73),var(--raster-action) center / 100% 100% no-repeat}.game-action-icon{width:58px;height:58px;border-radius:8px;overflow:hidden;background:#04060a73;box-shadow:inset 0 0 0 2px #a2773880,0 8px 20px #00000059}.game-action-icon .game-icon{width:100%;height:100%;object-fit:cover;border-radius:0}.character-select-card,.empty-state-card,.pvp-opponent-card,.gear-item-card,.activity-card,.raid-card,.gear-slot-card,.raid-member-card,.technique-slot,.base-class-card,.ability-details,.rule-card,.summary-details,.breakdown-card,.accordion-entry,.result-stat-grid span{border:2px solid rgba(87,70,49,.76);border-radius:8px;border-image:none;background:linear-gradient(180deg,#0a0d1214,#0a0d1275),var(--raster-action) center / 100% 100% no-repeat}.activity-card,.expedition-active-card{border-color:#835f30c7;background:linear-gradient(180deg,#2013090d,#140d0852),var(--raster-parchment) center / 100% 100% no-repeat;color:#f3dfba}.activity-card .muted,.expedition-active-card .muted{color:#d7c49e}.raid-card{border-color:#5b342de0;background:linear-gradient(180deg,#41100e1a,#05070a73),var(--raster-action) center / 100% 100% no-repeat}.pvp-opponent-card.selected,.gear-item-card.selected,.base-class-card.selected,.visual-choice.selected,.ability-row.selected,.game-action-tile.active{border-color:#38d8cfd1;background:linear-gradient(180deg,#38d8cf14,#05070a6b),var(--raster-action) center / 100% 100% no-repeat}.champion-portrait-frame{border:2px solid rgba(132,98,52,.88);border-radius:8px;background:linear-gradient(180deg,#05070a14,#05070a6b),url(/assets/game/ui/portraits/portrait-crest-v1.png) center / cover no-repeat}.champion-portrait-frame.large{background:linear-gradient(180deg,#05070a14,#05070a6b),url(/assets/game/ui/portraits/portrait-mage-v1.png) center / cover no-repeat}.champion-portrait-frame.small{background:linear-gradient(180deg,#05070a14,#05070a6b),url(/assets/game/ui/portraits/portrait-crest-v1.png) center / cover no-repeat}.champion-portrait-frame .champion-portrait{transform:translateY(10px) scale(.92)}.slot-icon,.role-icon,.ability-list-icon img,.ability-action-gem img{width:42px;height:42px;object-fit:cover;border-radius:6px;box-shadow:inset 0 0 0 1px #d4ad6559,0 7px 14px #00000059}.slot-icon.faded{opacity:.48;filter:grayscale(.4)}.technique-slot,.gear-slot-card,.raid-member-card{grid-template-columns:auto minmax(0,1fr);align-items:center}.technique-slot>:not(.slot-icon),.gear-slot-card>:not(.slot-icon),.raid-member-card>:not(.role-icon){grid-column:2}.ability-details-summary{justify-content:start}.ability-list-icon{flex:0 0 auto}.ability-action-card{border:2px solid rgba(83,68,49,.78);border-radius:8px;border-image:none;background:linear-gradient(180deg,#05070a08,#05070a73),var(--raster-action) center / 100% 100% no-repeat}.ability-action-gem{width:46px;height:46px;background:none;overflow:hidden;border-radius:7px}.duel-poster-sigil{background:none;border-radius:8px;overflow:hidden}.player-arena-page.hub-mode{grid-template-rows:auto minmax(0,1fr);place-items:center;gap:4px}.duel-poster-sigil img{width:54px;height:70px;object-fit:cover}.duel-poster-sigil .game-icon{width:54px;height:70px;padding:13px;color:var(--gold-bright);object-fit:contain}.duel-poster-sigil .game-icon-raster{padding:0;object-fit:cover}.modal-card,.ability-hover-tooltip,.ability-action-tooltip,.player-popover-menu{border:2px solid rgba(105,78,45,.88);border-radius:8px;background:linear-gradient(180deg,#05070a0a,#05070a80),var(--raster-panel) center / 100% 100% no-repeat}.battle-result-hero{background:linear-gradient(180deg,#05070a05,#05070a6b),var(--raster-victory) center / 100% 100% no-repeat}.battle-result-hero:has(.eyebrow:first-child){background:linear-gradient(180deg,#05070a05,#05070a6b),var(--raster-victory) center / 100% 100% no-repeat}.xp-track,.hud-hp-bar{border-width:2px;border-radius:6px}@media (max-width: 900px){.game-action-tile{min-height:94px}.main-game-nav{grid-template-columns:1fr}}button,button.accent,button.ghost,button.danger,button.ghost.danger{border:1px solid rgba(143,104,55,.82);border-radius:6px;background:linear-gradient(180deg,#7e5625e0,#301f11f0 58%,#0f0c0afa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b622e'/%3e%3cstop%20offset='.48'%20stop-color='%235a381d'/%3e%3cstop%20offset='1'%20stop-color='%232a1a10'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M16%204h208l12%2012v32l-12%2012H16L4%2048V16z'%20fill='url(%23b)'%20stroke='%23d2aa62'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h192l8%208v24l-8%208H24l-8-8V20z'%20fill='none'%20stroke='%23442b18'%20stroke-width='2'/%3e%3cpath%20d='M30%2010h180M30%2054h180'%20stroke='%23ffe4a3'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat;box-shadow:0 8px 18px #00000057,inset 0 1px #ffe7a82e,inset 0 -10px 18px #0003}button.ghost{border-color:#584c3de0;background:linear-gradient(180deg,#232b37eb,#0d121bf5),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232c384b'/%3e%3cstop%20offset='.5'%20stop-color='%23172130'/%3e%3cstop%20offset='1'%20stop-color='%230c111a'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M14%205h212l9%209v36l-9%209H14L5%2050V14z'%20fill='url(%23b)'%20stroke='%23866842'%20stroke-width='2'/%3e%3cpath%20d='M24%2013h192l8%208v22l-8%208H24l-8-8V21z'%20fill='none'%20stroke='%233d4b61'%20stroke-width='1.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat}button.accent,.lock-in-button{border-color:#39cdc3cc;background:linear-gradient(180deg,#21726de6,#0c3534fa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b622e'/%3e%3cstop%20offset='.48'%20stop-color='%235a381d'/%3e%3cstop%20offset='1'%20stop-color='%232a1a10'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M16%204h208l12%2012v32l-12%2012H16L4%2048V16z'%20fill='url(%23b)'%20stroke='%23d2aa62'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h192l8%208v24l-8%208H24l-8-8V20z'%20fill='none'%20stroke='%23442b18'%20stroke-width='2'/%3e%3cpath%20d='M30%2010h180M30%2054h180'%20stroke='%23ffe4a3'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat;box-shadow:0 8px 18px #0000005c,0 0 18px #38d8cf29,inset 0 1px #bbfff833}button.danger,button.ghost.danger{border-color:#9b3a30db;background:linear-gradient(180deg,#67241feb,#220f0efa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232c384b'/%3e%3cstop%20offset='.5'%20stop-color='%23172130'/%3e%3cstop%20offset='1'%20stop-color='%230c111a'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M14%205h212l9%209v36l-9%209H14L5%2050V14z'%20fill='url(%23b)'%20stroke='%23866842'%20stroke-width='2'/%3e%3cpath%20d='M24%2013h192l8%208v22l-8%208H24l-8-8V21z'%20fill='none'%20stroke='%233d4b61'%20stroke-width='1.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.main-game-nav button,.main-game-nav button.accent{min-height:44px;padding:7px 11px;border-radius:6px;background:linear-gradient(180deg,#141b26e0,#070a10f5),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='52'%20viewBox='0%200%20180%2052'%3e%3cpath%20d='M15%205h150l10%2012-7%2030H12L5%2017z'%20fill='%23111823'%20stroke='%2373583a'%20stroke-width='2'/%3e%3cpath%20d='M28%2013h124'%20stroke='%23a88955'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.main-game-nav button.accent{border-color:#38d8cfb8;background:linear-gradient(180deg,#1a3941e0,#080f18f5),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='52'%20viewBox='0%200%20180%2052'%3e%3cpath%20d='M15%204h150l11%2013-7%2031H11L4%2017z'%20fill='%231b2432'%20stroke='%23caa35f'%20stroke-width='2'/%3e%3cpath%20d='M26%2011h128l9%209-4%2020H21l-4-20z'%20fill='none'%20stroke='%2335d7cf'%20stroke-width='1'%20opacity='.45'/%3e%3c/svg%3e") center / 100% 100% no-repeat;box-shadow:0 0 16px #38d8cf2e,0 8px 18px #00000059}.main-game-nav .game-icon{width:26px;height:26px}.ability-action-card,.visual-choice,.gear-item-card,.character-select-card,.base-class-card{background:linear-gradient(180deg,#151d2ae6,#070a10f5),var(--panel-texture)}.champion-action-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.champion-action-grid .game-action-tile{min-height:82px;padding:10px 12px;border:1px solid rgba(159,112,52,.86);border-radius:7px;background-image:linear-gradient(90deg,#05070a33,#05070a7a),var(--raster-action);background-position:center;background-size:100% 100%,cover;background-repeat:no-repeat;box-shadow:0 12px 24px #00000061,inset 0 0 0 1px #ffdf9714}.champion-action-grid .game-action-tile:hover:not(:disabled),.champion-action-grid .game-action-tile:focus-visible:not(:disabled){border-color:#38d8cfc7;background-image:linear-gradient(90deg,#18504d2e,#05070a6b),var(--raster-action);box-shadow:0 14px 28px #0000006b,0 0 18px #38d8cf2e,inset 0 0 0 1px #b3fff81f}.champion-action-grid .game-action-icon{width:50px;height:50px}.app-header,.panel,.board-header-panel,.battle-hud-panel,.champion-hero-card,.battle-result-hero,.modal-card,.ability-hover-tooltip,.ability-action-tooltip,.player-popover-menu{background:radial-gradient(circle at 18% 0,rgba(145,103,48,.14),transparent 18rem),linear-gradient(180deg,#1b2433f0,#080c13fa),var(--panel-texture)}.panel{border:1px solid rgba(133,98,53,.68);box-shadow:0 18px 42px #00000075,inset 0 0 0 1px #ffe0990d,inset 0 20px 38px #ffe8ae08,inset 0 -32px 44px #00000047}.app-header{border:1px solid rgba(133,98,53,.72)}.board-header-panel,.champion-hero-card{background:radial-gradient(circle at 12% 28%,rgba(212,173,101,.1),transparent 15rem),linear-gradient(180deg,#1e2838f5,#090d14fa),var(--panel-texture)}.battle-result-hero{background:radial-gradient(circle at 20% 32%,rgba(212,173,101,.16),transparent 16rem),linear-gradient(180deg,#26221ef5,#0a0c11fa),var(--panel-texture)}.character-select-card,.empty-state-card,.pvp-opponent-card,.gear-item-card,.activity-card,.raid-card,.gear-slot-card,.raid-member-card,.technique-slot,.base-class-card,.ability-details,.rule-card,.summary-details,.breakdown-card,.accordion-entry,.result-stat-grid span,.ability-action-card,.visual-choice{background:linear-gradient(180deg,#18202de6,#080c13f5),var(--panel-texture);background-size:auto,220px 220px}.activity-card,.expedition-active-card{background:linear-gradient(180deg,#2d1f12e6,#120e0af5),var(--parchment-texture);background-size:auto,260px 180px}.raid-card{background:radial-gradient(circle at 0 0,rgba(126,41,33,.12),transparent 14rem),linear-gradient(180deg,#1a202beb,#080b11fa),var(--panel-texture);background-size:auto,auto,220px 220px}.pvp-opponent-card.selected,.gear-item-card.selected,.base-class-card.selected,.visual-choice.selected,.ability-row.selected{background:radial-gradient(circle at 18% 28%,rgba(56,216,207,.12),transparent 9rem),linear-gradient(180deg,#1c2d37eb,#0a1018f5),var(--panel-texture);background-size:auto,auto,220px 220px}.champion-action-grid .game-action-tile{background-image:linear-gradient(90deg,#05070a2e,#05070a7a),var(--raster-action);background-size:100% 100%,cover;background-position:center}.champion-action-grid .game-action-icon .game-icon,.slot-icon,.role-icon,.ability-list-icon img,.ability-action-gem img,.duel-poster-sigil img,.game-icon-raster,.main-game-nav .game-icon{object-fit:cover}.champion-portrait-frame,.champion-portrait-frame.large,.champion-portrait-frame.small{background-size:cover;background-position:center}.forge-technique-page{gap:12px}.forge-technique-header{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:end;gap:12px}.forge-header-main{display:flex;align-items:center;gap:14px;min-width:0}.forge-header-copy{min-width:0;display:grid;gap:3px}.forge-header-copy h2{margin:0}.game-back-button{flex:0 0 auto}.forge-champion-summary,.forge-empty-stat-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.technique-workspace{display:grid;grid-template-columns:minmax(360px,1.35fr) minmax(320px,1fr);gap:12px;align-items:stretch}.ability-forge-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.technique-loadout-panel,.selected-technique-panel,.known-techniques-library,.active-abilities-panel,.inline-forge-panel{min-width:0}.rpg-loadout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:0}.technique-slot-card,.technique-library-card{position:relative;min-width:0;text-align:left;justify-content:stretch;align-items:start;border:1px solid rgba(157,121,71,.48);border-radius:8px;background:radial-gradient(circle at 20% 18%,rgba(212,173,101,.13),transparent 7rem),linear-gradient(180deg,#151d2af0,#070a10fa),var(--panel-texture);box-shadow:0 12px 28px #00000052,inset 0 0 0 1px #ffe0990d}.technique-slot-card{min-height:178px;padding:13px;display:grid;grid-template-rows:auto 58px auto auto 1fr;gap:7px}.technique-slot-card:hover,.technique-library-card:hover,.technique-slot-card:focus-visible,.technique-library-card:focus-visible{border-color:#d4ad65c2;box-shadow:0 15px 34px #0000006b,0 0 18px #d4ad6524,inset 0 0 0 1px #ffe0991f}.technique-slot-card.selected,.technique-library-card.selected{border-color:#38d8cfe6;background:radial-gradient(circle at 20% 18%,rgba(56,216,207,.16),transparent 8rem),linear-gradient(180deg,#1d2f39f0,#080d14fa),var(--panel-texture)}.technique-slot-card.empty{border-style:dashed;color:#d7c7a9;background:radial-gradient(circle at 50% 34%,rgba(212,173,101,.1),transparent 7rem),linear-gradient(180deg,#12161fc7,#070a10f0),var(--panel-texture)}.slot-number-badge,.equipped-label,.mastery-cost-badge{width:max-content;max-width:100%;border:1px solid rgba(212,173,101,.42);border-radius:999px;background:#070a108f;color:#ecd9b5;padding:3px 7px;font-size:11px;font-weight:800}.technique-slot-icon{width:58px;height:58px;object-fit:cover;border-radius:8px;box-shadow:inset 0 0 0 1px #d4ad6575,0 10px 20px #0006}.empty-slot-glyph{width:58px;height:58px;display:grid;place-items:center;border:1px dashed rgba(212,173,101,.54);border-radius:8px;background:#080c1470;color:var(--gold);font-size:34px;line-height:1;box-shadow:inset 0 0 20px #0000004d}.selected-technique-panel{display:grid;min-height:100%}.technique-detail-card,.forge-empty-state{display:grid;align-content:start;gap:12px}.technique-detail-card p,.forge-empty-state p{margin:0;color:var(--muted)}.technique-icon-large{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid rgba(212,173,101,.56);box-shadow:0 14px 34px #00000070,0 0 28px #d4ad6524}.technique-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.technique-title h3,.forge-empty-state h3,.known-techniques-library h3,.technique-loadout-panel h3,.active-abilities-panel h3,.inline-forge-panel h3{margin:0}.technique-tag-list,.technique-stat-chip-grid,.technique-action-bar,.technique-filter-row{display:flex;flex-wrap:wrap;gap:6px}.technique-tag,.technique-stat-chip{display:inline-flex;align-items:center;min-height:24px;border:1px solid rgba(212,173,101,.3);border-radius:999px;background:#080c1480;padding:3px 8px;font-size:12px;font-weight:800;color:#ecd9b5}.technique-stat-chip{border-color:#38d8cf4d;color:#c7f7f2}.tag-fire{border-color:#e076468c;color:#ffd4bc}.tag-ash{border-color:#ca744a8c;color:#f4d2bf}.tag-ice{border-color:#7ab8ee8c;color:#d8ecff}.tag-water{border-color:#58b2dd8c;color:#d4f2ff}.tag-lightning{border-color:#f5cc588c;color:#fff0b8}.tag-air{border-color:#9cd6e68c;color:#e0f9ff}.tag-earth{border-color:#a9885b8c;color:#f1dfc1}.tag-metal{border-color:#a6b3c38c;color:#e2e9f2}.tag-growth,.tag-decay{border-color:#7ece728c;color:#d9ffd1}.tag-light,.tag-life{border-color:#f5da848c;color:#fff3c6}.tag-arcane,.tag-void,.tag-shadow,.tag-death{border-color:#b08be78c;color:#eadcff}.tag-defensive{border-color:#78cdaa8c;color:#d4ffef}.tag-damage{border-color:#e076468c}.technique-action-bar{padding-top:4px}.technique-action-bar button{min-width:92px}.equipped-action{color:var(--success)}.forge-empty-state{min-height:100%;justify-items:start;align-content:center;padding:12px}.forge-empty-icon{width:86px;height:86px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(212,173,101,.58);background:radial-gradient(circle at 50% 40%,#d4ad6533,#080c14d6),var(--panel-texture)}.forge-empty-icon .game-icon,.forge-hero-button .game-icon{width:42px;height:42px}.forge-only-manager{display:grid;gap:7px}.inline-forge-panel{max-height:650px;overflow:auto}.inline-ability-forge{display:grid;gap:10px}.inline-ability-forge .stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,240px));justify-content:start}.inline-ability-forge .forge-name-grid{grid-template-columns:repeat(2,minmax(180px,320px))}.inline-ability-forge .ability-spec-grid{grid-template-columns:repeat(auto-fit,minmax(170px,280px))}.inline-ability-forge .ability-visual-gallery{grid-template-columns:1fr}.inline-ability-forge input{max-width:100%}.ability-builder-layout{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);gap:16px;align-items:start}.ability-builder-main,.ability-effects-panel{min-width:0}.ability-effects-panel{padding:10px;border:1px solid rgba(157,121,71,.42);border-radius:8px;background:radial-gradient(circle at 18% 16%,rgba(212,173,101,.08),transparent 8rem),#080c144d}.visualization-picker-button{justify-self:start;margin-top:5px}.ability-symbol-picker{position:relative;display:grid;gap:5px;align-content:start}.ability-spec-grid .ability-symbol-picker{grid-column:1 / -1}.ability-symbol-trigger{width:min(100%,340px);display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:9px;min-height:54px;padding:5px 8px;border:1px solid rgba(157,121,71,.72);border-radius:6px;background:linear-gradient(180deg,#1f1c15f5,#090b10fa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232c384b'/%3e%3cstop%20offset='.5'%20stop-color='%23172130'/%3e%3cstop%20offset='1'%20stop-color='%230c111a'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M14%205h212l9%209v36l-9%209H14L5%2050V14z'%20fill='url(%23b)'%20stroke='%23866842'%20stroke-width='2'/%3e%3cpath%20d='M24%2013h192l8%208v22l-8%208H24l-8-8V21z'%20fill='none'%20stroke='%233d4b61'%20stroke-width='1.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat;color:#ecd9b5;text-align:left}.ability-symbol-trigger>span{min-width:0;display:grid;gap:2px}.ability-symbol-trigger>span>span{color:var(--muted);font-size:11px;font-weight:700}.ability-symbol-trigger.compact{width:48px;height:48px;min-height:48px;grid-template-columns:1fr;padding:0;overflow:hidden}.ability-symbol-image{width:42px;height:42px;object-fit:cover;border-radius:7px;box-shadow:inset 0 0 0 1px #d4ad6575,0 8px 17px #0000005c}.ability-symbol-trigger.compact .ability-symbol-image{width:48px;height:48px}.ability-symbol-popover{position:absolute;left:0;top:calc(100% + 6px);width:min(430px,calc(100vw - 32px));max-height:min(520px,calc(100vh - 120px));overflow:auto;padding:8px;border:1px solid rgba(205,163,93,.5);border-radius:8px;background:radial-gradient(circle at 12% 8%,rgba(212,173,101,.11),transparent 8rem),#101722;box-shadow:0 18px 42px #0000008c;z-index:90}.ability-symbol-picker.compact .ability-symbol-popover{position:fixed;left:50%;top:110px;transform:translate(-50%)}.symbol-tree-branch{display:grid;gap:5px}.symbol-tree-branch+.symbol-tree-branch{margin-top:5px}.symbol-tree-row{width:100%;min-height:32px;justify-content:space-between;border:1px solid rgba(157,121,71,.48);border-radius:6px;background:#080c14ad;color:#ecd9b5}.symbol-tree-row:after{content:">";color:var(--gold);font-weight:900}.symbol-tree-children{display:none;padding:4px 0 4px 14px}.symbol-tree-branch:hover>.symbol-tree-children,.symbol-tree-branch:focus-within>.symbol-tree-children{display:grid;gap:5px}.symbol-leaf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.symbol-leaf{display:grid;justify-items:center;gap:3px;min-height:76px;padding:5px;border:1px solid rgba(157,121,71,.5);border-radius:6px;background:#070a10b8;color:#ecd9b5}.symbol-leaf.selected{border-color:#38d8cfdb;box-shadow:0 0 14px #38d8cf2e}.symbol-leaf img{width:42px;height:42px;object-fit:cover;border-radius:7px}.symbol-leaf span{max-width:100%;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px;font-weight:800;text-transform:capitalize}.visualization-picker-modal{width:min(920px,calc(100vw - 32px))}.modal-visual-grid{max-height:min(560px,calc(100vh - 180px));overflow:auto;padding-right:4px}.choice-field{display:grid;gap:5px;align-content:start}.ability-spec-grid .choice-field{grid-column:1 / -1}.school-wheel-strip,.school-effectiveness-grid{display:flex;flex-wrap:wrap;gap:5px}.ability-type-wheel-field,.school-wheel-selector{display:grid;gap:7px}.ability-spec-grid .ability-type-wheel-field{grid-column:1 / -1;justify-self:start;width:min(100%,560px)}.magic-school-wheel-canvas{width:min(100%,520px);aspect-ratio:1;min-width:min(100%,320px);max-width:520px;min-height:min(100vw,320px);overflow:hidden;border:1px solid rgba(212,173,101,.38);border-radius:8px;background:#080c14b3;box-shadow:inset 0 0 0 1px #ffe09914,0 12px 28px #0000003d}.magic-school-wheel-canvas canvas{display:block;width:100%;height:100%}.school-wheel-selector-footer,.school-wheel-utility-buttons{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.school-wheel-selected-label,.type-readout{display:grid;gap:2px;min-height:38px;padding:6px 8px;border:1px solid rgba(157,121,71,.42);border-radius:6px;background:#080c145c}.school-wheel-selected-label strong,.type-readout strong{color:#ecd9b5}.school-wheel-chip,.school-effectiveness-chip{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border:1px solid rgba(157,121,71,.42);border-radius:5px;background:#080c146b;color:var(--muted);font-size:11px;font-weight:800}.school-wheel-chip.selected,.school-effectiveness-chip.active{border-color:#38d8cfad;color:#d7fffb;box-shadow:0 0 12px #38d8cf1f}.school-counter-preview{display:grid;gap:5px;padding:8px;border:1px solid rgba(157,121,71,.36);border-radius:6px;background:#080c145c}.school-counter-row{display:grid;grid-template-columns:minmax(104px,.35fr) minmax(0,1fr);gap:8px;color:var(--muted);font-size:12px}.school-counter-row strong{color:#ecd9b5}.choice-label{color:var(--muted);font-size:12px;font-weight:700}.choice-button-row,.effect-add-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.effect-add-row{align-items:flex-start}.choice-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:30px;padding:5px 9px;white-space:normal;border:1px solid rgba(157,121,71,.72);border-radius:5px;background:linear-gradient(180deg,#2f2518f5,#0f0d0bfa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232c384b'/%3e%3cstop%20offset='.5'%20stop-color='%23172130'/%3e%3cstop%20offset='1'%20stop-color='%230c111a'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M14%205h212l9%209v36l-9%209H14L5%2050V14z'%20fill='url(%23b)'%20stroke='%23866842'%20stroke-width='2'/%3e%3cpath%20d='M24%2013h192l8%208v22l-8%208H24l-8-8V21z'%20fill='none'%20stroke='%233d4b61'%20stroke-width='1.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat;color:#ecd9b5;text-shadow:0 1px 1px rgba(0,0,0,.7);box-shadow:inset 0 0 0 1px #ffe0990f}.choice-button>span{min-width:0}.choice-button-icon{width:24px;height:24px;flex:0 0 24px;border:1px solid rgba(236,196,118,.42);border-radius:4px;object-fit:cover;background:#090705e6;box-shadow:inset 0 0 0 1px #ffe8a41a,0 0 8px #0000008c}.choice-button:hover,.choice-button:focus-visible{border-color:#ecc476db;background:linear-gradient(180deg,#41301bfa,#15100bfa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%232c384b'/%3e%3cstop%20offset='.5'%20stop-color='%23172130'/%3e%3cstop%20offset='1'%20stop-color='%230c111a'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M14%205h212l9%209v36l-9%209H14L5%2050V14z'%20fill='url(%23b)'%20stroke='%23866842'%20stroke-width='2'/%3e%3cpath%20d='M24%2013h192l8%208v22l-8%208H24l-8-8V21z'%20fill='none'%20stroke='%233d4b61'%20stroke-width='1.5'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.choice-button.selected{border-color:#ecc476f5;background:radial-gradient(circle at 50% 25%,rgba(244,205,121,.2),transparent 3.5rem),linear-gradient(180deg,#694921fa,#25180dfa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b622e'/%3e%3cstop%20offset='.48'%20stop-color='%235a381d'/%3e%3cstop%20offset='1'%20stop-color='%232a1a10'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M16%204h208l12%2012v32l-12%2012H16L4%2048V16z'%20fill='url(%23b)'%20stroke='%23d2aa62'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h192l8%208v24l-8%208H24l-8-8V20z'%20fill='none'%20stroke='%23442b18'%20stroke-width='2'/%3e%3cpath%20d='M30%2010h180M30%2054h180'%20stroke='%23ffe4a3'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat;color:#fff1c6}.forge-hero-button{min-height:58px;padding:12px 18px;font-size:15px;border-color:#d4ad65db;background:radial-gradient(circle at 18% 25%,rgba(244,205,121,.22),transparent 7rem),linear-gradient(180deg,#744d20f0,#2a1a0efa),url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='240'%20height='64'%20viewBox='0%200%20240%2064'%3e%3cdefs%3e%3clinearGradient%20id='b'%20x1='0'%20x2='0'%20y1='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%238b622e'/%3e%3cstop%20offset='.48'%20stop-color='%235a381d'/%3e%3cstop%20offset='1'%20stop-color='%232a1a10'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M16%204h208l12%2012v32l-12%2012H16L4%2048V16z'%20fill='url(%23b)'%20stroke='%23d2aa62'%20stroke-width='2'/%3e%3cpath%20d='M24%2012h192l8%208v24l-8%208H24l-8-8V20z'%20fill='none'%20stroke='%23442b18'%20stroke-width='2'/%3e%3cpath%20d='M30%2010h180M30%2054h180'%20stroke='%23ffe4a3'%20opacity='.35'/%3e%3c/svg%3e") center / 100% 100% no-repeat}.forge-library-button{min-height:36px}.known-techniques-library,.active-abilities-panel{display:grid;gap:10px}.ability-card-rail-section{padding:0 0 2px;background:transparent;border:0;box-shadow:none}.technique-filter-row button{min-height:32px;padding:5px 10px}.technique-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px}.active-ability-grid{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-color:rgba(157,121,71,.72) rgba(8,12,20,.5)}.technique-library-card{min-height:142px;padding:10px;display:grid;gap:8px}.active-ability-grid .technique-library-card{flex:0 0 178px;min-height:150px}.technique-library-card-header{display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center}.technique-library-card-header>span{min-width:0;display:grid;gap:3px}.technique-library-icon{width:48px;height:48px;object-fit:cover;border-radius:8px;box-shadow:inset 0 0 0 1px #d4ad6575,0 8px 17px #0000005c}.active-ability-card,.progression-card{align-content:start}.empty-ability-card{align-content:center;justify-items:center;text-align:center;border-style:dashed;color:#d8c49b;background:radial-gradient(circle at 50% 34%,rgba(212,173,101,.13),transparent 6rem),linear-gradient(180deg,#12161fbd,#070a10ed),var(--panel-texture)}.empty-ability-card.locked{opacity:.62}.empty-ability-icon{width:52px;height:52px;display:grid;place-items:center;border:1px dashed rgba(212,173,101,.54);border-radius:8px;background:#080c1475;color:var(--gold);box-shadow:inset 0 0 18px #00000057}.progression-card p{margin:0}.progression-card.locked{opacity:.68}.progression-card.ready{border-color:#38d8cf9e}.ability-card-remove{justify-self:start;min-height:30px}.empty-technique-library{min-height:92px;display:grid;place-items:center;border:1px dashed rgba(157,121,71,.46);border-radius:8px;color:var(--muted);background:#080c1457}@media (max-width: 1000px){.forge-technique-header,.technique-workspace,.ability-forge-workspace{grid-template-columns:1fr}.inline-forge-panel{max-height:none}.ability-builder-layout{grid-template-columns:1fr}.forge-champion-summary{justify-content:flex-start}}@media (max-width: 640px){.forge-header-main{align-items:stretch;flex-direction:column}.rpg-loadout-grid{grid-template-columns:repeat(2,minmax(160px,1fr));overflow-x:auto;padding-bottom:4px}.technique-slot-card{min-height:166px}.technique-library-grid{grid-template-columns:1fr}.active-ability-grid{padding-bottom:10px}.inline-ability-forge .ability-spec-grid{grid-template-columns:1fr}.ability-spec-grid .ability-type-wheel-field{width:100%}.magic-school-wheel-canvas{width:min(100%,420px);min-width:0;min-height:0}.inline-ability-forge .forge-name-grid,.ability-builder-layout{grid-template-columns:1fr}.forge-empty-state{padding:6px}}
