:root {
  --bg: #f7f7fb;
  --surface: #ffffff;
  --ink: #16151f;
  --ink-soft: #55536b;
  --muted: #8a889f;
  --border: #e7e6f0;
  --accent: #6c5ce7;
  --accent-dark: #5849c2;
  --accent-soft: #efecfe;
  --success: #17924f;
  --success-bg: #e7f8ee;
  --error: #c23b3b;
  --error-bg: #fdecec;
  --radius: 14px;
  --shadow: 0 2px 8px rgba(22, 21, 31, 0.06), 0 1px 2px rgba(22, 21, 31, 0.04);
  --shadow-lg: 0 16px 40px rgba(22, 21, 31, 0.14);
  font-synthesis: none;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

h1, h2, h3, h4 { margin: 0 0 8px; font-weight: 700; letter-spacing: -0.01em; }
p { margin: 0 0 12px; }
.muted { color: var(--muted); }

/* ---------- header ---------- */
.site-header {
  background: #131120;
  color: #fff;
  position: sticky;
  top: 0;
  z-index: 50;
}
.header-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  height: 68px;
  flex-wrap: wrap;
}
.logo {
  font-size: 20px;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  white-space: nowrap;
}
.logo-cube { color: var(--accent); font-size: 18px; }
.header-search {
  flex: 1;
  display: flex;
  max-width: 480px;
}
.header-search input {
  flex: 1;
  border: none;
  border-radius: 8px 0 0 8px;
  padding: 10px 14px;
  font-size: 14px;
  background: rgba(255,255,255,0.08);
  color: #fff;
}
.header-search input::placeholder { color: #a9a7c0; }
.header-search input:focus { outline: none; background: rgba(255,255,255,0.14); }
.header-search button {
  border: none;
  background: var(--accent);
  color: #fff;
  padding: 0 18px;
  border-radius: 0 8px 8px 0;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
}
.header-search button:hover { background: var(--accent-dark); }
.header-nav {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}
.header-nav a { color: #d6d4e6; transition: color .15s; }
.header-nav a:hover { color: #fff; }
.cart-link { position: relative; }
.cart-badge {
  position: absolute;
  top: -8px; right: -14px;
  background: var(--accent);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 10px;
}
.user-chip {
  width: 30px; height: 30px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #fff; font-size: 13px;
}
.btn-primary, .btn-ghost, .btn-secondary {
  padding: 9px 16px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 14px;
  border: 1px solid transparent;
  cursor: pointer;
  display: inline-block;
}
.btn-primary { background: var(--accent); color: #fff; }
.btn-primary:hover { background: var(--accent-dark); }
.btn-ghost { background: transparent; color: #d6d4e6; border-color: rgba(255,255,255,0.2); }
.btn-ghost:hover { border-color: #fff; color: #fff; }
.btn-secondary { background: var(--accent-soft); color: var(--accent-dark); }
.btn-secondary:hover { background: #e2dcfc; }
.btn-block { width: 100%; text-align: center; }
.btn-danger { background: var(--error-bg); color: var(--error); border: 1px solid #f3caca; }
.btn-danger:hover { background: #fadede; }
button.btn-primary, button.btn-secondary, button.btn-danger, button.btn-ghost { font-family: inherit; }

/* ---------- flash ---------- */
.flash-wrap { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.flash {
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 500;
}
.flash-success { background: var(--success-bg); color: var(--success); }
.flash-error { background: var(--error-bg); color: var(--error); }

/* ---------- hero ---------- */
.hero {
  background: radial-gradient(circle at 15% 20%, #241f47 0%, #131120 55%, #0d0c17 100%);
  color: #fff;
  padding: 72px 0 88px;
  position: relative;
  overflow: hidden;
}
.hero::after {
  content: "";
  position: absolute;
  right: -120px; top: -80px;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(108,92,231,0.35), transparent 70%);
}
.hero-inner { position: relative; z-index: 1; max-width: 640px; }
.hero h1 { font-size: 42px; line-height: 1.15; margin-bottom: 16px; }
.hero p { color: #c9c7dd; font-size: 17px; margin-bottom: 28px; }
.hero-actions { display: flex; gap: 12px; margin-bottom: 40px; flex-wrap: wrap; }
.hero-stats { display: flex; gap: 32px; }
.hero-stat b { display: block; font-size: 24px; }
.hero-stat span { color: #a9a7c0; font-size: 13px; }

.categories-strip {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 28px 0 8px;
}
.category-pill {
  flex: 0 0 auto;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 14px;
  font-weight: 600;
  display: flex; align-items: center; gap: 8px;
  box-shadow: var(--shadow);
}
.category-pill:hover { border-color: var(--accent); color: var(--accent-dark); }

/* ---------- sections ---------- */
section.section { padding: 44px 0; }
.section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 20px;
}
.section-head h2 { font-size: 24px; }
.section-head a.section-link { color: var(--accent); font-weight: 600; font-size: 14px; }

/* ---------- product grid & cards ---------- */
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.product-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: transform .15s, box-shadow .15s;
  display: flex;
  flex-direction: column;
}
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.product-thumb {
  aspect-ratio: 4/3;
  width: 100%;
  object-fit: cover;
  background: linear-gradient(135deg, #ece9fb, #f7f7fb);
}
.product-card-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.product-format {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--accent-dark);
  background: var(--accent-soft);
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  width: fit-content;
}
.product-title { font-size: 15px; font-weight: 700; line-height: 1.3; }
.product-seller { font-size: 13px; color: var(--muted); }
.product-card-foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 8px;
}
.product-price { font-size: 17px; font-weight: 800; }

/* ---------- filters / catalog ---------- */
.catalog-layout { display: grid; grid-template-columns: 240px 1fr; gap: 32px; padding: 32px 0 64px; }
.filters { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; height: fit-content; }
.filters h3 { font-size: 15px; margin-bottom: 14px; }
.filter-group { margin-bottom: 20px; }
.filter-group label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--ink-soft); }
.filter-cat-list { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.filter-cat-list a { padding: 6px 8px; border-radius: 6px; }
.filter-cat-list a.active, .filter-cat-list a:hover { background: var(--accent-soft); color: var(--accent-dark); }
.price-row { display: flex; gap: 8px; }
.price-row input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 13px;
}
.catalog-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.catalog-toolbar select {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--border);
  font-size: 13px;
}
.result-count { font-size: 14px; color: var(--muted); }
.empty-state { text-align: center; padding: 60px 20px; color: var(--muted); }

/* ---------- forms ---------- */
.form-page { max-width: 460px; margin: 48px auto; padding: 0 24px 48px; }
.form-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 32px; box-shadow: var(--shadow); }
.form-card h1 { font-size: 22px; margin-bottom: 4px; }
.form-card .sub { color: var(--muted); font-size: 14px; margin-bottom: 24px; }
.field { margin-bottom: 16px; }
.field label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.field input, .field textarea, .field select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  background: #fff;
}
.field input:focus, .field textarea:focus, .field select:focus { outline: 2px solid var(--accent-soft); border-color: var(--accent); }
.field-check { display: flex; align-items: center; gap: 8px; font-size: 14px; }
.field-check input { width: auto; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-foot { margin-top: 18px; text-align: center; font-size: 14px; color: var(--muted); }
.help-text { font-size: 12px; color: var(--muted); margin-top: 4px; }

/* ---------- wide form (upload) ---------- */
.wide-form-page { max-width: 720px; margin: 0 auto; padding: 40px 24px 64px; }

/* ---------- product detail ---------- */
.pd-layout { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; padding: 36px 0 60px; }
.pd-media img {
  width: 100%;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  aspect-ratio: 4/3;
  object-fit: cover;
  background: linear-gradient(135deg, #ece9fb, #f7f7fb);
}
.pd-info .product-format { margin-bottom: 10px; }
.pd-info h1 { font-size: 28px; margin-bottom: 10px; }
.pd-meta { display: flex; gap: 18px; color: var(--muted); font-size: 14px; margin-bottom: 18px; }
.pd-price { font-size: 30px; font-weight: 800; margin: 18px 0; }
.pd-actions { display: flex; gap: 12px; margin-bottom: 26px; }
.pd-seller {
  display: flex; align-items: center; gap: 12px;
  padding: 14px; border: 1px solid var(--border); border-radius: 12px; margin-bottom: 22px;
}
.pd-seller .user-chip { width: 40px; height: 40px; font-size: 16px; }
.pd-seller-name { font-weight: 700; font-size: 14px; }
.pd-seller-bio { font-size: 13px; color: var(--muted); }
.pd-desc h3 { font-size: 15px; margin-bottom: 8px; }
.pd-desc p { color: var(--ink-soft); white-space: pre-line; }
.badge-owned { background: var(--success-bg); color: var(--success); padding: 8px 12px; border-radius: 8px; font-weight: 600; font-size: 13px; display: inline-block; margin-bottom: 16px; }

/* ---------- cart / checkout ---------- */
.cart-layout { display: grid; grid-template-columns: 1fr 340px; gap: 32px; padding: 36px 0 64px; align-items: start; }
.cart-item {
  display: flex; gap: 14px; align-items: center;
  padding: 14px; background: var(--surface); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 12px;
}
.cart-item img { width: 84px; height: 64px; object-fit: cover; border-radius: 8px; background: var(--accent-soft); }
.cart-item-info { flex: 1; }
.cart-item-title { font-weight: 700; font-size: 14px; }
.cart-item-seller { font-size: 12px; color: var(--muted); }
.cart-item-price { font-weight: 800; font-size: 15px; }
.summary-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px;
  position: sticky; top: 88px;
}
.summary-row { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 10px; color: var(--ink-soft); }
.summary-total { display: flex; justify-content: space-between; font-size: 18px; font-weight: 800; padding-top: 12px; border-top: 1px solid var(--border); margin-bottom: 18px; }

/* ---------- tables ---------- */
.table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.table th, .table td { padding: 12px 16px; text-align: left; font-size: 14px; border-bottom: 1px solid var(--border); }
.table th { background: #faf9ff; font-weight: 700; color: var(--ink-soft); font-size: 12px; text-transform: uppercase; letter-spacing: .03em; }
.table tr:last-child td { border-bottom: none; }
.table td.num { font-weight: 700; }

/* ---------- dashboard ---------- */
.dash-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 32px; }
.stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px; }
.stat-card b { font-size: 26px; display: block; }
.stat-card span { color: var(--muted); font-size: 13px; }
.dash-tabs { display: flex; gap: 8px; margin-bottom: 20px; }
.status-pill { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status-active { background: var(--success-bg); color: var(--success); }
.status-inactive { background: #eee; color: #888; }
.row-actions { display: flex; gap: 8px; }
.row-actions form { display: inline; }

/* ---------- misc ---------- */
.page-head { padding: 40px 0 8px; }
.page-head h1 { font-size: 28px; }
.center-page { text-align: center; padding: 80px 24px; }
.divider { height: 1px; background: var(--border); margin: 28px 0; }

.site-footer { background: #131120; color: #d6d4e6; margin-top: 60px; padding: 48px 0 28px; }
.footer-inner { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 32px; align-items: start; }
.site-footer .logo { color: #fff; margin-bottom: 8px; }
.site-footer h4 { font-size: 14px; margin-bottom: 10px; }
.footer-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.footer-list a { color: #a9a7c0; }
.footer-list a:hover { color: #fff; }
.footer-note { align-self: end; font-size: 12px; white-space: nowrap; }

/* ---------- responsive ---------- */
@media (max-width: 980px) {
  .product-grid { grid-template-columns: repeat(3, 1fr); }
  .pd-layout { grid-template-columns: 1fr; }
  .cart-layout { grid-template-columns: 1fr; }
  .catalog-layout { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
  .header-search { display: none; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .dash-stats { grid-template-columns: 1fr; }
  .hero h1 { font-size: 30px; }
  .field-row { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .product-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .header-inner { height: auto; padding: 10px 16px; }
  .header-nav { gap: 8px 10px; font-size: 12.5px; flex-wrap: wrap; width: 100%; padding-top: 8px; }
  .btn-primary, .btn-ghost { padding: 7px 12px; }
}

/* ================= v2 additions ================= */

.inline-form { display: inline; }
.inline-form .btn-ghost { font-family: inherit; }

/* rating stars */
.stars { color: #f5a623; letter-spacing: 1px; font-size: 15px; }
.stars .off { color: #d8d7e4; }
.rating-line { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--muted); }

/* gallery */
.pd-gallery-thumbs {
  display: flex; gap: 10px; margin-top: 12px; padding: 2px 0 6px;
  flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin;
}
.pd-gallery-thumbs img {
  width: 88px; height: 88px; flex: 0 0 88px; object-fit: cover; border-radius: 10px;
  border: 2px solid transparent; cursor: zoom-in; background: var(--surface);
}
.pd-gallery-thumbs img:hover { border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.pd-gallery-thumbs img.active { border-color: var(--accent); }
.pd-main-image-viewer-fallback[hidden] { display: none !important; }
.cart-state-actions[hidden], form[data-cart-add][hidden] { display: none !important; }

/* specs table */
.specs { width: 100%; border-collapse: collapse; margin: 16px 0 22px; font-size: 14px; }
.specs td { padding: 7px 0; border-bottom: 1px dashed var(--border); }
.specs td:first-child { color: var(--muted); width: 45%; }

/* reviews */
.review { border: 1px solid var(--border); border-radius: 12px; padding: 16px; margin-bottom: 12px; background: var(--surface); }
.review-head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.review-head .user-chip { width: 30px; height: 30px; font-size: 13px; }
.review-name { font-weight: 700; font-size: 14px; }
.review-date { font-size: 12px; color: var(--muted); }
.review-text { font-size: 14px; color: var(--ink-soft); }
.review-form select { width: auto; }

/* favorite button */
.btn-fav { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 9px 14px; cursor: pointer; font-size: 15px; }
.btn-fav.active { color: #e0245e; border-color: #f3c2d2; background: #fdf0f5; }

/* pagination */
.pagination { display: flex; gap: 8px; justify-content: center; margin: 28px 0; align-items: center; }
.pagination a, .pagination span.cur {
  padding: 8px 14px; border-radius: 8px; border: 1px solid var(--border); background: var(--surface);
  font-size: 14px; font-weight: 600;
}
.pagination span.cur { background: var(--accent); color: #fff; border-color: var(--accent); }
.pagination .muted { font-size: 13px; }

/* status pills, extended */
.status-pending { background: #fff4e0; color: #b07300; }
.status-rejected { background: var(--error-bg); color: var(--error); }
.status-draft { background: #eee; color: #777; }
.status-paid { background: var(--success-bg); color: var(--success); }
.status-cancelled { background: #eee; color: #888; }
.status-requested { background: #fff4e0; color: #b07300; }

/* tabs */
.tabs { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.tabs a {
  padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 600;
  border: 1px solid var(--border); background: var(--surface); color: var(--ink-soft);
}
.tabs a.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.tabs .count { opacity: .75; font-weight: 400; }

/* admin layout */
.admin-layout { display: grid; grid-template-columns: 220px 1fr; gap: 28px; padding: 32px 0 64px; align-items: start; }
.admin-nav { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; position: sticky; top: 88px; }
.admin-nav a { display: flex; justify-content: space-between; align-items: center; padding: 9px 12px; border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--ink-soft); }
.admin-nav a.active, .admin-nav a:hover { background: var(--accent-soft); color: var(--accent-dark); }
.admin-nav .nav-badge { background: var(--error); color: #fff; border-radius: 10px; font-size: 11px; padding: 1px 7px; font-weight: 700; }
.admin-nav .nav-sep { height: 1px; background: var(--border); margin: 8px 4px; }

/* admin table niceties */
.table .small { font-size: 12px; color: var(--muted); }
.table form { display: inline; }
.filter-bar { display: flex; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.filter-bar input, .filter-bar select { padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; font-size: 14px; }

/* settings form */
.settings-form .field { max-width: 560px; }
.settings-form textarea { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; }

/* checkbox rows */
.check-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; font-size: 14px; }
.check-row input { width: auto; }

/* image manage grid */
.img-manage { display: flex; gap: 12px; flex-wrap: wrap; margin: 8px 0 16px; }
.img-manage .img-cell { position: relative; }
.img-manage img { width: 120px; height: 90px; object-fit: cover; border-radius: 8px; border: 1px solid var(--border); }
.img-manage .btn-danger { position: absolute; top: 4px; right: 4px; padding: 2px 8px; font-size: 12px; }

/* seller balance card */
.balance-card { background: linear-gradient(120deg, #241f47, #131120); color: #fff; border-radius: var(--radius); padding: 22px; }
.balance-card b { font-size: 30px; display: block; }
.balance-card span { color: #a9a7c0; font-size: 13px; }
.balance-card form { margin-top: 14px; display: flex; flex-direction: column; gap: 8px; }
.balance-card input { padding: 9px 12px; border-radius: 8px; border: none; font-size: 14px; }

/* alert blocks */
.note { background: var(--accent-soft); border-radius: 10px; padding: 12px 16px; font-size: 14px; color: var(--accent-dark); margin-bottom: 16px; }
.note-warn { background: #fff4e0; color: #8a5a00; }

/* breadcrumbs */
.crumbs { font-size: 13px; color: var(--muted); padding: 20px 0 0; }
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--accent); }

@media (max-width: 900px) {
  .admin-layout { grid-template-columns: 1fr; }
  .admin-nav { position: static; display: flex; flex-wrap: wrap; gap: 4px; }
  .admin-nav .nav-sep { display: none; }
}
.account-menu{position:relative}.account-menu summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-dropdown{position:absolute;right:0;top:calc(100% + 12px);z-index:50;width:220px;background:#fff;border:1px solid #e7e2ef;border-radius:14px;padding:8px;box-shadow:0 18px 50px rgba(26,18,43,.16)}.account-dropdown a,.account-dropdown button{display:block;width:100%;padding:10px 12px;border-radius:9px;border:0;background:none;text-align:left;color:#302a38;font:inherit}.account-dropdown a:hover,.account-dropdown button:hover{background:#f4f1fa}.account-dropdown form{margin:0;border-top:1px solid #eee8f4;padding-top:6px;margin-top:5px}
.avatar-settings{display:flex;gap:16px;align-items:center}.avatar-preview{width:86px;height:86px;min-width:86px;max-width:86px;aspect-ratio:1/1;flex:0 0 86px;border-radius:50%;object-fit:cover;object-position:center;overflow:hidden;display:grid;place-items:center;font-size:28px;color:#fff}.user-chip-img{width:34px;height:34px;min-width:34px;max-width:34px;aspect-ratio:1/1;flex:0 0 34px;border-radius:50%;object-fit:cover;object-position:center;overflow:hidden}.creator-avatar-img{object-fit:cover}.notice-actions,.inline-actions{display:flex;gap:8px;align-items:center}.notice-main{display:grid;gap:4px;flex:1}.notice-type{font-size:11px;font-weight:800;text-transform:uppercase;color:#6c5ce7}.info-banner{padding:18px 22px;border-radius:16px;background:#f0ecff;margin:18px 0 24px}.menu-count{float:right}.collection-add{display:flex;gap:8px;margin:14px 0}.small-note{font-size:13px}

/* MeshCave 2.8 — UX fixes */
.cart-state-actions{display:flex;align-items:center;gap:8px}.btn-cart-added{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:10px;background:#1f9d63;color:#fff;font-weight:800}.btn-cart-remove{width:44px;height:44px;border:0;border-radius:10px;background:#eaf8f1;color:#147b4d;font-size:26px;line-height:1;cursor:pointer}.btn-cart-remove:hover{background:#d8f1e4}.password-field-wrap{position:relative}.password-field-wrap>input{padding-right:48px!important}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:17px}.password-toggle:hover,.password-toggle.active{background:var(--accent-soft);color:var(--accent)}.autofill-trap{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.reset-sent-card{text-align:center;max-width:560px}.reset-sent-icon{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e9f9f0;color:#168553;font-size:34px}.reset-sent-lead{font-size:18px;line-height:1.55}.reset-sent-note{margin:22px 0;padding:16px;border-radius:12px;background:var(--accent-soft);color:var(--muted)}.reset-sent-repeat{display:inline-block;margin-top:16px;color:var(--accent);font-weight:700}.account-settings-container>.dash-tabs{margin-top:30px}.avatar-editor{display:grid;grid-template-columns:180px minmax(0,1fr);gap:22px;align-items:start}.avatar-crop-frame{width:180px;height:180px;position:relative;overflow:hidden;border-radius:50%;background:#ece9f5;cursor:grab;touch-action:none;box-shadow:inset 0 0 0 3px rgba(255,255,255,.8),0 8px 26px rgba(45,34,85,.12)}.avatar-crop-frame.dragging{cursor:grabbing}.avatar-crop-frame>img{position:absolute;width:100%;height:100%;object-fit:cover;transform-origin:center;user-select:none;pointer-events:none}.avatar-crop-frame .avatar-preview{width:100%;height:100%;min-width:0;max-width:none;display:grid;border-radius:50%}.avatar-editor-controls{display:grid;gap:12px}.avatar-file-button{width:max-content;cursor:pointer}.avatar-tune-controls{display:grid;gap:8px;padding:12px;border-radius:12px;background:#f7f5fb}.avatar-tune-controls label{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center}.avatar-tune-controls input[type=range]{width:100%}.avatar-remove-button{width:max-content;color:#b33232}.pd-media #pd-main-image{cursor:zoom-in;user-select:none}.image-lightbox[hidden]{display:none}.image-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(9,7,14,.94);display:grid;place-items:center;padding:32px}.image-lightbox img{max-width:min(94vw,1500px);max-height:90vh;object-fit:contain;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.5)}.lightbox-open{overflow:hidden}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;border:0;color:#fff;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center}.lightbox-close{right:22px;top:22px;width:48px;height:48px;border-radius:50%;font-size:30px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:54px;height:74px;border-radius:14px;font-size:44px}.lightbox-prev{left:22px}.lightbox-next{right:22px}.upload-progress{margin:18px 0;padding:18px;border:2px solid #7657f5;border-radius:16px;background:linear-gradient(135deg,#f3efff,#fff);box-shadow:0 12px 34px rgba(97,70,210,.14)}.upload-progress-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.upload-progress-head strong{font-size:22px;color:#5b3bd6}.upload-progress-track{height:16px;border-radius:999px;background:#ddd5ff;overflow:hidden}.upload-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#6b4deb,#9a72ff);transition:width .18s ease}.upload-progress small{display:block;margin-top:10px;color:#696178}.upload-progress.complete{border-color:#23a86b;background:#effbf5}.upload-progress.complete .upload-progress-track i{background:#23a86b}.upload-progress.complete .upload-progress-head strong{color:#188553}.upload-progress.error{border-color:#d84c4c;background:#fff1f1}.upload-progress.error .upload-progress-track i{background:#d84c4c}.upload-progress.error .upload-progress-head strong{color:#b32e2e}
@media(max-width:620px){.avatar-editor{grid-template-columns:1fr}.avatar-crop-frame{margin:auto}.image-lightbox{padding:18px}.lightbox-prev,.lightbox-next{width:42px;height:58px}.lightbox-prev{left:8px}.lightbox-next{right:8px}}

/* MeshCave 2.9 Marketplace */
.product-card-media{position:relative}.card-badges{position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap}.market-badge{padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800;color:#fff;box-shadow:0 4px 14px rgba(0,0,0,.18)}.market-badge.editor{background:#6c5ce7}.market-badge.free{background:#18a66a}.market-badge.sale{background:#e94b64}.old-price{display:block;text-decoration:line-through;color:var(--muted);font-weight:500;font-size:12px}.creator-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:18px 0 34px}.creator-mini{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:inherit;text-decoration:none}.creator-mini img,.creator-mini>span{width:48px;height:48px;border-radius:50%;object-fit:cover;display:grid;place-items:center;color:#fff;font-weight:800}.creator-mini div{display:grid;gap:3px}.creator-mini small{color:var(--muted)}.version-list{display:grid;gap:10px}.version-row{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.version-row small{color:var(--muted)}
/* MeshCave 3.0 */
.viewer-card{margin-bottom:16px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#0f1117}.viewer-toolbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border)}.viewer-badge{margin-right:auto;font-size:12px;font-weight:700;color:#68e39c}.viewer-tool{border:1px solid var(--border);background:#171a22;color:var(--text);border-radius:9px;padding:7px 10px;cursor:pointer}.viewer-tool.active{background:#245c3b;border-color:#3c9f66}.viewer-card model-viewer{display:block;width:100%;height:460px;background:radial-gradient(circle at 50% 40%,#232837,#0e1016)}.viewer-loading{display:grid;place-items:center;height:100%;font-weight:700}.viewer-card:fullscreen model-viewer{height:calc(100vh - 52px)}.verified-badge{display:inline-flex;align-items:center;gap:4px;color:#68e39c;font-size:12px;font-weight:700}.ip-ban-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ip-ban-form input{max-width:90px}.danger-zone{display:flex;gap:8px;flex-wrap:wrap}.categories-strip{overflow:visible;flex-wrap:wrap}.category-all{border-style:dashed}
@media(max-width:760px){.viewer-card model-viewer{height:340px}.viewer-toolbar{flex-wrap:wrap}.viewer-badge{width:100%}}

/* MeshCave 3.1.1 — browser FBX/OBJ/GLB viewer */
.asset-viewer-card{margin-bottom:16px;border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#0f1117;box-shadow:0 18px 50px rgba(0,0,0,.2)}
.asset-viewer-toolbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--border);background:#12151c;min-height:50px}
.asset-viewer-stats{font:12px/1.3 ui-monospace,Consolas,monospace;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46%}.asset-viewer-stats:empty{display:none}
.asset-viewer-spacer{flex:1}
.asset-viewer-viewport{position:relative;width:100%;height:500px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#252c3a,#0e1016)}
.asset-viewer-viewport canvas{display:block;width:100%;height:100%}
.asset-viewer-poster{position:absolute;inset:0;z-index:2;display:grid;place-items:center;overflow:hidden;background:#11141b;transition:opacity .25s}
.asset-viewer-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(1px);transform:scale(1.02)}
.asset-viewer-poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,11,16,.48),rgba(9,11,16,.82));backdrop-filter:blur(1px)}
.asset-viewer-start{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:24px;max-width:540px;color:#fff}
.asset-viewer-start b{font-size:22px}.asset-viewer-start span{color:#bcc4d2;line-height:1.5}.asset-viewer-start .btn-primary{margin-top:4px}
.asset-viewer-card.loaded .asset-viewer-poster{opacity:0;pointer-events:none}
.asset-viewer-progress{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:5;width:min(520px,82%);padding:12px 14px;border:1px solid #394153;border-radius:12px;background:rgba(17,20,27,.94);box-shadow:0 10px 35px rgba(0,0,0,.35);color:#dce2ec;font-size:13px}
.asset-viewer-progress-track{height:8px;margin-top:9px;border-radius:99px;background:#282e3a;overflow:hidden}.asset-viewer-progress-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#6d5dfc,#4fc3f7);transition:width .18s ease}
.asset-viewer-status{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:6;display:none;max-width:84%;padding:10px 14px;border:1px solid #394153;border-radius:10px;background:rgba(17,20,27,.95);color:#dce2ec;text-align:center}.asset-viewer-status.show{display:block}.asset-viewer-status.err{color:#ff9a92;border-color:#6f3a3a}.asset-viewer-status.warn{color:#ffd580;border-color:#6d5730}
.asset-viewer-card:fullscreen{border:0;border-radius:0;background:#0f1117}.asset-viewer-card:fullscreen .asset-viewer-viewport{height:calc(100vh - 50px)}
@media(max-width:900px){.asset-viewer-toolbar{flex-wrap:wrap}.asset-viewer-stats{order:3;width:100%;max-width:100%}.asset-viewer-spacer{display:none}.asset-viewer-viewport{height:410px}}
@media(max-width:600px){.asset-viewer-viewport{height:340px}.asset-viewer-toolbar .viewer-tool{padding:6px 8px;font-size:11px}.asset-viewer-start b{font-size:19px}.asset-viewer-start span{font-size:13px}}

/* MeshCave 3.1.3 */
.hidden{display:none!important}

/* MeshCave 3.2.2 — единый стиль вкладок кабинета на всех страницах (ранее пилюли были только в v22.css) */
.dash-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 20px}
.dash-tabs a{padding:10px 15px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--ink-soft)}
.dash-tabs a:hover{border-color:var(--accent);color:var(--accent)}
.dash-tabs a.active{background:#17131f;color:#fff;border-color:#17131f}
/* «Все категории» — в общем ряду, по центру, без отдельной строки */
.categories-strip{justify-content:center}
.category-all{border-style:dashed;color:var(--muted)}
.category-all:hover{color:var(--accent)}

/* MeshCave 3.5.0 — Wishlist Price Tracker */
.wishlist-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wishlist-controls form,.favorite-price-form{margin:0}
.price-watch-btn{height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:1px solid rgba(111,91,222,.32);border-radius:11px;background:linear-gradient(180deg,#fff,#f7f5ff);color:#51466f;font:700 13px/1 inherit;cursor:pointer;box-shadow:0 5px 18px rgba(79,57,155,.07);transition:transform .15s ease,border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}
.price-watch-btn svg{width:18px;height:18px;fill:currentColor;flex:0 0 auto}
.price-watch-btn:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent);box-shadow:0 8px 22px rgba(79,57,155,.13)}
.price-watch-btn.active{border-color:#2c9b68;background:linear-gradient(180deg,#eafaf2,#def6e9);color:#197348;box-shadow:0 7px 20px rgba(31,145,91,.12)}
.price-watch-btn.active:hover{border-color:#197348;color:#11623b}
.price-watch-btn.compact{width:100%;height:38px;border-radius:0 0 12px 12px;border-width:1px 0 0;padding:0 12px;box-shadow:none;background:#faf9ff}
.price-watch-btn.compact.active{background:#ecf9f2}
.favorite-card-wrap{display:flex;flex-direction:column;min-width:0;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--border)}
.favorite-card-wrap>.product-card{border:0;border-radius:0;box-shadow:none;flex:1}
.favorite-card-wrap>.product-card:hover{transform:none;box-shadow:none}
.favorite-product-grid{align-items:stretch}
@media(max-width:620px){.wishlist-controls{width:100%}.price-watch-btn:not(.compact){flex:1}.pd-actions{flex-wrap:wrap}}

/* MeshCave 3.5.1 — local product detail hotfix: price tracker + collections */
.pd-price-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}
.pd-price-row .pd-price{margin:0}
.price-watch-form{margin:0;flex:0 0 auto}
.price-watch-btn.price-watch-inline{height:40px;padding:0 14px;border-radius:10px;white-space:nowrap}
.collection-add{align-items:stretch;margin:14px 0 18px}
.collection-add select{min-width:0;flex:1;padding:11px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink)}
.collection-add-btn,.collection-create-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.collection-empty-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 18px}
@media(max-width:620px){.pd-price-row{align-items:flex-start;flex-direction:column}.price-watch-form,.price-watch-btn.price-watch-inline{width:100%}.collection-add{flex-direction:column}.collection-add-btn{width:100%}}


/* MeshCave 3.6.1: safe creator showcase settings */
.creator-showcase-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}
.creator-showcase-head h3{margin:0 0 4px}
.creator-banner-editor{display:grid;gap:12px}
.creator-banner-preview{width:100%;aspect-ratio:16/4.2;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:linear-gradient(135deg,rgba(108,92,231,.18),rgba(0,206,201,.10));display:flex;align-items:center;justify-content:center;color:var(--muted)}
.creator-banner-preview img{width:100%;height:100%;object-fit:cover;display:block}
.creator-banner-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.creator-banner-file{cursor:pointer}
.creator-link-notice{display:flex;gap:8px;flex-direction:column;padding:13px 14px;margin:18px 0;border:1px solid rgba(0,184,148,.35);border-radius:12px;background:rgba(0,184,148,.08)}
.creator-link-notice span{color:var(--muted);font-size:13px}
.creator-safe-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.creator-safe-links .field{margin:0}
@media(max-width:680px){.creator-showcase-head{flex-direction:column}.creator-safe-links{grid-template-columns:1fr}.creator-banner-preview{aspect-ratio:16/6}}

/* 3.6.2 creator storefront details */
.creator-link-input-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center}
.creator-link-input-row input{min-width:0}
.creator-link-clear{width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);color:var(--muted);font-size:22px;line-height:1;cursor:pointer}
.creator-link-clear:hover{border-color:#d56b78;color:#b43c4e;background:#fff5f6}
.pd-seller-card{display:block;margin-top:18px;border:1px solid var(--border);border-radius:14px;overflow:hidden;color:inherit;text-decoration:none;background:var(--surface,#fff);transition:transform .16s,border-color .16s}
.pd-seller-card:hover{transform:translateY(-1px);border-color:#bfb2ff}
.pd-seller-banner{display:block;width:100%;height:84px;object-fit:cover;object-position:center}
.pd-seller-card .pd-seller{margin:0;border:0;border-radius:0}
@media(max-width:680px){.pd-seller-banner{height:68px}}

/* MeshCave 4.3 Trust Center */
.trust-center-container{max-width:920px}.trust-center-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.trust-score-card{display:grid;grid-template-columns:130px 1fr;gap:24px;align-items:center;padding:24px;margin:20px 0;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,rgba(108,92,231,.13),rgba(0,206,201,.08))}.trust-score-number{font-size:44px;font-weight:800;color:var(--accent)}.trust-score-main h3{margin:0 0 12px}.trust-progress{height:11px;border-radius:999px;background:rgba(120,125,140,.18);overflow:hidden}.trust-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#00b894)}.trust-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}.trust-check{font-size:13px;color:var(--muted)}.trust-check span{display:inline-flex;width:20px;color:#a0a6b2}.trust-check.done{color:var(--ink)}.trust-check.done span{color:#00a878}.trust-check small{color:var(--muted)}.trust-section{margin-bottom:18px}.trust-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.trust-section-head h3{margin:0 0 4px}.trust-status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.trust-status.ok{background:rgba(0,184,148,.12);color:#008a6d}.trust-status.warn{background:rgba(245,166,35,.14);color:#9b6400}.trust-status.neutral{background:rgba(110,116,130,.12);color:var(--muted)}.twofa-setup-grid{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}.twofa-qr{width:220px;height:220px;padding:10px;border-radius:14px;background:#fff;border:1px solid var(--border)}.twofa-secret{padding:10px 12px;margin:10px 0 16px;border:1px dashed var(--border);border-radius:10px;overflow-wrap:anywhere;font-family:monospace}.trust-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.trust-inline-form .field{margin:0}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.recovery-code-grid code{padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2,#f7f8fb);text-align:center;font-size:15px}.trust-session,.trust-event{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--border)}.trust-session>div,.trust-event{min-width:0}.trust-session span,.trust-session small,.trust-event span,.trust-event small{display:block;color:var(--muted);margin-top:3px;font-size:13px}.trust-event{flex-direction:column}.trust-auth-wrap{max-width:520px;padding-top:60px;padding-bottom:80px}.trust-auth-card{text-align:center;padding:34px;border:1px solid var(--border);border-radius:18px;background:var(--surface,#fff)}.trust-auth-card form{margin:22px 0 12px}.trust-auth-icon{font-size:42px;margin-bottom:12px}.trust-alert{padding:11px 13px;border-radius:10px;margin:16px 0}.trust-alert.success{background:rgba(0,184,148,.11);color:#008a6d}.trust-alert.error{background:rgba(214,48,49,.10);color:#b52223}@media(max-width:700px){.trust-score-card{grid-template-columns:1fr}.trust-check-grid{grid-template-columns:1fr}.twofa-setup-grid{grid-template-columns:1fr}.trust-inline-form{grid-template-columns:1fr}.trust-center-head{flex-direction:column}.recovery-code-grid{grid-template-columns:1fr}}

/* Product Gallery 2.0 — isolated visual layer */
.pd-image-stage{position:relative;overflow:hidden;border-radius:16px;background:var(--surface);min-height:360px;display:grid;place-items:center}
.pd-image-stage.is-hidden{display:none!important}
.pd-image-stage #pd-main-image{display:block;width:100%;height:min(68vh,720px);min-height:360px;object-fit:contain;border-radius:16px;cursor:zoom-in;background:color-mix(in srgb,var(--surface) 92%,#000 8%)}
.pd-gallery-nav,.pd-gallery-fullscreen{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.2);background:rgba(15,17,25,.62);color:#fff;backdrop-filter:blur(10px);cursor:pointer;display:grid;place-items:center;transition:opacity .16s ease,transform .16s ease,background .16s ease}
.pd-gallery-nav{top:50%;transform:translateY(-50%);width:44px;height:62px;border-radius:12px;font-size:36px;opacity:.7}
.pd-gallery-prev{left:14px}.pd-gallery-next{right:14px}
.pd-gallery-fullscreen{top:14px;right:14px;width:42px;height:42px;border-radius:12px;font-size:21px}
.pd-gallery-nav:hover,.pd-gallery-fullscreen:hover{opacity:1;background:rgba(92,69,220,.9)}
.pd-gallery-prev:hover{transform:translateY(-50%) translateX(-2px)}.pd-gallery-next:hover{transform:translateY(-50%) translateX(2px)}
.pd-gallery-counter{position:absolute;left:14px;bottom:14px;padding:5px 9px;border-radius:999px;background:rgba(15,17,25,.68);color:#fff;font-size:12px;font-weight:700;backdrop-filter:blur(8px)}
.pd-gallery-viewer-thumb{width:88px;height:88px;flex:0 0 88px;border:2px solid transparent;border-radius:10px;background:linear-gradient(145deg,#191a25,#29243d);color:#fff;cursor:pointer;display:grid;place-content:center;gap:2px;text-align:center}
.pd-gallery-viewer-thumb span{font-size:22px;font-weight:900}.pd-gallery-viewer-thumb small{font-size:10px;color:#bbb4d8;text-transform:uppercase}.pd-gallery-viewer-thumb:hover,.pd-gallery-viewer-thumb.active{border-color:var(--accent)}
.product-gallery-lightbox .lightbox-canvas{width:100%;height:100%;display:grid;place-items:center;overflow:auto;touch-action:pan-y}
.product-gallery-lightbox .lightbox-canvas img{transition:transform .12s ease;transform-origin:center center;user-select:none}
.product-gallery-lightbox .lightbox-canvas.is-zoomed{cursor:zoom-out}
.lightbox-hint{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.76);font-size:12px;backdrop-filter:blur(8px);pointer-events:none}
@media(max-width:720px){.pd-image-stage{min-height:260px}.pd-image-stage #pd-main-image{height:52vh;min-height:260px}.pd-gallery-nav{width:38px;height:54px;font-size:30px}.pd-gallery-prev{left:8px}.pd-gallery-next{right:8px}.pd-gallery-fullscreen{top:8px;right:8px}.lightbox-hint{display:none}.pd-gallery-viewer-thumb{width:66px;height:66px;flex-basis:66px}}

/* 6.5.3 — moderation update state */
.moderation-update-banner{
  display:flex;align-items:center;gap:14px;margin:16px 0 20px;padding:16px 18px;
  border:1px solid color-mix(in srgb,var(--accent,#7c5cff) 28%,transparent);
  border-radius:16px;background:color-mix(in srgb,var(--accent,#7c5cff) 8%,var(--surface,#161a22));
}
.moderation-update-icon{
  width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:50%;
  background:color-mix(in srgb,var(--accent,#7c5cff) 16%,transparent);font-size:22px;font-weight:700;
}
.moderation-update-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.moderation-update-copy strong{font-size:15px;line-height:1.35}
.moderation-update-copy span{font-size:13px;line-height:1.4;color:var(--muted,#98a0b3)}
.moderation-update-action{margin-left:auto;white-space:nowrap}
@media(max-width:700px){
  .moderation-update-banner{align-items:flex-start;flex-wrap:wrap;padding:14px}
  .moderation-update-action{width:100%;margin-left:52px;text-align:center}
}

/* MeshCave 7.0 — Operations Center */
.global-announcement{background:rgba(124,92,255,.12);border-bottom:1px solid rgba(124,92,255,.2);color:var(--text,#eef0f7);font-size:14px}.global-announcement .container{padding-top:9px;padding-bottom:9px;text-align:center}

/* MeshCave 7.1.1 — versioning/changelog */
.product-history .section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.version-list{display:grid;gap:10px}
.version-row{display:grid;grid-template-columns:minmax(110px,auto) 1fr;gap:18px;padding:14px 16px;border:1px solid var(--border,rgba(127,127,127,.18));border-radius:12px;background:var(--surface-2,rgba(127,127,127,.06))}
.version-meta{display:flex;flex-direction:column;gap:4px}.version-meta b{font-size:15px}.version-meta small{color:var(--muted,#8f98aa)}
.version-notes{white-space:normal;line-height:1.55}
#versionNotesField textarea{min-height:108px}
@media(max-width:640px){.version-row{grid-template-columns:1fr;gap:8px}}


/* MeshCave 7.2.1 — approved compact product layout */
.product-trust-stack{display:grid;gap:12px;margin:18px 0 24px}.product-brief-card,.trust-panel-compact,.feature-card-compact,.license-summary-card,.package-explorer-card{background:#101a2c;border:1px solid #283754;border-radius:16px;color:#edf2fb;box-shadow:0 14px 40px rgba(0,0,0,.12)}.product-brief-card,.trust-panel-compact,.feature-card-compact,.license-summary-card{padding:16px}.compact-card-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.compact-card-title h3{margin:0;font-size:17px}.compact-card-title p{margin:2px 0 0;color:#8794ac;font-size:12px}.mesh-diamond{width:17px;height:17px;display:inline-block;transform:rotate(45deg);border:4px solid #7148ef;border-radius:2px}.compact-spec-list{display:grid;gap:0;margin:0}.compact-spec-list>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px dotted #2c3954}.compact-spec-list>div:last-child{border-bottom:0}.compact-spec-list dt{color:#8f9bb2}.compact-spec-list dd{margin:0;font-weight:800}.trust-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trust-check-grid span{padding:8px 10px;border-radius:10px;background:#142139;font-size:13px;font-weight:800}.trust-check-grid .ok{color:#37c77d}.trust-meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #283754;color:#7f8da7;font-size:12px}.trust-meta b{color:#edf2fb}.feature-chip-row{display:flex;flex-wrap:wrap;gap:8px}.feature-chip-row span{padding:7px 10px;border-radius:999px;background:#17243b;border:1px solid #2b3b5a;font-size:12px;font-weight:800}.license-summary-card strong{color:#3bd27f}.license-summary-card p{margin:8px 0;color:#aab4c7;font-size:13px}.package-section{margin-top:30px}.package-head{align-items:end}.package-head p{margin:6px 0 0;color:#8d99b0}.package-head>span{color:#8793a9;font-weight:800}.package-explorer-card{padding:0;overflow:hidden}.package-tree{padding:18px 20px;display:grid;gap:6px}.package-root,.package-file-line{display:flex;align-items:center;gap:8px;min-height:30px}.package-root{font-size:16px}.package-file-line{padding-left:calc(var(--depth) * 22px);color:#a5b0c3}.tree-arrow{font-size:23px;color:#7186ac;width:20px}.tree-folder{font-size:20px;color:#5f8fff}.tree-file{font-size:16px;color:#8d9ab2}.tree-branch{color:#40506f}.package-empty{padding:20px;color:#8c98ad}html[data-theme="light"] .product-brief-card,html[data-theme="light"] .trust-panel-compact,html[data-theme="light"] .feature-card-compact,html[data-theme="light"] .license-summary-card,html[data-theme="light"] .package-explorer-card{background:#fff;color:#171925;border-color:#dfe4ee}html[data-theme="light"] .compact-spec-list>div,html[data-theme="light"] .trust-meta{border-color:#e5e8ef}html[data-theme="light"] .trust-check-grid span,html[data-theme="light"] .feature-chip-row span{background:#f4f6fa;border-color:#e0e5ef}.pd-info>.specs{display:none!important}@media(max-width:760px){.trust-check-grid{grid-template-columns:1fr}.trust-meta{display:grid}.package-tree{padding:14px}.package-file-line{padding-left:calc(var(--depth) * 14px)}}

/* MeshCave 7.2.3 — product package placement polish */
.pd-media-package{margin-top:28px;min-width:0}
.pd-media-package .section-head{margin-bottom:12px}
.pd-media-package .section-head h2{margin:0;font-size:22px}
.pd-media-package .package-explorer-card{width:100%}
.pd-media-package .package-tree{max-height:360px;overflow:auto}
.pd-media-package .package-root{position:sticky;top:-18px;z-index:1;margin:-18px -20px 4px;padding:16px 20px 10px;background:#101a2c;border-bottom:1px solid #283754}
.pd-media-package .tree-arrow{font-size:28px;line-height:1;width:24px}
.pd-media-package .tree-folder{font-size:22px}
.pd-media-package .package-file-line{min-height:28px}
html[data-theme="light"] .pd-media-package .package-root{background:#fff;border-bottom-color:#e5e8ef}
@media(max-width:760px){.pd-media-package{margin-top:20px}.pd-media-package .package-tree{max-height:300px}.pd-media-package .section-head h2{font-size:20px}}

/* MeshCave 8.2 — compact Viewer inspection tools */
.asset-viewer-inspector{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border);background:#0e121a}
.asset-viewer-inspector[hidden]{display:none}
.viewer-inspector-tool{border:1px solid #2d3850;border-radius:9px;background:#151b27;color:#eef2ff;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:.16s ease}
.viewer-inspector-tool:hover{border-color:var(--accent);transform:translateY(-1px)}
.viewer-inspector-tool.active{background:#1d653b;border-color:#2f995b;color:#fff}
.viewer-clip-range{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:9px;background:#151b27;color:var(--muted);font-size:11px}
.viewer-clip-range[hidden]{display:none}.viewer-clip-range input{width:120px;accent-color:var(--accent)}
.viewer-model-info{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:2px}
.viewer-model-info[hidden]{display:none}.viewer-model-info span{padding:7px 9px;border-radius:8px;background:#151b27;color:var(--muted);font-size:11px}.viewer-model-info b{display:block;color:#fff;font-size:12px;margin-top:2px}
@media(max-width:700px){.viewer-model-info{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-clip-range{width:100%;justify-content:space-between}.viewer-clip-range input{flex:1}}


/* MeshCave 8.3.2 — floating model statistics card */
.asset-viewer-viewport .viewer-model-info{position:absolute;z-index:7;top:14px;left:14px;width:min(430px,calc(100% - 28px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:34px 10px 10px;border:1px solid rgba(105,119,151,.55);border-radius:13px;background:rgba(12,16,24,.88);box-shadow:0 14px 38px rgba(0,0,0,.32);backdrop-filter:blur(12px);pointer-events:none}
.asset-viewer-viewport .viewer-model-info::before{content:"Статистика модели";position:absolute;top:10px;left:12px;color:#f3f6ff;font-size:12px;font-weight:800;letter-spacing:.01em}
.asset-viewer-viewport .viewer-model-info[hidden]{display:none}
.asset-viewer-viewport .viewer-model-info span{min-width:0;padding:8px 9px;border:1px solid rgba(77,91,121,.38);border-radius:9px;background:rgba(25,32,47,.82);color:#8f9bb2;font-size:10px;line-height:1.25}
.asset-viewer-viewport .viewer-model-info b{display:block;margin-top:3px;overflow:hidden;color:#fff;font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.asset-viewer-viewport .viewer-model-info{grid-template-columns:repeat(2,minmax(0,1fr));width:min(320px,calc(100% - 24px));top:12px;left:12px}}
