:root{
  --bg:#f6f7fb;
  --paper:#ffffff;
  --paper2:#f0f4ff;
  --ink:#182033;
  --muted:#5b6478;
  --line:#d9e1ef;
  --blue:#2563eb;
  --blue2:#1d4ed8;
  --gold:#b7791f;
  --green:#15803d;
  --red:#b91c1c;
  --orange:#c2410c;
  --shadow:0 10px 28px rgba(18,32,51,.10);
}
*{box-sizing:border-box;min-width:0}
html,body{margin:0;max-width:100%;overflow-x:hidden;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);box-shadow:0 2px 12px rgba(18,32,51,.06)}
.top-inner{max-width:1480px;margin:auto;display:flex;align-items:center;gap:14px;padding:12px 18px}
.brand{display:flex;gap:10px;align-items:center;flex:1;color:var(--ink)}
.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#2563eb,#93c5fd);color:white;font-weight:900;border:1px solid #bfdbfe}
.brand small{display:block;color:var(--muted)}
.nav{display:flex;gap:8px;flex-wrap:wrap}
.nav a{padding:8px 11px;border-radius:999px;color:var(--ink)}
.nav a:hover,.nav a.active,.cart-pill{background:#eff6ff;color:var(--blue)}
.menu{display:none;background:transparent;border:0;color:var(--ink);font-size:24px}
.page{max-width:1480px;margin:auto;padding:22px;display:grid;gap:18px}
.hero,.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#eef6ff)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--blue);font-weight:900}
h1{font-size:clamp(32px,4.6vw,56px);line-height:1.04;margin:8px 0;color:var(--ink)}
h2,h3{color:var(--ink)}
p{color:var(--muted);line-height:1.45}
.toolbar{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
input,select,textarea{width:100%;padding:11px;border-radius:10px;border:1px solid var(--line);background:white;color:var(--ink)}
textarea{min-height:96px}
.grid,.set-grid,.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card,.set-card,.product-card,.cart-row,.tool-card,.readme-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}
.card-img,.product-img,.set-img{width:100%;height:330px;object-fit:contain;background:#f8fafc;padding:8px;border-bottom:1px solid var(--line)}
.set-img{object-fit:cover}
.card-body,.set-body,.product-body,.tool-card,.readme-card{padding:14px}
.card h3,.set-card h3,.product-card h3{color:var(--ink);margin:8px 0}
.meta{display:flex;flex-wrap:wrap;gap:5px}
.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:#eef2ff;border:1px solid #dbeafe;color:#1e3a8a;margin:2px}
.badge.auth,.badge.ok{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.badge.out,.badge.no{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.badge.warn,.badge.gold{background:#fef3c7;color:#92400e;border-color:#fde68a}
.badge.creator{background:#f3e8ff;color:#6b21a8;border-color:#e9d5ff}
.badge.grade{background:#e0f2fe;color:#075985;border-color:#bae6fd}
.primary,.secondary,.danger,.light{border:0;border-radius:999px;padding:11px 16px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin:3px}
.primary,button:not(.secondary):not(.danger):not(.menu):not(.light){background:var(--blue);color:white}
.primary:hover,button:not(.secondary):not(.danger):not(.menu):not(.light):hover{background:var(--blue2)}
.secondary,.light{background:white;border:1px solid var(--line);color:var(--ink)}
.danger{background:var(--red);color:white}
button:disabled{opacity:.55;cursor:not-allowed}
.actions,.card-actions,.links,.row-actions{display:flex;gap:8px;flex-wrap:wrap}
.notice,.fake-file-note{border:1px solid #fde68a;background:#fffbeb;border-radius:14px;padding:14px;color:#78350f}
.form-grid,.editor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.full{grid-column:1/-1}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.stats span{display:block;background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--muted)}
.stats b{display:block;color:var(--blue);font-size:28px}
.cart-list{display:grid;gap:12px}
.cart-row{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:14px}
.cart-row img{width:110px;height:150px;object-fit:contain;background:#f8fafc;border-radius:12px;border:1px solid var(--line)}
.cart-row-wide{grid-template-columns:130px 1fr}
.pack-expanded{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;margin-top:10px}
.mini-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.mini-card{display:grid;grid-template-columns:60px 1fr;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px;background:#f8fafc}
.mini-card img{width:60px;height:80px;object-fit:contain}
.qty-control{display:grid;grid-template-columns:42px 1fr 42px;gap:6px;align-items:center;margin-top:8px}
.qty-control strong{text-align:center;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px}
.selected-card{outline:3px solid #93c5fd}
.empty{text-align:center;padding:28px;border:1px solid var(--line);border-radius:18px;color:var(--muted);background:white}
.detail{display:grid;grid-template-columns:minmax(280px,440px) 1fr;gap:22px;background:white;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:var(--shadow)}
.gallery{display:grid;gap:10px}
.main-img{width:100%;max-height:720px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:#f8fafc}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumbs img{width:72px;height:96px;object-fit:contain;background:#f8fafc;border:1px solid var(--line);border-radius:10px;cursor:pointer}
.kv{display:grid;grid-template-columns:170px 1fr;gap:8px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#f8fafc}
.kv b{color:#334155}
.value-line{font-size:14px;color:var(--muted)}
.price-line{font-size:19px;color:var(--blue);font-weight:900}
.admin-tools{border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:14px;margin-top:12px}
.admin-card-view{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:18px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:#111827;color:#fff;padding:12px 18px;border-radius:999px;z-index:400;opacity:0;pointer-events:none;transition:.2s}
.toast.show{opacity:1}
.table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.table th,.table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;color:var(--ink)}
footer{text-align:center;color:var(--muted);padding:30px}
@media(max-width:900px){
  .top-inner{display:grid;grid-template-columns:1fr auto}
  .menu{display:block}
  .nav{display:none;grid-column:1/-1;overflow-x:auto;white-space:nowrap}
  .nav.open{display:flex}
  .page{padding:12px}
  .hero,.toolbar,.form-grid,.editor-grid,.detail,.admin-card-view{grid-template-columns:1fr}
  .grid,.set-grid,.tool-grid{grid-template-columns:1fr}
  .card-img,.product-img,.set-img{height:360px}
  .kv{grid-template-columns:1fr}
  .cart-row,.cart-row-wide{grid-template-columns:1fr}
  .cart-row img{width:100%;height:220px}
}
/* v2 improvements */
.view-btn,.request-btn,.cart-btn,.tool-btn{border:0;border-radius:14px;padding:11px 15px;font-weight:900;display:inline-flex;align-items:center;gap:8px;justify-content:center;box-shadow:0 6px 16px rgba(37,99,235,.14);transition:.15s}
.view-btn{background:#eef2ff;color:#1e3a8a;border:1px solid #c7d2fe}
.view-btn:hover{background:#e0e7ff;transform:translateY(-1px)}
.request-btn{background:linear-gradient(135deg,#2563eb,#0ea5e9);color:white}
.request-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.cart-btn{background:linear-gradient(135deg,#16a34a,#22c55e);color:white}
.cart-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.tool-btn{background:linear-gradient(135deg,#f59e0b,#f97316);color:white}
.tool-btn:hover{filter:brightness(.96);transform:translateY(-1px)}
.disabled-action{background:#f1f5f9;color:#64748b;border:1px dashed #cbd5e1;box-shadow:none}
.set-tools{border:1px solid #bfdbfe;background:#eff6ff;border-radius:16px;padding:14px;margin:12px 0}
.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.export-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.export-card h3{margin-top:0}
.file-location{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f8fafc;border:1px solid var(--line);border-radius:10px;padding:10px;color:#334155;overflow:auto}
.status-banner{border-radius:16px;padding:15px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a;margin:12px 0}
.status-banner.off{border-color:#fecaca;background:#fee2e2;color:#991b1b}
.card-inline-tools{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;background:#f8fafc;border-radius:12px;padding:12px}
.small-note{font-size:13px;color:var(--muted)}
