/* Native hidden attribute must always win over component display rules. */
[hidden]{display:none!important}
:root{
  --bg:#080a0d;--panel:#10141a;--panel-2:#151a21;--panel-3:#1a2029;--line:#242b35;
  --text:#f4f6f8;--muted:#9aa5b1;--accent:#e7a23b;--accent-2:#f5c36f;--good:#7fd6a5;
  --danger:#ff7b7b;--shadow:0 18px 50px rgba(0,0,0,.35);--radius:18px;
  --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:
radial-gradient(900px 500px at 70% -100px,rgba(231,162,59,.12),transparent 65%),var(--bg);color:var(--text)}
button,input,select{font:inherit}.page-shell{width:min(1520px,calc(100% - 32px));margin:auto}.hero{padding:48px 0 28px}.hero__eyebrow{letter-spacing:.24em;font-size:12px;font-weight:800;color:var(--accent);margin-bottom:10px}.hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.hero h1{margin:0;font-size:clamp(38px,6vw,76px);line-height:.96;letter-spacing:-.05em}.hero p{max-width:760px;color:var(--muted);font-size:17px;line-height:1.6;margin:18px 0 0}.hero__stats{display:flex;gap:10px;flex-wrap:wrap}.hero__stats>div{min-width:106px;padding:14px 16px;background:rgba(16,20,26,.8);border:1px solid var(--line);border-radius:14px}.hero__stats strong{display:block;font-size:22px}.hero__stats span{color:var(--muted);font-size:12px}
.toolbar{position:sticky;top:0;z-index:20;background:rgba(8,10,13,.87);backdrop-filter:blur(18px);padding:14px 0 12px;border-bottom:1px solid rgba(36,43,53,.7)}.search-wrap{position:relative}.search-wrap input{width:100%;height:56px;border-radius:16px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 52px;font-size:16px;outline:none;transition:.2s}.search-wrap input:focus{border-color:rgba(231,162,59,.7);box-shadow:0 0 0 4px rgba(231,162,59,.08)}.search-icon{position:absolute;left:19px;top:14px;font-size:25px;color:var(--muted)}.clear-btn{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}.clear-btn:hover{background:var(--panel-3);color:var(--text)}.toolbar__row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.chips{display:flex;gap:8px;overflow:auto;padding-bottom:3px;scrollbar-width:thin}.chip,.secondary-btn,select{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:9px 13px;white-space:nowrap;cursor:pointer}.chip:hover,.chip.active{border-color:rgba(231,162,59,.6);color:var(--text)}.chip.active{background:rgba(231,162,59,.12);color:var(--accent-2)}.toolbar__actions{display:flex;gap:8px;flex:none}.toolbar__actions select{border-radius:12px}.secondary-btn{border-radius:12px}.advanced-filters{display:flex;flex-wrap:wrap;gap:10px 18px;padding:14px 4px 2px;color:var(--muted);font-size:14px}.advanced-filters label{display:flex;align-items:center;gap:8px}.advanced-filters input{accent-color:var(--accent)}
.results-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);padding:24px 2px 14px}.results-head strong{color:var(--text)}.link-btn{background:transparent;border:0;color:var(--accent-2);cursor:pointer}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;padding-bottom:50px}.card{background:linear-gradient(180deg,var(--panel),#0d1116);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.card:hover{transform:translateY(-3px);border-color:#3c4653;box-shadow:var(--shadow)}.card__media{aspect-ratio:4/3;background:radial-gradient(circle at 50% 38%,#202731,#0c1015 72%);position:relative;display:grid;place-items:center;overflow:hidden}.card__media img{width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 16px 16px rgba(0,0,0,.35))}.image-fallback{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:24px;background:linear-gradient(135deg,#161c24,#0c1015)}.image-fallback strong{display:block;font-size:48px;color:#485361}.image-fallback span{display:block;color:var(--muted);font-size:12px;margin-top:8px;max-width:180px}.catalog-id{position:absolute;top:12px;left:12px;padding:6px 9px;background:rgba(0,0,0,.72);border:1px solid rgba(255,255,255,.1);border-radius:9px;font-size:11px;font-weight:800;letter-spacing:.08em}.card__body{padding:16px}.card__topline{display:flex;justify-content:space-between;gap:8px;align-items:center}.category{color:var(--accent-2);font-size:12px;font-weight:700}.badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.badge{padding:4px 7px;border:1px solid #303a46;border-radius:999px;color:#b8c2cc;font-size:10px;background:#141a21}.badge--storage{color:var(--good);border-color:rgba(127,214,165,.25);background:rgba(127,214,165,.07)}.badge--function{color:var(--accent-2);border-color:rgba(231,162,59,.25);background:rgba(231,162,59,.07)}.card h2{font-size:19px;line-height:1.2;margin:9px 0 12px;letter-spacing:-.02em}.card__specs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mini-spec{padding:9px 10px;border-radius:10px;background:#12171d;border:1px solid #1e252e}.mini-spec span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.mini-spec strong{display:block;margin-top:2px;font-size:13px}.recipe-preview{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.ingredient-chip{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:9px;background:#11161c;border:1px solid #202832;color:#bac3cc;font-size:11px}.ingredient-icon{width:18px;height:18px;object-fit:contain}.ingredient-letter{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;background:#242d38;color:#dfe4e9;font-size:9px;font-weight:800}.empty-state{text-align:center;padding:70px 20px 110px;color:var(--muted)}.empty-state__icon{font-size:48px;color:#414b57}.empty-state h2{color:var(--text)}footer{display:flex;justify-content:space-between;gap:20px;color:#68737f;border-top:1px solid var(--line);padding:24px 0 38px;font-size:12px}
.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.75);backdrop-filter:blur(7px);display:grid;place-items:center;padding:20px}.modal{width:min(1040px,100%);max-height:min(860px,calc(100vh - 40px));overflow:auto;background:#0d1116;border:1px solid #303944;border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.65);display:grid;grid-template-columns:minmax(330px,.95fr) 1.25fr;position:relative}.modal-close{position:absolute;right:15px;top:15px;z-index:3;width:42px;height:42px;border-radius:13px;border:1px solid #313a45;background:rgba(10,13,17,.9);color:white;font-size:25px;cursor:pointer}.modal__media{position:sticky;top:0;align-self:start;min-height:520px;height:100%;background:radial-gradient(circle at 50% 36%,#252d38,#0a0d11 72%);display:grid;place-items:center;overflow:hidden}.modal__media img{width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 25px 25px rgba(0,0,0,.38))}.modal-image-fallback{width:100%;height:100%;min-height:520px;display:grid;place-items:center;color:#536070;font-size:70px}.modal__content{padding:38px}.modal__topline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(231,162,59,.11);color:var(--accent-2);font-size:12px;font-weight:700}.modal h2{font-size:38px;line-height:1;margin:16px 0 12px;letter-spacing:-.04em}.modal-description{color:var(--muted);line-height:1.55}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:22px 0}.spec{padding:13px 14px;border:1px solid #222a34;background:#11161c;border-radius:12px}.spec span{color:var(--muted);display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.spec strong{display:block;margin-top:5px}.detail-section{margin-top:24px}.detail-section h3{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#c4ccd4}.recipe-list{display:grid;gap:8px}.recipe-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:10px 12px;border:1px solid #232b34;border-radius:12px;background:#11161c}.recipe-row img,.recipe-row .ingredient-letter{width:28px;height:28px}.recipe-row small{color:var(--muted)}.recipe-amount{font-weight:800;color:var(--accent-2)}.storage-callout,.function-callout{padding:14px 15px;border-radius:12px;background:rgba(127,214,165,.07);border:1px solid rgba(127,214,165,.2);color:#cde8d9}.function-callout{background:rgba(231,162,59,.08);border-color:rgba(231,162,59,.2);color:#f0d6ab}.tech-details{margin-top:24px;border-top:1px solid #232a33;padding-top:18px;color:var(--muted)}.tech-details summary{cursor:pointer}.tech-details dl{margin:14px 0 0}.tech-details dl div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:6px 0}.tech-details dt{color:#707b87}.tech-details dd{margin:0;color:#aeb8c2;overflow-wrap:anywhere}
@media(max-width:850px){.hero__row{align-items:flex-start;flex-direction:column}.hero__stats{width:100%}.hero__stats>div{flex:1}.toolbar__row{align-items:flex-start;flex-direction:column}.toolbar__actions{width:100%}.toolbar__actions select,.secondary-btn{flex:1}.modal{grid-template-columns:1fr}.modal__media{position:relative;min-height:340px;height:340px}.modal-image-fallback{min-height:340px}.modal__content{padding:28px 22px}.modal h2{font-size:30px}}
@media(max-width:560px){.page-shell{width:min(100% - 20px,1520px)}.hero{padding-top:30px}.hero p{font-size:15px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card__body{padding:12px}.card h2{font-size:15px}.card__specs{grid-template-columns:1fr}.recipe-preview{display:none}.card__media{aspect-ratio:1/1}.category{font-size:10px}.hero__stats span{font-size:10px}.advanced-filters{align-items:flex-start;flex-direction:column}.modal-backdrop{padding:8px}.modal{max-height:calc(100vh - 16px);border-radius:18px}.spec-grid{grid-template-columns:1fr 1fr}.tech-details dl div{grid-template-columns:1fr;gap:2px}footer{flex-direction:column}}

/* Exact GTA V object previews */
.card__media .object-preview{width:100%;height:100%;object-fit:contain;filter:none;background:#11151b}
.card-image-fallback{position:absolute;inset:0}
.original-badge{position:absolute;right:12px;bottom:12px;padding:5px 8px;border-radius:8px;background:rgba(8,10,13,.8);border:1px solid rgba(255,255,255,.12);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d9e0e7;backdrop-filter:blur(8px)}
.modal-original-badge{right:18px;bottom:18px;top:auto;left:auto}
.modal__media #modalImage{width:100%;height:100%;object-fit:contain;filter:none;background:#11151b}
@media(max-width:560px){.original-badge{right:8px;bottom:8px;font-size:8px;padding:4px 6px}}
