@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Rajdhani:wght@600;700&display=swap');

:root {
  color-scheme:dark; --bg:#070707; --surface:#101010; --surface-up:#161616; --surface-soft:#1c1c1c;
  --line:#292929; --line-bright:#3c3c3c; --text:#f7f7f7; --muted:#8c8c8c; --quiet:#595959;
  --red:#ef1724; --red-dark:#b6000b; --green:#55dc7a; --radius:10px; font-family:Inter,system-ui,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; min-height:100vh; margin:0; color:var(--text); background:var(--bg); overflow-x:hidden; }
body::before { content:""; position:fixed; inset:0; z-index:-2; opacity:.23; background-image:linear-gradient(#181818 1px,transparent 1px),linear-gradient(90deg,#181818 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(#000,transparent 82%); }
.ambient { position:fixed; z-index:-1; width:min(62vw,820px); aspect-ratio:1; top:-470px; right:-170px; border-radius:50%; background:#dc0a1938; filter:blur(125px); pointer-events:none; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button:disabled { opacity:.48; cursor:not-allowed; transform:none!important; }
.hidden { display:none!important; }

body:not(.page-ready)>:not(.page-loader) { visibility:hidden; }
.page-loader { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; visibility:visible!important; background:#070707; opacity:1; transition:opacity .42s ease,visibility .42s; }
.page-ready .page-loader { visibility:hidden!important; opacity:0; pointer-events:none; }
.loader-frame { width:min(1120px,calc(100% - 40px)); display:grid; gap:34px; }
.loader-brand { display:flex; align-items:center; gap:14px; }
.loader-brand img { width:46px; height:46px; border-radius:10px; animation:loader-pulse 1.4s ease-in-out infinite; }
.loader-brand div { display:grid; gap:4px; }
.loader-brand b { font:700 18px Rajdhani; letter-spacing:.22em; }
.loader-brand span { color:#666; font-size:8px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.loader-brand i { height:2px; margin-left:auto; width:min(260px,30vw); overflow:hidden; background:#1d1d1d; }
.loader-brand i::after { content:""; width:45%; height:100%; display:block; background:var(--red); animation:loader-progress 1.1s ease-in-out infinite; }
.loader-hero { display:grid; gap:14px; }
.loader-hero span,.loader-hero b,.loader-hero i,.loader-cards span { position:relative; display:block; overflow:hidden; background:#141414; border:1px solid #1d1d1d; border-radius:7px; }
.loader-hero span::after,.loader-hero b::after,.loader-hero i::after,.loader-cards span::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 20%,#2b2b2b 45%,transparent 70%); transform:translateX(-100%); animation:skeleton-sweep 1.25s infinite; }
.loader-hero span { width:140px; height:10px; }
.loader-hero b { width:min(620px,82vw); height:58px; }
.loader-hero b:nth-child(3) { width:min(480px,65vw); }
.loader-hero i { width:min(390px,75vw); height:14px; }
.loader-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.loader-cards span { height:250px; }
@keyframes skeleton-sweep { to { transform:translateX(100%); } }
@keyframes loader-progress { 0% { transform:translateX(-110%); } 55%,100% { transform:translateX(230%); } }
@keyframes loader-pulse { 50% { transform:scale(.92); filter:brightness(1.5); box-shadow:0 0 35px #ef172455; } }

.site-header { position:relative; z-index:15; width:min(1320px,calc(100% - 48px)); min-height:82px; margin:auto; display:flex; align-items:center; gap:34px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; flex:none; font:700 22px Rajdhani,sans-serif; letter-spacing:.21em; }
.brand img { width:40px; height:40px; object-fit:cover; border-radius:9px; box-shadow:0 8px 30px #ed101d24; }
nav { min-width:0; align-self:stretch; margin-left:auto; display:flex; align-items:stretch; gap:30px; }
nav a { position:relative; display:grid; place-items:center; color:#898989; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; transition:.18s; }
nav a:hover,nav a.active { color:#fff; }
nav a.active::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:2px; background:var(--red); box-shadow:0 -5px 15px #ef172477; }
.menu-toggle { display:none; width:42px; height:42px; margin-left:auto; padding:10px; background:#111; border:1px solid var(--line); border-radius:7px; }
.menu-toggle span { width:100%; height:2px; margin:4px 0; display:block; background:#ddd; transition:.2s; }
.menu-open .menu-toggle span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.menu-open .menu-toggle span:nth-child(2) { opacity:0; }
.menu-open .menu-toggle span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }
.button { min-height:46px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:20px; color:#fff; background:linear-gradient(135deg,var(--red),var(--red-dark)); border:1px solid #ff3b46; border-radius:6px; box-shadow:0 10px 28px #ed101d1d; font-size:10px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; transition:.18s ease; }
.button:hover { filter:brightness(1.12); transform:translateY(-1px); }
.button-ghost { color:#ddd; background:#121212; border-color:#3a3a3a; box-shadow:none; }
.header-download { min-height:40px; padding:0 15px; flex:none; }
.header-user { margin-left:auto; padding:0; display:flex; align-items:center; gap:12px; color:#fff; background:transparent; border:0; cursor:pointer; }
.header-user span { font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.header-user i { padding:7px 9px; color:#777; border:1px solid #333; border-radius:4px; font-size:8px; font-style:normal; text-transform:uppercase; }

main { width:min(1320px,calc(100% - 48px)); margin:auto; }
.eyebrow { margin:0 0 18px; color:#aaa; font-size:9px; font-weight:800; letter-spacing:.21em; text-transform:uppercase; }
.eyebrow span { width:23px; height:2px; margin:0 9px 3px 0; display:inline-block; background:var(--red); }
h1,.home-section h2,.page-intro h1,.wardrobe-hero h1 { font-family:Rajdhani,Inter,sans-serif; font-weight:700; letter-spacing:-.05em; line-height:.84; text-transform:uppercase; }
h1 em,.home-section em,.page-intro em { color:var(--red); font-style:normal; }
.lead { max-width:580px; margin:30px 0 34px; color:#a0a0a0; font-size:16px; line-height:1.75; }
.text-action { color:#aaa; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.text-action:hover { color:#fff; }
.hero-actions { display:flex; align-items:center; gap:26px; }
.build-note { margin:14px 0 0; color:#5c5c5c; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
code { padding:2px 5px; color:#ddd; background:#202020; border:1px solid #303030; border-radius:4px; }

.home-hero { min-height:650px; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr); align-items:center; border-bottom:1px solid var(--line); overflow:hidden; }
.hero-copy { position:relative; z-index:2; padding:80px 0; }
.home-hero h1 { margin:0; font-size:clamp(64px,7.4vw,112px); }
.hero-art { position:relative; height:560px; display:grid; place-items:center; }
.hero-art::before { content:""; position:absolute; width:min(33vw,430px); aspect-ratio:1; border:1px solid #333; border-radius:50%; box-shadow:0 0 0 60px #1115,0 0 0 61px #292929; }
.hero-art::after { content:""; position:absolute; width:1px; height:100%; background:linear-gradient(transparent,#444,transparent); transform:rotate(38deg); }
.hero-art img { position:relative; z-index:2; width:min(350px,70%); filter:drop-shadow(0 30px 70px #e0001845); }
.red-slice { position:absolute; z-index:1; width:180px; height:500px; background:linear-gradient(var(--red),var(--red-dark)); transform:rotate(40deg); clip-path:polygon(0 8%,100% 0,72% 100%,15% 94%); opacity:.78; }
.hero-art p { position:absolute; z-index:3; right:0; bottom:24px; font:700 36px Rajdhani; }
.hero-art p span { display:block; color:#777; font:800 8px Inter; letter-spacing:.17em; }
.feature-strip { margin-bottom:110px; display:grid; grid-template-columns:repeat(3,1fr); background:#0d0d0d; border:1px solid var(--line); border-top:0; border-radius:0 0 var(--radius) var(--radius); overflow:hidden; }
.feature-strip article { min-height:150px; padding:30px; border-right:1px solid var(--line); }
.feature-strip article:last-child { border:0; }
.feature-strip b { color:var(--red); font:700 25px Rajdhani; }
.feature-strip h2 { margin:18px 0 8px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.feature-strip p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }
.home-section { padding:0 0 120px; display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.home-section h2 { margin:0; font-size:clamp(45px,5vw,72px); }
.process-list { border-top:1px solid var(--line); }
.process-list article { padding:25px 0; display:flex; gap:24px; border-bottom:1px solid var(--line); }
.process-list b { color:var(--red); font:700 22px Rajdhani; }
.process-list h3 { margin:0 0 7px; font-size:13px; text-transform:uppercase; }
.process-list p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }

.account-main { padding-bottom:100px; }
.page-intro { padding:clamp(58px,7vw,90px) 0 55px; border-bottom:1px solid var(--line); }
.page-intro h1 { margin:0; font-size:clamp(56px,7vw,98px); }
.page-intro>p:last-child { max-width:560px; margin:25px 0 0; color:var(--muted); line-height:1.7; }
.auth-layout { max-width:960px; margin:45px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.panel { position:relative; padding:36px; background:linear-gradient(145deg,#171717,#0d0d0d); border:1px solid var(--line); border-radius:var(--radius); }
.panel-accent { border-top:2px solid var(--red); }
.panel-top { display:flex; align-items:center; justify-content:space-between; }
.panel-top span { color:#333; font:700 50px Rajdhani; }
.panel-top p { color:#777; font-size:9px; font-weight:800; letter-spacing:.16em; }
.panel h2 { margin:8px 0 28px; font:700 32px Rajdhani; text-transform:uppercase; }
label { display:grid; gap:8px; margin:17px 0; color:#898989; font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
input,select { width:100%; min-height:46px; padding:12px 14px; color:#fff; background:#090909; border:1px solid #303030; border-radius:6px; outline:none; transition:.16s; }
select { appearance:auto; }
input[type="file"] { padding:10px; color:#aaa; }
input::placeholder { color:#555; }
input:focus,select:focus { border-color:var(--red); box-shadow:0 0 0 3px #ed101d16; }
.panel>.button { width:100%; margin-top:10px; }
.session-card { margin:55px 0; padding:48px; display:flex; align-items:center; justify-content:space-between; gap:40px; background:linear-gradient(135deg,#181010,#101010); border:1px solid var(--line); border-top:2px solid var(--red); border-radius:var(--radius); }
.session-card h2 { margin:0 0 8px; font:700 44px Rajdhani; text-transform:uppercase; }
.session-card p:last-child { color:var(--muted); }
.session-actions { display:flex; gap:10px; }

.wardrobe-main { padding-bottom:110px; }
.wardrobe-hero { padding:clamp(54px,6vw,76px) 0 45px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; border-bottom:1px solid var(--line); }
.wardrobe-hero h1 { max-width:900px; margin:0; font-size:clamp(50px,6.3vw,90px); overflow-wrap:anywhere; }
.wardrobe-hero>div>p:last-child { margin:20px 0 0; color:var(--muted); }
.sync-state { padding:14px 17px; display:flex; align-items:center; gap:12px; flex:none; background:#111; border:1px solid #303030; border-radius:8px; }
.sync-state>i { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 12px var(--green); }
.sync-state div { display:grid; gap:4px; }
.sync-state b { font-size:9px; letter-spacing:.1em; text-transform:uppercase; }
.sync-state span { color:#666; font-size:9px; }
.free-badge { padding:13px 16px; flex:none; color:#ffbdc1; background:#2a0c0f; border:1px solid #791923; border-radius:6px; font-size:9px; font-weight:900; letter-spacing:.14em; }
.wardrobe-tools { position:sticky; top:0; z-index:10; padding:18px 0; display:flex; justify-content:space-between; gap:20px; background:#070707ed; border-bottom:1px solid var(--line); backdrop-filter:blur(14px); }
.filters { min-width:0; display:flex; gap:7px; flex-wrap:wrap; }
.filters button { min-height:42px; padding:0 15px; color:#7e7e7e; background:#101010; border:1px solid #292929; border-radius:6px; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; white-space:nowrap; }
.filters button:hover { color:#fff; border-color:#4a4a4a; }
.filters button.active { color:#fff; background:#271113; border-color:var(--red); }
.filters button span { margin-left:8px; color:#626262; }
.search { width:min(300px,100%); margin:0; display:flex; align-items:center; gap:8px; flex:none; padding-left:13px; background:#0d0d0d; border:1px solid #292929; border-radius:7px; }
.search span { color:#777; font-size:20px; }
.search input { min-height:40px; padding:10px 11px 10px 0; background:transparent; border:0; box-shadow:none; }
.catalog-heading { padding:28px 0 16px; display:flex; justify-content:space-between; gap:20px; color:#777; }
.catalog-heading p { margin:0; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.catalog-heading p span { color:#fff; }
.catalog-heading small { font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.cosmetic { position:relative; min-width:0; padding:16px; background:radial-gradient(circle at 50% 25%,#321216,transparent 43%),linear-gradient(145deg,#171717,#0c0c0c); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:border-color .18s,transform .18s; }
.cosmetic:hover { border-color:#434343; transform:translateY(-2px); }
.cosmetic::after { content:""; position:absolute; top:0; left:0; width:45px; height:3px; background:#444; }
.cosmetic.is-equipped { border-color:#68171d; }
.cosmetic.is-equipped::after { width:100%; background:var(--red); }
.cosmetic.filtered-out { display:none; }
.model-preview { position:relative; width:100%; height:clamp(230px,24vw,310px); display:grid; place-items:center; background:radial-gradient(circle,#3c1216 0,#141010 50%,transparent 72%); border-radius:7px; cursor:grab; touch-action:none; overflow:hidden; }
.model-preview:active { cursor:grabbing; }
.model-preview canvas { width:100%; height:100%; }
.model-preview>span { position:absolute; color:#666; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.model-preview:has(>span):not(.preview-error)::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 25%,#ffffff09 45%,transparent 65%); transform:translateX(-100%); animation:skeleton-sweep 1.35s infinite; pointer-events:none; }
.model-preview.preview-error>span { color:#a86b70; }
.equipped-badge { position:absolute; z-index:3; top:10px; right:10px; padding:7px 9px; display:none; color:#fff; background:var(--red); border-radius:4px; font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.is-equipped .equipped-badge { display:block; }
.owned-badge { display:block; background:#28713c; }
.cosmetic-meta { min-height:22px; margin:15px 0 9px; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; color:var(--red); font-size:8px; font-weight:800; line-height:1.45; letter-spacing:.12em; text-transform:uppercase; }
.rarity { padding:3px 6px; flex:none; border:1px solid currentColor; border-radius:3px; font-size:7px; letter-spacing:.13em; text-transform:uppercase; }
.rarity-common { color:#aaa; }.rarity-uncommon { color:#5ed779; }.rarity-rare { color:#5ba7ff; }.rarity-epic { color:#c978ff; }.rarity-legendary { color:#ffad3c; }
.rarity-card-uncommon::after { background:#5ed779; }.rarity-card-rare::after { background:#5ba7ff; }.rarity-card-epic::after { background:#c978ff; }.rarity-card-legendary::after { background:#ffad3c; }
.cosmetic h2 { margin:0 0 5px; font:700 clamp(21px,2vw,25px) Rajdhani; text-transform:uppercase; }
.cosmetic>p { min-height:18px; margin:0 0 16px; color:#777; font-size:10px; line-height:1.55; }
.card-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:7px; }
.card-actions .button { width:100%; min-height:43px; padding:0 12px; }
.empty-state { padding:80px 24px; text-align:center; border:1px solid var(--line); border-radius:var(--radius); }
.empty-state b { font:700 26px Rajdhani; text-transform:uppercase; }
.empty-state p { color:var(--muted); }

#message { position:fixed; z-index:30; top:96px; right:max(24px,calc((100vw - 1320px)/2)); max-width:min(420px,calc(100vw - 48px)); margin:0; padding:14px 18px; color:#ddd; background:#151515f5; border:1px solid #3b3b3b; border-left:3px solid var(--red); border-radius:6px; box-shadow:0 16px 50px #000a; font-size:12px; line-height:1.5; opacity:1; transition:.2s; }
#message:empty { pointer-events:none; opacity:0; transform:translateY(-8px); }
#message.error { color:#ffb7bc; background:#1a0d0ef5; border-color:#64171d; }
footer { min-height:170px; padding:48px max(24px,calc((100vw - 1320px)/2)); display:flex; align-items:center; justify-content:space-between; gap:40px; background:#050505; border-top:1px solid #222; }
footer img { width:min(230px,60vw); }
footer p { color:#555; font-size:8px; font-weight:800; letter-spacing:.18em; }

.admin-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; }
.admin-intro>div:first-child>p:last-child { max-width:620px; margin:25px 0 0; color:var(--muted); line-height:1.7; }
.admin-status { min-width:190px; padding:16px 18px; display:grid; grid-template-columns:auto 1fr; align-items:center; gap:3px 10px; background:#0d1510; border:1px solid #25402d; border-radius:8px; }
.admin-status i { width:9px; height:9px; grid-row:1/3; border-radius:50%; background:var(--green); box-shadow:0 0 13px #55dc7a; }
.admin-status span { color:#789080; font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.admin-status b { font-size:11px; text-transform:uppercase; }
.admin-stats { margin:24px 0 16px; display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.admin-stats article { min-width:0; padding:20px; display:grid; gap:7px; background:linear-gradient(145deg,#141414,#0d0d0d); border:1px solid var(--line); border-radius:8px; }
.admin-stats span { color:#747474; font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.admin-stats b { font:700 36px Rajdhani; }
.admin-stats small { color:#555; font-size:9px; }
.catalog-manager { margin-bottom:16px; background:#0d0d0d; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.manager-heading { padding:26px; display:flex; align-items:center; justify-content:space-between; gap:25px; background:radial-gradient(circle at 90% 0,#321116,transparent 35%),#101010; }
.manager-heading .eyebrow { margin-bottom:10px; }
.manager-heading h2 { margin:0; font:700 34px Rajdhani; text-transform:uppercase; }
.manager-heading p:last-child { margin:7px 0 0; color:#737373; font-size:10px; }
.manager-selection { min-width:95px; padding:11px 14px; display:grid; text-align:center; background:#0b0b0b; border:1px solid #333; border-radius:7px; }
.manager-selection b { color:var(--red); font:700 25px Rajdhani; }
.manager-selection span { color:#666; font-size:7px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.manager-tools { position:sticky; top:0; z-index:8; padding:13px 16px; display:flex; align-items:center; gap:8px; background:#131313f5; border-block:1px solid #292929; backdrop-filter:blur(14px); }
.manager-search { min-width:220px; margin:0; display:flex; align-items:center; gap:7px; flex:1; padding-left:11px; background:#090909; border:1px solid #303030; border-radius:5px; }
.manager-search span { color:#777; font-size:18px; }
.manager-search input { min-height:38px; padding:8px 10px 8px 0; background:transparent; border:0; box-shadow:none; }
.manager-tools select { width:150px; min-height:38px; padding:8px 10px; }
.danger-button { color:#ff9ca3; background:#251012; border-color:#662027; }
.danger-solid { color:#fff; background:linear-gradient(135deg,#ef1724,#8e0008); border-color:#ff414b; }
.manager-column-head { padding:10px 62px 10px 72px; display:grid; grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) 180px 42px; gap:14px; color:#525252; border-bottom:1px solid #222; font-size:7px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.manager-list { padding:8px; display:grid; gap:6px; }
.manager-list.no-results::after { content:"No cosmetics match these filters."; padding:50px 20px; color:#6c6c6c; text-align:center; border:1px dashed #333; border-radius:7px; font-size:10px; }
.manager-item { min-width:0; padding:10px; display:grid; grid-template-columns:34px 44px minmax(220px,1.2fr) minmax(220px,1fr) 180px 42px; align-items:center; gap:10px; background:#111; border:1px solid #252525; border-radius:7px; transition:.16s; }
.manager-item:hover { border-color:#3c3c3c; }
.manager-item.is-selected { background:linear-gradient(100deg,#1c0f11,#111 35%); border-color:#5d282d; }
.manager-item.is-filtered { display:none; }
.manager-choice { width:25px; height:25px; margin:0; position:relative; cursor:pointer; }
.manager-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.manager-choice span { width:25px; height:25px; display:grid; place-items:center; color:transparent; background:#090909; border:1px solid #444; border-radius:5px; }
.manager-choice input:checked+span { color:#fff; background:var(--red); border-color:#ff525c; }
.manager-item-icon { width:40px; height:40px; display:grid; place-items:center; color:#fff; background:#282828; border-radius:6px; font:700 18px Rajdhani; }
.rarity-bg-uncommon { background:#183b20; }.rarity-bg-rare { background:#153251; }.rarity-bg-epic { background:#3b1c50; }.rarity-bg-legendary { background:#4d3312; }
.manager-item-identity { min-width:0; display:grid; gap:5px; }
.manager-item-identity b { overflow:hidden; font:700 15px Rajdhani; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.manager-item-identity span { overflow:hidden; color:#555; font:8px ui-monospace,monospace; text-overflow:ellipsis; white-space:nowrap; }
.manager-item-meta { min-width:0; display:flex; align-items:center; gap:7px; overflow:hidden; }
.manager-item-meta>span:not(.rarity) { padding:4px 6px; overflow:hidden; color:#858585; background:#191919; border:1px solid #292929; border-radius:3px; font-size:7px; font-weight:800; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }
.manager-usage { display:flex; gap:14px; }
.manager-usage span { display:grid; gap:3px; color:#666; font-size:7px; text-transform:uppercase; }
.manager-usage b { color:#ddd; font-size:10px; }
.icon-delete { width:34px; height:34px; padding:0; color:#a86469; background:#1e1011; border:1px solid #482024; border-radius:5px; font-size:21px; cursor:pointer; }
.icon-delete:hover { color:#fff; background:#8f1119; border-color:#e02a35; }
.manager-footer { padding:12px 16px; display:flex; justify-content:space-between; gap:20px; color:#666; border-top:1px solid #242424; font-size:8px; letter-spacing:.07em; text-transform:uppercase; }
.manager-footer b { color:#eee; }
.delete-dialog { width:min(470px,calc(100% - 28px)); padding:0; color:#eee; background:#111; border:1px solid #4e292c; border-radius:10px; box-shadow:0 35px 100px #000; }
.delete-dialog::backdrop { background:#000b; backdrop-filter:blur(7px); }
.delete-dialog form { padding:32px; }
.dialog-icon { width:44px; height:44px; margin-bottom:22px; display:grid; place-items:center; color:#fff; background:#8b1119; border:1px solid #dc3039; border-radius:50%; font:700 22px Rajdhani; }
.delete-dialog h2 { margin:0; font:700 32px Rajdhani; text-transform:uppercase; }
.delete-dialog form>p:not(.eyebrow) { margin:10px 0 25px; color:#858585; font-size:11px; line-height:1.7; }
.delete-dialog form>div:last-child { display:grid; grid-template-columns:1fr 1fr; gap:9px; }

.admin-grid { margin:42px 0; display:grid; grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr); gap:16px; }
.admin-warning { margin:18px 0 0; color:#777; font-size:10px; line-height:1.6; }
.converter-info { padding:35px; background:#0d0d0d; border:1px solid var(--line); border-radius:var(--radius); }
.converter-info h2 { margin:0 0 25px; font:700 32px Rajdhani; text-transform:uppercase; }
.converter-info h3 { margin:28px 0 8px; font:700 18px Rajdhani; text-transform:uppercase; }
.guide-copy { color:#888; font-size:11px; line-height:1.65; }
.converter-info pre { margin:18px 0; padding:18px; overflow:auto; color:#d8d8d8; background:#080808; border:1px solid #292929; border-radius:7px; font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.converter-info ul { margin:0; padding:0; display:grid; list-style:none; }
.converter-info li { padding:14px 0; color:#999; border-bottom:1px solid #252525; font-size:11px; line-height:1.5; }
.converter-info li::before { content:"✓"; margin-right:12px; color:var(--red); font-weight:900; }
.redownload-alert { margin-top:25px; padding:17px; display:grid; gap:7px; background:#250c0f; border:1px solid #711821; border-left:3px solid var(--red); border-radius:6px; }
.redownload-alert b { font-size:11px; text-transform:uppercase; }
.redownload-alert span { color:#b8868a; font-size:10px; line-height:1.6; }
.success-alert { color:#bff5cc; background:#0c2112; border-color:#245f33; border-left-color:var(--green); }
.success-alert span { color:#83ac8d; }

.review-panel { margin:0 0 80px; background:#0c0c0c; border:1px solid var(--line); border-top:2px solid var(--red); border-radius:var(--radius); overflow:hidden; }
.review-heading { padding:28px; display:flex; align-items:center; justify-content:space-between; gap:25px; background:linear-gradient(110deg,#181010,#0d0d0d 55%); }
.review-heading .eyebrow { margin-bottom:12px; }
.review-heading h2 { margin:0; font:700 38px Rajdhani; text-transform:uppercase; }
.review-heading .guide-copy { margin:8px 0 0; }
.review-summary { min-width:145px; padding:15px 18px; display:grid; gap:5px; text-align:right; background:#0d0d0d; border:1px solid #333; border-radius:8px; }
.review-summary b { font:700 21px Rajdhani; text-transform:uppercase; }
.review-summary b span { color:var(--red); }
.review-summary>span { color:#777; font-size:9px; text-transform:uppercase; }
.review-summary i { color:#bbb; font-style:normal; }
.review-toolbar { position:sticky; top:0; z-index:9; padding:14px 18px; display:grid; gap:10px; background:#111111f5; border-block:1px solid var(--line); backdrop-filter:blur(16px); }
.toolbar-row { display:flex; align-items:center; gap:8px; min-width:0; }
.toolbar-label { width:84px; flex:none; color:#686868; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.mini-button { min-height:38px; padding:0 13px; color:#bbb; background:#191919; border:1px solid #363636; border-radius:5px; font-size:8px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; white-space:nowrap; }
.mini-button:hover { color:#fff; border-color:#666; }
.mini-button-accent { color:#fff; background:#471116; border-color:#9d1d27; }
.review-search { width:min(270px,100%); min-height:38px; margin:0 0 0 auto; padding-left:11px; display:flex; align-items:center; gap:7px; background:#090909; border:1px solid #303030; border-radius:5px; }
.review-search span { color:#777; font-size:18px; }
.review-search input { min-height:36px; padding:8px 10px 8px 0; background:transparent; border:0; box-shadow:none; }
.bulk-tools select,.bulk-tools input { width:auto; min-width:150px; min-height:38px; padding:8px 11px; }
.bulk-tools #bulk-category { flex:1; }
.review-list-heading { padding:11px 18px; display:grid; grid-template-columns:64px minmax(200px,.8fr) minmax(420px,1.2fr); gap:14px; color:#555; border-bottom:1px solid #222; font-size:8px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.review-items { padding:10px; display:grid; gap:8px; }
.review-items.no-results::after { content:"No detected items match this search."; padding:45px 20px; color:#777; text-align:center; border:1px dashed #333; border-radius:8px; font-size:11px; }
.review-item { min-width:0; padding:14px; display:grid; grid-template-columns:40px minmax(200px,.8fr) minmax(420px,1.2fr); gap:14px; align-items:center; background:#101010; border:1px solid #262626; border-radius:8px; transition:.16s; }
.review-item.is-selected { background:linear-gradient(105deg,#1b1011,#111 36%); border-color:#4b282b; }
.review-item.is-filtered { display:none; }
.review-choice { width:28px; height:28px; margin:0; position:relative; display:block; align-self:center; cursor:pointer; }
.review-choice input { position:absolute; width:1px; height:1px; opacity:0; }
.review-choice span { width:28px; height:28px; display:grid; place-items:center; color:transparent; background:#090909; border:1px solid #454545; border-radius:6px; font-size:12px; transition:.16s; }
.review-choice input:checked+span { color:#fff; background:var(--red); border-color:#ff4b55; box-shadow:0 5px 15px #ed101d32; }
.review-identity { min-width:0; display:grid; grid-template-columns:1fr auto; align-items:end; gap:6px 8px; }
.review-identity label { min-width:0; margin:0; grid-column:1/-1; }
.item-kind { width:max-content; padding:4px 6px; color:#ff9ca3; background:#2a1012; border-radius:3px; font-size:7px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.review-id { min-width:0; overflow:hidden; color:#565656; font:9px ui-monospace,monospace; text-overflow:ellipsis; white-space:nowrap; }
.review-metadata { min-width:0; display:grid; grid-template-columns:.8fr 1.2fr .9fr; gap:10px; }
.review-item label { margin:0; }
.review-item input,.review-item select { min-height:40px; padding:9px 11px; }
.review-footer { position:sticky; bottom:0; z-index:8; padding:15px 18px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#151515f7; border-top:1px solid #333; backdrop-filter:blur(16px); }
.review-footer p { margin:0; color:#898989; font-size:10px; }
.review-footer p b { color:#fff; }
.review-footer .button { min-width:230px; }

@media(max-width:1060px) {
  nav { gap:20px; }
  .header-download { display:none; }
  .catalog { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-section { gap:45px; }
  .admin-grid { grid-template-columns:1fr; }
  .review-list-heading { display:none; }
  .review-item { grid-template-columns:40px minmax(180px,.7fr) minmax(350px,1.3fr); }
  .admin-stats { grid-template-columns:repeat(2,1fr); }
  .manager-column-head { display:none; }
  .manager-item { grid-template-columns:34px 44px minmax(190px,1fr) minmax(210px,1fr) 130px 36px; }
  .manager-usage { gap:8px; }
}
@media(max-width:760px) {
  .site-header,main { width:calc(100% - 28px); }
  .site-header { min-height:70px; }
  .brand img { width:36px; height:36px; }
  .menu-toggle { display:block; }
  .site-header nav { position:absolute; top:62px; right:0; left:0; height:auto; max-height:0; margin:0; padding:0 10px; display:grid; gap:0; overflow:hidden; background:#101010f8; border:1px solid transparent; border-radius:9px; opacity:0; transform:translateY(-8px); pointer-events:none; backdrop-filter:blur(18px); transition:.2s; }
  .site-header.menu-open nav { max-height:420px; padding:8px 10px; border-color:#333; opacity:1; transform:none; pointer-events:auto; }
  nav a { min-height:48px; display:flex; justify-content:space-between; border-bottom:1px solid #252525; }
  nav a:last-child { border:0; }
  nav a.active::after { top:12px; right:auto; bottom:12px; left:-10px; width:2px; height:auto; }
  .header-user { margin-left:0; }
  .header-user span { display:none; }
  .home-hero { min-height:570px; grid-template-columns:1fr; }
  .hero-copy { padding:70px 0; }
  .home-hero h1 { font-size:clamp(53px,16vw,78px); }
  .hero-art { display:none; }
  .feature-strip,.home-section,.auth-layout,.catalog { grid-template-columns:1fr; }
  .feature-strip article { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .home-section { gap:45px; }
  .page-intro { padding-top:55px; }
  .page-intro h1 { font-size:clamp(48px,15vw,70px); }
  .panel,.converter-info { padding:26px; }
  .session-card,.wardrobe-hero { align-items:flex-start; flex-direction:column; }
  .session-card { padding:28px; }
  .session-actions { width:100%; flex-direction:column; }
  .session-actions .button { width:100%; }
  .wardrobe-hero h1 { font-size:clamp(46px,14vw,68px); }
  .wardrobe-tools { margin-inline:-14px; padding:12px 14px; align-items:stretch; flex-direction:column; }
  .filters { margin-inline:-14px; padding-inline:14px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .filters::-webkit-scrollbar { display:none; }
  .search { width:100%; }
  .catalog-heading { padding-top:20px; }
  .model-preview { height:min(86vw,390px); }
  footer { align-items:flex-start; flex-direction:column; }
  #message { top:auto; right:14px; bottom:14px; max-width:calc(100vw - 28px); }
  .admin-grid { margin-top:26px; }
  .review-panel { margin-inline:-14px; border-radius:0; }
  .review-heading { align-items:flex-start; flex-direction:column; padding:22px 18px; }
  .review-summary { width:100%; text-align:left; }
  .toolbar-row { align-items:stretch; flex-wrap:wrap; }
  .toolbar-label { width:100%; padding:3px 0; }
  .review-search { width:100%; margin:2px 0 0; order:5; }
  .bulk-tools select,.bulk-tools input { width:calc(50% - 4px); min-width:0; flex:auto; }
  .bulk-tools #bulk-category { width:100%; flex-basis:100%; }
  .bulk-tools .mini-button { width:100%; }
  .review-items { padding:8px; }
  .review-item { padding:13px; grid-template-columns:32px 1fr; align-items:start; }
  .review-identity,.review-metadata { grid-column:2; }
  .review-metadata { grid-template-columns:1fr 1fr; }
  .review-metadata label:nth-child(2) { grid-column:1/-1; grid-row:2; }
  .review-footer { padding:12px 14px; align-items:stretch; flex-direction:column; }
  .review-footer .button { width:100%; min-width:0; }
  .loader-cards { grid-template-columns:1fr 1fr; }
  .loader-cards span:last-child { display:none; }
  .admin-intro { align-items:flex-start; flex-direction:column; }
  .admin-status { width:100%; }
  .admin-stats { grid-template-columns:1fr 1fr; }
  .catalog-manager { margin-inline:-14px; border-radius:0; }
  .manager-heading { padding:22px 16px; }
  .manager-tools { align-items:stretch; flex-wrap:wrap; }
  .manager-search { width:100%; min-width:0; flex-basis:100%; }
  .manager-tools select { width:calc(50% - 4px); flex:1; }
  .manager-tools .mini-button { flex:1; }
  .manager-tools .danger-button { flex-basis:100%; }
  .manager-item { position:relative; padding:12px; grid-template-columns:30px 42px 1fr 36px; gap:9px; }
  .manager-item-identity { grid-column:3; }
  .manager-item-meta,.manager-usage { grid-column:2/5; }
  .manager-item-meta { flex-wrap:wrap; }
  .manager-usage { padding-top:8px; border-top:1px solid #242424; }
  .icon-delete { grid-column:4; grid-row:1; }
  .manager-footer { align-items:flex-start; flex-direction:column; }
}
@media(max-width:460px) {
  .brand span { display:none; }
  .hero-actions { align-items:flex-start; flex-direction:column; }
  .hero-actions .button { width:100%; }
  .lead { font-size:14px; }
  .free-badge,.sync-state { width:100%; }
  .catalog-heading small { display:none; }
  .mini-button { padding-inline:10px; flex:1; }
  .bulk-tools select,.bulk-tools input { width:100%; flex-basis:100%; }
  .review-metadata { grid-template-columns:1fr; }
  .review-metadata label:nth-child(2) { grid-column:auto; grid-row:auto; }
  .review-identity,.review-metadata { grid-column:1/-1; }
  .review-choice { position:absolute; z-index:2; margin:8px; }
  .review-item { position:relative; display:block; padding-top:52px; }
  .review-identity { margin-bottom:12px; }
  .loader-cards { grid-template-columns:1fr; }
  .loader-cards span:nth-child(2) { display:none; }
  .loader-brand i { display:none; }
  .admin-stats { grid-template-columns:1fr; }
  .manager-heading { align-items:flex-start; flex-direction:column; }
  .manager-selection { width:100%; text-align:left; }
  .manager-tools select,.manager-tools .mini-button { width:100%; flex-basis:100%; }
  .delete-dialog form { padding:25px; }
  .delete-dialog form>div:last-child { grid-template-columns:1fr; }
}
