/* ============ TOKENS ============ */
/* Tokens: authentic light 2K19 menu look */
:root{
  --bg-0:#EEF0EF; --bg-1:#FFFFFF; --bg-2:#E7EBEC; --chip:#DFE3E3;
  --text:#1A1A1C; --text-muted:#6B7075; --text-dim:#9AA0A5;
  --line:#D6DCDA; --line-strong:#C2C9C6;
  --red:#E01035; --red-hi:#FF1F4B; --red-lo:#8E0A22; --red-ink:#C8102E;
  --gold:#B8891F; --gold-hi:#E7C05A; --gold-lo:#7A5A12;
  --silver:#8C9296; --ok:#167A44; --danger:#D24d1f;
  --sel-title:var(--red-ink);
  --thumb-a:#E4E7E7; --thumb-b:#CFD5D4; --thumb-ink:#AAB2B1;
  --energy:radial-gradient(120% 90% at 72% -10%, rgba(224,16,53,.10) 0%, rgba(224,16,53,.03) 40%, transparent 72%);
  --shadow:0 1px 0 rgba(0,0,0,.04); --wm:rgba(26,26,28,.09);
}

*{box-sizing:border-box}
[hidden]{display:none !important}
body{
  margin:0; background:var(--bg-0); color:var(--text);
  font-family:Roboto,-apple-system,Segoe UI,sans-serif;
  font-size:14px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
  background-image:var(--energy); background-attachment:fixed; background-repeat:no-repeat;
}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:"Barlow Condensed",Impact,sans-serif;margin:0;text-transform:uppercase;letter-spacing:.02em;text-wrap:balance;font-weight:800}
.wrap{max-width:1400px;margin:0 auto;padding-inline:20px}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* ============ STICKY HEADER + RED STRIP ============ */
.headwrap{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--bg-1);border-bottom:1px solid var(--line)}
.strip{height:3px;background:var(--red);width:100%}
.hrow{display:flex;align-items:center;gap:16px;height:68px}
.brand-l{display:flex;align-items:center;gap:12px;min-width:0}
.hub{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line-strong);color:var(--text-muted);
  font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em;transition:border-color .12s,color .12s}
