:root{--bg:#0a0e1c;--bg-overlay:#0a0e1e6b;--bg-glow:#7a98e033;--bg-sidebar:#0f14288c;--bg-card:#1e264273;--bg-card-hover:#2e385c99;--bg-slot:#12182e73;--bg-panel-deep:#0a0e20b8;--bg-panel-raised:#141d3aa8;--bg-panel-row:#0f1732ad;--bg-panel-row-soft:#1428447a;--border:#ffffff14;--border-slot:#ffffff24;--glass-highlight:#ffffff0f;--glass-rim:#94beff2e;--glass-rim-strong:#aad7ff57;--gold:#d9a441;--gold-light:#e9bd5c;--gold-dim:#e9bd5c4d;--text:#c5cce0;--text-dim:#8089a3;--white:#f2f4fb;--slot-empty-bg:#10162a66;--slot-hover:#e9bd5c24;--chip-bg:#1c2540;--chip-border:var(--gold);--role-tank:#5b8fd6;--role-soutien:#57c97c;--role-dps:#d65f5f;--danger:#d65a6a;--danger-soft:#f0a8b2;--spell-alt:#7ba0d6;--youtube-red:#f03;--blur-panel:16px;--blur-card:8px;--shadow-panel:0 8px 32px #00000059;--shadow-card:0 2px 10px #00000040;--shadow-panel-deep:0 18px 56px #0000007a, 0 4px 18px #152f602e;--shadow-panel-soft:0 12px 32px #0000005c, inset 0 1px 0 var(--glass-highlight);--shadow-row:0 10px 28px #00000057, inset 0 1px 0 var(--glass-highlight);--glow-blue:0 0 42px #429fda38;--glow-gold:0 0 24px var(--gold-dim);--space-2xs:2px;--space-xs:4px;--space-sm:6px;--space-md:10px;--space-lg:14px;--space-xl:20px;--space-2xl:28px;--space-3xl:40px;--gutter:clamp(12px, 4vw, 40px);--gutter-tight:clamp(8px, 3vw, 24px);--fs-3xs:clamp(8px, .55rem + .2vw, 9px);--fs-2xs:clamp(9px, .6rem + .25vw, 10px);--fs-xs:clamp(10px, .65rem + .3vw, 11px);--fs-sm:clamp(11px, .72rem + .35vw, 13px);--fs-md:clamp(13px, .85rem + .4vw, 14px);--fs-lg:clamp(14px, .9rem + .6vw, 16px);--fs-xl:clamp(16px, 1rem + 1vw, 18px);--fs-2xl:clamp(18px, 1.1rem + 1.6vw, 28px);--radius-xs:3px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-pill:999px;--z-base:1;--z-raised:2;--z-overlap:3;--z-tooltip:20;--z-dropdown:50;--z-sticky:100;--z-modal:1000;--tap-min:44px;--tap-min-sm:32px;--sheet-height:80svh;--sheet-tab-h:40px;--panel-spells-w:clamp(420px, 38vw, 560px);--panel-spells-max-h:min(600px, 80svh);--left-panel-w:clamp(280px, 24vw, 360px);--templates-panel-w:clamp(280px, 22vw, 340px);--left-panel-min-w:280px;--left-panel-max-w:480px;--templates-panel-min-w:280px;--templates-panel-max-w:480px;--panel-resize-hit-w:8px;--panel-resize-line-offset:3px;--panel-resize-line-w:2px;--panel-resize-line-radius:1px;--desktop-shell-gap:clamp(10px, 1vw, 16px);--desktop-shell-pad:clamp(10px, 1vw, 14px);--desktop-team-header-h:42px;--desktop-charts-h:clamp(150px, 18svh, 176px);--team-size-track-w:clamp(320px, 30vw, 520px);--team-action-h:calc(var(--tap-min-sm) + var(--space-sm));--team-action-icon-s:calc(var(--tap-min-sm) - var(--space-md));--team-action-border-w:1.5px;--mobile-tab-bar-h:calc(var(--tap-min) + var(--space-2xl));--mobile-tab-icon-s:calc(var(--tap-min-sm) - var(--space-sm));--matrix-board-ratio:1242 / 960;--matrix-board-ratio-w:1242;--matrix-board-ratio-h:960;--matrix-grid-left:23.46%;--matrix-grid-top:17.77%;--matrix-grid-w:53.84%;--matrix-grid-h:64.93%;--matrix-marker-ratio:.86;--matrix-content-max-w:118rem;--matrix-stage-w:min(100%, 760px);--matrix-stage-w-xl:min(100%, 820px);--matrix-stage-w-2xl:min(100%, 920px);--matrix-stage-max-h:min(58svh, 48rem);--matrix-selector-icon-s:34px;--matrix-selector-pad:var(--space-sm);--matrix-copy-w:min(100%, 440px);--matrix-copy-col-min:260px;--matrix-text-1-ratio:607 / 538;--matrix-text-2-ratio:908 / 612;--bp-sm:480px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1440px;--bp-2xl:1920px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font:14px/1.5 Segoe UI,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}body{margin:0;overflow-x:hidden}#root{width:100%;min-height:100svh;z-index:var(--z-base);position:relative}#root:before{content:"";z-index:-1;background: radial-gradient(90% 55% at 50% -8%, var(--bg-glow), transparent 70%), linear-gradient(180deg, var(--bg-overlay) 0%, var(--bg-overlay) 45%, #0a0e1e38 100%), url(/bg-nebula.webp) center / cover no-repeat fixed;background-color:var(--bg);position:fixed;inset:0}h1,h2{color:var(--white);margin:0;font-weight:600}@media (pointer:coarse){button,a,[draggable=true],input[type=range]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.page{flex-direction:column;min-height:100svh;display:flex}.top-bar{background:linear-gradient(180deg, #080b1cf0, #10142dd1), var(--bg-sidebar);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border-bottom:1px solid var(--glass-rim);box-shadow:0 12px 34px #00000052, inset 0 1px 0 var(--glass-highlight);padding:0 var(--gutter-tight);z-index:var(--z-sticky);flex-shrink:0;position:sticky;top:0}.top-bar-inner{align-items:center;gap:var(--space-md);height:48px;display:flex}.page-title{gap:var(--space-2xs);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;line-height:1;display:flex}.page-title-dofus{font-size:var(--fs-xl);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-light);text-shadow:0 0 28px var(--gold-dim), 0 0 8px var(--gold-dim);font-weight:900}.page-title-sub{font-size:var(--fs-3xs);letter-spacing:.45em;text-transform:uppercase;color:var(--text-dim);padding-left:1px;font-weight:700}.main-nav{scrollbar-width:none;flex:1;align-items:stretch;min-width:0;height:100%;display:none;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.nav-item{padding:0 var(--space-md);height:100%;font-family:inherit;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--text-dim);-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-shrink:0;align-items:center;font-weight:600;text-decoration:none;transition:color .2s;display:flex;position:relative}.nav-item--active{color:var(--gold-light)}.nav-item--active:after{content:"";bottom:0;left:var(--space-md);right:var(--space-md);background:var(--gold);height:2px;box-shadow:0 0 10px var(--gold-dim), 0 0 4px var(--gold);border-radius:2px 2px 0 0;position:absolute}.nav-item--soon{opacity:.3;cursor:default}button.nav-item{cursor:pointer}.nav-item--soon:hover{opacity:.5}.nav-item--soon:before{content:"Bientôt disponible";background:var(--bg-card);border:1px solid var(--border);color:var(--text-dim);font-size:var(--fs-2xs);letter-spacing:.03em;text-transform:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);white-space:nowrap;pointer-events:none;opacity:0;z-index:var(--z-tooltip);font-weight:500;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.nav-item--soon:hover:before{opacity:1}@media (hover:none){.nav-item--soon:before{display:none}}.top-bar-right{align-items:center;gap:var(--space-md);flex-shrink:0;margin-left:auto;display:flex}.beta-badge{font-size:var(--fs-2xs);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);border:1.5px solid var(--gold);border-radius:var(--radius-xs);background:0 0;flex-shrink:0;padding:3px 8px;font-weight:800;display:none}.btn-beta-join{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--bg);background:var(--gold);border:1.5px solid var(--gold);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);box-shadow:0 0 14px var(--gold-dim);cursor:pointer;white-space:nowrap;flex-shrink:0;font-weight:800;transition:background .18s,color .18s,box-shadow .18s}.btn-beta-join:hover,.btn-beta-join:focus-visible{background:var(--gold-light);border-color:var(--gold-light);color:var(--bg);box-shadow:0 0 18px var(--gold-dim), 0 0 36px var(--gold-dim);outline:none}.mobile-tab-bar{z-index:var(--z-sticky);gap:var(--space-xs);padding:var(--space-sm) var(--gutter-tight);background:linear-gradient(180deg, #0c1024f5, #080b1ad1), var(--bg-sidebar);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border-bottom:1px solid var(--glass-rim);box-shadow:0 14px 34px #00000047, inset 0 1px 0 var(--glass-highlight);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:sticky;top:48px}.mobile-tab{min-width:0;min-height:var(--tap-min);justify-content:center;align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-2xs);border-radius:var(--radius-lg);color:var(--text-dim);font-family:inherit;font-size:var(--fs-3xs);letter-spacing:.02em;cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;font-weight:800;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .12s;display:flex}.mobile-tab svg{width:var(--mobile-tab-icon-s);height:var(--mobile-tab-icon-s);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none}.mobile-tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-tab--active{color:var(--gold-light);border-color:color-mix(in srgb, var(--gold) 52%, var(--border));background:linear-gradient(180deg, var(--glass-highlight), transparent), color-mix(in srgb, var(--gold-dim) 62%, var(--bg-card));box-shadow:inset 0 1px 0 var(--glass-highlight), 0 0 var(--space-xl) color-mix(in srgb, var(--gold-dim) 46%, transparent)}.mobile-tab:active:not(:disabled){transform:translateY(var(--space-2xs))}.mobile-tab--soon{opacity:.42;cursor:default}@media (width>=768px){.top-bar{padding:0 var(--gutter)}.top-bar-inner{gap:var(--space-2xl);height:56px}.mobile-tab-bar{padding-inline:var(--gutter);top:56px}.nav-item{padding:0 var(--space-lg)}.nav-item--active:after{left:var(--space-lg);right:var(--space-lg)}.beta-badge{display:inline-block}.btn-beta-join{font-size:var(--fs-sm);padding:var(--space-sm) var(--space-lg)}}.beta-modal-overlay{z-index:var(--z-modal);padding:var(--space-lg);background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.beta-modal{background:var(--bg);border:1px solid var(--gold-dim);border-radius:var(--radius-2xl);padding:var(--space-2xl) var(--space-xl) var(--space-xl);width:100%;max-width:420px;max-height:90svh;box-shadow:0 0 40px #0009, 0 0 80px var(--gold-dim);position:relative;overflow-y:auto}.beta-modal-close{top:var(--space-md);right:var(--space-md);width:var(--tap-min-sm);height:var(--tap-min-sm);color:var(--gold-dim);font-size:var(--fs-xl);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;line-height:1;transition:color .15s;display:flex;position:absolute}.beta-modal-close:hover{color:var(--gold)}.beta-modal-title{font-size:var(--fs-xl);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);text-shadow:0 0 18px var(--gold-dim);margin:0 0 var(--space-md);font-weight:800}.beta-modal-desc{font-size:var(--fs-sm);color:var(--text-dim);margin:0 0 var(--space-2xl);line-height:1.5}.beta-modal-form{gap:var(--space-sm);flex-direction:column;display:flex}.beta-modal-label{font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dim);font-weight:600}.beta-modal-label:not(:first-child){margin-top:var(--space-md)}.beta-modal-required{color:var(--gold)}.beta-modal-input{background:color-mix(in srgb, var(--bg) 80%, transparent);border:1px solid var(--gold-dim);border-radius:var(--radius-md);width:100%;padding:var(--space-md) var(--space-md);font-size:var(--fs-lg);color:var(--gold-light);outline:none;transition:border-color .15s,box-shadow .15s}.beta-modal-input::placeholder{color:var(--text-dim)}.beta-modal-input:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-dim)}.beta-modal-input:disabled{opacity:.55;cursor:not-allowed}.beta-modal-textarea{resize:vertical;min-height:110px;font-family:inherit;line-height:1.5}.beta-modal-error{font-size:var(--fs-sm);color:var(--danger);margin:var(--space-sm) 0 0}.btn-beta-confirm{margin-top:var(--space-xl);min-height:var(--tap-min);padding:var(--space-md) var(--space-xl);background:var(--gold);color:var(--bg);border-radius:var(--radius-md);font-size:var(--fs-sm);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 14px var(--gold-dim);border:none;font-weight:800;transition:opacity .15s,box-shadow .18s}.btn-beta-confirm:hover:not(:disabled){box-shadow:0 0 24px var(--gold-dim), 0 0 48px var(--gold-dim)}.btn-beta-confirm:disabled{opacity:.5;cursor:not-allowed}.beta-modal-success{text-align:center;align-items:center;gap:var(--space-lg);flex-direction:column;display:flex}.beta-modal-success-icon{background:var(--gold-dim);width:56px;height:56px;color:var(--gold);box-shadow:0 0 24px var(--gold-dim);border-radius:50%;justify-content:center;align-items:center;font-size:26px;font-weight:900;display:flex}.beta-modal-success h2{font-size:var(--fs-xl);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);margin:0;font-weight:800}.beta-modal-success p{font-size:var(--fs-sm);color:var(--text-dim);margin:0;line-height:1.5}.layout{flex-direction:column;flex:1;min-height:0;display:flex}.left-panel{gap:var(--space-md);width:100%;padding:var(--space-md);flex-direction:column;order:0;max-height:48svh;display:none;position:relative;overflow:hidden}.left-panel-resize-handle{z-index:var(--z-overlap);width:var(--panel-resize-hit-w);cursor:col-resize;touch-action:none;background:0 0;border:none;margin:0;padding:0;display:none;position:absolute;top:0;bottom:0;right:0}.left-panel-resize-handle:after{content:"";right:var(--panel-resize-line-offset);width:var(--panel-resize-line-w);border-radius:var(--panel-resize-line-radius);background:0 0;transition:background .15s;position:absolute;top:0;bottom:0}.left-panel-resize-handle:hover:after,.left-panel-resize-handle:focus-visible:after{background:var(--gold-dim)}.left-panel--resizing{-webkit-user-select:none;user-select:none}body.left-panel--resizing,body.left-panel--resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.center-column{flex-direction:column;order:1;width:100%;min-width:0;display:flex}.sidebar,.role-sidebar,.element-sidebar{background:linear-gradient(180deg, var(--bg-panel-raised), var(--bg-panel-deep)), var(--bg-sidebar);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border:1px solid var(--glass-rim);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel-soft)}.sidebar{flex-direction:column;flex:auto;min-height:140px;display:flex;overflow:hidden}.sidebar-header,.role-sidebar-header{padding:var(--space-sm) var(--space-lg);justify-content:space-between;align-items:center;display:flex}.sidebar-header h2,.role-sidebar-header h2{font-size:var(--fs-md);letter-spacing:.1em;text-transform:uppercase;color:var(--white)}.sidebar-count{font-size:var(--fs-sm);color:var(--text-dim);background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border);padding:2px 7px}.class-list{padding:var(--space-md);gap:var(--space-xs);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start;display:grid;overflow-y:auto}.role-sidebar,.element-sidebar{flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.element-sidebar{flex:1 0 auto}.role-list{gap:var(--space-sm);padding:var(--space-md);flex-wrap:wrap;align-content:flex-start;align-items:flex-start;display:flex;overflow:visible}.class-card,.role-card{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);background:var(--bg-card);-webkit-backdrop-filter:blur(var(--blur-card));backdrop-filter:blur(var(--blur-card));border:1px solid var(--border);box-shadow:var(--shadow-card), inset 0 1px 0 var(--glass-highlight);cursor:grab;-webkit-user-select:none;user-select:none;min-width:0;transition:border-color .15s,background .15s,box-shadow .15s,transform .1s;display:flex}.role-card{border-left:3px solid #0000}.class-card:hover,.role-card:hover{border-color:var(--gold);background:var(--bg-card-hover);box-shadow:var(--shadow-card), var(--glow-gold), inset 0 1px 0 var(--glass-highlight)}.class-card:active,.role-card:active{cursor:grabbing;transform:scale(.97)}.class-card[draggable=true]:active,.role-card[draggable=true]:active{opacity:.6}.role-card--tank,.role-card--soutien,.role-card--dps,.role-card--el-air,.role-card--el-terre,.role-card--el-feu,.role-card--el-eau,.role-card--el-multi{border-left-color:var(--border)}.class-icon-wrap,.role-icon-wrap{border-radius:var(--radius-md);background:var(--bg-slot);border:1px solid var(--border-slot);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.class-icon,.role-icon{object-fit:contain;width:32px;height:32px}.class-name,.role-name{font-size:var(--fs-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.role-sidebar .role-list,.element-sidebar .role-list{padding:var(--space-sm);gap:var(--space-xs)}.role-sidebar .role-card,.element-sidebar .role-card{padding:var(--space-xs) var(--space-sm);gap:var(--space-sm)}.role-sidebar .role-icon-wrap,.element-sidebar .role-icon-wrap{border-radius:var(--radius-sm);width:28px;height:28px}.role-sidebar .role-icon,.element-sidebar .role-icon{width:24px;height:24px}.role-sidebar .role-name,.element-sidebar .role-name{font-size:var(--fs-xs)}.team-area{min-height:0;padding:var(--space-md) var(--gutter-tight) var(--space-lg);flex-direction:column;flex:1;align-items:center;display:flex;overflow:visible}.team-header{z-index:var(--z-dropdown);justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;flex-shrink:0;width:100%;display:flex;position:relative}.team-header-left{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.team-title{font-size:var(--fs-2xl);color:var(--gold-light);letter-spacing:.12em;text-transform:uppercase;text-shadow:var(--glow-gold);font-weight:700}.team-count{font-size:var(--fs-sm);color:var(--text);background:color-mix(in srgb, var(--bg-card) 82%, transparent);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);border:1px solid var(--border-slot);white-space:nowrap;font-weight:700;line-height:1}.pick-banner{align-items:center;gap:var(--space-md);width:100%;margin-bottom:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:var(--slot-hover);border:1px solid var(--gold-dim);color:var(--gold-light);font-size:var(--fs-sm);display:flex}.pick-banner-text{flex:1;line-height:1.35}.pick-banner-text strong{color:var(--gold-light)}.pick-banner-close{min-width:var(--tap-min);min-height:var(--tap-min);border:1px solid var(--gold-dim);border-radius:var(--radius-md);color:var(--gold-light);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;padding:0 var(--space-md);background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.pick-banner-close:hover{background:var(--gold-dim)}.team-grid-wrap{flex:none;justify-content:center;align-items:center;width:100%;display:flex;overflow:visible}.formation{--slot-sz:clamp(62px, 16.5vw, 86px);--slot-gap:clamp(8px, 2.5vw, 16px);gap:var(--space-md);flex-direction:column;width:100%;max-width:680px;margin:0 auto;display:flex}.formation-row{align-items:center;gap:var(--space-lg);padding:var(--space-lg) var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--glass-rim);background:linear-gradient(90deg, var(--bg-panel-row-soft), var(--bg-panel-row) 42%, var(--bg-panel-deep)), var(--bg-sidebar);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));box-shadow:var(--shadow-row), var(--glow-blue);flex:none;min-height:0;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.formation-row--over{border-color:var(--gold);background:var(--slot-hover);box-shadow:inset 0 0 16px var(--gold-dim)}.formation-row-label{font-size:var(--fs-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex-shrink:0;width:64px;font-weight:700}.formation-row-slots{gap:var(--slot-gap);flex-wrap:wrap;flex:1;justify-content:center;align-items:center;display:flex}.slot-wrapper{align-items:center;gap:calc(var(--slot-sz) * .2);width:var(--slot-sz);flex-direction:column;display:flex;overflow:visible}.slot-name{font-size:var(--fs-xs);min-height:1.2em;color:var(--white);letter-spacing:.04em;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;line-height:1.2;overflow:hidden}.slot-circle-wrap{width:var(--slot-sz);height:var(--slot-sz);position:relative}.team-slot{width:var(--slot-sz);height:var(--slot-sz);border:2px solid var(--glass-rim-strong);background:radial-gradient(circle at 50% 42%, #527bb42e, transparent 58%), var(--slot-empty-bg);border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.team-slot.empty{color:var(--text-dim);cursor:grab}.team-slot.empty:hover{border-color:var(--gold-dim);background:var(--slot-hover)}.team-slot.empty:active{cursor:grabbing}.team-slot.occupied{border-color:var(--border-slot);background:var(--bg-card);cursor:grab}.team-slot.occupied:active{cursor:grabbing}.team-slot.drag-over{border-color:var(--gold);background:var(--slot-hover);box-shadow:0 0 0 3px var(--gold-dim), inset 0 0 20px var(--gold-dim)}.team-slot--selected,.team-slot--selected.occupied,.team-slot--selected.empty{border-style:solid;border-color:var(--gold-light);box-shadow:0 0 0 3px var(--gold-dim), 0 0 18px var(--gold-dim)}.slot-placeholder{opacity:.55;justify-content:center;align-items:center;display:flex}.slot-placeholder svg{width:calc(var(--slot-sz) * .28);height:calc(var(--slot-sz) * .28)}.slot-icon{object-fit:cover;object-position:center center;width:100%;height:100%;display:block;position:absolute;inset:0}.role-badge{width:calc(var(--slot-sz) * .32);height:calc(var(--slot-sz) * .32);background:var(--bg-sidebar);border:2px solid var(--border-slot);z-index:var(--z-raised);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 1px 4px #00000073}.role-badge-icon{object-fit:contain;width:80%;height:80%}.team-slot.role--tank .role-badge{border-color:var(--role-tank);background:#4a7fc126}.team-slot.role--soutien .role-badge{border-color:var(--role-soutien);background:#4ac16a26}.team-slot.role--dps .role-badge{border-color:var(--role-dps);background:#c14a4a26}.team-slot.empty.role--tank{border-color:#4a7fc173}.team-slot.empty.role--soutien{border-color:#4ac16a73}.team-slot.empty.role--dps{border-color:#c14a4a73}.slot-dots{width:var(--slot-sz);height:var(--slot-sz);z-index:var(--z-overlap);pointer-events:none;position:absolute;top:0;left:0}.slot-dot{width:calc(var(--slot-sz) * .32);height:calc(var(--slot-sz) * .32);background:var(--chip-bg);border:1.5px solid var(--chip-border);pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000008c}.slot-dot-icon{object-fit:contain;width:80%;height:80%}.slot-dot--pos-0{top:85.4%;left:14.6%}.slot-dot--pos-1{top:100%;left:50%}.slot-dot--pos-2{top:85.4%;left:85.4%}.slot-roles{width:var(--slot-sz);height:var(--slot-sz);z-index:var(--z-overlap);pointer-events:none;position:absolute;top:0;left:0}.slot-role-dot{width:calc(var(--slot-sz) * .32);height:calc(var(--slot-sz) * .32);background:var(--chip-bg);border:1.5px solid var(--chip-border);pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000008c}.slot-role-dot-icon{object-fit:contain;width:80%;height:80%}.slot-role-dot--pos-0{top:14.6%;left:14.6%}.slot-role-dot--pos-1{top:0%;left:50%}.slot-role-dot--pos-2{top:14.6%;left:85.4%}.role-remove-btn{border:1px solid var(--border);background:var(--bg-sidebar);width:14px;height:14px;color:var(--text-dim);font-size:var(--fs-2xs);cursor:pointer;opacity:0;z-index:var(--z-raised);border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:opacity .15s,color .15s,border-color .15s;display:none;position:absolute;top:-5px;right:-5px}.slot-wrapper:hover .role-remove-btn{opacity:1}.role-remove-btn:hover{color:var(--danger);border-color:var(--danger)}.element-remove-btn{border:1px solid var(--border);background:var(--bg-sidebar);width:14px;height:14px;color:var(--text-dim);font-size:var(--fs-2xs);cursor:pointer;opacity:0;z-index:var(--z-raised);border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:opacity .15s,color .15s,border-color .15s;display:none;position:absolute;top:-5px;right:-5px}.slot-wrapper:hover .element-remove-btn{opacity:1}.element-remove-btn:hover{color:var(--danger);border-color:var(--danger)}.clear-btn{width:calc(var(--slot-sz) * .22);height:calc(var(--slot-sz) * .22);border:1px solid var(--border);background:var(--bg-sidebar);min-width:18px;min-height:18px;color:var(--text-dim);font-size:var(--fs-lg);cursor:pointer;opacity:0;z-index:var(--z-raised);border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:opacity .15s,color .15s,border-color .15s;display:none;position:absolute;top:0;right:0}.slot-wrapper:hover .clear-btn{opacity:1}.clear-btn:hover{color:var(--danger);border-color:var(--danger)}.team-actions{align-items:center;gap:var(--space-sm);padding:var(--space-xs);border:1px solid var(--glass-rim);border-radius:var(--radius-lg);background:linear-gradient(180deg, #141d3a4d, #0a0e202e), color-mix(in srgb, var(--bg-card) 52%, transparent);-webkit-backdrop-filter:blur(var(--blur-card));backdrop-filter:blur(var(--blur-card));box-shadow:var(--shadow-card), inset 0 1px 0 var(--glass-highlight);flex-shrink:0;display:flex}.btn-vider{min-height:var(--team-action-h);padding:0 var(--space-md) 0 var(--space-sm);border-radius:var(--radius-md);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--danger-soft);background:linear-gradient(180deg, #d65a6a2e, #1e264252), var(--bg-card);-webkit-backdrop-filter:blur(var(--blur-card));backdrop-filter:blur(var(--blur-card));border:var(--team-action-border-w) solid color-mix(in srgb, var(--danger) 76%, transparent);box-shadow:var(--shadow-card), inset 0 1px 0 var(--glass-highlight);white-space:nowrap;justify-content:center;align-items:center;gap:var(--space-sm);flex-shrink:0;font-weight:800;transition:color .18s,border-color .18s,background .18s,box-shadow .18s,transform .12s;display:inline-flex}.btn-vider:not(:disabled):hover,.btn-vider:not(:disabled):focus-visible{color:var(--white);border-color:var(--danger-soft);background:linear-gradient(180deg, #d65a6a4d, #1e26426b), var(--bg-card-hover);box-shadow:var(--shadow-card), 0 0 14px #d65a6a33, inset 0 1px 0 var(--glass-highlight);outline:none;transform:translateY(-1px)}.btn-vider:disabled{opacity:.45;cursor:default}.btn-vider-icon{width:var(--team-action-icon-s);height:var(--team-action-icon-s);border:1px solid color-mix(in srgb, currentColor 82%, transparent);background:#d65a6a29;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.btn-vider-icon:before,.btn-vider-icon:after{content:"";width:calc(var(--team-action-icon-s) * .48);height:var(--team-action-border-w);border-radius:var(--radius-pill);transform-origin:50%;background:currentColor;position:absolute;top:50%;left:50%}.btn-vider-icon:before{transform:translate(-50%,-50%)rotate(45deg)}.btn-vider-icon:after{transform:translate(-50%,-50%)rotate(-45deg)}.huzounet-wrap{z-index:var(--z-dropdown);flex-shrink:0;position:relative}.btn-huzounet{height:var(--team-action-h);border-radius:var(--radius-md);border:var(--team-action-border-w) solid color-mix(in srgb, var(--gold) 82%, transparent);background:linear-gradient(180deg, #d9a44138, #1e264261), var(--bg-card);-webkit-backdrop-filter:blur(var(--blur-card));backdrop-filter:blur(var(--blur-card));cursor:pointer;justify-content:center;align-items:center;gap:var(--space-sm);padding:0 var(--space-lg) 0 var(--space-md);box-shadow:var(--shadow-card), 0 0 14px #d9a4411f, inset 0 1px 0 var(--glass-highlight);flex-shrink:0;transition:border-color .15s,background .15s,box-shadow .15s,transform .12s;display:flex}.btn-huzounet:hover,.btn-huzounet:focus-visible{border-color:var(--gold-light);background:linear-gradient(180deg, #d9a44157, #2e385c80), var(--bg-card-hover);box-shadow:var(--shadow-card), 0 0 20px var(--gold-dim), inset 0 1px 0 var(--glass-highlight);outline:none;transform:translateY(-1px)}.btn-huzounet-label{font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);white-space:nowrap;font-weight:700}.huzounet-logo{width:var(--team-action-icon-s);height:var(--team-action-icon-s);object-fit:contain;border-radius:var(--radius-xs);flex-shrink:0}.huzounet-dropdown{background:var(--bg-sidebar);min-width:240px;max-width:min(86vw,320px);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);z-index:var(--z-modal);flex-direction:column;max-height:70svh;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden auto}.huzounet-empty{padding:var(--space-lg) var(--space-lg);font-size:var(--fs-sm);color:var(--text-dim);text-align:center;font-style:italic}.huzounet-row{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);min-height:var(--tap-min);color:var(--text);font-size:var(--fs-sm);border-bottom:1px solid var(--border);text-decoration:none;transition:background .12s;display:flex}.huzounet-row:last-of-type{border-bottom:none}.huzounet-row:hover{background:var(--bg-card);color:var(--gold-light)}.huzounet-row-icon{object-fit:cover;border-radius:50%;flex-shrink:0;width:26px;height:26px}.huzounet-row-name{flex:1;font-weight:500}.huzounet-row-tags{flex-shrink:0;align-items:center;gap:3px;display:flex}.huzounet-row-el{object-fit:contain;opacity:.85;width:16px;height:16px}.team-size-slider{align-items:center;gap:var(--space-lg);flex:100%;order:3;min-width:0;display:flex}.team-size-meta{align-items:center;gap:var(--space-sm);flex-shrink:0;display:flex}.team-size-label{font-size:var(--fs-2xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;flex-shrink:0;font-weight:700;display:none}.team-size-track-wrap{max-width:var(--team-size-track-w);flex-direction:column;flex:1;justify-content:center;min-width:220px;padding:0 2px;display:flex;position:relative}.team-size-scale{margin-bottom:var(--space-2xs);pointer-events:none;justify-content:space-between;padding:0 1px;display:flex}.team-size-tick{flex-direction:column;align-items:center;gap:2px;display:flex}.team-size-tick-num{font-size:var(--fs-2xs);color:var(--text-dim);font-weight:600;line-height:1;transition:color .15s}.team-size-tick-bar{background:var(--border-slot);border-radius:1px;width:2px;height:6px;transition:background .15s,box-shadow .15s}.team-size-tick--on .team-size-tick-num{color:var(--gold-light)}.team-size-tick--on .team-size-tick-bar{background:var(--gold)}.team-size-tick--current .team-size-tick-num{text-shadow:0 0 8px var(--gold-dim);font-weight:800}.team-size-tick--current .team-size-tick-bar{height:8px;box-shadow:0 0 6px var(--gold-dim)}.team-size-range{appearance:none;cursor:pointer;background:0 0;width:100%;height:18px;margin:0}.team-size-range::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:linear-gradient(var(--gold), var(--gold)) 0 / var(--pct,0%) 100% no-repeat, var(--bg-slot);border:1px solid var(--border);height:5px;box-shadow:inset 0 1px 2px #00000073}.team-size-range::-moz-range-track{border-radius:var(--radius-pill);background:var(--bg-slot);border:1px solid var(--border);height:5px;box-shadow:inset 0 1px 2px #00000073}.team-size-range::-moz-range-progress{border-radius:var(--radius-pill);background:var(--gold);height:5px}.team-size-range::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 70%);border:2px solid var(--white);width:18px;height:18px;box-shadow:0 0 0 3px var(--gold-dim), 0 2px 6px #00000080;cursor:grab;border-radius:50%;margin-top:-7px}.team-size-range::-moz-range-thumb{background:radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 70%);border:2px solid var(--white);width:18px;height:18px;box-shadow:0 0 0 3px var(--gold-dim), 0 2px 6px #00000080;cursor:grab;border-radius:50%}.team-size-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--gold-dim), 0 0 12px var(--gold-dim)}.team-size-val{font-size:var(--fs-md);color:var(--white);text-align:center;background:var(--bg-slot);border:1px solid var(--border-slot);border-radius:var(--radius-md);flex-shrink:0;min-width:26px;padding:3px 7px;font-weight:700;line-height:1.4}.charts-panel{background:linear-gradient(100deg, var(--bg-panel-row-soft), var(--bg-panel-deep)), var(--bg-sidebar);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border:1px solid var(--glass-rim);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel-deep), inset 0 1px 0 var(--glass-highlight);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.chart-card{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex}.chart-card:last-child{border-bottom:none}.chart-header{margin-bottom:var(--space-md);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.chart-label{font-size:var(--fs-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);font-weight:700}.chart-tag{font-size:var(--fs-2xs);border-radius:var(--radius-xl);border:1px solid var(--border);color:var(--text-dim);padding:2px 7px;font-weight:600;line-height:1.4}.chart-tag--ok{border-color:var(--role-soutien)!important;color:var(--role-soutien)!important}.chart-tag--warn{color:#e07b39!important;border-color:#e07b39!important}.donut-wrap{align-items:center;gap:var(--space-md);flex-direction:row;flex:1;min-height:0;display:flex}.chart-legend{gap:var(--space-sm);flex-direction:column;flex:1;justify-content:center;display:flex}.legend-row{align-items:center;gap:var(--space-sm);display:flex}.chart-legend-icon{object-fit:contain;flex-shrink:0;width:14px;height:14px}.legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.legend-name{font-size:var(--fs-sm);color:var(--text);flex:1}.legend-val{font-size:var(--fs-sm);text-align:right;min-width:14px;font-weight:700;transition:color .2s}.bars-wrap{gap:var(--space-sm);flex-direction:column;flex:1;justify-content:center;display:flex}.bar-row{align-items:center;gap:var(--space-sm);display:flex}.bar-label{align-items:center;gap:var(--space-xs);flex-shrink:0;min-width:52px;display:flex}.chart-bar-icon{object-fit:contain;flex-shrink:0;width:12px;height:12px}.bar-name{font-size:var(--fs-sm);color:var(--text-dim);text-align:left}.bar-track{border-radius:var(--radius-xs);background:var(--bg-slot);flex:1;height:5px;overflow:hidden}.bar-fill{border-radius:var(--radius-xs);height:100%;transition:width .35s,box-shadow .35s}.bar-val{font-size:var(--fs-sm);text-align:right;flex-shrink:0;min-width:12px;font-weight:700;transition:color .2s}.templates-panel{background:linear-gradient(180deg, var(--bg-panel-deep), #0d1c30b8), var(--bg-sidebar);width:100%;-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border:1px solid var(--glass-rim);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel-deep), inset 0 1px 0 var(--glass-highlight);flex-direction:column;flex-shrink:0;order:2;max-height:60svh;display:flex;position:relative;overflow:hidden}.templates-panel-resize-handle{z-index:var(--z-overlap);width:var(--panel-resize-hit-w);cursor:col-resize;touch-action:none;background:0 0;border:none;margin:0;padding:0;display:none;position:absolute;top:0;bottom:0;left:0}.templates-panel-resize-handle:after{content:"";left:var(--panel-resize-line-offset);width:var(--panel-resize-line-w);border-radius:var(--panel-resize-line-radius);background:0 0;transition:background .15s;position:absolute;top:0;bottom:0}.templates-panel-resize-handle:hover:after,.templates-panel-resize-handle:focus-visible:after{background:var(--gold-dim)}.templates-panel--resizing{-webkit-user-select:none;user-select:none}body.templates-panel--resizing,body.templates-panel--resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.templates-panel-header{padding:var(--space-lg) var(--space-lg) var(--space-md);flex-shrink:0}.templates-panel-header h2{font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--white);font-weight:800}.templates-filters{padding:var(--space-md) var(--space-lg);gap:var(--space-md);flex-direction:column;flex-shrink:0;display:flex}.templates-zone{gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-xl);background:var(--bg-slot);border:1px solid var(--border);box-shadow:inset 0 1px 0 var(--glass-highlight), inset 0 -1px 2px #0000004d, var(--shadow-card);flex-direction:column;display:flex}.templates-filter-label{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);justify-content:space-between;align-items:center;font-weight:700;display:flex}.templates-filter-val{color:var(--gold);font-size:var(--fs-sm);letter-spacing:0;text-transform:none}.templates-search{width:100%;padding:var(--space-md) var(--space-md);font-size:var(--fs-lg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);background:#0609148c;outline:none;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 3px #00000073}.templates-search:focus{border-color:var(--gold);box-shadow:inset 0 1px 3px #00000073, 0 0 0 3px var(--gold-dim)}.templates-member-slider{margin-top:var(--space-sm);padding:0 2px;position:relative}.templates-member-range{appearance:none;width:100%;height:var(--tap-min-sm);cursor:pointer;background:0 0;margin:0}.templates-member-range::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:linear-gradient(var(--gold), var(--gold)) 0 / var(--pct,0%) 100% no-repeat, var(--bg-slot);border:1px solid var(--border);height:5px;box-shadow:inset 0 1px 2px #00000073}.templates-member-range::-moz-range-track{border-radius:var(--radius-pill);background:var(--bg-slot);border:1px solid var(--border);height:5px;box-shadow:inset 0 1px 2px #00000073}.templates-member-range::-moz-range-progress{border-radius:var(--radius-pill);background:var(--gold);height:5px}.templates-member-range::-webkit-slider-thumb{appearance:none;background:radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 70%);border:2px solid var(--white);width:18px;height:18px;box-shadow:0 0 0 3px var(--gold-dim), 0 2px 6px #00000080;cursor:grab;border-radius:50%;margin-top:-7px}.templates-member-range::-moz-range-thumb{background:radial-gradient(circle at 35% 30%, var(--gold-light), var(--gold) 70%);border:2px solid var(--white);width:18px;height:18px;box-shadow:0 0 0 3px var(--gold-dim), 0 2px 6px #00000080;cursor:grab;border-radius:50%}.templates-member-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--gold-dim), 0 0 12px var(--gold-dim)}.templates-member-scale{margin-bottom:var(--space-2xs);pointer-events:none;justify-content:space-between;padding:0 1px;display:flex}.templates-member-tick{flex-direction:column;align-items:center;gap:2px;display:flex}.templates-member-tick-num{font-size:var(--fs-2xs);color:var(--text-dim);font-weight:600;line-height:1;transition:color .15s}.templates-member-tick-bar{background:var(--border-slot);border-radius:1px;width:2px;height:6px;transition:background .15s,box-shadow .15s}.templates-member-tick--on .templates-member-tick-num{color:var(--gold-light)}.templates-member-tick--on .templates-member-tick-bar{background:var(--gold)}.templates-member-tick--current .templates-member-tick-num{text-shadow:0 0 8px var(--gold-dim);font-weight:800}.templates-member-tick--current .templates-member-tick-bar{height:8px;box-shadow:0 0 6px var(--gold-dim)}.templates-error{padding:var(--space-md) var(--space-lg);font-size:var(--fs-xs);color:var(--role-dps);flex-shrink:0;margin:0}.templates-list{padding:var(--space-md);gap:var(--space-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.templates-hint{font-size:var(--fs-sm);color:var(--text-dim);text-align:center;padding:var(--space-lg) var(--space-md)}.template-card{align-items:flex-start;gap:var(--space-xs);width:100%;padding:var(--space-md) var(--space-md);text-align:left;background:var(--bg-card);-webkit-backdrop-filter:blur(var(--blur-card));backdrop-filter:blur(var(--blur-card));border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card), inset 0 1px 0 var(--glass-highlight);cursor:pointer;flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .1s,background .15s;display:flex}.template-card:hover:not(:disabled),.template-card:focus-visible:not(:disabled){border-color:var(--gold);background:var(--bg-card-hover);box-shadow:var(--shadow-card), var(--glow-gold), inset 0 1px 0 var(--glass-highlight);outline:none;transform:translateY(-1px)}.template-card:disabled{opacity:.55;cursor:wait}.template-card-name{font-size:var(--fs-sm);color:var(--text);font-weight:600;line-height:1.3}.template-card-meta{align-items:center;gap:var(--space-sm);font-size:var(--fs-xs);color:var(--text-dim);flex-wrap:wrap;display:flex}.template-card-classes{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.template-card-class-icon{object-fit:cover;opacity:.9;border-radius:50%;width:18px;height:18px}.template-card-loading{font-size:var(--fs-2xs);color:var(--gold);font-style:italic}.site-footer{background:linear-gradient(180deg, #1c2c40b8, #142030d1), color-mix(in srgb, var(--bg) 55%, transparent);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border-top:1px solid var(--glass-rim);padding:var(--space-sm) var(--gutter);flex-shrink:0;box-shadow:0 -14px 42px #0000003d}.site-footer-inner{align-items:center;gap:var(--space-2xs);flex-direction:column;display:flex}.footer-credit{align-items:center;gap:var(--space-sm);line-height:1.4;display:flex}.footer-credit-role{font-size:var(--fs-3xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:600}.footer-credit-name{font-size:var(--fs-xs);color:var(--text);font-weight:600}.footer-contact-btn,.footer-credit-link{min-height:var(--tap-min-sm);padding:0 var(--space-2xs);font-size:var(--fs-xs);color:var(--gold-light);cursor:pointer;background:0 0;border:none;align-items:center;font-weight:600;text-decoration:none;transition:color .15s;display:inline-flex}.footer-contact-btn:hover,.footer-contact-btn:focus-visible,.footer-credit-link:hover,.footer-credit-link:focus-visible{color:var(--gold);text-underline-offset:3px;outline:none;text-decoration:underline}@media (pointer:coarse){.footer-contact-btn,.footer-credit-link{min-height:var(--tap-min)}}@media (width>=768px){.site-footer-inner{flex-flow:wrap;justify-content:center;gap:0}.footer-credit{padding:0 var(--space-xl)}.footer-credit:not(:first-child){border-left:1px solid var(--border)}}@media (width>=480px){.charts-panel{flex-direction:row;height:130px}.chart-card{border-bottom:none;border-right:1px solid var(--border)}.chart-card:last-child{border-right:none}}@media (width>=768px){.formation{--slot-sz:clamp(68px, 11vw, 96px);--slot-gap:clamp(10px, 2vw, 18px);max-width:760px}.formation-row{padding:var(--space-lg) var(--space-lg);gap:var(--space-xl)}.formation-row-label{font-size:var(--fs-2xs)}.team-size-slider{flex:1;order:0}.team-size-label{display:inline}.charts-panel{height:140px}}@media (width>=1024px){.page{height:100svh}.main-nav{display:flex}.mobile-tab-bar{display:none}.layout{gap:var(--desktop-shell-gap);padding:var(--desktop-shell-pad);flex-direction:row;overflow:hidden}.left-panel{width:var(--left-panel-w);min-width:var(--left-panel-min-w);max-width:var(--left-panel-max-w);max-height:none;padding:var(--space-md);background:linear-gradient(180deg, var(--bg-panel-deep), #15273e9e), var(--bg-sidebar);-webkit-backdrop-filter:blur(var(--blur-panel));backdrop-filter:blur(var(--blur-panel));border:1px solid var(--glass-rim);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel-deep), inset 0 1px 0 var(--glass-highlight);flex-shrink:0;gap:0;display:flex}.center-column{gap:var(--desktop-shell-gap);flex:1;overflow:hidden}.left-panel .sidebar,.left-panel .role-sidebar,.left-panel .element-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:none;border-radius:0}.left-panel .role-sidebar,.left-panel .element-sidebar{border-top:1px solid var(--border);padding-top:var(--space-md)}.left-panel .sidebar{min-height:0}.left-panel .element-sidebar{flex:none}.templates-panel{width:var(--templates-panel-w);min-width:var(--templates-panel-min-w);max-width:var(--templates-panel-max-w);flex-shrink:0;order:2;max-height:none}.team-area{padding:0;overflow:visible}.team-grid-wrap{flex:1;min-height:0;overflow:hidden}.team-header{min-height:var(--desktop-team-header-h);margin-bottom:var(--desktop-shell-gap);padding:0 var(--space-xs);flex-wrap:nowrap}.formation{--slot-sz:clamp(52px, 8.5svh, 88px);--slot-gap:clamp(6px, 1.1svh, 12px);gap:var(--desktop-shell-gap);max-width:none;height:100%;margin:0}.formation-row{gap:var(--space-lg);padding:var(--space-md) var(--space-lg);flex:1}.formation-row-label{width:100px;font-size:var(--fs-2xs);padding-top:var(--space-xl);align-self:flex-start}.team-title{font-size:clamp(18px,3.2svh,28px)}.team-size-slider{flex:1;order:0;justify-content:center}.team-size-label{display:inline}.element-remove-btn,.role-remove-btn,.clear-btn{display:flex}.left-panel-resize-handle,.templates-panel-resize-handle{display:block}.charts-panel{height:var(--desktop-charts-h)}.chart-card{padding:var(--space-lg) var(--space-xl)}}@media (width>=1440px){.class-list{grid-template-columns:1fr 1fr}}@media (width>=1920px){.charts-panel{height:170px}.class-icon-wrap,.role-icon-wrap{width:42px;height:42px}.class-icon,.role-icon{width:38px;height:38px}.role-sidebar .role-icon-wrap,.element-sidebar .role-icon-wrap{width:32px;height:32px}.role-sidebar .role-icon,.element-sidebar .role-icon{width:28px;height:28px}.formation{--slot-sz:clamp(90px, 9svh, 140px);--slot-gap:clamp(10px, 1.2svh, 20px)}}@media (pointer:coarse){.class-card,.role-card{min-height:var(--tap-min-sm)}.is-touch .team-slot{cursor:pointer}}.sheet-overlay{z-index:var(--z-modal);background:#0000009e;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:720px;height:var(--sheet-height,80svh);background:var(--bg);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;touch-action:pan-y;flex-direction:column;animation:.26s ease-out sheet-in;display:flex;position:relative;overflow:hidden;box-shadow:0 -8px 40px #0009}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{border-radius:var(--radius-pill);background:var(--border);width:36px;height:4px;margin:var(--space-md) auto var(--space-xs);flex-shrink:0}.sheet-header{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-xl) var(--space-md);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.sheet-title{font-size:var(--fs-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:800;overflow:hidden}.sheet-slot-preview{align-items:center;gap:var(--space-md);flex:1;min-width:0;display:flex}.sheet-slot-icon{object-fit:cover;border:1px solid var(--border-slot);border-radius:50%;flex-shrink:0;width:40px;height:40px}.sheet-slot-info{flex-direction:column;gap:2px;min-width:0;display:flex}.sheet-slot-class{font-size:var(--fs-sm);color:var(--gold-light);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.sheet-slot-role{font-size:var(--fs-xs);color:var(--text-dim)}.sheet-clear-btn{min-height:var(--tap-min-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);color:var(--danger-soft);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;white-space:nowrap;background:#c846461f;border:1px solid #dc5a5a73;flex-shrink:0;font-weight:700;transition:background .15s,color .15s}.sheet-clear-btn:hover{color:#fff;background:#dc505047}.sheet-close-btn{min-width:var(--tap-min);min-height:var(--tap-min);color:var(--text-dim);font-size:var(--fs-xl);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}.sheet-close-btn:hover{color:var(--gold-light)}.sheet-tabs{border-bottom:1px solid var(--border);background:var(--bg-sidebar);flex-shrink:0;display:flex}.sheet-tab{min-height:var(--sheet-tab-h,40px);color:var(--text-dim);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;font-weight:700;transition:color .15s,border-color .15s;display:flex}.sheet-tab--active{color:var(--gold-light);border-bottom-color:var(--gold)}.sheet-tab:hover:not(.sheet-tab--active){color:var(--text)}.sheet-content{flex:1;position:relative;overflow:hidden}.sheet-panel{padding:var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--border) transparent;display:none;position:absolute;inset:0;overflow-y:auto}.sheet-panel--active{display:block}.sheet-panel--spells{padding:0;overflow:hidden}.sheet-panel--spells.sheet-panel--active{display:flex}.sheet-spells-panel{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sheet-spells-head{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-sidebar) 82%, transparent);flex-wrap:wrap;flex-shrink:0;display:flex}.sheet-spells-filter{margin-left:auto}.sheet-spells-body{flex:1;min-height:0}.sheet-spells-detail-overlay{border-radius:0}.sheet-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.sheet-grid--dense{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.sheet-selected-mark{color:var(--gold-light);font-size:var(--fs-sm);flex-shrink:0;margin-left:auto}.class-card--selected,.role-card--selected{border-color:var(--gold)!important;background:var(--slot-hover)!important}.role-card--disabled{opacity:.4;cursor:not-allowed}.sheet-elements-counter{font-size:var(--fs-sm);color:var(--text-dim);text-align:right;margin-bottom:var(--space-md);font-weight:600}.sheet-footer{padding:var(--space-md) var(--space-xl) max(var(--space-md), env(safe-area-inset-bottom));border-top:1px solid var(--border);flex-shrink:0}.sheet-done-btn{width:100%;min-height:var(--tap-min);background:var(--gold);color:var(--bg);border-radius:var(--radius-lg);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 14px var(--gold-dim);border:none;font-weight:800;transition:box-shadow .18s}.sheet-done-btn:hover{box-shadow:0 0 28px var(--gold-dim)}.sheet--templates{height:90svh}.sheet--templates .sheet-content .templates-panel{flex:1;width:100%;min-width:0;max-width:none;height:100%;max-height:none;position:relative;overflow:hidden;display:flex!important}.btn-templates-sheet{min-height:var(--tap-min-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--gold);border:1.5px solid var(--gold-dim);white-space:nowrap;background:0 0;flex-shrink:0;font-weight:700;transition:color .18s,border-color .18s,background .18s}.btn-templates-sheet:hover,.btn-templates-sheet:focus-visible{background:var(--slot-hover);border-color:var(--gold);outline:none}@media (width>=1024px){.btn-templates-sheet{display:none}}.slot-spells-btn{top:calc(var(--space-xs) * -1);left:calc(var(--space-xs) * -1);width:var(--tap-min);height:var(--tap-min);background:color-mix(in srgb, var(--bg-card) 85%, transparent);border:1px solid var(--gold-dim);color:var(--gold);font-size:var(--fs-sm);cursor:pointer;z-index:var(--z-overlap);touch-action:manipulation;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:none;position:absolute}.slot-spells-btn:hover,.slot-spells-btn:focus-visible{background:var(--slot-hover);border-color:var(--gold);outline:2px solid var(--gold-dim);outline-offset:2px}.is-touch .slot-spells-btn{display:flex}.spells-panel{z-index:var(--z-modal);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-2xl);width:var(--panel-spells-w);max-height:var(--panel-spells-max-h);box-shadow:0 var(--space-lg) var(--space-3xl) #0000008c, 0 0 0 1px var(--gold-dim);outline:none;flex-direction:column;animation:.13s ease-out both spells-in;display:flex;position:fixed;overflow:hidden}@keyframes spells-in{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.spells-panel--right:before{content:"";left:-6px;top:var(--space-xl);background:var(--bg);border-left:1px solid var(--border);border-bottom:1px solid var(--border);width:12px;height:12px;position:absolute;transform:rotate(45deg);box-shadow:-2px 2px 4px #00000040}.spells-panel--left:before{content:"";right:-6px;top:var(--space-xl);background:var(--bg);border-right:1px solid var(--border);border-top:1px solid var(--border);width:12px;height:12px;position:absolute;transform:rotate(45deg);box-shadow:2px -2px 4px #00000040}.spells-header{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg) var(--space-md);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;display:flex}.spells-element-filter{background:var(--bg-slot);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;gap:2px;padding:2px;display:flex}.spells-filter-btn{align-items:center;gap:var(--space-xs);min-height:var(--tap-min);padding:0 var(--space-md);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--fs-xs);color:var(--text-dim);white-space:nowrap;background:0 0;border:1px solid #0000;transition:background .1s,border-color .1s,color .1s;display:flex}.spells-filter-btn:hover,.spells-filter-btn:focus-visible{background:var(--bg-card-hover);border-color:var(--gold-dim);color:var(--text);outline:none}.spells-filter-btn--active{background:var(--bg-card);border-color:var(--gold-dim);color:var(--text)}.spells-filter-dots{align-items:center;gap:3px;display:flex}.spells-filter-count{font-size:var(--fs-3xs);color:var(--text-dim);font-variant-numeric:tabular-nums}@media (width>=1024px){.spells-filter-btn{min-height:var(--tap-min-sm);padding:0 var(--space-sm)}}.spells-header-identity{align-items:center;gap:var(--space-md);flex:1;min-width:0;display:flex}.spells-header-icon{object-fit:contain;flex-shrink:0;width:40px;height:40px}.spells-header-name{font-size:var(--fs-lg);color:var(--gold-light);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.spells-close-btn{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-size:var(--fs-md);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.spells-close-btn:hover,.spells-close-btn:focus-visible{color:var(--white);border-color:var(--gold-dim);outline:none}.spells-body{overscroll-behavior:contain;padding:var(--space-md);flex:1;overflow-y:auto}.spells-loading,.spells-empty{padding:var(--space-3xl) 0;text-align:center;color:var(--text-dim);font-size:var(--fs-sm);font-style:italic}.spells-error{padding:var(--space-xl);background:color-mix(in srgb, var(--danger) 15%, var(--bg-card));border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);border-radius:var(--radius-lg);color:var(--danger-soft);font-size:var(--fs-sm)}.spells-grid{gap:var(--space-xs);grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}@media (width>=480px){.spells-grid{grid-template-columns:repeat(5,1fr)}}@media (width>=768px){.spells-grid{grid-template-columns:repeat(6,1fr)}}.spell-variant-group{display:contents}.spell-variant-badge{font-size:var(--fs-3xs);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-xs);flex-shrink:0;align-self:center;padding:1px 4px;font-weight:800;line-height:1.4;display:inline-block}.spell-variant-badge--base{background:color-mix(in srgb, var(--gold) 22%, transparent);color:var(--gold);border:1px solid color-mix(in srgb, var(--gold) 40%, transparent)}.spell-variant-badge--alt{background:color-mix(in srgb, var(--spell-alt) 38%, transparent);color:color-mix(in srgb, var(--spell-alt) 80%, var(--white));border:1px solid color-mix(in srgb, var(--spell-alt) 60%, transparent)}.spell-variant-group:not(.spell-variant-group--solo) .spell-item:last-child{background:color-mix(in srgb, var(--bg-card) 88%, var(--spell-alt))}.spell-item{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-xs) var(--space-sm);min-height:var(--tap-min);background:var(--bg-card);border:1px solid var(--border-slot);border-radius:var(--radius-sm);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.spell-item:hover,.spell-item:focus-visible{background:var(--bg-card-hover);border-color:var(--gold-dim);box-shadow:0 0 0 1px var(--gold-dim), 0 2px 8px #0006;z-index:var(--z-raised);outline:none;position:relative}.spell-item--pinned{background:var(--bg-card-hover);border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 0 10px var(--gold-dim)}.spell-item-icon{object-fit:contain;image-rendering:auto;border-radius:var(--radius-xs);flex-shrink:0;width:48px;height:48px}.spell-item-icon--empty{background:var(--bg-slot);border:1px dashed var(--border-slot);border-radius:var(--radius-xs)}.spell-item-name{font-size:var(--fs-3xs);color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;line-height:1.25;display:-webkit-box;overflow:hidden}.spell-item:hover .spell-item-name,.spell-item--pinned .spell-item-name{color:var(--text)}.spell-item-footer{justify-content:center;align-items:center;gap:4px;min-height:10px;display:flex}.spell-el-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.spell-el-dot--terre{background:#b8864a;box-shadow:0 0 3px #b8864a80}.spell-el-dot--feu{background:#e0602a;box-shadow:0 0 3px #e0602a80}.spell-el-dot--eau{background:#4b9fd5;box-shadow:0 0 3px #4b9fd580}.spell-el-dot--air{background:#70b86a;box-shadow:0 0 3px #70b86a80}.spell-el-dot--neutre{background:#888;box-shadow:0 0 3px #88888880}.spell-aoe-chip{color:var(--text-dim);opacity:.85;font-size:8px;line-height:1}.spell-aoe-chip sub{vertical-align:baseline;font-size:7px}.spells-pinned-detail{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border);position:relative}.spells-pinned-close{top:var(--space-md);width:var(--tap-min);height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-size:var(--fs-md);background:0 0;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex;position:absolute;right:0}.spells-pinned-close:hover{color:var(--white);border-color:var(--gold-dim)}.spell-tooltip{pointer-events:none;background:linear-gradient(color-mix(in srgb, var(--bg-sidebar) 97%, var(--bg-card)), color-mix(in srgb, var(--bg-sidebar) 97%, var(--bg-card))), var(--bg);border:1px solid var(--gold-dim);border-radius:var(--radius-lg);padding:var(--space-md);color:var(--text);font-size:var(--fs-sm);box-shadow:0 var(--space-md) var(--space-2xl) #000000a6;max-width:260px;line-height:1.5}.stt-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);display:flex}.stt-icon{object-fit:contain;border-radius:var(--radius-xs);flex-shrink:0;width:36px;height:36px}.stt-title{gap:var(--space-2xs);flex-direction:column;min-width:0;display:flex}.stt-name{font-size:var(--fs-sm);color:var(--gold-light);font-weight:700;line-height:1.2}.stt-cost-row{align-items:baseline;gap:var(--space-sm);display:flex}.stt-cost{font-size:var(--fs-xs);color:var(--gold);font-weight:600}.stt-obtain{font-size:var(--fs-xs);color:var(--text);font-weight:500}.stt-stats{gap:var(--space-xs) var(--space-lg);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.stt-stat{align-items:baseline;gap:var(--space-xs);white-space:nowrap;display:flex}.stt-stat-lbl{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim)}.stt-stat-val{font-size:var(--fs-xs);color:var(--white);font-weight:600}.stt-mod{font-size:var(--fs-3xs);color:var(--text-dim);font-weight:400}.stt-flags{gap:var(--space-xs);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.stt-flags span{font-size:var(--fs-3xs);color:var(--text-dim);background:var(--bg-slot);border:1px solid var(--border);border-radius:var(--radius-xs);padding:var(--space-2xs) var(--space-xs);font-style:italic}.stt-effects{margin:0 0 var(--space-sm);gap:var(--space-2xs);flex-direction:column;padding:0;list-style:none;display:flex}.stt-effect{font-size:var(--fs-xs);color:var(--text);padding-left:var(--space-sm);position:relative}.stt-effect:before{content:"·";color:var(--gold-dim);position:absolute;left:0}.stt-effect--crit{color:color-mix(in srgb, var(--danger-soft) 80%, var(--text))}.stt-crit{border-top:1px solid var(--border);padding-top:var(--space-sm);margin-bottom:var(--space-sm)}.stt-crit-lbl{font-size:var(--fs-3xs);text-transform:uppercase;letter-spacing:.07em;color:var(--danger-soft);margin-bottom:var(--space-2xs);font-weight:700;display:block}.stt-desc{margin:var(--space-sm) 0 0;border-top:1px solid var(--border);padding-top:var(--space-sm);font-size:var(--fs-2xs);color:var(--text);font-style:italic;line-height:1.55}.stt-zone-row{align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xs);flex-wrap:wrap;display:flex}.stt-el{font-size:var(--fs-3xs);border-radius:var(--radius-xs);align-items:center;gap:4px;padding:1px 6px;font-weight:700;display:inline-flex}.stt-el--terre{color:#b8864a;background:#b8864a26;border:1px solid #b8864a59}.stt-el--feu{color:#e0762a;background:#e0762a26;border:1px solid #e0762a59}.stt-el--eau{color:#4b9fd5;background:#4b9fd526;border:1px solid #4b9fd559}.stt-el--air{color:#70b86a;background:#70b86a26;border:1px solid #70b86a59}.stt-el--neutre{color:#999;background:#9999991f;border:1px solid #9999994d}.stt-aoe{font-size:var(--fs-3xs);color:var(--text-dim);border-radius:var(--radius-xs);border:1px solid var(--border);text-transform:lowercase;background:#ffffff0d;align-items:center;gap:3px;padding:1px 6px;display:inline-flex}@media (width>=480px){.spell-item-icon{width:52px;height:52px}}@media (width>=1024px){.slot-spells-btn{display:none}}.spells-sheet{height:min(85svh,680px)}.spells-detail-overlay{background:var(--bg);z-index:var(--z-raised);border-radius:inherit;flex-direction:column;animation:.2s ease-out spells-detail-in;display:flex;position:absolute;inset:0}@keyframes spells-detail-in{0%{transform:translate(100%)}to{transform:translate(0)}}.spells-detail-back{align-items:center;gap:var(--space-sm);min-height:var(--tap-min);padding:0 var(--space-lg);border:none;border-bottom:1px solid var(--border);color:var(--gold);font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;flex-shrink:0;font-weight:600;transition:color .12s;display:flex}.spells-detail-back:hover,.spells-detail-back:focus-visible{color:var(--gold-light);outline:none}.spells-detail-scroll{padding:var(--space-md);overscroll-behavior:contain;flex:1;overflow-y:auto}.spells-detail-scroll .spell-tooltip{pointer-events:auto;max-width:100%;box-shadow:none;background:0 0;border:none;padding:0}@media (hover:none){.spell-item:hover{background:var(--bg-card);border-color:var(--border-slot);box-shadow:none}.spell-item:hover .spell-item-name{color:var(--text-dim)}}@media (prefers-reduced-motion:reduce){.spells-panel,.spells-sheet{animation:none}}.matrix-page{background:linear-gradient(180deg, #04071047, #040710b8), var(--matrix-page-bg), var(--bg);background-position:50%;background-size:cover;flex:1 0 auto;align-items:stretch;min-height:100%;display:flex;overflow:hidden visible}.matrix-hero{justify-content:flex-start;gap:var(--space-md);width:100%;min-height:max-content;padding:var(--space-lg) var(--gutter-tight);flex-direction:column;display:flex;position:relative;overflow:visible}.matrix-hero:before{content:"";background:linear-gradient(90deg, #040710e6, #04071057), var(--matrix-class-bg);opacity:.9;background-position:50%;background-size:cover;position:absolute;inset:0}.matrix-shell,.matrix-class-selector{z-index:var(--z-base);position:relative}.matrix-shell{width:100%;max-width:var(--matrix-content-max-w);align-self:center;gap:var(--space-lg);grid-template-columns:1fr;align-items:start;min-height:0;display:grid}.matrix-copy{width:100%;max-width:var(--matrix-copy-w);justify-self:center;gap:var(--space-md);flex-direction:column;display:flex}.matrix-title-row{align-items:center;gap:var(--space-md);min-width:0;display:flex}.matrix-class-icon{width:var(--tap-min);height:var(--tap-min);object-fit:contain;flex-shrink:0}.matrix-kicker{margin:0 0 var(--space-2xs);font-size:var(--fs-xs);color:var(--gold-light);letter-spacing:.14em;text-transform:uppercase;font-weight:800}.matrix-heading{font-size:var(--fs-2xl);color:var(--white);letter-spacing:0;margin:0;font-weight:900}.matrix-youtube-link{min-height:var(--tap-min);justify-content:center;align-self:flex-start;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-sm) var(--space-xl);border:1px solid color-mix(in srgb, var(--youtube-red) 34%, var(--border));border-radius:var(--radius-pill);background:linear-gradient(180deg, color-mix(in srgb, var(--glass-highlight) 82%, transparent), transparent), color-mix(in srgb, var(--bg-panel-raised) 86%, var(--youtube-red));color:var(--white);font-size:var(--fs-sm);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(var(--blur-card));backdrop-filter:blur(var(--blur-card));font-weight:800;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s;display:inline-flex}.matrix-youtube-link:hover,.matrix-youtube-link:focus-visible{background:linear-gradient(180deg, color-mix(in srgb, var(--glass-highlight) 92%, transparent), transparent), color-mix(in srgb, var(--bg-panel-raised) 76%, var(--youtube-red));border-color:color-mix(in srgb, var(--youtube-red) 72%, var(--border));box-shadow:var(--shadow-card), 0 0 var(--space-xl) color-mix(in srgb, var(--youtube-red) 22%, transparent);outline:none}.matrix-youtube-link:active{transform:scale(.98)}.matrix-youtube-icon{width:calc(var(--tap-min-sm) - var(--space-md));height:calc(var(--tap-min-sm) - var(--space-md));flex:none}.matrix-youtube-icon-bg{fill:var(--youtube-red)}.matrix-youtube-icon-play{fill:var(--white)}.matrix-text-assets{gap:var(--space-sm);grid-template-columns:1fr;width:100%;display:grid}.matrix-text-frame{width:100%;display:block}.matrix-text-frame--1{aspect-ratio:var(--matrix-text-1-ratio)}.matrix-text-frame--2{aspect-ratio:var(--matrix-text-2-ratio)}.matrix-text-asset{object-fit:contain;object-position:left top;width:100%;height:100%;filter:drop-shadow(0 var(--space-xs) var(--space-md) #0006);display:block}.matrix-stage-wrap{justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;display:flex}.matrix-stage{width:min(var(--matrix-stage-w), calc(var(--matrix-stage-max-h) * var(--matrix-board-ratio-w) / var(--matrix-board-ratio-h)));aspect-ratio:var(--matrix-board-ratio);flex-shrink:0;max-width:100%;position:relative;overflow:hidden}.matrix-stage-content{transform:translate(var(--matrix-stage-offset-x,0%), var(--matrix-stage-offset-y,0%)) scale(var(--matrix-stage-scale,1));transform-origin:top;position:absolute;inset:0}.matrix-board{object-fit:cover;object-position:top center;width:100%;height:100%;filter:drop-shadow(0 var(--space-md) var(--space-2xl) #00000094);display:block}.matrix-grid-layer{left:var(--matrix-grid-left);top:var(--matrix-grid-top);width:var(--matrix-grid-w);height:var(--matrix-grid-h);pointer-events:none;grid-template-rows:repeat(8,minmax(0,1fr));grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:absolute}.matrix-marker{grid-column:var(--matrix-marker-col);grid-row:var(--matrix-marker-row);width:calc(100% * var(--matrix-marker-ratio));object-fit:contain;max-width:100%;height:auto;max-height:100%;filter:drop-shadow(0 var(--space-xs) var(--space-sm) #000000b8);place-self:center}.matrix-class-selector{max-width:var(--matrix-content-max-w);scrollbar-width:thin;align-self:stretch;align-items:center;gap:var(--space-xs);padding:var(--matrix-selector-pad);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--bg-card) 70%, #000000bf);border:1px solid var(--border);box-shadow:var(--shadow-card);display:flex;overflow-x:auto}.matrix-class-button{width:var(--tap-min);height:var(--tap-min);padding:var(--space-xs);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;transition:background .15s,border-color .15s,transform .12s;display:flex}.matrix-class-button:hover,.matrix-class-button:focus-visible,.matrix-class-button--active{background:var(--bg-card-hover);border-color:var(--gold);outline:none}.matrix-class-button:active{transform:scale(.96)}.matrix-class-button-icon{width:var(--matrix-selector-icon-s);height:var(--matrix-selector-icon-s);object-fit:contain}@media (width>=768px){.matrix-hero{padding:var(--space-xl) var(--gutter);gap:var(--space-xl)}.matrix-shell{gap:var(--space-xl)}.matrix-copy{max-width:none}.matrix-youtube-link{width:auto}.matrix-text-assets{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.matrix-shell{grid-template-columns:minmax(var(--matrix-copy-col-min), .7fr) minmax(0, 1.3fr);gap:var(--space-xl);align-items:center}.matrix-copy{max-width:var(--matrix-copy-w);justify-self:end}.matrix-text-assets{grid-template-columns:1fr}.matrix-class-selector{align-self:center}.matrix-stage{--matrix-stage-max-h:min(62svh, 50rem)}}@media (width>=1440px){.matrix-stage{--matrix-stage-w:var(--matrix-stage-w-xl)}}@media (width>=1920px){.matrix-stage{--matrix-stage-w:var(--matrix-stage-w-2xl)}}
