.gear-armory { margin: 0 0 18px; padding: 4px clamp(0px,1.5vw,20px); border:0; border-radius:0; background:none; }
.gear-armory[data-armory-state=loading] { min-height:760px; }
.gear-armory-pending-heading { margin:4px 18px; font:700 1.45rem 'Marcellus SC',serif; }
.gear-armory-pending-heading small,.gear-armory-pending-heading span { display:block; }
.gear-armory-pending-heading small { font:800 .7rem Inter,sans-serif; color:#b6d58c; margin-bottom:5px; }
.gear-armory-heading,.gear-armory-character-heading,.gear-armory-roster-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.gear-armory .gear-armory-heading { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; flex:0 1 160px; margin:0; font:700 1.45rem 'Marcellus SC',serif; }
.gear-armory-heading small { font:800 .7rem Inter,sans-serif; }
.gear-armory-identity { flex:1 1 145px; }
.gear-armory-roster-heading>div { display:grid; gap:3px; }
.gear-armory-roster-heading .gear-armory-date { font-size:.65rem; font-weight:400; }
.gear-armory-heading h2,.gear-armory-heading p,.gear-armory-character-heading h3,.gear-armory-character-heading p { margin:0; }
.gear-armory-date { color:#a6b6ab; font-size:.8rem; }
.gear-armory-layout { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:20px; }
.gear-armory-character { min-width:0; padding:4px 18px 18px; border:0; border-radius:0; background:none; }
.gear-armory-character-heading h3 { color:#f1d690; font-size:1.7rem; font-family:'Marcellus SC',serif; }
.gear-armory-character-heading p { color:#a3b5a7; font-size:.8rem; margin-top:4px; }
.gear-armory-metrics { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.gear-armory-metrics span { padding:8px 10px; border:1px solid #9d854941; border-radius:6px; color:#e4c777; background:#27231670; font-weight:800; font-size:.85rem; white-space:nowrap; }
.gear-armory-view-tabs,.gear-armory-camera { display:flex; gap:7px; align-items:center; flex-wrap:wrap; margin-top:14px; }
.gear-armory button,.gear-armory-view-tabs a { border:1px solid #6f845a70; border-radius:7px; background:#141315; color:#ded8cf; padding:8px 12px; font:inherit; font-size:.8rem; cursor:pointer; text-decoration:none; }
.gear-armory button[aria-pressed=true] { border-color:#d4b45e; background:#493d2470; color:#ffe7a2; }
.gear-armory button:focus-visible,.gear-armory-item:focus-visible { outline:2px solid #e7cb7f; outline-offset:3px; }
.gear-armory .gear-armory-brand-link { display:inline-flex; align-items:center; gap:7px; min-height:38px; font-weight:800; box-shadow:inset 0 1px #ffffff18; }
.gear-armory .gear-armory-battle-link { color:#a9ddff; border-color:#218fd0; background:linear-gradient(135deg,#073a65ed,#071723ed); }
.gear-armory .gear-armory-raider-link { color:#ffce8d; border-color:#cb7525; background:linear-gradient(135deg,#673008ed,#21130aed); }
.gear-armory-brand-link img { object-fit:contain; flex-shrink:0; }
.gear-armory-battle-link img { filter:brightness(0) saturate(100%) invert(79%) sepia(24%) saturate(1153%) hue-rotate(173deg); }
.gear-armory .gear-armory-brand-link:hover { filter:brightness(1.18); }
.gear-armory .gear-armory-brand-link:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.gear-armory-stage { display:grid; grid-template-columns:58px minmax(0,1fr) 58px; grid-template-rows:500px 64px; margin-top:18px; gap:12px; }
.gear-armory-figure { position:relative; min-width:0; background:none; overflow:hidden; }
.gear-armory-figure>img,.gear-armory-canvas { position:absolute; inset:0; width:100%; height:100%; }
.gear-armory-figure>img { object-fit:contain; transform:none; }
.gear-armory-canvas canvas { width:100%; height:100%; touch-action:none; }
.gear-armory-slots { display:flex; flex-direction:column; justify-content:space-between; gap:5px; }
.gear-armory-item,.gear-armory-empty-slot { display:block; position:relative; width:54px; height:54px; border:1px solid #9f875b; border-radius:8px; background:#0c0c0f; overflow:hidden; color:#9aa98b; }
.gear-armory-item img { width:100%; height:100%; object-fit:cover; }
.gear-armory-item small { position:absolute; inset:auto 0 0; text-align:center; color:#fff0be; background:#000b; font-size:.65rem; line-height:1.35; font-weight:800; }
.gear-armory-item.gear-quality-epic { border-color:#a569d2; box-shadow:0 0 12px #a335ee15; }
.gear-armory-item.gear-quality-rare { border-color:#4e91d9; }
.gear-armory-empty-slot { display:grid; place-items:center; border-color:#56525a88; }
.gear-armory-weapons { grid-column:2; display:flex; justify-content:center; gap:12px; }
.gear-armory-camera { display:grid; grid-template-columns:auto auto auto; justify-content:center; align-items:start; margin-top:4px; }
.gear-armory-reset-stack { display:flex; flex-direction:column; gap:6px; }
.gear-armory-reset-stack [data-view=photo] { font-size:.68rem; padding:5px 9px; }
.gear-armory button[data-camera]:disabled { opacity:.4; cursor:default; }
.gear-armory-camera>span { grid-column:1/-1; text-align:center; }
.gear-armory-camera[data-ready=false]>span { visibility:hidden; }
.gear-armory-camera span { font-size:.7rem; color:#9aaf9f; }
.gear-armory-camera[hidden] { display:none; }
.gear-armory-status { color:#d0c08d; text-align:center; min-height:1.4em; margin:10px 0 4px; font-size:.8rem; }
.gear-armory-note { color:#869e8e; text-align:center; font-size:.72rem; margin:5px 0 0; line-height:1.6; }
.gear-armory-roster { min-width:0; border:0; border-radius:12px; background:none; overflow:hidden; align-self:start; }
.gear-armory-roster-heading { padding:15px; color:#e9d49c; border-bottom:1px solid #56684966; }
.gear-armory-roster-heading span { color:#9eae91; font-size:.8rem; }
.gear-armory-player-list { display:flex; flex-direction:column; gap:8px; height:660px; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:#847349 #101a13; padding:10px; }
.gear-armory .gear-armory-player { display:grid; grid-template-columns:25px 46px minmax(0,1fr) auto; align-items:center; gap:8px; padding:10px 8px; text-align:start; background:linear-gradient(115deg,#23342475,#101c1660); min-height:76px; flex-shrink:0; }
.gear-armory .gear-armory-player[aria-selected=true] { border-color:#dfc775; background:linear-gradient(115deg,#5b492a60,#162c2250); box-shadow:inset 3px 0 #e4c56a; }
.gear-armory-player img { border-radius:7px; border:1px solid #99ad8470; object-fit:cover; }
.gear-armory-rank { font-size:.65rem; color:#bdaa74; }
.gear-armory-player-copy { min-width:0; }
.gear-armory-player-copy strong { display:block; font-size:.85rem; color:#f3e7be; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gear-armory-player-copy small { display:block; font-size:.63rem; color:#94aa98; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:5px; }
.gear-armory-player b { font-size:.75rem; color:#e5c870; }
.gear-armory-character-heading { flex-wrap:wrap; }
.gear-armory-character-heading { column-gap:16px; row-gap:10px; }
.gear-search-content { margin-top:24px; padding:24px; border:1px solid #56684966; border-radius:12px; background:#07100fe0; }
.gear-search-content h2,.gear-search-content h3 { font-family:'Marcellus SC',serif; color:#ecd59a; }
.gear-search-content p { color:#c0cec4; line-height:1.7; }
.gear-related-specs { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.gear-related-specs a { padding:7px 10px; border:1px solid #93845460; border-radius:6px; text-decoration:none; color:#ead398; }
.gear-related-specs a:hover,.gear-related-specs a:focus-visible { border-color:#f1d781; }
.gear-static-import { display:block; padding:12px; overflow-wrap:anywhere; font-size:.75rem; }
@media(max-width:760px) { .gear-armory .gear-armory-heading { flex:1 1 140px; font-size:1.3rem; } .gear-armory-identity { flex:1 1 140px; } .gear-search-content { padding:16px; } .gear-armory[data-armory-state=loading] { min-height:700px; } }
.gear-armory-panes { display:flex; gap:8px; }
.gear-armory .gear-armory-panes button { min-height:46px; padding:10px 15px; font-weight:900; border-color:#b2944f80; background:linear-gradient(145deg,#312817d9,#0e1015ed); color:#f7df9c; box-shadow:inset 0 1px #fff1; }
.gear-armory .gear-armory-panes [data-pane=talents] { border-color:#a77cd080; color:#e3cbff; background:linear-gradient(145deg,#362244df,#111019ed); }
.gear-armory .gear-armory-panes [aria-pressed=true] { border-color:#ffe19e; box-shadow:0 0 16px #d6b36132,inset 0 0 0 1px #ffe4ac66; }
.gear-armory [data-character-view][hidden],.gear-armory-talent-view[hidden] { display:none; }
.gear-armory-talent-view { min-height:650px; padding-top:24px; }
.gear-armory-talent-caption { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:0 0 20px; color:#ecd49c; }
.gear-armory-talent-caption span { direction:ltr; unicode-bidi:isolate; font-size:.75rem; color:#b7b4ad; }
.gear-armory-trees { display:grid; grid-template-columns:minmax(230px,1fr) minmax(150px,.65fr) minmax(230px,1fr); gap:14px; direction:ltr; }
.gear-armory-talent-branch { min-width:0; }
.gear-armory-talent-branch>header { display:flex; flex-direction:column; align-items:center; gap:6px; margin-bottom:14px; text-shadow:0 2px 4px #000; }
.gear-armory-talent-branch h4 { margin:0; font-family:'Marcellus SC',serif; font-size:1rem; color:#f6df9e; }
.gear-armory-talent-branch header span { color:#c4bfaa; font-size:.75rem; }
.gear-armory-talent-branch[data-branch=hero] { padding-top:75px; }
.gear-armory-talent-tree { position:relative; width:100%; }
.gear-armory-talent-tree svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.gear-armory-talent-tree line { stroke:#76716b99; stroke-width:2; }
.gear-armory-talent-tree line.is-selected { stroke:#f9ce67; stroke-width:2.5; }
.gear-armory-talent-node { position:absolute; width:var(--node-width); aspect-ratio:1; transform:translate(-50%,-50%); border:2px solid #5a5860; border-radius:5px; box-shadow:0 2px 6px #000; background:#111; opacity:.48; }
.gear-armory-talent-node.is-passive { border-radius:50%; }
.gear-armory-talent-node.is-choice { border-radius:4px 12px; }
.gear-armory-talent-node.is-selected { opacity:1; border-color:#edbd56; box-shadow:0 0 8px #e5bd493b,0 2px 7px #000; }
.gear-armory-talent-node img { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.gear-armory-talent-node span { position:absolute; inset:auto -4px -6px auto; padding:1px 3px; background:#08090bea; color:#f9db90; border:1px solid #9a7a3f; border-radius:3px; font-size:clamp(8px,.65vw,11px); line-height:1.2; }
.gear-armory-talent-node:focus-visible,.gear-armory-talent-node:hover { opacity:1; z-index:3; outline:2px solid #fff0bc; outline-offset:3px; }
.gear-armory-talent-empty { padding:60px 20px; color:#e1cda8; text-align:center; background:#090b0c99; border-radius:12px; }
.gear-armory-roster-heading { border-color:#a6a09a29; }
.gear-armory-player-list { gap:6px; padding:0; height:690px; scrollbar-color:#83766c #0b0c0d; }
.gear-armory .gear-armory-player { --player-tile-height:104px; position:relative; isolation:isolate; overflow:hidden; grid-template-columns:24px minmax(0,1fr) 45px; height:var(--player-tile-height); min-height:var(--player-tile-height); padding:13px 14px; gap:10px; border:0; border-radius:7px 0 0 7px; background:none; box-shadow:none; }
.gear-armory .gear-armory-player[aria-selected=true] { border:0; background:none; box-shadow:none; }
.gear-armory .gear-armory-player::before { content:''; position:absolute; z-index:-2; inset:0; border-inline-start:2px solid #a49a795c; border-radius:7px 0 0 7px; background:linear-gradient(90deg,#000000bf, #0006 26%,transparent 64%); }
.gear-armory .gear-armory-player[aria-selected=true]::before { border-inline-start:3px solid var(--armory-accent,#e3c067); background:linear-gradient(90deg,#000d,#0006 26%,transparent 64%); }
.gear-armory .gear-armory-player:focus-visible { outline:2px solid #ffe4a8; outline-offset:-2px; }
.gear-armory-player-art { position:absolute; z-index:-1; inset:0 0 0 auto; width:60%; overflow:hidden; clip-path:polygon(19% 0,100% 0,100% 100%,0 100%,14% 83%,5% 68%,21% 49%,10% 34%,26% 15%); mask-image:linear-gradient(90deg,transparent,#000 26%,#000 80%,transparent 99%); pointer-events:none; }
.gear-armory-player-art::before { content:''; position:absolute; inset:0; background:var(--roster-art) center/cover no-repeat; opacity:.25; }
.gear-armory .gear-armory-player img { position:absolute; top:calc(16px - var(--player-tile-height) * 5.75 * var(--portrait-start,0)); inset-inline-end:calc(50% - var(--player-tile-height) * 5.75 * var(--portrait-aspect,1.333333) / 2); width:calc(var(--player-tile-height) * 5.75 * var(--portrait-aspect,1.333333)); height:calc(var(--player-tile-height) * 5.75); max-width:none; object-fit:fill; border:0; border-radius:0; opacity:.95; mask-image:none; pointer-events:none; }
.gear-armory .gear-armory-player img:not([data-portrait-kind=render]) { inset:0; width:100%; height:100%; object-fit:contain; }
.gear-armory .gear-armory-player img[data-portrait-kind=avatar] { inset-inline-start:auto; inset-inline-end:calc(50% - var(--player-tile-height)/2); width:var(--player-tile-height); mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent); }
.gear-armory .gear-armory-player::after { content:none; }
html[dir=rtl] .gear-armory .gear-armory-player::before { background:linear-gradient(270deg,#000000bf,#0006 26%,transparent 64%); }
html[dir=rtl] .gear-armory .gear-armory-player[aria-selected=true]::before { background:linear-gradient(270deg,#000d,#0006 26%,transparent 64%); }
html[dir=rtl] .gear-armory-player-art { inset:0 auto 0 0; clip-path:polygon(0 0,81% 0,74% 15%,90% 34%,79% 49%,95% 68%,86% 83%,100% 100%,0 100%); mask-image:linear-gradient(270deg,transparent,#000 26%,#000 80%,transparent 99%); }
.gear-armory-player-copy { max-width:180px; text-shadow:0 2px 5px #000,0 0 12px #000; }
.gear-armory-player-copy strong { color:#f5f0e9; font-size:.9rem; }
.gear-armory-player-copy small { color:#c0b9b7; font-size:.66rem; margin-top:3px; }
.gear-armory-player b { color:#f4e6c9; font-size:.83rem; text-shadow:0 2px 5px #000; }
.gear-armory-player[aria-selected=true] .gear-armory-player-copy strong,.gear-armory-player[aria-selected=true] b { color:var(--armory-accent,#e3c067); }
@media(max-width:1200px) and (min-width:761px) { .gear-armory-layout { grid-template-columns:minmax(0,1fr) 310px; } .gear-armory-trees { grid-template-columns:1fr 1fr; } .gear-armory-talent-branch[data-branch=hero] { grid-column:1/-1; order:3; width:50%; justify-self:center; padding-top:20px; } }
@media(max-width:760px) { .gear-armory { padding-inline:0; } .gear-armory-trees { grid-template-columns:1fr; gap:30px; } .gear-armory-talent-branch { width:100%; max-width:420px; justify-self:center; } .gear-armory-talent-branch[data-branch=hero] { padding-top:0; max-width:280px; } .gear-armory-panes { width:100%; } .gear-armory-panes button { flex:1; } .gear-armory-talent-node span { font-size:10px; } }
@media(min-width:1800px){.gear-armory-stage{grid-template-rows:560px 64px}.gear-armory-player-list{height:720px}}
@media(max-width:1000px){.gear-armory-layout{grid-template-columns:minmax(0,1fr) 285px}}
@media(max-width:760px){.gear-armory-layout{grid-template-columns:1fr}.gear-armory-stage{grid-template-columns:46px minmax(0,1fr) 46px;grid-template-rows:430px 54px;gap:6px}.gear-armory-item,.gear-armory-empty-slot{width:44px;height:44px}.gear-armory-character{padding:12px}.gear-armory-player-list{height:300px}.gear-armory-character-heading{align-items:start;flex-wrap:wrap}.gear-armory-metrics{justify-content:start}.gear-armory-heading{align-items:start}.gear-armory-date{font-size:.65rem}.gear-armory-figure{min-height:0}}
@media(max-width:760px){.gear-armory-stage{position:relative;display:block;height:500px}.gear-armory-figure{position:absolute;inset:0 0 65px}.gear-armory-figure>img{object-fit:contain;transform:none}.gear-armory-slots{position:absolute;top:0;bottom:65px;width:44px;z-index:2}.gear-armory-left{inset-inline-start:0}.gear-armory-right{inset-inline-end:0}.gear-armory-weapons{position:absolute;bottom:0;inset-inline:0;z-index:2}}
.gear-wow-tooltip.gear-wow-comparison { width:min(calc(var(--comparison-count)*310px + 24px),calc(100vw - 24px)); padding:12px; max-height:calc(100dvh - 24px); overflow:auto; pointer-events:auto; }
.gear-comparison-cards { display:grid; grid-template-columns:repeat(var(--comparison-count),minmax(260px,1fr)); align-items:start; gap:12px; direction:ltr; overflow-x:auto; }
.gear-comparison-column { display:block; min-width:0; text-decoration:none; color:inherit; font-weight:inherit; }
.gear-comparison-column:focus-visible { outline:2px solid #ffe19e; outline-offset:-2px; border-radius:8px; }
.gear-comparison-column:hover .gear-comparison-item { border-color:#ffe19e; }
.gear-comparison-column.is-equipped .gear-comparison-item { border-color:#e0bb68; box-shadow:0 0 20px #d4ac3e20,inset 0 0 18px #d4ac3e09; }
.gear-comparison-rank { display:flex; align-items:center; gap:8px; min-height:76px; padding:0 4px 7px; }
.gear-rank-crest { position:relative; flex:0 0 68px; height:68px; display:grid; place-items:center; }
.gear-rank-crest img { position:absolute; inset:0; width:100%; height:100%; }
.gear-wow-tooltip .gear-rank-crest b { position:relative; padding-top:8px; color:#fff0b7; font:900 1.75rem 'Cinzel',serif; text-shadow:0 2px 2px #000,0 0 9px #dc9c35; }
.gear-wow-tooltip .gear-comparison-rank strong { color:#f1d58f; font-family:inherit; font-size:1.15rem; }
.gear-wow-tooltip .gear-comparison-rank small { font-size:.65rem; color:#bde0b3; }
.gear-comparison-item { border:1px solid #7d684d80; border-radius:8px; padding:12px; background:linear-gradient(145deg,#17211ef5,#060b0cf5); }
.gear-comparison-item .gear-wow-tooltip-top strong { font-size:1rem; }
.gear-comparison-item .gear-wow-tooltip-body p { font-size:.92rem; }
.gear-comparison-cards:focus-visible { outline:2px solid #e0bb68; outline-offset:2px; }
@media(max-width:800px) { .gear-comparison-cards { grid-template-columns:repeat(var(--comparison-count),minmax(260px,1fr)); overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:10px; } .gear-comparison-column { scroll-snap-align:start; } }

/* Compact class clusters float directly on the shared dragon scene. */
body:has(.gear-portal) .app-shell { width:min(2000px,calc(100% - 64px)); margin-inline:auto; }
body:has(.gear-portal) .gear-page { width:100%; }
.gear-portal { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:0; min-height:calc(100svh - 110px); padding:8px 0 14px; }
.gear-portal-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; gap:32px 30px; min-width:0; scroll-margin-top:80px; }
.gear-portal-class { display:grid; gap:9px; min-width:0; border:0; padding:0; background:none; }
.gear-portal .gear-portal-spec { position:relative; isolation:isolate; display:flex; align-items:center; min-width:0; height:clamp(54px,calc((100svh - 240px)/10),110px); padding:10px 14px; overflow:hidden; border:0; border-radius:7px 0 0 7px; background:none; text-decoration:none; box-shadow:none; transform:none; }
.gear-portal-spec::before { content:''; position:absolute; z-index:-2; inset:0; border-inline-start:2px solid color-mix(in srgb,var(--spec-accent) 65%,transparent); border-radius:7px 0 0 7px; background:linear-gradient(90deg,#000000bf 0%,#0006 24%,transparent 54%); transition:border-color .2s,filter .2s; }
.gear-portal .gear-portal-spec-art { position:absolute; z-index:-1; inset:0 0 0 auto; width:60%; height:100%; object-fit:cover; object-position:50% 50%; border-radius:0; opacity:.8; clip-path:polygon(19% 0,100% 0,100% 100%,0 100%,14% 83%,5% 68%,21% 49%,10% 34%,26% 15%); mask-image:linear-gradient(90deg,transparent,#000 28%,#000 61%,transparent 99%); filter:saturate(.8); transition:opacity .2s,filter .2s,transform .3s; }
.gear-portal .gear-portal-spec-copy { position:relative; display:block; width:85%; text-shadow:0 2px 5px #000,0 0 14px #000,0 0 5px #000; }
.gear-portal .gear-portal-spec-copy b { display:block; white-space:normal; overflow:visible; font:700 clamp(1rem,1.05vw,1.45rem)/1.12 'Marcellus SC',serif; color:var(--spec-accent,#f4e9d8); }
.gear-portal-spec-arrow { position:absolute; inset:auto 8px 6px auto; color:var(--spec-accent); font-size:.85rem; opacity:.85; }
.gear-portal .gear-portal-spec:hover,.gear-portal .gear-portal-spec:focus-visible { background:none; box-shadow:none; transform:none; }
.gear-portal-spec:hover::before,.gear-portal-spec:focus-visible::before { border-color:var(--spec-accent); filter:brightness(1.25); }
.gear-portal-spec:hover .gear-portal-spec-art,.gear-portal-spec:focus-visible .gear-portal-spec-art { opacity:1; filter:saturate(1.2); transform:scale(1.06); }
.gear-portal .gear-portal-spec:focus-visible { outline:2px solid #ffe4a8; outline-offset:3px; }
.gear-portal-about h1 { font:700 2rem 'Marcellus SC',serif; color:#ecd59a; margin:8px 0; }
#gear-hub-root:has(.gear-portal)>.gear-market-callout { display:none; }
html[dir=rtl] .gear-portal-spec::before,html[dir=rtl] .gear-portal-spec-art { transform:scaleX(-1); }
html[dir=rtl] .gear-portal-spec::before { border-inline-start:0; border-inline-end:2px solid color-mix(in srgb,var(--spec-accent) 65%,transparent); }
html[dir=rtl] .gear-portal .gear-portal-spec-art { inset:0 auto 0 0; }
html[dir=rtl] .gear-portal-spec:hover .gear-portal-spec-art,html[dir=rtl] .gear-portal-spec:focus-visible .gear-portal-spec-art { transform:scale(-1.06,1.06); }
html[dir=rtl] .gear-portal-spec-arrow { inset-inline-start:auto; inset-inline-end:8px; }
@media(min-width:2200px) { body:has(.gear-portal) .app-shell { width:min(3000px,calc(100% - 160px)); } .gear-portal-grid { column-gap:40px; } .gear-portal .gear-portal-spec { padding-inline:22px; } }
@media(max-width:1399px) and (min-width:1200px) { .gear-portal-grid { gap:22px 24px; } .gear-portal-class { gap:8px; } .gear-portal .gear-portal-spec { height:clamp(48px,calc((100svh - 240px)/10),70px); padding:6px 12px; } .gear-portal .gear-portal-spec-copy b { font-size:1.05rem; } }
@media(max-width:1199px) { body:has(.gear-portal) .app-shell { width:calc(100% - 24px); } .gear-portal { min-height:0; } .gear-portal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 22px; } .gear-portal .gear-portal-spec { height:78px; } }
@media(max-width:600px) { .gear-portal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; } .gear-portal .gear-portal-spec { height:72px; padding:8px 10px; } .gear-portal .gear-portal-spec-copy { width:92%; } .gear-portal .gear-portal-spec-copy b { font-size:1rem; } .gear-portal .gear-portal-spec-art { width:74%; opacity:.6; } }
@media(prefers-reduced-motion:reduce) { .gear-portal-spec::before,.gear-portal .gear-portal-spec-art { transition:none; } }

/* Deal the gallery into place using the same entrance as the Meta boards. */
.gear-portal-class:nth-child(2) { --gear-deal-group:45ms; }
.gear-portal-class:nth-child(3) { --gear-deal-group:90ms; }
.gear-portal-class:nth-child(4) { --gear-deal-group:135ms; }
.gear-portal-class:nth-child(5) { --gear-deal-group:180ms; }
.gear-portal-class:nth-child(6) { --gear-deal-group:225ms; }
.gear-portal-class:nth-child(7) { --gear-deal-group:270ms; }
.gear-portal-class:nth-child(8) { --gear-deal-group:315ms; }
.gear-portal-class:nth-child(9) { --gear-deal-group:360ms; }
.gear-portal-class:nth-child(10) { --gear-deal-group:405ms; }
.gear-portal-class:nth-child(11) { --gear-deal-group:450ms; }
.gear-portal-class:nth-child(12) { --gear-deal-group:495ms; }
.gear-portal-class:nth-child(13) { --gear-deal-group:540ms; }
.gear-portal-spec:nth-child(2) { --gear-deal-item:45ms; }
.gear-portal-spec:nth-child(3) { --gear-deal-item:90ms; }
.gear-portal-spec:nth-child(4) { --gear-deal-item:135ms; }
@media(prefers-reduced-motion:no-preference) {
  body.page-ready .gear-portal .gear-portal-spec {
    animation:mythicCardDeal 640ms cubic-bezier(.18,.92,.22,1) both;
    animation-delay:calc(var(--gear-deal-group,0ms) + var(--gear-deal-item,0ms));
    transform-origin:18% 12%;
  }
  html[dir=rtl] body.page-ready .gear-portal .gear-portal-spec { transform-origin:82% 12%; }
}

/* Fill an ultrawide first screen without transforming tooltip coordinates. */
@media(min-width:2100px) and (min-aspect-ratio:21/10) {
  body:has(.gear-detail) .app-shell { width:min(2800px,calc(100% - 180px)); margin-inline:auto; }
  body:has(.gear-detail) .gear-page { width:100%; }
  .gear-armory { min-height:calc(100svh - 80px); padding-inline:20px; }
  .gear-armory-layout { grid-template-columns:minmax(0,1fr) clamp(420px,19vw,600px); gap:32px; }
  .gear-armory-stage { grid-template-columns:76px minmax(0,1fr) 76px; grid-template-rows:clamp(640px,65svh,1020px) 82px; gap:18px; margin-top:24px; }
  .gear-armory-item,.gear-armory-empty-slot { width:72px; height:72px; border-radius:10px; }
  .gear-armory-item small { font-size:.85rem; }
  .gear-armory .gear-armory-heading { flex-basis:200px; font-size:1.85rem; }
  .gear-armory-heading small { font-size:.85rem; }
  .gear-armory-character-heading h3 { font-size:2.1rem; }
  .gear-armory-character-heading p { font-size:1rem; }
  .gear-armory-metrics span { font-size:1.05rem; padding:11px 14px; }
  .gear-armory button,.gear-armory-view-tabs a { font-size:1rem; padding:10px 15px; }
  .gear-armory .gear-armory-panes button { padding:13px 20px; min-height:54px; }
  .gear-armory-player-list { height:calc(65svh + 80px); }
  .gear-armory .gear-armory-player { --player-tile-height:clamp(112px,9.2svh,142px); padding:18px; grid-template-columns:30px minmax(0,1fr) 58px; }
  .gear-armory-player-copy { max-width:240px; }
  .gear-armory-player-copy strong { font-size:1.15rem; }
  .gear-armory-player-copy small,.gear-armory-rank,.gear-armory-roster-heading .gear-armory-date { font-size:.8rem; }
  .gear-armory-player b { font-size:1.05rem; }
  .gear-armory-roster-heading { padding:18px; font-size:1.15rem; }
  .gear-armory-roster-heading span { font-size:1rem; }
  .gear-armory-status { font-size:1rem; }
  .gear-armory-note,.gear-armory-camera span { font-size:.85rem; }
  .gear-armory-talent-view { min-height:calc(65svh + 200px); }
}