.hub:hover{border-color:var(--text);color:var(--text)}
.hub svg{transition:transform .12s}
.hub:hover svg{transform:translateX(-2px)}
.vsep{width:1px;height:24px;background:var(--line)}
.logomk{flex:none;display:inline-flex;position:relative;filter:drop-shadow(0 0 10px rgba(255,45,99,.35))}
/* ============ BRAND + TITLE SWITCHER (ported from the shared portal: WWE2K14 cc_portal/templates/base.html:17-63, 105-166) ============ */
:root{--accent:var(--red);--accent-rgb:224,16,53}   /* shared portal: per-title theme.primary; here the page red */
.ns-txt{min-width:0}
.ns-switch{position:relative}
.ns-switch>summary{list-style:none;outline:none;cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px}
.ns-switch>summary::-webkit-details-marker{display:none}
.ns-switch>summary:focus-visible{outline:2px solid rgba(var(--accent-rgb),.7);outline-offset:3px;border-radius:4px}
.ns-brand{margin:0;font-family:'Anton',sans-serif;font-weight:400;font-size:18px;line-height:1;letter-spacing:.02em;text-transform:none;font-variant-numeric:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-wrap:balance}
.ns-name{color:var(--text)}   /* shared: white on its dark header; ink on this light header */
.ns-cc{color:var(--accent);display:none}
.ns-chev{flex:none;width:14px;height:14px;color:#71717a;transition:transform .2s ease}
.ns-switch[open] .ns-chev{transform:rotate(180deg)}
.ns-sub{margin-top:2px;font-family:'Inter',system-ui,sans-serif;font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#71717a}
@media(min-width:640px){.ns-brand{font-size:22px}.ns-cc{display:inline}}
@keyframes nsMenuIn{from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:none}}
.sw-panel{position:absolute;left:0;top:100%;margin-top:22px;width:300px;max-width:calc(100vw - 32px);background:#0b0b0f;border:1px solid #27272a;border-radius:12px;box-shadow:0 24px 60px -12px rgba(0,0,0,.7);padding:6px;z-index:50}
.ns-switch[open] .sw-panel{animation:nsMenuIn .16s cubic-bezier(.16,1,.3,1) both}
.sw-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:8px;position:relative;font-family:'Oswald',sans-serif}
a.sw-row:hover{background:rgba(255,255,255,.04)}
.sw-row b{font-weight:600;font-size:14px;color:#fafafa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sw-cur{background:rgba(var(--accent-rgb),.10)}
.sw-cur::before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}
.sw-right{flex:none;display:flex;align-items:center;gap:6px;color:#71717a}
.sw-chip{font-family:'Oswald',sans-serif;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#a1a1aa;border:1px solid #27272a;border-radius:6px;padding:3px 7px}
.sw-badge{font-family:'Oswald',sans-serif;font-size:9px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:6px;padding:3px 7px}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-family:Roboto,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:700;font-size:13px;
  text-transform:uppercase;letter-spacing:.08em;padding:9px 15px;cursor:pointer;border:1px solid transparent;
  background:transparent;color:var(--text);transition:transform .06s,background .12s,border-color .12s}
.btn:active{transform:translateY(1px)}
.btn-ghost{border-color:var(--line-strong);color:var(--text-muted)}
.btn-ghost:hover{border-color:var(--text);color:var(--text)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* ============ TAB STRIP ============ */
.tabsrow{border-top:1px solid var(--line);background:var(--bg-1)}
.tabs{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;white-space:nowrap;padding:12px 14px 13px;font-family:Roboto,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:700;
  font-size:14px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);cursor:pointer;
  background:transparent;border:0;border-bottom:3px solid transparent;transition:color .12s}
.tab:hover{color:var(--text)}
.tab.on{color:var(--text);border-bottom-color:var(--red)}

/* ============ SEARCH ============ */
.searchbar{display:flex;gap:10px;align-items:center;margin:22px 0 6px}
.search{flex:1;position:relative;display:flex;align-items:center;gap:9px;height:44px;background:var(--bg-1);border:1px solid var(--line-strong);padding:0 12px;transition:border-color .12s,box-shadow .12s}
.search:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(224,16,53,.12)}
.search input{flex:1;min-width:0;appearance:none;background:transparent;border:0;color:var(--text);font-family:Roboto,-apple-system,"Segoe UI",Arial,sans-serif;
  font-size:14px;padding:0;height:100%;outline:none}
.search input::placeholder{color:var(--text-dim)}
.search svg{color:var(--text-dim);flex:none}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sdiv{width:1px;height:22px;background:var(--line-strong);flex:none}
.sortdd{flex:none;height:100%}
.sortdd>summary{height:42px;padding:0 2px;min-width:88px;justify-content:space-between;font-family:Roboto,-apple-system,"Segoe UI",Arial,sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--text)}
.sortpanel{left:auto;right:-12px;margin-top:9px;width:180px}
button.sw-row{appearance:none;border:0;background:transparent;width:100%;text-align:left;cursor:pointer}
button.sw-row:hover{background:rgba(255,255,255,.05)}

/* ============ SECTION HEADS + WATERMARK ============ */
.sec{position:relative;padding-block:34px 8px}
.sec.haswm{overflow:hidden}
.watermark{position:absolute;top:-2px;left:0;font-family:"Roboto","Arial Black",sans-serif;font-weight:900;
  font-size:clamp(96px,20vw,208px);line-height:.85;color:var(--wm);letter-spacing:-.02em;text-transform:uppercase;
  pointer-events:none;user-select:none;z-index:0;white-space:nowrap}
