@font-face{font-family:Manrope;src:url('assets/Manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:dark;font-family:Manrope,"Segoe UI",sans-serif;color:#eeeef0;background:#050505;font-size:13px;--muted:#94949e;--line:#252528;--panel:#101012;--soft:#17171b;--text:#eeeef0;--copy:#b6b6c0;--control:#101012;--control-border:#38383f;--focus:#bfdef9;--heading-size:28px;--ease-out:cubic-bezier(0.23,1,0.32,1);--press-duration:140ms;--view-enter-duration:210ms}
*{box-sizing:border-box}body{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}
/* The rim catches the pointer, then compresses with the label on a real press. */
button{
  font:inherit;cursor:pointer;color:inherit;
  box-shadow:inset 0 1px 0 #ffffff00,inset 0 -1px 0 #0000;
  transition:background-color var(--press-duration) ease,border-color var(--press-duration) ease,color var(--press-duration) ease,box-shadow var(--press-duration) var(--ease-out),transform var(--press-duration) var(--ease-out);
}
:root[data-input=pointer] button:active:enabled{
  transform:translateY(1px) scale(.975);
  box-shadow:inset 0 1px 3px #0006,inset 0 0 0 1px #ffffff18;
}
:root[data-input=pointer] :is(.hero-card,.cosmetic-card,.package-card):active:enabled{transform:translateY(1px) scale(.99)}
:root[data-input=pointer] .primary:active:enabled{background-color:#d5d5dc;border-color:#d5d5dc}
button:disabled{cursor:default;opacity:.38;transform:none;box-shadow:none;transition:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #bfdef9;outline-offset:4px}
:root[data-input=keyboard] button,:root[data-input=keyboard] .nav-item svg{transition:none}
@media(hover:hover) and (pointer:fine){
  button:hover:enabled{box-shadow:inset 0 1px 0 #ffffff26,inset 0 -1px 0 #0005}
  :root:not([data-input=keyboard]) .nav-item:hover:enabled svg{transform:translateX(2px)}
}
.nav-item svg{opacity:.8;transition:transform var(--press-duration) var(--ease-out),opacity var(--press-duration) ease}
.nav-item.selected svg,.nav-item:focus-visible svg{opacity:1}
:root[data-input=pointer] .nav-item:active:enabled svg{transform:scale(.92);opacity:1}
@media(prefers-reduced-motion:reduce){
  button,.nav-item svg{transform:none!important}
}
a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.app-shell{display:grid;grid-template-columns:178px minmax(0,1fr);min-height:100vh}.sidebar{background:#080808;border-right:1px solid var(--line);padding:26px 16px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:27px;letter-spacing:-1.6px}.brand-symbol{display:grid;place-items:center;border:1px solid #414146;border-radius:7px;width:34px;height:32px;font-size:15px;letter-spacing:-2px;font-weight:650}.edition{font-size:11px;color:var(--muted);margin:8px 0 34px 3px}.sidebar nav{display:grid;gap:8px}.nav-item{display:flex;gap:12px;align-items:center;background:none;border:1px solid transparent;text-align:left;color:#a5a5ae;padding:11px 12px;border-radius:7px;font-size:12px}.nav-item svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.nav-item:hover{background:#141416}.nav-item.selected{background:#1d1d20;color:#fff;border-color:#303035}.sidebar-bottom{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#b3b3bc;font-size:11px}.platform-dot{width:5px;height:5px;border-radius:50%;background:#c5ced4}.sidebar-bottom small{flex-basis:100%;color:#94949e;font-size:11px;padding-left:13px;margin-top:3px}
main{min-width:0;padding:0 28px;display:flex;flex-direction:column}.topbar{height:56px;min-height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);color:#888892;font-size:11px}.view{padding-top:20px;flex:1;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.kicker{color:#9f9fa9;margin:0 0 10px;font-size:11px}h1{font-size:var(--heading-size);line-height:1.25;font-weight:750;letter-spacing:-.8px;margin:0}h1>span{color:#7c7c85}.subtitle{font-size:12px;color:var(--copy);margin:7px 0 0;line-height:1.65}.pill{border:1px solid #35353a;border-radius:30px;color:#b6b6bf;padding:6px 10px;font-size:11px;white-space:nowrap}.connection-strip{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:13px 16px;border-radius:8px;margin-bottom:24px;background:#0c0c0e}.connection-light{width:7px;height:7px;border:1px solid #73737d;border-radius:50%;flex-shrink:0}.connection-light.connected{background:#b9d6d0;border-color:#b9d6d0}.connection-strip strong{font-size:11px;display:block;margin-bottom:3px;font-weight:650}.connection-strip div>span{color:#8b8b96;font-size:11px}.connection-strip button{margin-left:auto}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}h2{font-size:14px;font-weight:700;margin:0;letter-spacing:-.2px}.section-title h2 span{font-size:11px;color:#777781;margin-left:8px}.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.package-card{padding:0;border:1px solid #29292e;border-radius:10px;overflow:hidden;text-align:left;min-width:0;background:#101012}.package-card:hover:enabled{border-color:#6a6a76}.package-card[aria-pressed=true]{border-color:#d4d4dc}.package-card:disabled{opacity:.65}.card-art{height:218px;position:relative;display:block;background:#17171b;overflow:hidden}.art-model{background:radial-gradient(ellipse at 50% 80%,#35353b,transparent 65%),#161618}.art-tint{background:#101012}.card-art svg{position:absolute;width:100%;height:100%;inset:0;filter:drop-shadow(0 14px 13px #0008)}.art-word{position:absolute;top:13px;left:12px;font-weight:800;font-size:35px;letter-spacing:-2px;color:#fff;opacity:.045}.art-coordinate{position:absolute;bottom:11px;left:13px;color:#aaaab4;font-size:11px;letter-spacing:1.2px}.card-check{position:absolute;right:12px;top:12px;display:none;place-items:center;background:#eeeef2;color:#111;width:22px;height:22px;border-radius:50%;font-size:13px}.package-card[aria-pressed=true] .card-check{display:grid}.card-body{padding:15px 15px 17px;display:block}.card-label{display:block;font-size:11px;color:#8d8d98;margin-bottom:5px}.card-body strong{display:block;font-size:19px;letter-spacing:-.6px;font-weight:700}.card-description{display:block;font-size:11px;line-height:1.7;color:#9a9aa5;margin-top:6px}.scope-note{display:flex;gap:10px;color:#94949f;margin-top:19px;align-items:flex-start}.scope-note>span{font-size:24px;line-height:1}.scope-note p{font-size:11px;line-height:1.8;margin:0;max-width:65ch}.package-files{margin:16px 0 25px}summary{color:var(--copy);cursor:pointer;font-size:11px;line-height:1.65;transition:color var(--press-duration) ease;text-underline-offset:4px}li{overflow-wrap:anywhere}#files{font-family:ui-monospace,Consolas,monospace;font-size:11px;padding-left:17px;color:#9b9ba6;line-height:1.8}
.detail-panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:19px;display:flex;flex-direction:column;align-self:start}.detail-heading{display:flex;justify-content:space-between;color:#8c8c98;font-size:11px}.tiny-label{color:#d4d4dd}.detail-mark{height:58px;display:flex;align-items:center;font-size:33px;font-family:Arial,sans-serif;color:#c6d9ec}.detail-panel h2{font-size:17px;line-height:1.4;letter-spacing:-.5px}.detail-description{font-size:11px;line-height:1.85;color:#9e9ea9;min-height:75px;margin:10px 0 16px}.detail-spec{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;display:grid;gap:9px}.detail-spec>div{display:flex;justify-content:space-between;font-size:11px}.detail-spec span{color:#8d8d98}.detail-spec strong{font-weight:500;color:#c9c9d1}.status-block{padding:17px 0}.status-label{font-size:11px;color:#d5d5dd}.status-block p{font-size:11px;line-height:1.75;color:#9696a1;margin:6px 0 0;min-height:34px}.primary,.secondary,.quiet{border-radius:6px;padding:11px 14px;min-height:39px;font-size:11px;font-weight:650}.primary{background:#eeeef2;color:#111114;border:1px solid #eeeef2}.primary:hover:enabled{background:#fff}.primary>span{font-size:17px;float:right;line-height:1}.secondary{background:#1c1c20;border:1px solid #38383f;color:#dfdfe6}.secondary:hover:enabled{background:#28282e;border-color:#707079}.quiet{background:transparent;border:1px solid transparent;color:#a2a2ad}.quiet:hover:enabled{color:#fff;background:#1b1b20}.compact{padding:5px 8px;font-size:11px;min-height:29px}.detail-panel>button+button{margin-top:8px}.detail-panel>.quiet{font-size:11px;min-height:28px;padding:6px}.detail-panel .primary:disabled{background:#37373d;border-color:#37373d;color:#a4a4ae;opacity:1}
.setup-panel{background:#0e0e10;border:1px solid var(--line);border-radius:9px;padding:24px;margin-bottom:18px}.setup-panel h2{margin-bottom:16px}.setup-panel .section-title h2{margin:0}.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.path{overflow-wrap:anywhere;font-size:11px;line-height:1.8;color:#d1d1d9;background:#08080a;padding:12px 14px;border-radius:5px;margin:19px 0 12px}.info-row{display:flex;flex-wrap:wrap;gap:12px 30px;font-size:11px;color:#93939e}.info-row strong{font-weight:500;color:#d2d2db;margin-left:8px}.checks{padding:0;margin:18px 0 23px;list-style:none;display:grid;gap:14px}.checks li{display:flex;gap:12px;align-items:center;font-size:11px;color:#a6a6b0}.check-icon{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid #44444d;font-size:11px;flex-shrink:0}.check-icon.ok{border-color:#a8c4bc;color:#b8d6cc}.checks strong{font-weight:550;color:#dedee5;display:block;font-size:11px;margin-bottom:3px}.checks small{font-size:11px;color:#92929e}.setup-help{font-size:11px;line-height:1.8;max-width:78ch;color:#9999a4;margin:17px 0 0}code{font-size:11px;color:#dddde6}.compact-panel{display:flex;justify-content:space-between;gap:20px;align-items:center}.compact-panel h2{margin:0 0 6px}.compact-panel p{margin:0;font-size:11px;color:#9696a1;line-height:1.8}pre{background:#101012;border:1px solid var(--line);border-radius:8px;padding:22px;min-height:230px;max-height:380px;overflow:auto;font-size:11px;line-height:2;color:#bdbdc7;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 20px}.error{background:#271818;color:#f0bdb9;border:1px solid #65403f;border-radius:7px;padding:12px 16px;line-height:1.8;font-size:11px;margin-top:15px}.web-notice{color:#cbd4e2;background:#18202c;border:1px solid #354359;font-size:11px;padding:10px 13px;border-radius:6px;margin-top:15px}footer{display:flex;justify-content:space-between;gap:12px;padding:17px 0;color:#94949e;font-size:11px;border-top:1px solid #1d1d21;margin-top:20px}.footer-slash{padding:0 8px;color:#3f3f48}::selection{background:#b8c9da;color:#111}*{scrollbar-width:thin;scrollbar-color:#414149 #0c0c0f}
@media(min-width:1400px){main{padding:0 48px}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:30px}.card-art{height:280px}.detail-panel{padding:25px}.card-body strong{font-size:24px}.card-description{font-size:11px}}
@media(max-width:1050px){.app-shell{grid-template-columns:160px 1fr}.sidebar{padding:27px 13px 20px}main{padding:0 22px}.workspace{grid-template-columns:minmax(0,1fr) 240px;gap:16px}.card-art{height:177px}.card-body{padding:12px}.card-body strong{font-size:16px}.card-description{font-size:11px}.page-heading>.pill{display:none}.detail-panel{padding:16px}.detail-panel h2{font-size:15px}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;padding:15px 20px;border-right:0;border-bottom:1px solid var(--line);gap:20px}.sidebar .edition,.sidebar-bottom,.nav-item>span{display:none}.sidebar nav{margin-left:auto;display:flex;gap:4px}.nav-item{font-size:11px;padding:8px}.brand{font-size:23px}.brand-symbol{display:none}.topbar{height:47px}.workspace{grid-template-columns:1fr}.card-art{height:220px}.detail-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.detail-heading,.detail-mark,.detail-panel h2,.detail-description,.detail-spec,.status-block{grid-column:1/-1}.detail-description{min-height:0}.detail-panel>button+button{margin:0}.detail-panel>.quiet{grid-column:1/-1;margin-top:8px}.page-heading{margin-bottom:20px}.view{padding-top:24px}h1{font-size:32px}.setup-panel{padding:18px}.compact-panel{align-items:flex-start;flex-direction:column}footer{font-size:11px}.connection-strip{padding:11px}.connection-strip div>span{font-size:11px}}
@media(max-width:430px){main{padding:0 16px}.sidebar{padding:14px 16px}.nav-item{font-size:11px;padding:7px}.sidebar{gap:8px}.package-grid{gap:10px}.card-art{height:170px}.card-body strong{font-size:16px}.card-description{font-size:11px}.card-body{padding:11px}.connection-strip strong{font-size:11px}.connection-strip button{padding:4px}h1{font-size:29px}.subtitle{font-size:11px}.detail-panel{display:flex}.detail-panel>button+button{margin-top:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
/* The catalog uses real economy records; application remains a separate lab. */
.catalog-toolbar{display:flex;gap:10px;margin:8px 0 15px}.search-field{display:flex;align-items:center;gap:10px;background:#121215;border:1px solid #37373f;border-radius:6px;padding:0 13px;flex:1;min-width:100px}.search-field>span{font-size:23px;color:#8b8b97}.search-field:focus-within{outline:2px solid #a7bfd8;outline-offset:2px}.search-field input{font:inherit;font-size:11px;background:none;border:0;color:#e5e5ec;width:100%;height:40px;outline:none}.search-field input::placeholder{color:#80808c}select{font:inherit;font-size:11px;color:#d1d1dc;background:#141417;border:1px solid #37373f;border-radius:6px;padding:10px;max-width:180px}select:focus-visible{outline:2px solid #b9d2ea;outline-offset:2px}.catalog-filterbar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:23px}.filter-chips{display:flex;gap:6px;flex-wrap:wrap}.filter-chip{background:none;border:1px solid #2a2a30;border-radius:5px;padding:7px 10px;font-size:11px;color:#9696a3}.filter-chip.selected{color:#ececf3;border-color:#656571;background:#202025}.filter-chip:hover{background:#1c1c22}.catalog-workspace{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:24px}.catalog-workspace .section-title h2{font-size:11px;color:#b6b6c2;font-weight:500}.cosmetic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cosmetic-card{min-width:0;text-align:left;padding:0;border:1px solid #29292f;background:#101013;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.cosmetic-card:hover{border-color:#747480}.cosmetic-card[aria-pressed=true]{border-color:#d1d1db}.cosmetic-image{position:relative;display:grid;place-items:center;aspect-ratio:1.35;background:radial-gradient(ellipse at 50% 110%,#30303a,transparent 70%),#141418;overflow:hidden}.cosmetic-image img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.cosmetic-placeholder{color:#747483;display:grid;text-align:center;gap:5px;font-size:11px;padding:8px}.cosmetic-placeholder b{font-size:33px;font-family:Arial,sans-serif;font-weight:400;color:#565663}.cosmetic-image .saved-mark{position:absolute;right:8px;top:8px;border-radius:50%;width:18px;height:18px;background:#ececf2;color:#111;font-size:11px;display:grid;place-items:center}.cosmetic-card-text{padding:11px 12px 13px;display:flex;flex-direction:column;flex:1}.cosmetic-card-text strong{display:block;font-size:11px;line-height:1.55;font-weight:600;margin:6px 0;overflow-wrap:anywhere}.cosmetic-card-text small{font-size:11px;color:#898998;line-height:1.6;margin-top:auto}.rarity-tag{font-size:11px;font-weight:600;color:#abb0bf;display:block}.rarity-tag[data-rarity=arcana]{color:#b3da90}.rarity-tag[data-rarity=immortal]{color:#ddbd79}.rarity-tag[data-rarity=ancient]{color:#d9a792}.rarity-tag[data-rarity=legendary]{color:#cd9de8}.rarity-tag[data-rarity=mythical]{color:#9c9de8}.cosmetic-detail{align-self:start;position:sticky;top:20px;border:1px solid #303037;border-radius:9px;padding:17px;background:#101013;min-width:0}.cosmetic-large-image{height:160px;position:relative;margin:14px -8px 16px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 95%,#2c2c38,transparent 70%)}.cosmetic-large-image img{height:100%;width:100%;object-fit:contain}.cosmetic-large-image .cosmetic-placeholder{font-size:11px}.cosmetic-detail h2{font-size:18px;line-height:1.45;margin:9px 0 6px;overflow-wrap:anywhere}.cosmetic-detail .muted{font-size:11px;color:#8d8d9a;line-height:1.7;overflow-wrap:anywhere;margin:0 0 20px}.cosmetic-spec{padding:16px 12px;border-top:1px solid #2d2d35;border-bottom:1px solid #2d2d35;margin:0;display:grid;gap:12px}.cosmetic-spec div{display:flex;justify-content:space-between;gap:20px;font-size:11px}.cosmetic-spec dt{color:#8e8e9c}.cosmetic-spec dd{margin:0;text-align:right;max-width:62%;overflow-wrap:anywhere;color:#d4d4df}.cosmetic-detail>button{width:100%;font-size:11px;margin-top:12px}.cosmetic-detail>.quiet{margin-top:3px}.cosmetic-detail .scope-note{margin:15px 0 0}.cosmetic-detail .scope-note p{font-size:11px;color:#a8a8b5}.cosmetic-detail #cosmetic-feedback{margin:8px 0 0;color:#c2d0da;font-size:11px;line-height:1.8}.catalog-pagination{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#8e8e9e;font-size:11px;margin:20px 0}.catalog-empty{color:#a3a3b0;border:1px solid #2d2d35;border-radius:8px;padding:28px;font-size:12px;line-height:1.8;min-height:200px}.catalog-pagination button{min-width:68px}
@media(min-width:1500px){.cosmetic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-workspace{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:1050px){.catalog-workspace{grid-template-columns:minmax(0,1fr) 220px;gap:16px}.cosmetic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cosmetic-detail{padding:14px}.cosmetic-detail h2{font-size:16px}.catalog-toolbar select{max-width:145px}}
@media(max-width:760px){.catalog-workspace{grid-template-columns:1fr}.cosmetic-detail{position:static;display:grid;grid-template-columns:145px 1fr;gap:0 20px}.cosmetic-detail .detail-heading{grid-column:1/-1}.cosmetic-large-image{grid-row:span 6;height:160px;grid-column:1;margin:15px 0}.cosmetic-detail>.rarity-tag{margin-top:15px}.cosmetic-detail>h2,.cosmetic-detail>.muted,.cosmetic-spec{grid-column:2}.cosmetic-detail>.scope-note,.cosmetic-detail>button,#cosmetic-feedback{grid-column:1/-1}.cosmetic-spec{border-bottom:0;padding-bottom:12px}.cosmetic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-toolbar{flex-wrap:wrap}.search-field{flex-basis:100%}.catalog-toolbar select{max-width:100%;flex:1}.catalog-filterbar{align-items:flex-start}.catalog-filterbar>.quiet{flex-shrink:0}.catalog-workspace .section-title{margin-top:4px}.catalog-workspace .section-title .tiny-label{font-size:11px}}
.bundle-composition{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px;padding:7px;background:#101013}.bundle-composition[hidden]{display:none}.bundle-composition-grid{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3px}.bundle-composition-grid img{position:static;inset:auto;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;background:#17171b}.bundle-composition-grid img.bundle-composition-pending{opacity:0}.bundle-composition-badge{justify-self:start;font-size:10px;line-height:1.4;color:#c9c9d2;background:#222228;border:1px solid #3b3b44;border-radius:3px;padding:2px 6px}.bundle-composition-loading{position:absolute;inset:0;display:grid;place-items:center;color:#b6b6c0;font-size:11px}.bundle-composition-loading[hidden]{display:none}
@media(max-width:480px){.cosmetic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cosmetic-card-text{padding:10px}.cosmetic-detail{display:flex;flex-direction:column}.cosmetic-large-image{width:100%;height:200px}.cosmetic-spec{width:100%}.catalog-filterbar{gap:4px}.filter-chip{font-size:11px;padding:6px 8px}.sidebar nav{gap:0}.nav-item{font-size:11px;padding:7px 6px}}
/* Hero selection is the entry point; the economy snapshot stays complete. */
[hidden]{display:none!important}.hero-search{max-width:420px;margin:0 0 20px}.hero-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}.hero-card{min-width:0;padding:0;border:1px solid #303036;border-radius:8px;background:#101013;overflow:hidden;text-align:left}.hero-card:hover{border-color:#858590;background:#19191e}.hero-portrait{aspect-ratio:1.78;position:relative;overflow:hidden;background:#1c1c23;display:grid;place-items:center}.hero-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-monogram{font-size:27px;color:#777782}.hero-card-copy{display:flex;flex-direction:column;gap:5px;padding:12px}.hero-card-copy strong{font-size:11px;overflow-wrap:anywhere}.hero-card-copy small{font-size:11px;color:#9898a5}.hero-selection{display:flex;gap:18px;align-items:center;margin-bottom:18px}.hero-selection strong{font-size:14px}.plan-panel{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid #33333b;border-radius:8px;padding:15px;margin-bottom:25px;background:#101013}.plan-panel strong{font-size:12px}.plan-panel p{color:#9797a6;font-size:11px;margin:5px 0 0}.plan-name{font-size:11px;color:#a2a2b0;display:flex;flex-direction:column;gap:5px;margin-left:auto}.plan-name input{font:inherit;font-size:12px;color:#eee;background:#16161b;border:1px solid #44444c;border-radius:5px;padding:9px;max-width:220px}.plan-panel #plan-feedback{flex-basis:100%;color:#b9c9d8;margin:0}.catalog-toolbar{flex-wrap:wrap}.catalog-toolbar .search-field{flex-basis:230px}.catalog-toolbar select{flex:1;min-width:110px}.plan-name input:focus-visible{outline:2px solid #b9d2ea;outline-offset:3px}
@media(max-width:1100px){.hero-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-name{margin-left:0}.catalog-toolbar .search-field{flex-basis:100%}}@media(max-width:480px){.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-panel{align-items:flex-start}.plan-panel>div,.plan-name{flex-basis:100%}.plan-name input{max-width:none}.hero-selection{gap:8px}.hero-selection strong{font-size:12px}}
.cosmetic-model-actions{grid-column:1/-1;min-width:0;margin-top:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.cosmetic-model-actions>strong{display:block;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.cosmetic-model-actions>.muted{margin:5px 0 12px;color:#b4b4bf}.cosmetic-model-actions>button{width:100%;margin-top:8px;font-size:11px}.cosmetic-model-actions>p{font-size:11px;line-height:1.65;margin:10px 0 0;overflow-wrap:anywhere;color:#b4b4bf}.cosmetic-model-actions .cosmetic-error{color:#ffbab4}.cosmetic-help{margin-top:12px}.cosmetic-help summary{font-size:11px;line-height:1.7}.cosmetic-help p{font-size:11px;line-height:1.7;color:#b4b4bf;margin:9px 0 0;overflow-wrap:anywhere}

.loadout-panel{border:1px solid #34343b;background:#0c0c0f;border-radius:9px;padding:18px;margin-bottom:26px}.loadout-items{list-style:none;padding:0;margin:0 0 14px;max-height:240px;overflow:auto}.loadout-items li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #25252b;font-size:11px;color:#dedee6}.loadout-items li>span{overflow-wrap:anywhere}.loadout-items button{flex-shrink:0}.loadout-actions{display:flex;flex-wrap:wrap;gap:9px}.loadout-panel>p{font-size:11px;line-height:1.7;margin:9px 0 0;color:#b8b8c3}.loadout-panel>p:empty{display:none}.loadout-panel .muted{color:#92929f}.loadout-panel .cosmetic-error{color:#ffbab4}.installed-loadout{background:#17171c;border:1px solid #41414b;border-radius:6px;padding:13px;margin-bottom:14px;font-size:11px}.installed-loadout>strong{display:block}.installed-loadout>span{display:block;color:#b6c9c1;margin-top:5px}.installed-loadout>p{line-height:1.6;color:#aaaab8;margin-bottom:0;overflow-wrap:anywhere}@media(max-width:480px){.loadout-panel{padding:14px}.loadout-actions>button{flex:1}.loadout-items li{font-size:11px;gap:8px}}

.catalog-coverage{font-size:12px;line-height:1.6;color:var(--muted);margin:16px 0 24px;max-width:96ch}.hero-coverage,.profile-tag{color:#aeb7a8;font-size:11px;line-height:1.4}.hero-card-copy{min-width:0}.hero-coverage{display:block;margin-top:4px}
/* Hero slots use catalog metadata; the chooser precedes the saved loadout. */
#view-catalog button{min-height:40px;font-size:11px}
#view-catalog .catalog-slots{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid #252528}
#view-catalog .catalog-slot-button{display:flex;align-items:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid #38383f;border-radius:6px;background:#101012;color:#bcbcc5;font-size:11px;line-height:1.5;text-align:left;flex-wrap:wrap}
#view-catalog .catalog-slot-button:hover{background:#1c1c20;border-color:#707079;color:#eeeef0}
#view-catalog .catalog-slot-button[aria-pressed=true]{background:#eeeef2;color:#111114;border-color:#eeeef2}
#view-catalog .catalog-slot-count{font-variant-numeric:tabular-nums;font-weight:700}
#view-catalog .catalog-slot-saved{font-size:11px}
#view-catalog .catalog-preview-note{font-size:11px;line-height:1.7;color:#b6b6c0;margin:-8px 0 18px}
#view-catalog .catalog-empty p{margin:0 0 14px}
#view-catalog .catalog-filterbar{gap:12px;flex-wrap:wrap}
#view-catalog .filter-chip,#view-catalog .catalog-toolbar select,#view-catalog .cosmetic-detail>button,#view-catalog .catalog-toolbar input{font-size:11px;min-height:40px}
#view-catalog .filter-chip{color:#b6b6c0}
#view-catalog .filter-chip.selected{color:#eeeef0}
#view-catalog .cosmetic-card-text small,#view-catalog .rarity-tag,#view-catalog .hero-card-copy small,#view-catalog .cosmetic-detail .muted,#view-catalog .cosmetic-spec div,#view-catalog .cosmetic-detail #cosmetic-feedback{font-size:11px}
#view-catalog .cosmetic-card-text small,#view-catalog .cosmetic-detail .muted,#view-catalog .cosmetic-spec dt{color:#b6b6c0}
#view-catalog .hero-selection{flex-wrap:wrap;gap:12px}
#view-catalog .hero-selection button{min-height:40px}
#view-catalog .hero-selection strong{margin-right:auto}
#view-catalog .catalog-coverage{padding-top:18px;border-top:1px solid #252528}
@media(max-width:760px){#view-catalog .catalog-slot-button{flex-grow:1}#view-catalog .catalog-filterbar>.quiet{margin-left:auto}}
/* Fitting room extends the launcher's quiet black workspace. */
.fittingroom-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;align-items:start}.preview-stage{position:relative;height:clamp(420px,65vh,640px);min-width:0;overflow:hidden;border:1px solid #29292d;border-radius:10px;background:#090909}.preview-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.preview-stage canvas:active{cursor:grabbing}.preview-stage canvas:focus-visible{outline:2px solid #bfdef9;outline-offset:-4px}.preview-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;padding:36px;text-align:center;background:#090909}.preview-message p{max-width:40ch;color:#bcbcc5;font-size:13px;line-height:1.8;margin:0}.preview-gesture{position:absolute;bottom:18px;left:20px;right:20px;margin:0;text-align:center;font-size:11px;color:#b0b0ba;pointer-events:none}.fittingroom-details{padding:16px 0}.fittingroom-details h2{font-size:26px;line-height:1.2;letter-spacing:-.7px}.preview-variant{color:#b6b6c0;font-size:13px;margin:8px 0 26px}.preview-focus{display:grid;gap:8px}.preview-focus button{min-height:40px;text-align:left;padding-left:14px}.preview-focus button[aria-pressed=true]{background:#e9e9ed;color:#111114;border-color:#e9e9ed}.preview-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:20px}.preview-tools button{padding:9px;display:grid;place-items:center;min-height:40px}.preview-tools svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.preview-reset{width:100%;margin-top:8px}.preview-provenance{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:#a8a8b3;font-size:11px;line-height:1.8}.preview-provenance p{margin:0 0 14px}.preview-provenance p:first-child{color:#d2d2da}.preview-provenance summary{font-size:11px;line-height:1.8;color:#c2c2ca}.preview-provenance details p{margin-top:10px}.nav-item svg{flex-shrink:0}.hero-selection #lina-fittingroom{margin-left:auto}@media(max-width:1050px){.fittingroom-layout{grid-template-columns:minmax(0,1fr) 185px;gap:18px}}@media(max-width:760px){.fittingroom-layout{grid-template-columns:1fr}.preview-stage{height:58vh;min-height:380px}.fittingroom-details{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.fittingroom-details h2,.preview-variant,.preview-provenance{grid-column:1/-1}.preview-focus{grid-row:3/5}.preview-tools{margin-top:0}.preview-reset{grid-column:2}.sidebar nav{flex-wrap:wrap}.nav-item svg{display:none}.hero-selection{flex-wrap:wrap}.hero-selection #lina-fittingroom{margin-left:0}}

.preview-focus button[aria-pressed=true]:hover:enabled,.preview-focus button[aria-pressed=true]:focus-visible{background:#fff;color:#111114;border-color:#fff}
.preview-gesture{width:fit-content;max-width:calc(100% - 40px);margin:0 auto;padding:6px 10px;border-radius:4px;background:#090909;color:#bcbcc5}
/* The roster stays beside the model so switching heroes keeps its context. */
.fittingroom-workspace{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px}.fittingroom-layout{grid-template-columns:minmax(0,1fr) 174px;gap:20px}.preview-picker{min-width:0}.preview-picker label{display:block;font-size:12px;font-weight:700;margin-bottom:10px}.preview-picker input{width:100%;min-height:40px;font:inherit;background:#101012;color:#eeeef0;border:1px solid #38383f;border-radius:6px;padding:10px 12px}.preview-picker input::placeholder{color:#a8a8b3}.preview-picker input:focus-visible{outline:2px solid #bfdef9;outline-offset:2px}#preview-search-count{font-size:11px;color:#a8a8b3;margin:12px 0}.preview-hero-list{height:clamp(360px,58vh,580px);overflow:auto;scrollbar-color:#45454d #101012;scrollbar-width:thin;display:flex;flex-direction:column;gap:3px;padding-right:5px}.preview-hero-list button{display:block;flex-shrink:0;width:100%;padding:10px 12px;min-height:42px;text-align:left;border:1px solid transparent;background:transparent;color:#dfdfe6;border-radius:6px;font:inherit;font-size:12px;line-height:1.4}.preview-hero-list button small{display:block;color:#a8a8b3;font-size:11px;margin-top:3px}.preview-hero-list button:hover{background:#17171b}.preview-hero-list button[aria-pressed=true]{background:#eeeef2;border-color:#eeeef2;color:#111114}.preview-hero-list button[aria-pressed=true] small{color:#414149}.preview-hero-list button:focus-visible{outline:2px solid #bfdef9;outline-offset:-2px}.preview-limitation{font-size:12px;line-height:1.65;color:#d2d2da;margin:0 0 20px}.hero-selection #hero-fittingroom{margin-left:auto}.fittingroom-details h2{overflow-wrap:anywhere;font-size:24px}.preview-variant{margin-bottom:22px}@media(max-width:1200px){.fittingroom-workspace{grid-template-columns:160px minmax(0,1fr);gap:18px}.fittingroom-layout{grid-template-columns:minmax(0,1fr)}.fittingroom-details{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;padding-top:0}.fittingroom-details h2,.preview-variant,.preview-limitation,.preview-provenance{grid-column:1/-1}.preview-focus{grid-row:4/6}.preview-tools{margin-top:0}.preview-reset{grid-column:2}.preview-provenance{margin-top:20px}}@media(max-width:760px){.fittingroom-workspace{grid-template-columns:1fr}.preview-hero-list{height:160px}.preview-stage{height:55vh}.hero-selection #hero-fittingroom{margin-left:0}}

/* Four destinations; utility navigation stays by the account and platform. */
.sidebar .sidebar-utilities{margin-top:auto;padding-top:24px;gap:4px}
.sidebar-bottom{margin-top:24px}
.sidebar .nav-item{font-size:12px}
.topbar #breadcrumb{font-size:11px;min-width:0;overflow-wrap:anywhere}
.heroes-navigation{display:flex;position:relative;isolation:isolate;padding:3px;background:#101012;border:1px solid #303035;border-radius:7px}
.heroes-navigation button{position:relative;z-index:1;background:transparent;border:0;border-radius:4px;color:#bcbcc5;font:inherit;font-size:12px;min-height:31px;width:80px;padding:6px 14px}
.heroes-navigation button[aria-current=page]{color:#111114}
.heroes-navigation-indicator{position:absolute;inset:3px auto 3px 3px;width:80px;border-radius:4px;background:#eeeef2;transform:translateX(0);transition:transform 200ms var(--ease-out)}
.heroes-navigation[data-mode=packs] .heroes-navigation-indicator{transform:translateX(100%)}
.settings-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}
.section-back{margin-bottom:12px;width:fit-content}
:root[data-input=keyboard] .heroes-navigation-indicator{transition:none}
@media(prefers-reduced-motion:reduce){.heroes-navigation-indicator{transition:none}}
@media(max-width:760px){.sidebar .sidebar-utilities{margin:0;padding:0;gap:0}.sidebar-bottom{display:none}.sidebar{gap:12px;flex-wrap:wrap}.sidebar .nav-item{font-size:11px}.sidebar nav{margin-left:0}.sidebar nav:first-of-type{margin-left:auto}.topbar{gap:12px}.heroes-navigation button,.heroes-navigation-indicator{width:68px}.heroes-navigation button{padding:6px 10px}}
@media(max-width:430px){.sidebar{flex-wrap:wrap}.sidebar nav:first-of-type{margin-left:0}.sidebar .sidebar-utilities{margin-left:auto}.topbar{height:55px}.topbar #breadcrumb{font-size:11px}}

/* Shared rhythm; technical work stays available without crowding the launcher. */
input,select{caret-color:var(--text);accent-color:var(--text)}
input::placeholder{color:#a8a8b3}
button,summary{touch-action:manipulation}
.page-heading>div{min-width:0}
.page-heading h1{overflow-wrap:anywhere}
.search-field svg,.detail-mark svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.search-field svg{color:var(--copy)}
.search-field input::placeholder{color:#a8a8b3}
.detail-mark{height:46px;font-family:inherit;color:#c2c2cb}
.detail-mark svg{width:28px;height:28px}
.detail-panel .detail-heading,.detail-panel .detail-description,.detail-panel .detail-spec>div,.detail-panel .status-label,.detail-panel .status-block p,.detail-panel>.quiet,.card-label,.card-description,.art-coordinate,.connection-strip div>span,.scope-note p,.checks small,.info-row,#files,.pill{font-size:11px}
.detail-panel .detail-description,.detail-panel .status-block p,.detail-panel .detail-spec span,.card-label,.card-description,.connection-strip div>span,.checks small,.info-row{color:var(--copy)}
.detail-description{min-height:0}
.detail-spec>div{gap:16px;align-items:baseline}
.detail-spec strong{text-align:right;overflow-wrap:anywhere}
.connection-strip>div{min-width:0;overflow-wrap:anywhere}
.card-body strong{letter-spacing:-.4px;overflow-wrap:anywhere}
.art-coordinate{letter-spacing:.4px}
#view-library .section-title h2 span{font-size:11px}
#view-library .detail-panel{border-radius:8px}
#view-library .scope-note{max-width:70ch}
#view-activity pre{margin-bottom:16px;line-height:1.8;min-height:200px;max-height:360px}
#view-setup .setup-panel{padding:20px;margin-bottom:14px;background:#0c0c0e;border-radius:8px}
#view-setup .setup-dota h2{margin:0}
#view-setup .setup-state{color:#dedee6;line-height:1.6;font-size:12px;margin:7px 0 16px;overflow-wrap:anywhere}
#view-setup .setup-help{color:var(--copy);margin:12px 0 0;line-height:1.7}
#view-setup .compact-panel p{color:var(--copy)}
#view-setup .setup-location{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
#view-setup .setup-location>summary{width:fit-content}
#view-setup .path{margin:10px 0;background:#08080a;padding:10px 12px;user-select:text}
#view-setup .setup-disclosure{border-top:1px solid var(--line)}
#view-setup .setup-disclosure>summary{padding:15px 0;color:#dfdfe6;font-size:12px;font-weight:650}
#view-setup #tools-platform{font-size:11px;font-weight:400;color:var(--copy);margin-left:12px}
#view-setup .setup-details-content{padding:0 0 18px;min-width:0}
#view-setup .setup-details-content>.setup-help:first-child{margin-top:0}
#view-setup .checks{gap:12px;margin:16px 0}
#view-setup .settings-links{gap:8px;margin:0}
#view-setup .setup-details-content .row{gap:8px}
@media(hover:hover) and (pointer:fine){summary:hover{color:#eeeef0}}
:root[data-input=keyboard] summary{transition:none}
@media(max-width:1100px){:root{--heading-size:26px}.topbar{height:54px;min-height:54px}.view{padding-top:16px}.page-heading{margin-bottom:16px}#view-setup .setup-panel{padding:18px}#view-library .card-description{font-size:11px}}
@media(max-width:760px){:root{--heading-size:25px}h1{font-size:var(--heading-size)}.topbar{height:49px;min-height:49px}.view{padding-top:18px}.page-heading{gap:12px;align-items:flex-start}.page-heading>.quiet{flex-shrink:0}.compact-panel{flex-direction:row;align-items:center}.sidebar .nav-item{min-height:36px}#view-setup .setup-panel{padding:16px}}
@media(max-width:430px){:root{--heading-size:24px}.compact-panel{flex-direction:column;align-items:flex-start}.page-heading{flex-wrap:wrap}#view-setup .setup-dota .row>button{flex:1}.sidebar .nav-item{font-size:11px}.card-description{font-size:11px}}

/* Preserve a readable inset when the fitting-room provenance is disclosed. */
#view-fittingroom .fittingroom-layout>.preview-provenance{padding:8px 0 0}

/* Six destinations keep the wardrobe and utilities independently findable. */
@media(min-width:761px){.app-shell{grid-template-columns:208px minmax(0,1fr)}.nav-item{font-size:14px;min-height:44px}.sidebar{padding-left:16px;padding-right:16px}.topbar{height:40px;min-height:40px}main:has(>#view-fittingroom:not([hidden]))>.topbar{height:40px;min-height:40px}}
@media(min-width:761px) and (max-width:1050px){.app-shell{grid-template-columns:176px minmax(0,1fr)}main{padding:0 18px}.sidebar{padding-left:10px;padding-right:10px}.nav-item{padding-left:10px;padding-right:10px}}
@media(max-width:760px){.nav-item{font-size:13px;min-height:40px}}

/* Source-closed composition controls stay within the existing wardrobe. */
.wardrobe-bundle-composition{margin:12px 0;border-top:1px solid var(--line);padding-top:10px}
.wardrobe-bundle-composition summary{font-size:12px;color:var(--text);cursor:pointer}
.wardrobe-choices{display:grid;gap:8px;margin-top:10px}
.wardrobe-choice{display:grid;gap:4px;min-width:0;font-size:11px;color:var(--muted)}
.wardrobe-choice select{width:100%;min-width:0;max-width:100%;font-size:12px}
.wardrobe-components{display:grid;gap:6px;list-style:none;margin:10px 0;padding:0;max-height:180px;overflow:auto}
.wardrobe-components li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;padding:4px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}
.wardrobe-component-copy{display:grid;gap:2px;min-width:0}
.wardrobe-component-copy strong{font-weight:650;line-height:1.4}
.wardrobe-components small,.wardrobe-bundle-composition p{font-size:11px;line-height:1.5;color:var(--muted)}

[data-open-demo] .nav-item[data-view="account"],[data-open-demo] .nav-item[data-view="custom"],[data-open-demo] .nav-item[data-view="setup"],[data-open-demo] #wardrobe-dock .wardrobe-plan-actions,[data-open-demo] #wardrobe-launch-reason{display:none!important}

[data-open-demo] #wardrobe-plan-status{display:none!important}