.sechead{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.sechead h2{font-size:30px;font-weight:800}
.stub{position:relative;padding-left:36px}
.stub::before{content:"";position:absolute;left:0;top:.62em;width:24px;height:3px;background:var(--red)}
.seclink{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--red-ink)}
.seclink.muted{color:var(--text-muted)}
#all,#detail{scroll-margin-top:130px}
/* The list and the detail are two views of one page (body.view-detail = detail). */
.rule,#detail{display:none}
body.view-detail #detail{display:block}
body.view-detail .searchbar,body.view-detail main>section.sec:not(#detail){display:none}

/* ============ SPOTLIGHT ============ */
.spot{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:0;
  background:var(--bg-1);border:1px solid var(--line);overflow:hidden}
.spot.gold{border:0;background:
  linear-gradient(var(--bg-1),var(--bg-1)) padding-box,
  linear-gradient(135deg,var(--gold-hi),var(--gold) 45%,var(--gold-lo)) border-box;border:1px solid transparent}
.spot .thumb{aspect-ratio:auto;min-height:260px}
.spot .body{padding:22px 24px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.crest{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:5px 11px;
  background:linear-gradient(135deg,var(--gold-hi),var(--gold) 50%,var(--gold-lo));color:#0c0c0e;
  font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.spot h3{font-size:38px;font-weight:800;line-height:.98}
.swoosh{position:relative;width:64px;height:3px;background:var(--red)}
.swoosh::after{content:"";position:absolute;right:-9px;top:-2px;border-left:9px solid var(--red);
  border-top:3px solid transparent;border-bottom:4px solid transparent}
.spot p{margin:0;color:var(--text-muted);max-width:56ch}
.spotmeta{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.spotmeta b{color:var(--text);font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;font-weight:700;font-size:19px;margin-right:5px}
.spotcta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}

/* ============ SHELF (horizontal) ============ */
.shelf{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:auto;grid-auto-rows:0;column-gap:16px;row-gap:0;overflow:hidden}   /* one row of the newest tiles at any width */

/* ============ CARD ============ */
.grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.cc-card{display:block;background:var(--bg-1);border:1px solid var(--line);outline:2px solid transparent;outline-offset:-1px;
  transition:outline-color .12s;position:relative}
.cc-card:hover,.cc-card:focus-visible{outline-color:var(--red)}
.thumb{position:relative;aspect-ratio:4/5;overflow:hidden;
  background:linear-gradient(150deg,var(--thumb-a),var(--thumb-b));
  display:flex;align-items:center;justify-content:center}
.thumb::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:repeating-linear-gradient(90deg,transparent 0 22px,rgba(128,128,128,.06) 22px 23px),
                   repeating-linear-gradient(0deg,transparent 0 22px,rgba(128,128,128,.06) 22px 23px)}
.thumb .initials{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;font-weight:800;font-size:58px;color:var(--thumb-ink);
  letter-spacing:.01em;z-index:1;transition:color .2s,text-shadow .2s;filter:grayscale(1)}
.thumb::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .2s;
  background:radial-gradient(80% 60% at 50% 40%,rgba(224,16,53,.22),transparent 70%)}
.cc-card:hover .thumb::after{opacity:1}
.cc-card:hover .thumb .initials{color:var(--text);text-shadow:0 0 22px rgba(224,16,53,.5);filter:grayscale(0)}
.rate{position:absolute;bottom:8px;left:8px;z-index:3;display:inline-flex;align-items:center;gap:3px;
  background:rgba(12,12,14,.72);color:#F1CB5B;font-weight:700;font-size:11px;padding:3px 7px}
.band{position:relative;background:var(--bg-1);padding:11px 12px;border-top:1px solid var(--line);transition:background .12s}
.band .title{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;font-weight:700;font-size:19px;line-height:1.02;text-transform:uppercase;
  letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .12s;color:var(--text)}
.cc-card:hover .band .title{color:var(--sel-title)}
.band .by{color:var(--text-muted);font-size:13px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .12s}
.cc-card:hover .band .by{color:#4a4e52}
.bandfoot{display:flex;justify-content:space-between;align-items:center;margin-top:9px;color:var(--text-muted);font-size:13px}
.cc-card:hover .bandfoot{color:#5a5e62}
.bandfoot .dl{display:inline-flex;align-items:center;gap:5px}

/* ============ DIVIDER ============ */
.rule{height:1px;background:var(--line);margin:40px 0;position:relative}
.rule::before{content:"";position:absolute;left:0;top:-1px;width:24px;height:3px;background:var(--red)}

/* ============ DETAIL ============ */
.detail{position:relative;z-index:1;display:grid;grid-template-columns:320px 1fr;gap:26px;align-items:start}
.dback{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:14px;display:inline-block}
.dback:hover{color:var(--red-ink)}
.facts .dtable td{font-size:14px}
.facts .dtable td:first-child{width:150px;font-size:13px;color:#565B60}
.facthelp{margin:10px 0 0;font-size:13px;color:#565B60}   /* 6.9:1 on white, 5.7:1 on --bg-2 */
.dpreview{position:sticky;top:150px}
.dpreview .thumb{aspect-ratio:1/1}
.dpreview .thumb .initials{font-size:74px}
.dtitle{font-size:40px;font-weight:800;line-height:.98}
.dmeta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--text-muted);font-size:13px;margin:10px 0 2px}
.badge{background:transparent;border:1px solid var(--red);color:var(--red-ink);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.07em;padding:4px 9px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:20px 0}
.stat{background:var(--bg-1);border:1px solid var(--line);padding:13px 14px}
.stat .v{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;font-weight:800;font-size:30px;line-height:1;color:var(--text)}
.stat .v.amber{color:var(--gold)}
.stat .k{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:6px}
.block{margin:22px 0}
.block>h3{font-size:15px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);margin-bottom:11px;padding-left:16px;position:relative}
.block>h3::before{content:"";position:absolute;left:0;top:.35em;width:10px;height:3px;background:var(--red)}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{background:var(--bg-2);color:var(--text-muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px}
.loadout{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.loadout>div{background:var(--bg-1);padding:11px 13px}
.loadout .w3{grid-column:span 3}
.loadout .w2{grid-column:span 2}
.loadout .k{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}
.loadout .v{font-family:"Barlow Condensed","Arial Narrow",Impact,sans-serif;font-weight:700;font-size:18px;text-transform:uppercase;margin-top:3px}
.blocknone{color:var(--text-dim);font-size:13px}
.dtable{width:100%;border-collapse:collapse;font-size:13px}
.dtable td{padding:9px 0;border-bottom:1px solid var(--line);color:var(--text)}
.dtable td:first-child{color:var(--text-muted);text-transform:uppercase;font-size:11px;letter-spacing:.06em;width:42%}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--line);margin-top:52px;padding-block:26px 40px}
footer p{max-width:74ch;margin:0 auto;text-align:center;font-size:11px;color:var(--text-dim);line-height:1.7}

/* ============ RESPONSIVE ============ */
@media(max-width:1080px){.grid,.shelf{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){
  .grid,.shelf{grid-template-columns:repeat(3,1fr)}
  .spot{grid-template-columns:1fr}
  .detail{grid-template-columns:1fr}
  .dpreview{position:static}
}
@media(max-width:560px){
  .wrap{padding-inline:16px}
  .grid,.shelf{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .loadout{grid-template-columns:1fr}
  .loadout .w3,.loadout .w2{grid-column:auto}
  .hub span{display:none}
  .band .title{font-size:17px}
}
@media(max-width:560px){.sw-panel{position:fixed;left:16px;right:16px;top:calc(71px + env(safe-area-inset-top,0px) + 8px);width:auto;margin-top:0}}
/* label spacing (P5 F3): Roboto labels .03em; headings and brand unchanged */
.tab,.seclink,.btn,.dback,.badge,.stat .k,.loadout .k,.spotmeta,.pager,.emptynote,.tag{letter-spacing:.03em}
.spotmeta b{letter-spacing:.06em}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* phone */
@media(max-width:560px){
  .sortdd>summary{min-width:76px}
  .sortpanel{position:absolute;left:auto;right:-12px;top:100%;width:170px;margin-top:9px}
}

/* ============ LIVE DATA (merged from the mockup live-store block) ============ */
.thumb .timg{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;background:var(--bg-2)}
.thumb .timg.fit{object-fit:contain}
.grid>.cc-card,.shelf>.cc-card{min-width:0}   /* long titles are nowrap; let the ellipsis work instead of widening the column */
.pager{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:26px;color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.pager .btn[aria-disabled="true"]{opacity:.4;pointer-events:none}
.emptynote{grid-column:1/-1;padding:28px 4px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.dthumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.dthumbs img{width:64px;height:64px;object-fit:cover;border:1px solid var(--line);cursor:pointer;background:var(--bg-2)}
.dthumbs img.on{outline:2px solid var(--red);outline-offset:-2px}

/* ============ CSP: former inline styles ============ */
#detail{padding-top:8px}
.by-name{color:var(--text)}
.desc{margin:0;color:var(--text);max-width:65ch}
.dnotice{margin:18px 0;padding:18px 4px;color:var(--text-muted);font-size:15px}
noscript{display:block;padding:16px 20px;text-align:center;color:var(--text-muted)}

/* ============ LOADING TILES (no animation) ============ */
.cc-card.ph{pointer-events:none}
.cc-card.ph .thumb::before{display:none}
.cc-card.ph .band .title{background:var(--bg-2);color:transparent;height:19px;max-width:70%}
.cc-card.ph .band .by{background:var(--bg-2);color:transparent;height:13px;max-width:45%;margin-top:6px}
