/* Estedad (OFL, self-hosted in /fonts) for headings; body text stays Vazirmatn */
@font-face{font-family:"Estedad";src:url("fonts/Estedad.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF}
/* Persian letters only; Latin falls back to Vazirmatn */
/* ==========================================================================
   DAKO — dark studio layer (layout inspired by hyper3d.ai, Dako brand colors)
   Loaded after style.css and design.css. Rules are scoped to body.lab so they
   win over the older layers without changing the markup the scripts rely on.
   Brand: Dako green #0E4D45, off-white #F8F8F5, logo gold #D4AF37.
   ========================================================================== */
:root{
  color-scheme:dark;
  --bg:#0E1211;
  --surface:#161B1A;
  --surface-2:#1D2322;
  --surface-3:#242B29;
  --line:#2A3230;
  --text:#F2F1EC;
  --muted:#9AA6A2;
  --brand:#0E4D45;
  --brand-2:#1F6B5F;
  --mint:#A7E8D2;
  --gold:#D4AF37;
  --gold-soft:#E9C979;
  --pill:linear-gradient(181deg,#C9F0E0 0%,#E6C56E 120%);
  --pill-glow:0 12px 34px rgba(31,107,95,.45),0 0 18px rgba(212,175,55,.28);
  --fa:"Vazirmatn", Tahoma, sans-serif;
  --display:"Estedad", "Poppins", "Vazirmatn", Tahoma, sans-serif;  /* section and hero headings only */
  --latin:"Poppins", "Vazirmatn", sans-serif;
  --kufi:"Noto Kufi Arabic", "Vazirmatn", Tahoma, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  --r-xl:28px;
  --r-lg:22px;
  --r-md:16px;
  --r-sm:12px;
  --gutter:clamp(16px,5vw,72px);
  --wrap:1400px;
  /* older layers read these */
  --ink:#F2F1EC;--deep:#0E4D45;--deepest:#0A2F2A;--cream:#0E1211;--stroke:#2A3230;--body:#9AA6A2;
}
html:has(body.lab){background:var(--bg)}
body.lab{background:var(--bg);color:var(--text);font-family:var(--fa);overflow-x:clip}
body.lab main{overflow-x:clip}
body.lab :focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.lab-mono{font-family:var(--mono);direction:ltr;unicode-bidi:isolate}

/* ---------- buttons ---------- */
.hx-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:15px 34px;border:0;border-radius:999px;background:var(--pill);color:#0B1110;font:700 16px var(--fa);box-shadow:var(--pill-glow);cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s}
.hx-pill:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 16px 40px rgba(31,107,95,.55),0 0 26px rgba(212,175,55,.4)}
.hx-pill:active{transform:translateY(0)}
.hx-ghost{display:inline-flex;align-items:center;gap:8px;min-height:54px;padding:0 10px;color:var(--text);font-weight:600;font-size:15px}
.hx-ghost:hover{color:var(--mint)}
/* as a button (dialogs: cancel / close) it is an outlined pill, never the browser's grey box */
button.hx-ghost{justify-content:center;min-height:50px;padding:0 26px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-family:var(--fa);cursor:pointer;-webkit-appearance:none;appearance:none;transition:border-color .2s,color .2s,background .2s}
button.hx-ghost:hover{border-color:rgba(167,232,210,.45);background:var(--surface-3)}
body.lab .primary{background:var(--brand-2);color:#fff;border-radius:999px}
body.lab .primary:hover{background:var(--brand)}
body.lab .outline{border-color:var(--line);color:var(--text);border-radius:999px}

/* ---------- top bars ---------- */
body.lab .preview{background:#0A0D0C;color:var(--muted);font-size:11.5px;text-align:center;border-bottom:1px solid var(--line)}
body.lab header{position:sticky;top:0;z-index:40;min-height:0;padding:14px var(--gutter);background:rgba(14,18,17,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:none}
body.lab header .brand{display:block;color:var(--text);font-family:var(--latin);font-weight:700;font-size:22px;letter-spacing:.22em;text-align:center;text-indent:.22em;line-height:1.2}
body.lab header .brand span{display:block;margin-top:6px;text-align:center}
body.lab header .brand span{font-family:var(--mono);font-size:8px;letter-spacing:.3em;color:var(--muted)}
body.lab header nav{font-size:14px;color:var(--muted)}
body.lab header nav a:hover{color:var(--text)}
body.lab header nav a:after{background:var(--mint)}
body.lab header .header-actions .outline{background:var(--pill);border:0;color:#0B1110;border-radius:999px;min-height:42px;padding:10px 20px;font-size:13.5px;font-weight:700;box-shadow:0 6px 18px rgba(31,107,95,.35)}
body.lab header .header-actions .outline:hover{filter:brightness(1.05)}
body.lab header .lab-account{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
body.lab header .lab-account:hover{border-color:rgba(167,232,210,.45);color:var(--mint);background:var(--surface-3)}
body.lab header .lab-account svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
body.lab header .notification-open{position:relative;display:grid;place-items:center;width:44px;height:44px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
body.lab header .notification-open:hover{border-color:rgba(167,232,210,.45);color:var(--mint);background:var(--surface-3)}
body.lab header .notification-open svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lab-bell-count{position:absolute;top:-3px;left:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--gold);color:#130E05;font:700 10.5px/18px var(--fa);text-align:center;box-shadow:0 0 0 2px var(--bg)}
body.lab header nav a{font-weight:500}
body.lab header .notification-open,body.lab .menu-toggle{background:var(--surface-2);border:1px solid var(--line);color:var(--text)}
body.lab .menu-toggle span{background:var(--text)}
@media (max-width:1120px){body.lab header nav.is-open,body.lab #site-nav.is-open{background:var(--surface);border:1px solid var(--line);color:var(--text)}}

/* ---------- hero ---------- */
.hx-hero{position:relative;display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(24px,4vw,64px);align-items:center;max-width:var(--wrap);margin-inline:auto;padding:clamp(40px,6vw,88px) var(--gutter) 36px;isolation:isolate}
.hx-hero::before{content:"";position:absolute;z-index:-1;inset:-10% 0 0;pointer-events:none;background:
  radial-gradient(38% 50% at 30% 45%,rgba(31,107,95,.55),transparent 70%),
  radial-gradient(30% 40% at 12% 70%,rgba(212,175,55,.16),transparent 70%),
  radial-gradient(40% 50% at 80% 30%,rgba(14,77,69,.35),transparent 70%)}
.hx-hero-copy{display:grid;gap:22px;align-content:center}
.hx-chip{justify-self:start;font-family:var(--latin);font-size:11.5px;font-weight:600;letter-spacing:.18em;color:var(--mint);padding:7px 14px;border-radius:999px;border:1px solid rgba(167,232,210,.25);background:rgba(167,232,210,.06);direction:ltr}
.hx-hero h1{margin:0;font-family:var(--fa);font-weight:300;font-size:clamp(26px,2.5vw,40px);line-height:1.6;letter-spacing:0;color:#E4E8E6;white-space:nowrap}
@media (max-width:640px){.hx-hero h1{white-space:normal;font-size:clamp(24px,7vw,32px)}}
.hx-hero h1 b{display:inline-block;font-weight:700;background:var(--pill);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-lede{margin:0;max-width:30em;font-size:15.5px;line-height:2.1;color:var(--muted)}
.hx-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:12px}

.hx-peek{justify-self:start;display:flex;align-items:center;gap:0;padding:6px 6px 6px 18px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:border-color .2s,background .2s}
.hx-peek:hover{border-color:rgba(167,232,210,.4);background:rgba(255,255,255,.08)}
.hx-peek img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--bg)}
.hx-peek img+img{margin-inline-start:-14px}
.hx-peek span{display:grid;margin-inline-start:12px;line-height:1.5}
.hx-peek b{font-size:13.5px;color:var(--text)}
.hx-peek small{font-size:11px;color:var(--muted)}

/* generator-style panel */
.hx-panel{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr auto;gap:14px;padding:14px;border-radius:var(--r-xl);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.09);box-shadow:0 40px 80px -30px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.hx-tools{grid-row:1/3;display:flex;flex-direction:column;gap:8px;padding:6px;border-radius:var(--r-md);background:rgba(0,0,0,.25)}
.hx-tools>*{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.hx-tools>*:hover{background:var(--surface-3);color:var(--text);border-color:var(--line)}
.hx-tools>*:first-child{background:var(--surface-3);color:var(--mint);border-color:rgba(167,232,210,.25)}
.hx-tools svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.hx-viewer{position:relative;min-height:clamp(340px,34vw,480px);border-radius:var(--r-lg);overflow:hidden;background:radial-gradient(70% 70% at 50% 45%,#17574D 0%,#0A2A25 75%);border:1px solid rgba(255,255,255,.06)}
.hx-viewer #hero-3d-canvas{position:absolute;inset:0;z-index:1;touch-action:none;cursor:grab}
.hx-viewer #hero-3d-canvas:active{cursor:grabbing}
.hx-viewer #hero-3d-canvas canvas{display:block;width:100%;height:100%}
.hx-viewer-tab{position:absolute;z-index:2;top:12px;inset-inline:12px;display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}
.hx-viewer-tab>span{padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12.5px;color:var(--text);display:flex;align-items:center;gap:8px}
.hx-viewer-tab i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(167,232,210,.18)}
.hx-viewer-tab .lab-mono{font-size:11px;color:var(--muted)}
.hx-viewer-tab b{color:var(--mint);font-weight:500}
.lab-status{position:absolute;z-index:2;inset-inline:12px;bottom:12px;padding:12px 14px;border-radius:var(--r-md);background:rgba(10,14,13,.6);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lab-status ol{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:8px;font-size:12.5px}
.lab-status li{display:flex;align-items:center;gap:7px;color:var(--muted)}
.lab-status li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;border:1.5px solid #52605C}
.lab-status li.done{color:var(--text)}
.lab-status li.done::before{background:var(--mint);border-color:var(--mint)}
.lab-status li.now{color:var(--text);font-weight:700}
.lab-status li.now::before{border-color:var(--mint);box-shadow:0 0 0 3px rgba(167,232,210,.2)}
.lab-status li.gold.now::before,.lab-status li.gold.done::before{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.25)}
.lab-status li.gold.done{color:var(--gold-soft)}
.lab-pct{font-family:var(--mono);font-size:11px;color:var(--mint);direction:ltr}
.lab-pbar{height:3px;margin-top:10px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.lab-pbar i{display:block;width:0;height:100%;background:var(--pill)}
.hx-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.lab-toolbar{display:flex;gap:3px;padding:4px;border-radius:999px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.07)}
.lab-toolbar button{border:0;background:transparent;color:var(--muted);font:500 12.5px var(--fa);padding:7px 13px;border-radius:999px;cursor:pointer}
.lab-toolbar button[aria-pressed="true"]{background:var(--surface-3);color:var(--text)}
.hx-generate{order:3;flex-basis:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:0;border-radius:999px;background:var(--pill);color:#0B1110;font:800 15px var(--fa);letter-spacing:.02em;box-shadow:var(--pill-glow);cursor:pointer;transition:filter .2s,transform .2s}
.hx-generate:hover{filter:brightness(1.06);transform:translateY(-1px)}
.hx-meta{font-size:11px;letter-spacing:.14em;color:var(--muted)}

/* studio stories: cards that fill the strip edge to edge */
body.lab .hero-stories.lab-stories{position:static;inset:auto;display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;justify-items:stretch;align-items:stretch;gap:14px;min-height:0;max-width:var(--wrap);margin:0 auto;padding:26px var(--gutter) 10px;border:0;border-radius:0;background:transparent;box-shadow:none}
body.lab .lab-stories .hero-stories-label{display:block;font-size:14px;font-weight:700;color:var(--text)}
body.lab .lab-stories .stories-row{width:100%;flex:none;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;padding:0;overflow:visible;direction:rtl;justify-content:stretch}
body.lab .lab-stories .studio-story{position:relative;display:block;flex:none;width:auto;height:auto;aspect-ratio:4/5;padding:0;border:0;border-radius:20px;background:none;cursor:pointer;transition:transform .25s}
body.lab .lab-stories .studio-story:hover{transform:translateY(-3px)}
body.lab .lab-stories .story-orbit{display:block;width:100%;height:100%;padding:2px;border-radius:20px;background:var(--pill);box-shadow:none;transform:none}
body.lab .lab-stories .studio-story.is-seen .story-orbit{background:var(--line)}
body.lab .lab-stories .story-thumb{position:relative;display:block;width:100%;height:100%;border:2px solid var(--bg);border-radius:18px;overflow:hidden;background:var(--surface)}
body.lab .lab-stories .story-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .6s}
body.lab .lab-stories .studio-story:hover .story-thumb img{transform:scale(1.05)}
body.lab .lab-stories .story-thumb::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
body.lab .lab-stories .studio-story strong,body.lab .lab-stories .studio-story small{position:absolute;z-index:2;inset-inline:14px;display:block;width:auto;text-align:right;color:#fff;pointer-events:none}
body.lab .lab-stories .studio-story strong{bottom:30px;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.lab .lab-stories .studio-story small{bottom:12px;margin:0;font-size:11.5px;color:rgba(255,255,255,.75)}
body.lab .lab-stories .story-video{top:10px;left:10px;right:auto;bottom:auto;inset:10px auto auto 10px;width:24px;height:24px;font-size:8px;z-index:2}
@media (max-width:760px){
  body.lab .lab-stories .stories-row{grid-auto-columns:40%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
  body.lab .lab-stories .stories-row::-webkit-scrollbar{display:none}
  body.lab .lab-stories .studio-story{scroll-snap-align:start}
}

/* story viewer (Instagram-style), built by lab-stories.js */
body.lab .story-dialog.ig-story{width:min(420px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:22px;overflow:hidden;background:#000;color:#fff;box-shadow:0 40px 120px rgba(0,0,0,.8)}
body.lab .story-dialog.ig-story::backdrop{background:rgba(5,8,7,.86);backdrop-filter:blur(8px)}
.ig-story .story-stage{position:relative;height:min(70dvh,680px);background:#0B1A18}
.ig-story .story-stage img,.ig-story .story-stage video{width:100%;height:100%;object-fit:cover}
.ig-story .story-stage::before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:110px;background:linear-gradient(rgba(0,0,0,.55),transparent);pointer-events:none}
.ig-bars{position:absolute;z-index:5;top:10px;inset-inline:12px;display:flex;gap:4px}
.ig-bars span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.ig-bars i{display:block;height:100%;width:0;background:#fff;border-radius:3px}
.ig-head{position:absolute;z-index:5;top:22px;inset-inline:12px 56px;display:flex;align-items:center;gap:8px}
.ig-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pill);color:#0B1110;font:800 14px var(--latin)}
.ig-head b{font-size:14px}
.ig-head small{font-size:12px;color:rgba(255,255,255,.7)}
.ig-pause{margin-inline-start:auto;width:32px;height:32px;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:11px;cursor:pointer}
body.lab .ig-story .story-close{top:22px;left:12px;width:32px;height:32px;z-index:6;font-size:20px;border:0;background:rgba(0,0,0,.35)}
.ig-zones{position:absolute;z-index:3;top:0;left:0;right:0;height:min(70dvh,680px);display:flex;direction:ltr}
.ig-zone{flex:1;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ig-zone:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:-6px}
.ig-arrows{position:absolute;z-index:5;top:calc(min(70dvh,680px)/2 - 20px);left:10px;right:10px;display:flex;justify-content:space-between;direction:ltr;pointer-events:none}
.ig-arrow{pointer-events:auto;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.85);color:#0B1110;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35);transition:transform .15s}
.ig-arrow:hover{transform:scale(1.08)}
.ig-fallback{display:grid;place-content:center;gap:10px;width:100%;height:100%;text-align:center;background:radial-gradient(70% 60% at 50% 40%,#1F6B5F,#0A2A25 75%)}
.ig-fallback span{font:700 13px var(--latin);letter-spacing:.3em;color:var(--mint)}
.ig-fallback b{font-size:22px;color:#fff}
body.lab .ig-story .story-caption{padding:16px 20px 20px;background:#0E1211}
body.lab .ig-story .story-caption h2{font-size:19px;margin:4px 0 6px}
body.lab .ig-story .story-caption p{font-size:13px;color:var(--muted)}
@media (hover:none){.ig-arrows{display:none}}

/* ---------- section scaffolding ---------- */
body.lab section[id]{padding:120px var(--gutter) 0;max-width:var(--wrap);margin-inline:auto}
body.lab .section-top{align-items:end;margin-bottom:34px}
body.lab .section-top .eyebrow,body.lab .about .eyebrow{font-family:var(--latin);font-weight:600;font-size:11.5px;letter-spacing:.18em;color:var(--mint)}
body.lab .section-top h2,body.lab .about h2{font-family:var(--fa);font-weight:800;font-size:clamp(30px,3.6vw,50px);line-height:1.35;letter-spacing:-.01em;color:var(--text);text-wrap:balance}
body.lab .section-top .muted,body.lab .muted{color:var(--muted)}
body.lab p{color:inherit}

/* ---------- collections (card shape from the Dako Lab reference) ---------- */
body.lab #category-bar{gap:6px;margin:0 0 24px}
body.lab .filter{border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);padding:8px 18px;font-size:13.5px}
body.lab .filter:hover{border-color:var(--mint);color:var(--text)}
body.lab .filter.active{background:var(--brand-2);border-color:var(--brand-2);color:#fff}
body.lab #collections .gallery{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
body.lab #collections .gallery .product{display:flex;flex-direction:column;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:none}
body.lab #collections .gallery .product:hover{transform:translateY(-4px);border-color:rgba(167,232,210,.35);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
body.lab #collections .gallery .product .render-open{display:block;width:100%;padding:0;border:0;background:none}
body.lab #collections .gallery .product .picture{position:relative;height:auto;aspect-ratio:5/4;border-radius:0;background:radial-gradient(80% 80% at 50% 45%,#17574D,#0A2A25)}
body.lab #collections .gallery .product .picture img{width:100%;height:100%;object-fit:cover}
.lc-badge{position:absolute;top:12px;left:12px;z-index:2;font-size:10.5px;letter-spacing:.08em;padding:4px 10px;border-radius:999px;background:rgba(10,20,18,.72);border:1px solid rgba(212,175,55,.5);color:var(--gold-soft);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lc-code{display:block;margin:16px 18px 0;font-size:11.5px;letter-spacing:.08em;color:var(--muted);text-align:right}
body.lab #collections .gallery .product h3{font-weight:800;font-size:18px;color:var(--text);margin:4px 18px 2px}
body.lab #collections .gallery .product>p{margin:0 18px 14px;min-height:0;font-size:13px;color:var(--muted)}
.lc-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:auto 18px 0;padding:12px 0 16px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
body.lab #collections .gallery .product .lc-meta>[data-detail],body.lab #collections .gallery .product .lc-meta>[data-start],body.lab.free-mode #collections .gallery .product .lc-meta [data-detail]{display:inline;width:auto;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:none;color:var(--mint);font-weight:700;font-size:13.5px}
body.lab #collections .gallery .product .lc-meta>[data-detail]:hover{color:var(--gold-soft);background:none}
body.lab.free-mode #collections .gallery .product:after{display:none}

body.lab section#material-credit{background:none;border:0;padding:120px var(--gutter) 0;margin:0 auto;max-width:var(--wrap)}
body.lab .lab-credit .credit-balances{grid-template-columns:1fr}
body.lab .lab-credit .credit-summary{padding:0;background:none;border-radius:0}
body.lab .lab-credit .credit-pack small{font-size:11.5px}
body.lab.free-mode #collections .gallery .render-open:after{display:none}


/* favourites */
.lc-fav{position:absolute;z-index:3;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(10,20,18,.6);color:#fff;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .2s,background .2s,color .2s}
.lc-fav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.lc-fav:hover{transform:scale(1.08)}
.lc-fav[aria-pressed="true"]{background:#fff;color:#D2566E;border-color:#fff}
.lc-fav[aria-pressed="true"] svg{fill:currentColor}
.lc-fav[aria-pressed="true"]{animation:lc-pop .3s ease-out}
@keyframes lc-pop{50%{transform:scale(1.2)}}
.lab-coll .lcl-top-actions{display:flex;align-items:center;gap:8px}
.lab-coll .lcl-fav{position:static;width:42px;height:42px;background:var(--surface-2);border-color:var(--line)}
body.lab .lc-fav-chip{display:inline-flex;align-items:center;gap:6px}
body.lab .lc-fav-chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
body.lab .lc-fav-chip b{min-width:20px;padding:0 6px;border-radius:999px;background:var(--surface-3);font-size:11.5px;line-height:20px;text-align:center}
body.lab .lc-fav-chip.active{background:#D2566E;border-color:#D2566E;color:#fff}
body.lab .lc-fav-chip.active svg{fill:currentColor}
body.lab .lc-fav-chip.active b{background:rgba(255,255,255,.25)}
#gallery.lc-fav-only .product:not(.is-fav){display:none!important}
.lc-fav-empty{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:40px 20px;border:1.5px dashed #3A4441;border-radius:22px;color:var(--muted);font-size:14px}
.lc-fav-empty svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}

/* ---------- on-page order tool ---------- */
/* print section: one-line two-tone title, closer to the stories strip */
body.lab section#upload{padding-top:56px}
body.lab .section-top h2.lo-title{font-weight:300;font-size:clamp(24px,2.4vw,36px);line-height:1.6;color:#E4E8E6;white-space:nowrap}
body.lab .section-top h2.lo-title b{font-weight:700;background:var(--pill);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:760px){body.lab .section-top h2.lo-title{white-space:normal}body.lab section#upload{padding-top:40px}}

.lab-formats{display:flex;flex-wrap:wrap;gap:6px}
.lab-formats i{font-style:normal;font-family:var(--mono);font-size:11px;padding:2px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--surface-2)}

body.lab .section-top h2 b{color:var(--mint);font-weight:800}
.lo-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:16px;align-items:stretch}
.lo-viewer{position:relative;min-height:520px;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);background:linear-gradient(rgba(167,232,210,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(167,232,210,.05) 1px,transparent 1px),radial-gradient(70% 70% at 50% 45%,#133F38,#0B1A18 75%);background-size:32px 32px,32px 32px,auto}
#lo-canvas{position:absolute;inset:0;touch-action:none;cursor:grab}
#lo-canvas:active{cursor:grabbing}
#lo-canvas canvas{display:block;width:100%;height:100%}
.lo-tag{position:absolute;z-index:2;top:14px;right:14px;font-size:12px;padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.35);color:var(--text)}
.lo-dims{position:absolute;z-index:2;bottom:14px;left:14px;font-size:12px;color:var(--muted)}
.lo-hint{position:absolute;z-index:2;bottom:14px;right:14px;font-size:12px;color:var(--muted)}
.lo-form{display:grid;gap:12px;align-content:start}
.lo-drop{position:relative;display:grid;gap:6px;justify-items:center;text-align:center;padding:26px 18px;border:1.5px dashed #3A4441;border-radius:var(--r-lg);background:var(--surface);cursor:pointer;transition:border-color .2s,background .2s}
.lo-drop:hover,.lo-drop.over{border-color:var(--mint);background:var(--surface-2)}
.lo-drop strong{font-size:16px;color:var(--text)}
.lo-drop>span{font-size:13px;color:var(--muted)}
.lo-drop input{position:absolute;width:1px;height:1px;opacity:0}
.lo-file{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:13.5px;color:var(--text)}
.lo-file .lab-mono{font-size:12px;color:var(--muted)}
/* model list (files and ZIP/RAR contents) */
.lo-models{display:grid;gap:8px}
.lo-models-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.lo-models-head b{color:var(--text);font-weight:700}
.lo-all{padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--mint);font:600 12px var(--fa);cursor:pointer}
.lo-model-list{display:grid;gap:6px;max-height:268px;overflow:auto;padding-inline-end:2px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.lo-model{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--surface);transition:border-color .2s,background .2s}
.lo-model:hover{border-color:rgba(167,232,210,.3)}
.lo-model.is-active{border-color:var(--mint);background:var(--surface-2);box-shadow:0 0 0 3px rgba(167,232,210,.1)}
.lo-model.is-off{opacity:.65}
.lo-check{position:relative;display:grid;place-items:center;width:22px;height:22px;cursor:pointer}
.lo-check input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.lo-check i{width:20px;height:20px;border:1.5px solid #52605C;border-radius:6px;background:var(--surface-3);transition:background .15s,border-color .15s}
.lo-check input:checked+i{border-color:transparent;background:var(--pill)}
.lo-check input:checked+i::after{content:"✓";display:grid;place-items:center;height:100%;font:800 12px var(--latin);color:#0B1110}
.lo-check input:focus-visible+i{outline:2px solid var(--mint);outline-offset:2px}
.lo-check input:disabled+i{opacity:.4}
.lo-model-btn{display:grid;gap:2px;min-width:0;padding:0;border:0;background:none;color:inherit;text-align:right;cursor:pointer;font-family:var(--fa)}
.lo-model-title{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:right}
.lo-model-title small{font-size:11.5px;font-weight:400;color:var(--muted);direction:rtl}
.lo-model-meta{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lo-model-w{font-size:13.5px;font-weight:500;color:var(--gold-soft);white-space:nowrap}
/* per-model count (multi-model files and collections) */
.lo-model-end{display:flex;align-items:center;gap:10px}
.lo-model-end .lo-model-w{min-width:62px;text-align:left}
.lo-mq{display:flex;align-items:center;flex:none;gap:2px;height:32px;box-sizing:border-box;padding:2px;border-radius:999px;border:1px solid var(--line);background:var(--surface-3)}
.lo-mq button{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text);font:500 15px var(--latin);cursor:pointer;transition:background .15s}
.lo-mq button:hover:not(:disabled){background:rgba(167,232,210,.12)}
.lo-mq button:disabled{opacity:.3;cursor:default}
.lo-mq input{width:30px;height:26px;min-height:0;margin:0!important;padding:0!important;border:0!important;border-radius:0;box-shadow:none!important;background:none!important;color:var(--text);font:500 14px var(--latin);text-align:center;outline:none}
.lo-mq:focus-within{border-color:var(--mint)}
.lst-q{font-style:normal;font-size:11.5px;color:var(--gold-soft)}
@media(max-width:560px){.lo-model.has-mq{grid-template-columns:auto minmax(0,1fr)}.lo-model.has-mq .lo-model-end{grid-column:2;justify-content:space-between}}
.lo-loading{padding:18px;border:1.5px dashed #3A4441;border-radius:14px;text-align:center;font-size:13.5px;color:var(--muted)}
.lo-nav{position:absolute;inset:0;z-index:3;pointer-events:none}
.lo-nav[hidden]{display:none}
.lo-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:rgba(10,20,18,.6);color:var(--text);font-size:24px;line-height:1;cursor:pointer;pointer-events:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s,color .2s,border-color .2s}
.lo-nav-btn:hover{background:var(--pill);border-color:transparent;color:#0B1110}
.lo-nav-btn{direction:ltr;unicode-bidi:isolate}
.lo-nav-next{left:14px}
.lo-nav-prev{right:14px}
.lo-dots{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);display:flex;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.35);pointer-events:auto;direction:rtl;max-width:80%;overflow-x:auto;scrollbar-width:none}
.lo-dots button{flex:none;width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.35);cursor:pointer;transition:width .25s,background .25s}
.lo-dots button.is-unpicked{background:rgba(255,255,255,.15)}
.lo-dots button.is-on{width:22px;background:var(--pill)}
.lo-viewer:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.lo-model-name{position:absolute;z-index:2;top:14px;left:14px;max-width:55%;padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.35);font:500 12px var(--mono);color:var(--text);direction:ltr;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lo-model-name:empty{display:none}
.lo-row{display:grid;grid-template-columns:1fr auto;gap:12px}
.lo-seg{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.lo-seg button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:500 13.5px var(--fa);padding:10px;cursor:pointer}
.lo-seg button::before{content:"";width:9px;height:9px;border-radius:50%;background:#C66B80}
.lo-seg button[data-m="resin"]::before,.lo-seg button[data-credit-m="resin"]::before{background:#3FB39A}
.lo-seg button[aria-pressed="true"]{background:var(--surface-3);color:var(--text);font-weight:700}
.lo-seg-rate{font-size:12px;font-weight:400;color:var(--muted);opacity:.9;white-space:nowrap}
.lo-seg button:has(.lo-seg-rate){flex-wrap:wrap;column-gap:6px;row-gap:0;line-height:1.5}
.lo-qty{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.lo-qty span{padding-inline:8px 4px}
.lo-qty button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:16px;cursor:pointer}
.lo-qty output{min-width:28px;text-align:center;font-size:16px;color:var(--text)}
.lo-est{display:grid;gap:14px;padding:20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}
.lo-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lo-kpis>div{display:grid;gap:2px;justify-items:center;align-content:center;text-align:center;padding:14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
.lo-kpis span{font-size:12.5px;color:var(--muted)}
.lo-kpis b{font-size:24px;font-weight:500;color:var(--text);text-align:center}
.lo-kpis small{font-size:11.5px;color:var(--muted)}
.lo-kpis .lo-cost{background:linear-gradient(160deg,rgba(212,175,55,.16),rgba(212,175,55,.04));border-color:rgba(212,175,55,.35)}
.lo-kpis .lo-cost b{color:var(--gold-soft)}
.lo-credit{display:grid;gap:8px}
.lo-credit-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;color:var(--muted)}
.lo-credit-head b{color:var(--text)}
.lo-chip{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--surface-3);color:var(--muted)}
.lo-chip[data-state="ok"]{background:rgba(63,179,154,.16);color:var(--mint)}
.lo-chip[data-state="low"]{background:rgba(212,175,55,.14);color:var(--gold-soft)}
.lo-meter{position:relative;height:12px;border-radius:999px;background:var(--surface-3);overflow:visible}
.lo-meter i{position:absolute;inset-block:0;inset-inline-start:0;border-radius:999px;background:linear-gradient(90deg,#1F6B5F,#3FB39A);transition:width .5s cubic-bezier(.2,.7,.2,1)}
[data-material="wax"] .lo-meter i{background:linear-gradient(90deg,#8E3F51,#C66B80)}
.lo-meter em{position:absolute;top:-5px;bottom:-5px;width:3px;margin-inline-start:-1.5px;border-radius:2px;background:var(--gold);box-shadow:0 0 10px rgba(212,175,55,.6);transition:inset-inline-start .5s cubic-bezier(.2,.7,.2,1)}
.lo-legend{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted)}
.lo-legend b{color:var(--text);font-weight:500}
.lo-compare{display:grid;gap:8px;padding-top:12px;border-top:1px dashed var(--line)}
.lo-compare>div{display:grid;grid-template-columns:52px 1fr 64px;align-items:center;gap:10px;font-size:13px;color:var(--muted);opacity:.6;transition:opacity .2s}
.lo-compare>div.is-on{opacity:1;color:var(--text)}
.lo-bar{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.lo-bar i{display:block;height:100%;border-radius:999px;background:#C66B80;transition:width .5s cubic-bezier(.2,.7,.2,1)}
#lo-bar-resin{background:#3FB39A}
.lo-compare b{font-weight:500;text-align:left;color:inherit}
.lo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.lo-submit{flex:1;transition:filter .2s,opacity .2s,box-shadow .2s,transform .2s}
.lo-submit:disabled{opacity:.4;filter:grayscale(1);box-shadow:none;cursor:not-allowed;transform:none}
.lo-credit-link{display:inline-flex;align-items:center;gap:8px;min-height:54px;padding:0 18px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-weight:600;font-size:14.5px;transition:color .25s,border-color .25s,background .25s,box-shadow .25s}
.lo-credit-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.lo-credit-link:hover{color:var(--text);border-color:rgba(167,232,210,.4)}
.lo-credit-link.is-needed{background:var(--pill);border-color:transparent;color:#0B1110;box-shadow:var(--pill-glow);animation:lo-nudge 2.4s ease-in-out infinite}
.lo-credit-link.is-needed:hover{filter:brightness(1.06)}
@keyframes lo-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.lo-need-credit{margin:0;font-size:13px;color:var(--gold-soft)}
@media (prefers-reduced-motion:reduce){.lo-credit-link.is-needed{animation:none}}
.lo-msg{margin:0;min-height:1.4em;font-size:13.5px;color:var(--gold-soft)}
.lo-note{direction:rtl;text-align:start;margin:0;padding:0;list-style:none;display:grid;gap:7px;font-size:13px;line-height:1.95;color:var(--muted)}
.lo-note li{position:relative;padding-inline-start:16px}
.lo-note li::before{content:"";position:absolute;inset-inline-start:2px;top:.78em;width:6px;height:6px;border-radius:50%;background:var(--gold,#D4AF37)}
.lo-note b{color:var(--text);font-weight:600}

/* ---------- gram credit purchase ---------- */
body.lab .lab-credit .credit-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:16px}
body.lab .lab-credit .credit-balances,body.lab .lab-credit .credit-buy{display:grid;gap:16px;align-content:start;padding:24px;border-radius:var(--r-xl);background:var(--surface);border:1px solid var(--line)}
.lc-title{margin:0;font-size:13.5px;color:var(--muted)}
.lc-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.lab .lab-credit .lc-tiles article{display:grid;gap:4px;padding:18px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}
body.lab .lab-credit .lc-tiles span{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}
body.lab .lab-credit .lc-tiles span::before{content:"";width:9px;height:9px;border-radius:50%;background:#C66B80}
body.lab .lab-credit .lc-resin span::before{background:#3FB39A}
body.lab .lab-credit .lc-tiles strong{font-size:14px;font-weight:500;color:var(--muted)}
body.lab .lab-credit .lc-tiles strong b{font-family:var(--latin);font-size:34px;font-weight:600;color:var(--text);margin-inline-end:4px}
body.lab .lab-credit .lc-tiles small{font-size:12px;color:var(--muted)}
.lc-share{display:grid;gap:8px}
.lc-track{height:10px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.lc-track i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#8E3F51,#C66B80);transition:width .5s}
.lc-track-resin i{background:linear-gradient(90deg,#1F6B5F,#3FB39A)}
.lc-legend{display:flex;justify-content:space-between;margin:0;font-size:12.5px;color:var(--muted)}
.lc-legend b{color:var(--text);font-weight:600}
.lc-hidden-select{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
body.lab .lab-credit .credit-packs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
body.lab .lab-credit .credit-pack{display:grid;gap:2px;justify-items:center;padding:16px 6px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
body.lab .lab-credit .credit-pack:hover{transform:translateY(-2px);border-color:rgba(167,232,210,.35)}
body.lab .lab-credit .credit-pack b{font-size:18px;font-weight:800}
body.lab .lab-credit .credit-pack small{font-size:11.5px;color:var(--muted)}
.lc-price{font-style:normal;font-size:13px;color:var(--gold-soft);margin-top:4px}
body.lab .lab-credit .credit-pack.selected{border-color:var(--mint);box-shadow:0 0 0 3px rgba(167,232,210,.15);background:var(--surface-3)}
.lc-sum{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:16px;border-top:1px dashed var(--line)}
body.lab .lab-credit .credit-summary{font-size:14px;color:var(--muted)}
body.lab .lab-credit .credit-summary b{display:block;font-family:var(--latin);font-size:28px;font-weight:600;color:var(--text)}
body.lab .lab-credit small.muted{font-size:12px;line-height:1.9}

/* ---------- prices (if a later layer shows the section) ---------- */
body.lab .rates{gap:14px}
body.lab .rates article,body.lab .rates article+article{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);color:var(--text)}
body.lab .rates article:nth-child(2){background:var(--brand);border-color:var(--brand)}

/* ---------- membership ---------- */
body.lab #pro>p{color:var(--muted)}
body.lab #pro .plan-matrix{gap:16px;margin:34px 0 22px;align-items:stretch}
body.lab #pro .plan-matrix{padding-top:14px}
body.lab #pro .plan-matrix article{overflow:visible!important;position:relative;display:flex;flex-direction:column;gap:6px;padding:30px 28px 28px;border-radius:26px;border:1px solid var(--line);background:linear-gradient(180deg,var(--surface-2),var(--surface) 55%);color:var(--text);box-shadow:none;transform:none;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s}
body.lab #pro .plan-matrix article:before{display:none}
body.lab #pro .plan-matrix article:hover{transform:translateY(-4px);border-color:rgba(167,232,210,.35);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
body.lab #pro .plan-matrix .en{font-family:var(--latin);font-weight:700;font-size:12px;letter-spacing:.2em;color:var(--mint)}
.lp-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 0 4px}
.lp-deal{padding:4px 12px;border-radius:999px;background:rgba(167,232,210,.1);color:var(--mint);font-size:12.5px;font-weight:700}
.lp-ribbon{padding:4px 12px;border-radius:999px;background:var(--pill);color:#0B1110;font-size:12px;font-weight:800;box-shadow:0 6px 18px rgba(212,175,55,.3)}
body.lab #pro .plan-matrix h3{margin:4px 0 0;font-weight:800;font-size:30px;color:var(--text);letter-spacing:-.01em}
body.lab #pro .plan-matrix p{min-height:0;margin:0 0 8px;color:var(--muted);font-size:13.5px;line-height:2}
body.lab #pro .plan-matrix b{order:0;font-family:var(--fa);font-size:24px;font-weight:800;color:var(--text)}
body.lab #pro .plan-matrix .plan-features{padding:16px 0 0;margin:14px 0 0;border-top:1px dashed var(--line);list-style:none;display:grid;gap:10px;font-size:13.5px;color:#C9D1CE}
body.lab #pro .plan-matrix .plan-features li{display:flex;gap:10px;align-items:baseline}
body.lab #pro .plan-matrix .plan-features li::before{content:"✓";flex:none;font-family:var(--latin);font-weight:700;color:var(--mint);margin:0}
/* Pro: gold-edged featured card */
body.lab #pro .plan-matrix article.plan-featured{background:radial-gradient(120% 60% at 100% 0%,rgba(212,175,55,.18),transparent 55%),linear-gradient(180deg,#123E37,#0D2320 60%,var(--surface));border-color:rgba(212,175,55,.55);transform:translateY(-8px);box-shadow:0 30px 70px -30px rgba(212,175,55,.35)}
body.lab #pro .plan-matrix article.plan-featured:hover{transform:translateY(-12px)}
body.lab #pro .plan-matrix article.plan-featured .en,body.lab #pro .plan-matrix article.plan-featured b{color:var(--gold-soft)}
body.lab #pro .plan-matrix article.plan-featured .lp-deal{background:rgba(212,175,55,.16);color:var(--gold-soft)}
body.lab #pro .plan-matrix article.plan-featured h3{color:#fff}
body.lab #pro .plan-matrix article.plan-featured p{color:#C3D8D1}
body.lab #pro .plan-matrix article.plan-featured .plan-features li::before{color:var(--gold)}
/* selected tier */
body.lab #pro .plan-matrix article.is-selected{border-color:var(--mint);box-shadow:0 0 0 3px rgba(167,232,210,.18),0 30px 60px -30px rgba(0,0,0,.8);background:linear-gradient(180deg,#16332D,var(--surface) 60%)}
body.lab #pro .plan-matrix article.plan-featured.is-selected{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.3),0 30px 70px -30px rgba(212,175,55,.4);background:radial-gradient(120% 60% at 100% 0%,rgba(212,175,55,.22),transparent 55%),linear-gradient(180deg,#123E37,#0D2320 60%,var(--surface))}
/* one badge style for plan + duration cards: a pill centred on the top edge */
body.lab #pro .plan-matrix article.is-selected::after,body.lab #pro .plan-matrix article.lp-picked::after,body.lab #pro .subscription-plans article.lp-popular::before,body.lab #pro .subscription-plans article.lp-best::before{position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:5px 16px;border-radius:999px;font:800 12.5px var(--fa);white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.35)}
body.lab #pro .plan-matrix article.is-selected::after{content:"✓ پلن فعلی شما";background:var(--mint);color:#0B1110}
body.lab #pro .plan-matrix article.lp-picked::after{content:"انتخاب شما";background:var(--surface-3);color:var(--text);border:1px solid var(--mint)}
body.lab #pro .plan-matrix article.plan-featured.lp-picked::after{border-color:var(--gold);color:var(--gold-soft)}
body.lab #pro .plan-matrix article.lp-picked{border-color:var(--mint);box-shadow:0 0 0 3px rgba(167,232,210,.18),0 30px 60px -30px rgba(0,0,0,.8)}
body.lab #pro .plan-matrix article.plan-featured.lp-picked{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.3),0 30px 70px -30px rgba(212,175,55,.4)}
.lp-free-note{margin:14px 0 0!important;padding:10px 12px;border-radius:12px;background:rgba(167,232,210,.08);color:var(--mint)!important;font-size:12.5px!important;line-height:1.9!important}
.lp-toast{position:absolute;inset-inline:16px;bottom:16px;padding:10px 14px;border-radius:12px;background:var(--mint);color:#0B1110;font:700 13px var(--fa);box-shadow:0 10px 24px rgba(0,0,0,.4);animation:lp-in .2s ease-out}
@keyframes lp-in{from{opacity:0;transform:translateY(6px)}}
body.lab #pro .plan-matrix article.is-selected h3,body.lab #pro .plan-matrix article.is-selected li{color:var(--text)}
body.lab #pro .plan-matrix article.is-selected p{color:#C3D8D1}

/* duration cards (shown after choosing Plus or Pro) */
.lp-dur-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:34px 0 14px;padding-top:26px;border-top:1px solid var(--line)}
.lp-dur-title b{font-size:20px;font-weight:800;color:var(--text)}
.lp-dur-title span{font-size:13.5px;color:var(--muted)}
#pro:has(.subscription-plans[style*="none"]) .lp-dur-title{display:none}
body.lab #pro .subscription-plans{gap:14px;margin:0 0 18px}
body.lab #pro .subscription-plans{padding-top:14px}
body.lab #pro .subscription-plans article{overflow:visible!important;position:relative;display:flex;flex-direction:column;gap:4px;min-height:0;padding:26px 24px 22px;border:1px solid var(--line);border-radius:22px;background:var(--surface);color:var(--text);box-shadow:none;transform:none;text-align:right;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s}
body.lab #pro .subscription-plans article:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16),0 22px 44px -24px rgba(0,0,0,.6);background:linear-gradient(160deg,rgba(212,175,55,.08),transparent 60%),var(--surface)}
body.lab #pro .plan-matrix article{cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s}
body.lab #pro .plan-matrix article:hover{transform:translateY(-4px);border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.16),0 24px 48px -26px rgba(0,0,0,.6)}
body.lab #pro .subscription-plans article .en{margin:0;font:700 11.5px var(--fa);letter-spacing:0;color:var(--muted)}
body.lab #pro .subscription-plans article h3{margin:2px 0 6px;font-size:20px;font-weight:800;color:var(--text)}
body.lab #pro .subscription-plans .plan-price b{font-family:var(--fa);font-size:32px;font-weight:800;letter-spacing:0;color:var(--text)}
.lp-per{margin:2px 0 6px!important;font-size:13px!important;color:var(--muted)!important}
.lp-per em{font-style:normal;font-weight:700;color:var(--mint)}
body.lab #pro .subscription-plans article>p:not(.lp-per){margin:0 0 14px;font-size:12.5px;color:var(--muted);opacity:.85}
body.lab #pro .subscription-plans article button{margin-top:auto;min-height:48px;border-radius:999px;font:700 14px var(--fa);border:1px solid var(--line);background:var(--surface-3);color:var(--text)}
body.lab #pro .subscription-plans article button.primary{border:0;background:var(--pill);color:#0B1110;box-shadow:var(--pill-glow)}
body.lab #pro .subscription-plans article.lp-popular::before{content:"محبوب";background:var(--mint);color:#0B1110}
body.lab #pro .subscription-plans article.lp-best::before{content:"به‌صرفه‌ترین";background:var(--gold);color:#130E05}
body.lab #pro .subscription-plans article.plan-featured{border-color:rgba(167,232,210,.35)}
body.lab #pro .subscription-plans article.is-selected{border-color:var(--mint);background:linear-gradient(180deg,#16332D,var(--surface) 70%);box-shadow:0 0 0 3px rgba(167,232,210,.18)}
body.lab #pro .subscription-plans article.is-selected h3,body.lab #pro .subscription-plans article.is-selected .plan-price,body.lab #pro .subscription-plans article.is-selected .en{color:var(--text)}
body.lab #pro .notice{border:1px solid var(--line);border-inline-start:3px solid var(--gold);border-radius:14px;background:var(--surface);color:var(--muted)}
body.lab :is(.plan-payment-dialog,.free-activation-dialog) .dialog-top{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;padding:0;border:0}
body.lab :is(.plan-payment-dialog,.free-activation-dialog) .eyebrow{font-family:var(--latin);font-weight:600;font-size:11.5px;letter-spacing:.18em;color:var(--mint)}
body.lab :is(.plan-payment-dialog,.free-activation-dialog) .icon{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);font-size:20px;cursor:pointer}
body.lab :is(.plan-payment-dialog,.free-activation-dialog) h2{margin:4px 0 6px;font-size:26px;font-weight:800;color:var(--text)}
body.lab :is(.plan-payment-dialog,.free-activation-dialog) p{color:#C9D1CE;font-size:14.5px}
body.lab :is(.plan-payment-dialog,.free-activation-dialog) button.primary{min-height:52px;border:0;border-radius:999px;background:var(--pill);color:#0B1110;font:800 15px var(--fa);box-shadow:var(--pill-glow)}
body.lab :is(.plan-payment-dialog,.free-activation-dialog) .muted{margin:14px 0 0;font-size:12.5px;color:var(--muted)}


/* ---------- payment page (lab-payment.js) ---------- */
body.lab dialog.dashboard.lpp{width:min(620px,calc(100% - 24px))}
.lpp-sum{margin:-6px 0 14px}
.lpp-chip{display:inline-block;padding:5px 14px;border-radius:999px;background:rgba(212,175,55,.14);color:var(--gold-soft);font-weight:700;font-size:13.5px}
.lpp-rate{position:relative;display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:8px;margin-bottom:16px}
.lpp-rate[hidden]{display:none}
.lpp-rate-cell{display:grid;gap:2px;align-content:center;justify-items:center;text-align:center;padding:14px 10px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);font-size:12.5px;color:var(--muted)}
.lpp-rate-cell b{font-size:19px;color:var(--text);font-weight:800}
.lpp-rate-cell small{font-size:11px;color:var(--muted);line-height:1.6}
.lpp-rate-cell.is-total{background:linear-gradient(160deg,rgba(212,175,55,.16),rgba(212,175,55,.03));border-color:rgba(212,175,55,.4)}
.lpp-rate-cell.is-total b{color:var(--gold-soft);font-size:22px}
.lpp-refresh{position:absolute;top:-10px;left:-10px;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:var(--surface-3);color:var(--text);cursor:pointer}
.lpp-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:14px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}
.lpp-tabs[hidden]{display:none}
.lpp-tabs button{padding:10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 13.5px var(--fa);cursor:pointer}
.lpp-tabs button[aria-selected="true"]{background:var(--pill);color:#0B1110;font-weight:800}
.lpp-pane[hidden]{display:none}
.lpp-card{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);margin-bottom:14px}
.lpp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface)}
.lpp-row[hidden]{display:none}
.lpp-row>span{font-size:12.5px;color:var(--muted);white-space:nowrap}
.lpp-row>b{font-size:15px;font-weight:600;color:var(--text);text-align:left;overflow-wrap:anywhere}
.lpp-row.is-text>b{font-family:var(--fa);direction:rtl;text-align:right}
.lpp-row.is-info{grid-template-columns:auto minmax(0,1fr)}
.lpp-row.lpp-amount-row{background:linear-gradient(160deg,rgba(212,175,55,.14),var(--surface));}
.lpp-row.lpp-amount-row>b{color:var(--gold-soft)}
.lpp-copy{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-3);color:var(--text);font:600 12px var(--fa);cursor:pointer;transition:all .2s}
.lpp-copy svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}
.lpp-copy i{font-style:normal}
.lpp-copy:hover{border-color:var(--mint);color:var(--mint)}
.lpp-copy.is-done{background:var(--mint);border-color:var(--mint);color:#0B1110}
.lpp-steps{margin:0 0 14px;padding-inline-start:20px;display:grid;gap:4px;font-size:13px;color:var(--muted);line-height:1.9}
.lpp-receipt{display:grid;gap:12px}
.lpp-drop{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:84px;padding:14px 18px;border:1.5px dashed #3A4441;border-radius:16px;background:var(--surface);cursor:pointer;transition:border-color .2s}
.lpp-drop:hover{border-color:var(--mint)}
.lpp-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.lpp-drop-text{display:grid;gap:2px}
.lpp-drop-text b{font-size:14.5px;color:var(--text);overflow-wrap:anywhere}
.lpp-drop-text small{font-size:12px;color:var(--muted)}
.lpp-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}
.lpp-thumb[hidden]{display:none}
.lpp-field{display:grid;gap:6px;font-size:13px;color:var(--muted)}
body.lab dialog.lpp .lpp-field input{min-height:46px;padding:10px 14px;font:inherit;font-size:15px}
.lpp-error{margin:0;min-height:1.2em;font-size:13px;color:var(--gold-soft)}
.lpp-receipt .hx-pill,.lpp-cash-btn{width:100%}
.lpp-cash p{margin:4px 6px 6px;font-size:13.5px;line-height:2;color:#C9D1CE}
.lpp-map{justify-self:start;margin:2px 6px 6px;font-size:13px;color:var(--mint)}
.lpp-done[hidden]{display:none}
.lpp-done h3{margin:0 0 8px;text-align:center;font-size:20px;color:var(--text)}
.lpp-done>p{margin:0 0 14px;text-align:center;font-size:14px;line-height:2;color:#C9D1CE}
.lpp-done .lab-done-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:560px){.lpp-rate{grid-template-columns:1fr 1fr}.lpp-rate-cell.is-total{grid-column:1/-1}.lpp-row{grid-template-columns:1fr auto}.lpp-row>span{grid-column:1/-1}}


/* current duration + subscription status card */
body.lab #pro .subscription-plans article.lp-current{border-color:var(--mint);box-shadow:0 0 0 3px rgba(167,232,210,.18);background:linear-gradient(180deg,#16332D,var(--surface) 70%)}
body.lab #pro .subscription-plans article.lp-current::before{display:none}
body.lab #pro .subscription-plans article.lp-current::after{content:"✓ مدت فعلی شما";position:absolute;top:-14px;left:50%;transform:translateX(-50%);padding:5px 16px;border-radius:999px;background:var(--mint);color:#0B1110;font:800 12.5px var(--fa);white-space:nowrap;box-shadow:0 6px 16px rgba(0,0,0,.35)}


/* credit ring gauges */
.lc-share[hidden]{display:none}
.lc-rings{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lc-ring{position:relative;display:grid;justify-items:center;gap:8px;padding:18px 10px 14px;border:0;border-radius:0;background:none}
.lc-ring svg{width:min(100%,176px);aspect-ratio:1;transform:rotate(-90deg)}
.lc-ring-track{fill:none;stroke:#0E1413;stroke-width:12}
.lc-ring-fill{fill:none;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.2,.7,.2,1)}
.lc-ring.is-empty .lc-ring-fill{opacity:0}
.lc-ring-in{position:absolute;top:24px;inset-inline:0;height:min(calc(100% - 60px),176px);display:grid;place-content:center;justify-items:center;gap:2px;text-align:center;pointer-events:none}
.lc-ring-val{font-family:var(--fa);font-size:30px;font-weight:800;line-height:1.2;color:var(--text)}
.lc-ring-sub{font-size:12px;color:var(--muted)}
.lc-ring-in i{display:block;width:70px;height:1px;margin:6px 0 4px;background:var(--line)}
.lc-ring.is-empty .lc-ring-in i{display:none}
.lc-ring.is-empty .lc-ring-sub{font-size:13.5px;color:#C9D1CE}
.lc-ring-pct{font-size:12.5px;font-weight:700}
.lc-ring.is-wax .lc-ring-pct{color:#E7A0B0}
.lc-ring.is-resin .lc-ring-pct{color:var(--mint)}
.lc-ring-label{display:grid;justify-items:center;gap:2px;margin:0;font-size:15px;font-weight:700;color:var(--text)}
.lc-ring-label small{font-size:12px;font-weight:500;color:var(--muted)}
/* balance tiles stay in the DOM (credits.js writes the numbers there) but only the rings are shown */
body.lab .lab-credit .lc-tiles{display:none}
body.lab .lab-credit .credit-balances .lc-title{margin-bottom:2px}
.lc-rings{gap:12px}
.lc-ring{padding:24px 12px 18px}
@media (prefers-reduced-motion:reduce){.lc-ring-fill{transition:none}}

/* ---------- about + footer ---------- */
body.lab section.about.lab-about[id]{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1.05fr 1fr;column-gap:clamp(24px,5vw,72px);align-items:center;max-width:calc(var(--wrap) - 2*var(--gutter));width:calc(100% - 2*var(--gutter));margin:120px auto 0;padding:clamp(28px,5vw,64px)!important;border-radius:36px;border:1px solid rgba(255,255,255,.08);color:var(--text);background:
  radial-gradient(60% 80% at 100% 0%,rgba(31,107,95,.55),transparent 60%),
  radial-gradient(45% 60% at 0% 100%,rgba(212,175,55,.22),transparent 65%),
  radial-gradient(40% 50% at 30% 20%,rgba(167,232,210,.10),transparent 70%),
  linear-gradient(160deg,#10231F,#0D1614 55%,#141A15)}
/* fine blueprint grid + oversized watermark behind everything */
.lab-about::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(167,232,210,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(167,232,210,.05) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(80% 80% at 50% 50%,#000 30%,transparent 80%);mask-image:radial-gradient(80% 80% at 50% 50%,#000 30%,transparent 80%)}
.lab-about::after{content:"DAKO";position:absolute;z-index:-1;left:-2%;bottom:-8%;font:800 clamp(120px,18vw,260px)/1 var(--latin);letter-spacing:.08em;color:transparent;-webkit-text-stroke:1px rgba(212,175,55,.12);pointer-events:none;direction:ltr}
.la-copy{display:grid;gap:18px;align-content:center}
body.lab .lab-about .eyebrow{margin:0;font-family:var(--latin);font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--mint)}
body.lab .lab-about h2{margin:0;font-family:var(--fa);font-weight:300;font-size:clamp(22px,2.1vw,32px);line-height:1.5;color:#E4E8E6;white-space:nowrap}
@media (max-width:640px){body.lab .lab-about h2{white-space:normal;text-wrap:balance}}
body.lab .lab-about h2 b{font-weight:800;background:var(--pill);-webkit-background-clip:text;background-clip:text;color:transparent}
body.lab .lab-about p{margin:0;max-width:34em;font-size:15.5px;line-height:2.15;color:#C9D1CE}
.la-facts{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.la-facts li{display:grid;gap:4px;justify-items:center;align-content:center;text-align:center;padding:16px 12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(10,20,18,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.la-facts b{font-size:18px;font-weight:800;color:var(--gold-soft);text-align:center;white-space:nowrap}
.la-facts span{font-size:12.5px;line-height:1.8;color:var(--muted)}
@media (max-width:900px){.la-facts{grid-template-columns:1fr 1fr}.la-facts li:last-child{grid-column:1/-1}}
.la-steps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#C9D1CE}
.la-steps span{padding:5px 12px;border-radius:999px;border:1px solid rgba(167,232,210,.25);background:rgba(167,232,210,.06)}
.la-steps i{width:18px;height:1px;background:linear-gradient(90deg,var(--mint),var(--gold))}
.la-visual{position:relative;min-height:420px}
.la-ring{position:absolute;inset:8% 6% 6% 10%;border-radius:50%;border:1px solid rgba(212,175,55,.25);box-shadow:0 0 0 30px rgba(212,175,55,.04),0 0 0 62px rgba(167,232,210,.03)}
.la-img{position:absolute;object-fit:cover;border-radius:26px;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.la-img-main{top:0;right:0;width:72%;height:82%}
.la-img-side{left:0;bottom:0;width:46%;height:52%;border-radius:22px;outline:6px solid #0F1A17}
.la-tag{position:absolute;right:6%;bottom:8%;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(10,20,18,.75);border:1px solid rgba(255,255,255,.1);font-size:12.5px;color:var(--text);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.la-tag i{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,.2)}
@media (max-width:900px){body.lab section.about.lab-about[id]{grid-template-columns:1fr;row-gap:28px}.la-visual{min-height:320px}}
body.lab footer{margin-top:100px;padding:52px var(--gutter) 28px;background:#0A0D0C;border-top:1px solid var(--line);color:var(--text);grid-template-columns:1.3fr 1fr 1fr;column-gap:clamp(32px,6vw,96px)}
body.lab footer .brand{justify-self:start;text-align:right;color:var(--text);font-family:var(--latin);font-weight:700;letter-spacing:.22em}
body.lab footer .brand span{text-align:right}
/* footer logo: the tagline runs exactly under DAKO, edge to edge (spacing fitted in lab-layout.js) */
body.lab footer .brand{display:inline-grid;justify-items:stretch;direction:ltr;width:max-content}
body.lab footer .brand b{font-weight:700;letter-spacing:.22em;margin-right:-.22em;line-height:1.1}
body.lab footer .brand span{display:block;margin-top:8px;text-align:left;white-space:nowrap;letter-spacing:.3em;margin-right:-.3em}
body.lab footer h3{font-size:14px;font-weight:700;color:var(--text)}
body.lab footer a{color:var(--muted)}
body.lab footer a:hover{color:var(--mint)}
body.lab footer .copyright{color:var(--muted)}
@media (max-width:760px){body.lab footer{grid-template-columns:1fr;row-gap:24px}}

/* ---------- dialogs keep their light palette; only soften the edges ---------- */
body.lab dialog{border-radius:var(--r-lg);color-scheme:light}


/* ---------- account + notifications dialogs (dialog.dashboard) in the dark studio theme ---------- */
body.lab dialog.dashboard{color-scheme:dark;width:min(780px,calc(100% - 24px));max-height:calc(100dvh - 40px);overflow:auto;padding:28px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(120% 60% at 100% 0%,rgba(31,107,95,.28),transparent 60%),var(--surface);color:var(--text);box-shadow:0 40px 120px rgba(0,0,0,.75);scrollbar-width:thin;scrollbar-color:var(--line) transparent}
body.lab dialog.dashboard::backdrop{background:rgba(5,8,7,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.lab dialog.dashboard .dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:0 0 20px;padding:0;border:0}
body.lab dialog.dashboard .dialog-top .eyebrow{display:block;font-family:var(--latin);font-weight:600;font-size:11.5px;letter-spacing:.18em;color:var(--mint);text-align:right}
body.lab dialog.dashboard h2{margin:6px 0 0;font-family:var(--fa);font-weight:700;font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--text)}
body.lab dialog.dashboard .dialog-top .icon{flex:none;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);color:var(--text);font-size:22px;line-height:1;cursor:pointer;transition:border-color .2s,color .2s}
body.lab dialog.dashboard .dialog-top .icon:hover{border-color:rgba(167,232,210,.45);color:var(--mint)}
body.lab dialog.dashboard .notice{margin:0 0 14px;padding:14px 16px;border:1px solid var(--line);border-inline-start:3px solid var(--gold);border-radius:14px;background:var(--surface-2);color:var(--muted);font-size:13.5px;line-height:2}
body.lab dialog.dashboard .notice strong{color:var(--gold-soft)}
body.lab dialog.dashboard .empty-state{margin:6px 0 0;padding:40px 20px;border:1.5px dashed #3A4441;border-radius:18px;background:transparent;color:var(--muted);text-align:center;font-size:14px}
body.lab dialog.dashboard .summary,body.lab dialog.dashboard article{border:1px solid var(--line);border-radius:16px;background:var(--surface-2);color:var(--text)}
body.lab dialog.dashboard .summary{padding:16px 18px;margin:0 0 10px}
body.lab dialog.dashboard .summary h3{color:var(--text)}
body.lab dialog.dashboard .summary p,body.lab dialog.dashboard .muted,body.lab dialog.dashboard small{color:var(--muted)}
body.lab dialog.dashboard input,body.lab dialog.dashboard select,body.lab dialog.dashboard textarea{border:1px solid var(--line);border-radius:12px;background:var(--surface-3);color:var(--text)}
body.lab dialog.dashboard label{color:var(--muted)}
body.lab dialog.dashboard .outline{border:1px solid var(--line);border-radius:999px;background:var(--surface-3);color:var(--text)}
body.lab dialog.dashboard .primary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:18px;padding:12px 30px;border:0;border-radius:999px;background:var(--pill);color:#0B1110;font-weight:800;box-shadow:var(--pill-glow)}
body.lab dialog.dashboard .credit-balances{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.lab dialog.dashboard .credit-balances strong b{font-family:var(--latin);color:var(--text)}
@media (max-width:560px){
  body.lab dialog.dashboard{padding:20px;border-radius:22px}
}


/* sign-in + order confirmation (built by lab-order.js, share the dashboard dialog look) */
body.lab dialog.lab-flow-dialog{width:min(560px,calc(100% - 24px))}
.lab-login-form{display:grid;gap:14px}
.lab-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lab-login-form label{display:grid;gap:6px;font-size:13px}
body.lab dialog.lab-flow-dialog input{min-height:48px;padding:10px 14px;font:inherit;font-size:15px}
body.lab dialog.lab-flow-dialog input:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px rgba(167,232,210,.15)}
.lab-login-error{margin:0;min-height:1.2em;font-size:13px;color:var(--gold-soft)}
.lab-login-form .hx-pill{width:100%}
.lab-done-mark{display:grid;place-items:center;width:64px;height:64px;margin:4px auto 14px;border-radius:50%;background:var(--pill);color:#0B1110;font:800 28px var(--latin);box-shadow:var(--pill-glow)}
.lab-done-lead{margin:0 0 16px;text-align:center;font-size:15px;line-height:2.1;color:#C9D1CE}
.lab-done-lead b{color:var(--mint)}
.lab-done-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.lab-done-grid>div{display:grid;gap:2px;justify-items:center;padding:12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);font-size:12px;color:var(--muted)}
.lab-done-grid b{font-size:16px;color:var(--text)}
.lab-done-files{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 14px}
.lab-done-files span{padding:3px 10px;border-radius:999px;border:1px solid var(--line);font-size:11.5px;color:var(--muted)}
.lab-done-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;counter-reset:s}
.lab-done-steps li{position:relative;padding-top:18px;font-size:12px;text-align:center;color:var(--muted)}
.lab-done-steps li::before{content:"";position:absolute;top:4px;inset-inline:0;height:4px;border-radius:4px;background:var(--surface-3)}
.lab-done-steps li.is-done{color:var(--text)}
.lab-done-steps li.is-done::before{background:var(--mint)}
.lab-done-steps li.is-now{color:var(--gold-soft);font-weight:700}
.lab-done-steps li.is-now::before{background:linear-gradient(90deg,var(--surface-3),var(--gold))}
.lab-done-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:6px}
body.lab dialog .lab-done-actions .hx-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 30px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text);font:600 15px var(--fa);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
body.lab dialog .lab-done-actions .hx-ghost:hover{border-color:rgba(167,232,210,.45);color:var(--mint);background:var(--surface-3)}
body.lab dialog.lab-flow-dialog .hx-pill{margin-top:0}
body.lab header .lab-account.is-in{position:relative}
body.lab header .lab-account.is-in::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#3FB39A;box-shadow:0 0 0 2px var(--bg)}
@media (max-width:520px){.lab-login-grid,.lab-done-grid{grid-template-columns:1fr 1fr}.lab-done-steps{grid-template-columns:1fr 1fr;row-gap:12px}}


/* ---------- collection viewer + order (lab-collection.js) ---------- */
body.lab dialog.dashboard.lab-coll{width:min(1180px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:24px}
.lab-coll .dialog-top{margin-bottom:16px}
.lcl-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;align-items:start}
.lcl-stage{position:relative;min-height:560px;height:100%;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(70% 70% at 50% 45%,#133F38,#0B1A18 75%)}
.lcl-stage:focus-visible{outline:2px solid var(--mint);outline-offset:3px}
.lcl-render{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lcl-render{transform-origin:0 0;transition:transform .12s ease-out;will-change:transform}
.lcl-stage:not(.is-zoomed) .lcl-render{cursor:zoom-in}
.lcl-stage.is-zoomed .lcl-render{cursor:grab}
.lcl-stage.is-dragging .lcl-render{cursor:grabbing;transition:none}
.lcl-stage{touch-action:none;user-select:none;-webkit-user-select:none}
.lcl-zoom{position:absolute;z-index:4;bottom:14px;left:14px;display:flex;align-items:center;gap:6px}
.lcl-zoom[hidden]{display:none}
.lcl-zoom-hint{padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.5);font-size:11.5px;color:rgba(255,255,255,.8);pointer-events:none}
.lcl-zoom-level{padding:5px 10px;border-radius:999px;background:rgba(0,0,0,.55);font-size:12px;color:#fff}
.lcl-zoom-reset{width:32px;height:32px;border:0;border-radius:50%;background:var(--pill);color:#0B1110;font-size:16px;cursor:pointer}
.lcl-zoom-hint[hidden],.lcl-zoom-level[hidden],.lcl-zoom-reset[hidden]{display:none}
@media (hover:none){.lcl-zoom-hint{display:none}}
.lcl-3d{position:absolute;inset:0;touch-action:none;cursor:grab}
.lcl-3d canvas{display:block;width:100%;height:100%}
.lcl-3d[hidden],.lcl-render[hidden],.lcl-3d-lock[hidden]{display:none}
.lcl-3d-lock{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center;background:linear-gradient(rgba(11,26,24,.55),rgba(11,26,24,.9)),var(--lcl-bg,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.lcl-3d-lock svg{width:44px;height:44px;fill:none;stroke:var(--gold-soft);stroke-width:1.5}
.lcl-3d-lock b{font-size:18px;color:var(--text)}
.lcl-3d-lock span{max-width:26em;font-size:13.5px;line-height:2;color:var(--muted)}
.lcl-tabs{position:absolute;z-index:4;top:14px;right:14px;display:flex;gap:3px;padding:4px;border-radius:999px;background:rgba(0,0,0,.45);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lcl-tabs button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 12.5px var(--fa);cursor:pointer}
.lcl-tabs button[aria-pressed="true"]{background:var(--pill);color:#0B1110}
.lcl-tab-lock{display:inline-flex;align-items:center;gap:3px;font:700 10.5px var(--latin);color:var(--gold-soft)}
.lcl-tabs button[aria-pressed="true"] .lcl-tab-lock{color:#0B1110}
.lcl-tab-lock svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2}
.lcl-looks{position:absolute;z-index:4;bottom:48px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.lcl-looks[hidden]{display:none}
.lcl-looks button{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:600 13px var(--fa);cursor:pointer}
.lcl-looks button i{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#FFE9A8,#D4AF37)}
.lcl-looks button[data-look="resin"] i{background:#3FB39A}
.lcl-looks button[data-look="wax"] i{background:#C66B80}
.lcl-looks button[aria-pressed="true"]{background:rgba(255,255,255,.14);color:#fff}
.lcl-stage:has(.lcl-looks:not([hidden])) .lo-dots{bottom:14px}
.lcl-stage .lo-nav{z-index:3}
.lcl-stage-name{position:absolute;z-index:3;top:16px;left:16px;padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.45);font-size:12px;color:var(--text)}
.lcl-stage-info{position:absolute;z-index:3;bottom:14px;left:14px;font-size:12px;color:var(--text);text-shadow:0 1px 6px rgba(0,0,0,.8)}
.lcl-stage-info:empty,.lcl-stage-name:empty{display:none}
.lcl-side{display:grid;gap:12px;align-content:start}
.lcl-plan-chip{padding:3px 10px;border-radius:999px;background:rgba(212,175,55,.14);color:var(--gold-soft);font-size:12px;font-weight:700}
.lcl-list{max-height:250px}
.lcl-row{grid-template-columns:auto minmax(0,1fr) auto;cursor:pointer}
.lcl-thumb{width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid var(--line)}
.lcl-gold{background:linear-gradient(160deg,rgba(212,175,55,.12),rgba(212,175,55,.02))!important;border-color:rgba(212,175,55,.3)!important}
.lcl-gold b{color:#F2D98C!important}
.lo-kpis small em{font-style:normal}
.lo-kpis small s{color:var(--muted);opacity:.8}
[data-material="resin"] .lcl-have{background:linear-gradient(90deg,#1F6B5F,#3FB39A)}
[data-material="wax"] .lcl-have{background:linear-gradient(90deg,#8E3F51,#C66B80)}

/* Free: cover + locked models */
.lcl-free{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:stretch}
.lcl-cover{position:relative;min-height:460px;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.lcl-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lcl-cover-tag{position:absolute;bottom:14px;right:14px;padding:6px 14px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:13px}
.lcl-free-side{display:grid;gap:14px;align-content:start}
.lcl-locked-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.lcl-locked{position:relative;aspect-ratio:1;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.lcl-locked img{width:100%;height:100%;object-fit:cover;filter:blur(14px) saturate(.4) brightness(.45);transform:scale(1.2)}
.lcl-lock{position:absolute;inset:0;display:grid;place-items:center}
.lcl-lock svg{width:26px;height:26px;fill:none;stroke:var(--gold-soft);stroke-width:1.6}
.lcl-locked b{position:absolute;inset-inline:0;bottom:6px;text-align:center;font-size:10.5px;font-weight:500;color:var(--muted)}
.lcl-free-note{margin:0;font-size:13px;color:var(--gold-soft)}
.lcl-plans{display:grid;gap:8px}
.lcl-plans>div{display:grid;gap:2px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.lcl-plans>div.is-pro{border-color:rgba(212,175,55,.45);background:linear-gradient(160deg,rgba(212,175,55,.1),var(--surface-2))}
.lcl-plans b{font-family:var(--latin);font-size:15px;color:var(--mint)}
.lcl-plans .is-pro b{color:var(--gold-soft)}
.lcl-plans ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.lcl-plans li{padding:3px 10px;border-radius:999px;background:var(--surface-3);font-size:12.5px;color:var(--muted)}
.lcl-plans li.is-deal{background:rgba(167,232,210,.12);color:var(--mint);font-weight:700}
.lcl-plans .is-pro li.is-deal{background:rgba(212,175,55,.16);color:var(--gold-soft)}
@media (max-width:900px){.lcl-grid,.lcl-free{grid-template-columns:1fr}.lcl-stage{min-height:380px}.lcl-cover{min-height:300px}}

/* ---------- responsive ---------- */
@media (max-width:1060px){
  .hx-hero{grid-template-columns:1fr}
}
@media (max-width:700px){body.lab section#material-credit{padding:80px var(--gutter) 0;margin:0 auto}}
@media (max-width:980px){
  .lo-grid{grid-template-columns:1fr}
  .lo-viewer{min-height:380px}
  body.lab .lab-credit .credit-layout{grid-template-columns:1fr}
}
@media (max-width:760px){
  body.lab .about,body.lab section.about[id]{grid-template-columns:1fr}
  .hx-panel{grid-template-columns:1fr;padding:10px}
  .hx-tools{grid-row:auto;flex-direction:row;justify-content:center}
}
@media (max-width:520px){
  .lo-row{grid-template-columns:1fr}
  .lo-kpis b{font-size:19px}
  body.lab .lab-credit .credit-packs{grid-template-columns:1fr 1fr}

  .hx-ctas .hx-pill{flex:1}
  .lab-status ol{font-size:11.5px}
  .lab-toolbar{width:100%;justify-content:space-between}
  .hx-meta{display:none}
}
@media (prefers-reduced-motion:reduce){body.lab *{transition:none!important}}

/* ---------- section subtitles: brighter callout beside each title ---------- */
body.lab .section-top>.muted,body.lab .section-top>span.muted{position:relative;max-width:430px;padding:6px 18px 6px 0;margin:0 0 6px;font-size:15px;line-height:2;font-weight:500;color:#D6DEDA!important;border-inline-start:2px solid transparent;border-image:linear-gradient(180deg,#A7E8D2,#D4AF37) 1;text-wrap:pretty}
body.lab .section-top>.muted::before{content:"";position:absolute;inset-inline-start:-6px;top:0;width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px rgba(167,232,210,.8)}
@media (max-width:760px){body.lab .section-top>.muted,body.lab .section-top>span.muted{font-size:14px;max-width:none;margin-top:12px}}

/* ---------- print tool: supports & casting sprue (resin) ---------- */
.lo-prep{display:grid;gap:10px;padding:14px;border-radius:var(--r-md);background:linear-gradient(160deg,rgba(31,138,116,.14),rgba(31,138,116,.03));border:1px solid rgba(167,232,210,.22)}
.lo-prep[hidden]{display:none}
.lo-prep-head{display:flex;gap:12px;align-items:center}
.lo-prep-head svg{flex:none;width:34px;height:34px;padding:7px;border-radius:10px;background:rgba(167,232,210,.12);fill:none;stroke:var(--mint);stroke-width:1.8;stroke-linecap:round}
.lo-prep-head b{display:block;font-size:14px;color:var(--text)}
.lo-prep-head span{font-size:12.5px;color:var(--muted)}
.lo-prep-msg{margin:0;font-size:12.5px;line-height:1.9;color:#C9D3CF}
.lo-prep-msg b{color:var(--mint)}
.lo-kpis small em,.lo-kpis #lo-gr-sub em{font-style:normal;color:var(--mint);font-size:11px}
/* collection dialog: model + sprue = print weight */
.lcl-prep{display:grid;gap:8px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px dashed rgba(167,232,210,.3)}
.lcl-prep-flow{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:center}
.lcl-prep-flow span{display:grid;gap:2px;flex:1}
.lcl-prep-flow small{font-size:11.5px;color:var(--muted)}
.lcl-prep-flow b{font-size:15px;font-weight:500;color:var(--text)}
.lcl-prep-flow .is-total b{color:var(--mint)}
.lcl-prep-flow i{font-style:normal;color:var(--muted);font-size:16px}
.lcl-prep-msg{margin:0;display:grid;justify-items:center;gap:6px;text-align:center;font-size:12.5px;line-height:1.85;color:var(--muted)}
.lcl-prep-gold{display:inline-block;padding:2px 10px;border-radius:999px;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.3);color:var(--gold-soft,#E9C979);font-size:11.5px}
html[data-theme="light"] .lcl-prep-gold{color:#7A5B0B;background:#FBF1D3;border-color:#EAD9A6}
.lcl-prep-msg b{color:var(--text);font-weight:600}

/* ---------- plans: AI perk ---------- */
body.lab #pro .plan-matrix .plan-features li.lp-ai{cursor:pointer;padding:9px 10px;margin:0 -10px;border-radius:12px;background:linear-gradient(100deg,rgba(167,232,210,.12),rgba(212,175,55,.12));border:1px solid rgba(212,175,55,.3);color:var(--text);align-items:center;transition:transform .2s,border-color .2s}
body.lab #pro .plan-matrix .plan-features li.lp-ai:hover{transform:translateY(-1px);border-color:rgba(212,175,55,.6)}
body.lab #pro .plan-matrix .plan-features li.lp-ai::before{content:none}
body.lab #pro .plan-matrix .plan-features li.lp-ai b{font-weight:700;background:var(--pill);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-ai-tag{flex:none;font-family:var(--latin);font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:var(--pill);color:#0B1110;direction:ltr}
.lai-dash{display:grid;gap:14px}
.lai-dash-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px;border-radius:22px;border:1px solid rgba(212,175,55,.35);background:radial-gradient(120% 140% at 100% 0%,rgba(31,138,116,.45),transparent 60%),radial-gradient(90% 120% at 0% 100%,rgba(212,175,55,.22),transparent 60%),var(--surface-2)}
.lai-dash-hero h3{margin:4px 0 6px;font-size:19px;font-weight:800;color:var(--text)}
.lai-dash-hero p{margin:0;font-size:13px;line-height:1.9;color:#C9D3CF}
.lai-dash-hero .eyebrow{font-family:var(--latin);font-size:10.5px;letter-spacing:.18em;color:var(--gold-soft)}
.lai-dash-hero .hx-pill{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:8px}
.lai-dash-hero .hx-pill svg{width:18px;height:18px;fill:currentColor}
.lai-orb{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 0deg,#A7E8D2,#D4AF37,#1F8A74,#A7E8D2);animation:lai-spin 6s linear infinite;box-shadow:0 0 30px rgba(212,175,55,.35)}
.lai-orb svg{width:30px;height:30px;fill:#0B1110;animation:lai-spin 6s linear infinite reverse}
@keyframes lai-spin{to{transform:rotate(360deg)}}
.lai-dash-q{display:grid;justify-items:center;text-align:center;gap:2px;min-width:92px}
.lai-dash-q b{font-size:30px;font-weight:600;color:var(--text)}
.lai-dash-q b small{font-size:15px;color:var(--muted)}
.lai-dash-q span{font-size:11.5px;color:var(--muted)}
.lai-dash-list{display:grid;gap:8px}
.lai-req{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}
.lai-req img,.lai-req-file{width:52px;height:52px;border-radius:12px;object-fit:cover;background:#0B1110;display:grid;place-items:center;font-family:var(--latin);font-size:12px;color:var(--mint)}
.lai-req b{font-size:14px}.lai-req p{margin:2px 0;font-size:12.5px;color:#C9D3CF}.lai-req small{font-size:11px;color:var(--muted)}
.lai-status{font-size:11.5px;padding:4px 10px;border-radius:999px;background:rgba(212,175,55,.14);color:var(--gold-soft);white-space:nowrap}
.lai-dash-hint{margin:0;font-size:12.5px;color:var(--muted)}
.lai-dash-hint button{all:unset;cursor:pointer;color:var(--mint);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:4px}
@media (max-width:640px){.lai-dash-hero{grid-template-columns:auto 1fr}.lai-dash-q{grid-column:1/-1;grid-row:3;justify-items:start;text-align:start}.lai-orb{width:52px;height:52px}}
/* support tickets: calm and plain, clearly not the AI tool */
.lt{display:grid;gap:14px}

/* ---------- AI edit studio dialog ---------- */
body.lab dialog.lab-ai{width:min(960px,calc(100% - 24px));overflow:hidden auto;position:fixed}
.lai-glow{position:absolute;inset:-40% -20% auto auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.18),transparent 65%);pointer-events:none}
body.lab dialog.lab-ai h2 b{background:var(--pill);-webkit-background-clip:text;background-clip:text;color:transparent}
body.lab dialog.lab-ai .eyebrow{color:var(--gold-soft)}
.lai-quota{display:flex;align-items:center;gap:12px;margin:14px 0 16px;font-size:13px;color:var(--muted)}
.lai-quota b{color:var(--text);font-size:15px}
.lai-q-bar{flex:0 0 140px;height:6px;border-radius:9px;background:var(--surface-3);overflow:hidden}
.lai-q-bar i{display:block;height:100%;background:var(--pill);border-radius:inherit;transition:width .5s}
.lai-q-lock{color:var(--gold-soft)}
.lai-plan{margin-inline-start:auto;font-family:var(--latin);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--text)}
.lai-grid{display:grid;grid-template-columns:300px 1fr;gap:16px;min-height:430px}
.lai-pick{display:grid;align-content:start;gap:10px}
.lai-stage{position:relative;aspect-ratio:1;border-radius:20px;overflow:hidden;background:radial-gradient(circle at 50% 40%,#1F2A28,#0B1110);border:1px solid var(--line);display:grid;place-items:center}
.lai-stage-img{width:100%;height:100%;object-fit:cover}
.lai-stage-name{position:absolute;bottom:10px;inset-inline-start:10px;font-family:var(--latin);font-size:12px;padding:4px 10px;border-radius:999px;background:rgba(11,17,16,.7);backdrop-filter:blur(6px);color:var(--text)}
.lai-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(167,232,210,.35) 50%,transparent 52%);transform:translateY(-100%);pointer-events:none}
.lai-stage.is-scan .lai-scan{animation:lai-scan 1.3s ease-out}
@keyframes lai-scan{to{transform:translateY(100%)}}
.lai-label{margin:4px 0 0;font-size:12.5px;color:var(--muted)}
.lai-models{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.lai-m{aspect-ratio:1;padding:0;border-radius:10px;overflow:hidden;border:1.5px solid var(--line);background:var(--surface-2);cursor:pointer;display:grid;place-items:center}
.lai-m img{width:100%;height:100%;object-fit:cover}
.lai-m.is-on{border-color:var(--gold);box-shadow:0 0 0 3px rgba(212,175,55,.2)}
.lai-chat{position:relative;display:grid;grid-template-rows:1fr auto auto;gap:10px;min-height:0;padding:14px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}
.lai-log{overflow:auto;max-height:430px;display:flex;flex-direction:column;gap:10px;padding:4px}
.lai-msg{display:flex;gap:8px;align-items:flex-start;max-width:92%;animation:lai-in .3s ease-out}
@keyframes lai-in{from{opacity:0;transform:translateY(6px)}}
.lai-msg>div{padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.95}
.lai-msg p{margin:0}.lai-msg p+p{margin-top:6px}
.lai-msg.is-ai>div{background:var(--surface-3);border-start-start-radius:4px;color:#E4E8E6}
.lai-msg.is-ai b{color:var(--mint)}
.lai-msg.is-me{align-self:flex-end}
.lai-msg.is-me>div{background:linear-gradient(135deg,#1F6B5F,#0E4D45);color:#F2F1EC;border-start-end-radius:4px}
.lai-ava{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#A7E8D2,#D4AF37,#A7E8D2)}
.lai-ava svg{width:15px;height:15px;fill:#0B1110}
.lai-typing{display:inline-flex;gap:4px;padding:4px 0}
.lai-typing i{width:6px;height:6px;border-radius:50%;background:var(--mint);animation:lai-dot 1s infinite}
.lai-typing i:nth-child(2){animation-delay:.15s}.lai-typing i:nth-child(3){animation-delay:.3s}
@keyframes lai-dot{50%{opacity:.25;transform:translateY(-3px)}}
.lai-brief{margin-top:8px;padding:12px;border-radius:14px;background:#111716;border:1px solid rgba(212,175,55,.35)}
.lai-brief-top{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.lai-brief-top img{width:44px;height:44px;border-radius:10px;object-fit:cover}
.lai-brief-top small{display:block;font-size:11px;color:var(--gold-soft)}
.lai-brief ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px}
.lai-brief li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13px}
.lai-brief li span{color:var(--muted)}.lai-brief li b{color:var(--text)!important;font-weight:600}
.lai-brief-act{display:flex;flex-wrap:wrap;gap:8px}
.lai-brief-act .hx-pill{margin:0;padding:10px 18px;font-size:13.5px}
.lai-brief-act .hx-pill small{opacity:.7;font-size:11px;margin-inline-start:4px}
.lai-brief-act .hx-ghost{padding:10px 16px;font-size:13px}
.lai-ok{color:var(--mint);font-weight:700}
.lai-quick{display:flex;flex-wrap:wrap;gap:6px}
.lai-quick button{padding:6px 12px;border-radius:999px;border:1px solid rgba(212,175,55,.35);background:rgba(212,175,55,.06);color:var(--gold-soft);font:inherit;font-size:12.5px;cursor:pointer}
.lai-quick button:hover{background:rgba(212,175,55,.16)}
.lai-input{display:flex;gap:8px;align-items:flex-end;padding:6px;border-radius:18px;background:var(--bg);border:1px solid var(--line)}
.lai-input:focus-within{border-color:rgba(212,175,55,.6);box-shadow:0 0 0 3px rgba(212,175,55,.12)}
body.lab .lai-input textarea{flex:1;min-height:40px;max-height:120px;padding:9px 10px;border:0;background:transparent;color:var(--text);font:inherit;font-size:14px;resize:none;outline:none}
.lai-send{flex:none;width:42px;height:42px;border:0;border-radius:50%;background:var(--pill);display:grid;place-items:center;cursor:pointer;box-shadow:var(--pill-glow)}
.lai-send svg{width:20px;height:20px;fill:#0B1110}
.lai-lock{position:absolute;inset:0;display:grid;place-items:center;padding:20px;border-radius:inherit;background:rgba(14,18,17,.82);backdrop-filter:blur(5px);text-align:center}
.lai-lock>div{display:grid;justify-items:center;gap:8px;max-width:340px}
.lai-lock svg{width:40px;height:40px;fill:var(--gold)}
.lai-lock b{font-size:16px}.lai-lock p{margin:0;font-size:13px;line-height:1.9;color:var(--muted)}
.lai-lock .hx-pill{margin-top:6px}
.lai-flow{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:16px 0 4px;padding:0;font-size:12.5px;color:var(--muted)}
.lai-flow li{display:flex;align-items:center;gap:6px}
.lai-flow b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--surface-3);color:var(--mint)}
@media (max-width:760px){.lai-grid{grid-template-columns:1fr}.lai-pick{grid-template-columns:120px 1fr;align-items:start}.lai-stage{grid-row:span 2}.lai-models{grid-template-columns:repeat(5,1fr)}.lai-log{max-height:340px}.lai-q-bar{flex-basis:80px}}
.lo-prep-seg button::before{content:none}
.lo-prep-seg button[aria-pressed="true"]{background:rgba(167,232,210,.14);color:var(--mint)}
body.lab dialog.lab-ai .lai-input textarea{background:transparent!important;border:0!important;box-shadow:none!important;min-height:40px}
body.lab dialog.lab-ai .lai-more{padding:10px 16px;border-radius:999px;border:1px solid var(--line)!important;background:transparent!important;color:var(--text)!important;font:inherit;font-size:13px;cursor:pointer}
body.lab dialog.lab-ai .lai-more:hover{border-color:var(--mint)!important;color:var(--mint)!important}
body.lab #pro .plan-matrix .plan-features li.lp-ai b{display:inline;font-size:inherit!important;line-height:inherit;margin:0;font-family:var(--fa)}
body.lab #pro .plan-matrix .plan-features li.lp-ai>span:last-child{line-height:1.8}
.ls{display:grid;gap:12px}
.ls-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid rgba(167,232,210,.3);background:radial-gradient(120% 160% at 100% 0%,rgba(31,138,116,.4),transparent 60%),var(--surface-2)}
.ls-head b{display:block;font-size:16px}
.ls-head span{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.ls-live{width:8px;height:8px;border-radius:50%;background:#4ADE9A;box-shadow:0 0 0 0 rgba(74,222,154,.6);animation:ls-pulse 1.8s infinite}
@keyframes ls-pulse{70%{box-shadow:0 0 0 8px rgba(74,222,154,0)}100%{box-shadow:0 0 0 0 rgba(74,222,154,0)}}
.ls-ava{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 90deg,#A7E8D2,#1F8A74,#A7E8D2);animation:lai-spin 8s linear infinite}
.ls-ava svg{width:22px;height:22px;fill:#0B1110;animation:lai-spin 8s linear infinite reverse}
.ls-badge{margin-inline-start:auto;font-family:var(--latin);font-size:10.5px;font-weight:700;letter-spacing:.12em;padding:4px 10px;border-radius:999px;background:rgba(167,232,210,.12);color:var(--mint)}
.ls-chat{display:grid;gap:10px;padding:12px;border-radius:18px;background:var(--surface-2);border:1px solid var(--line)}
.ls-log{min-height:220px;max-height:360px}
.ls .lai-msg.is-me>div{background:linear-gradient(135deg,#1F8A74,#0E4D45)}
.ls .lai-ava{background:conic-gradient(#A7E8D2,#1F8A74,#A7E8D2)}
.ls-quick button{border-color:rgba(167,232,210,.3);background:rgba(167,232,210,.06);color:var(--mint)}
.ls-quick button:hover{background:rgba(167,232,210,.14)}
.ls-input:focus-within{border-color:rgba(167,232,210,.6);box-shadow:0 0 0 3px rgba(167,232,210,.12)}
body.lab .ls-input textarea{flex:1;min-height:40px;max-height:120px;padding:9px 10px;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--text);font:inherit;font-size:14px;resize:none;outline:none}
.ls-input .lai-send{background:linear-gradient(135deg,#C9F0E0,#3FB39A)}
.ls-ul{margin:4px 0;padding-inline-start:18px}
.ls-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ls-act{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;border:1px solid rgba(167,232,210,.4);background:rgba(167,232,210,.1);color:var(--mint);font:inherit;font-size:12.5px;cursor:pointer}
.ls-act svg{width:13px;height:13px;fill:currentColor}
.ls-act.is-soft{border-color:var(--line);background:transparent;color:var(--muted)}
.ls-act:hover{border-color:var(--mint);color:var(--text)}

/* ==========================================================================
   استودیوی من — account studio (lab-studio.js)
   ========================================================================== */
body.lab dialog.lst{color-scheme:dark;width:min(1180px,calc(100% - 32px));height:min(820px,calc(100dvh - 40px));max-width:none;max-height:none;padding:0;border:1px solid var(--line);border-radius:28px;background:#0C100F;color:var(--text);overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.6)}
body.lab dialog.lst::backdrop{background:rgba(5,8,7,.72);backdrop-filter:blur(8px)}
.lst-shell{display:grid;grid-template-columns:264px 1fr;height:100%}
.lst-i{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* sidebar */
.lst-side{display:flex;flex-direction:column;gap:18px;padding:22px 16px;background:radial-gradient(140% 60% at 100% 0%,rgba(31,138,116,.28),transparent 70%),#111615;border-inline-end:1px solid var(--line);min-height:0}
.lst-me{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;padding:14px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.lst-ava{grid-row:span 2;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:20px;font-weight:800;color:#0B1110;background:var(--pill);box-shadow:0 0 0 3px #111615,0 0 0 5px rgba(212,175,55,.45)}
.lst-ava.is-guest{background:var(--surface-3);color:var(--muted);box-shadow:0 0 0 3px #111615,0 0 0 5px var(--line)}
.lst-me b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lst-me small{font-size:11.5px;color:var(--muted);direction:ltr;text-align:right}
.lst-tier{grid-column:1/-1;justify-self:start;margin-top:8px;font-family:var(--latin);font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.lst-tier.is-plus{border-color:rgba(167,232,210,.5);color:var(--mint)}
.lst-tier.is-pro{border:0;background:linear-gradient(100deg,#E9C979,#D4AF37);color:#1A1405}
.lst-nav{display:grid;gap:4px;overflow:auto;scrollbar-width:none}
.lst-nav button{position:relative;display:flex;align-items:center;gap:12px;padding:11px 14px;border:0;border-radius:14px;background:transparent;color:#AEB9B5;font:500 14px var(--fa);cursor:pointer;text-align:start;transition:background .2s,color .2s}
.lst-nav button:hover{background:rgba(255,255,255,.04);color:var(--text)}
.lst-nav button.is-on{background:linear-gradient(100deg,rgba(167,232,210,.16),rgba(167,232,210,.04));color:var(--text)}
.lst-nav button.is-on::before{content:"";position:absolute;inset-inline-start:-16px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--mint)}
.lst-nav button.is-on .lst-i{stroke:var(--mint)}
.lst-nav button em{margin-inline-start:auto;font-style:normal;font-size:11px;min-width:22px;padding:1px 7px;border-radius:999px;background:var(--surface-3);color:var(--text);text-align:center}
.lst-nav button[data-view="notifications"] em{background:#D4AF37;color:#1A1405;font-weight:700}
.lst-nav button.is-ai{color:var(--gold-soft)}.lst-nav button.is-ai .lst-i{stroke:var(--gold-soft)}
.lst-nav button.is-ai.is-on{background:linear-gradient(100deg,rgba(212,175,55,.2),rgba(212,175,55,.04))}.lst-nav button.is-ai.is-on::before{background:var(--gold)}
.lst-nav button.is-sup .lst-i{stroke:var(--mint)}
.lst-side-foot{margin-top:auto}
.lst-out{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:transparent;color:var(--muted);font:500 13.5px var(--fa);cursor:pointer}
.lst-out:hover{border-color:rgba(230,120,120,.5);color:#F2B8B8}
.lst-side-foot .lst-btn{width:100%;justify-content:center}
/* main */
.lst-main{position:relative;overflow:auto;min-height:0;padding:0 30px 34px;scroll-behavior:smooth}
.lst-top{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 -30px 18px;padding:22px 30px 16px;background:linear-gradient(#0C100F 70%,rgba(12,16,15,0))}
.lst-top h2{margin:0;font-size:19px;font-weight:700}
.lst-top p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.lst-close{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--text);display:grid;place-items:center;cursor:pointer}
.lst-close:hover{border-color:var(--mint)}
.lst-view{display:grid;gap:18px;animation:lst-in .35s ease-out}
@keyframes lst-in{from{opacity:0;transform:translateY(8px)}}
.lst-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 13.5px var(--fa);cursor:pointer;white-space:nowrap;transition:transform .15s,border-color .2s}
.lst-btn:hover{border-color:rgba(167,232,210,.5);transform:translateY(-1px)}
.lst-btn.is-main{border:0;background:var(--pill);color:#0B1110;box-shadow:var(--pill-glow)}
.lst-btn.is-ai{border-color:rgba(212,175,55,.45);color:var(--gold-soft);background:rgba(212,175,55,.08)}
.lst-link{border:0;background:none;color:var(--mint);font:500 13px var(--fa);cursor:pointer;padding:0}
.lst-link:hover{text-decoration:underline;text-underline-offset:4px}
/* overview */
.lst-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 280px;gap:10px;align-items:center;min-height:210px;padding:26px 28px;border-radius:26px;border:1px solid rgba(167,232,210,.22);background:radial-gradient(90% 140% at 100% 0%,rgba(31,138,116,.55),transparent 60%),radial-gradient(60% 120% at 0% 100%,rgba(212,175,55,.22),transparent 60%),linear-gradient(135deg,#132220,#0E1413)}
.lst-hero::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 44px),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 44px);mask:linear-gradient(90deg,transparent,#000);pointer-events:none}
.lst-hero-txt{position:relative;z-index:1}
.lst-hero .eyebrow{font-family:var(--latin);font-size:10.5px;letter-spacing:.2em;color:var(--mint)}
.lst-hero h3{margin:6px 0 8px;font-size:clamp(19px,1.8vw,23px);font-weight:700}
.lst-hero p{margin:0 0 18px;font-size:14px;line-height:1.9;color:#C9D3CF;max-width:460px}
.lst-quick{display:flex;flex-wrap:wrap;gap:8px}
.lst-hero-art{position:relative;z-index:1;height:180px}
.lst-hero-art span{position:absolute;top:50%;left:50%;width:120px;height:120px;border-radius:24px;overflow:hidden;background:#0B1110;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.45);transform:translate(calc(-50% + (var(--i) - 2) * 46px),calc(-50% + (var(--i) - 2) * (var(--i) - 2) * 6px)) rotate(calc((var(--i) - 2) * 8deg));transition:transform .4s}
.lst-hero-art span:nth-child(3){z-index:3;width:136px;height:136px}.lst-hero-art span:nth-child(2),.lst-hero-art span:nth-child(4){z-index:2}
.lst-hero:hover .lst-hero-art span{transform:translate(calc(-50% + (var(--i) - 2) * 56px),-50%) rotate(calc((var(--i) - 2) * 4deg))}
.lst-hero-art img{width:100%;height:100%;object-fit:cover}
.lst-orb{inset:50% auto auto 50%!important;width:150px!important;height:150px!important;border-radius:50%!important;background:conic-gradient(from 0deg,#A7E8D2,#D4AF37,#1F8A74,#A7E8D2)!important;filter:blur(2px);opacity:.7;animation:lai-spin 10s linear infinite}
.lst-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.lst-stats div{display:grid;gap:4px;padding:16px 18px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.lst-stats span{font-size:12.5px;color:var(--muted)}
.lst-stats b{font-size:28px;font-weight:600}
.lst-stats small{font-size:13px;color:var(--muted)}
.lst-duo{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}
.lst-card{padding:18px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}
.lst-card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.lst-card-h b{font-size:15px}
.lst-rings{display:flex;justify-content:space-around;gap:10px}
.lst-ring{position:relative;display:grid;justify-items:center;gap:6px}
.lst-ring svg{width:104px;height:104px;transform:rotate(-90deg)}
.lst-ring circle{fill:none;stroke:var(--surface-3);stroke-width:7}
.lst-ring circle.f{stroke-linecap:round;transition:stroke-dashoffset 1s ease}
.lst-ring.is-wax circle.f{stroke:#D98BA0}.lst-ring.is-resin circle.f{stroke:#4CC3A6}
.lst-ring>div{position:absolute;top:0;height:104px;display:grid;place-content:center;text-align:center}
.lst-ring>div b{font-size:20px;font-weight:600;line-height:1.1}.lst-ring>div small{font-size:11px;color:var(--muted)}
.lst-ring>span{font-size:13px;color:#C9D3CF}
.lst-plan-name{font-family:var(--latin);font-size:30px;font-weight:700;line-height:1.1}
.lst-plan.is-pro .lst-plan-name{background:linear-gradient(100deg,#F3DD9A,#D4AF37);-webkit-background-clip:text;background-clip:text;color:transparent}
.lst-plan.is-plus .lst-plan-name{color:var(--mint)}
.lst-plan p{margin:4px 0 12px;font-size:13px;color:#C9D3CF}
.lst-plan-bar{height:6px;border-radius:9px;background:var(--surface-3);overflow:hidden;margin-bottom:10px}
.lst-plan-bar i{display:block;height:100%;border-radius:inherit;background:var(--pill)}
.lst-plan small{font-size:12px;color:var(--muted);line-height:1.8}
.lst-block{display:grid;gap:12px}
.lst-block-h{display:flex;justify-content:space-between;align-items:center}
.lst-block-h b{font-size:16px}
/* orders */
.lst-orders{display:grid;gap:10px}
.lst-order{display:grid;grid-template-columns:1fr auto;align-items:start;gap:0 12px;padding:12px;border-radius:22px;background:var(--surface);border:1px solid var(--line);transition:border-color .2s,background .2s}
.lst-order:hover,.lst-order.is-open{border-color:rgba(167,232,210,.3)}
.lst-order.is-open{background:linear-gradient(180deg,#141B1A,var(--surface))}
.lst-o-head{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer;min-width:0}
.lst-stack{position:relative;display:flex;width:96px;height:64px}
.lst-stack span{position:absolute;top:0;width:64px;height:64px;border-radius:16px;overflow:hidden;background:#0B1110;border:2px solid var(--surface);box-shadow:0 6px 16px rgba(0,0,0,.4)}
.lst-stack span:nth-child(1){inset-inline-start:0;z-index:3}.lst-stack span:nth-child(2){inset-inline-start:16px;z-index:2;transform:scale(.92)}.lst-stack span:nth-child(3){inset-inline-start:32px;z-index:1;transform:scale(.84)}
.lst-stack img,.lst-o-models img,.lst-lib-img img{width:100%;height:100%;object-fit:cover}
.lst-stack em{position:absolute;bottom:-4px;inset-inline-start:48px;z-index:4;font-style:normal;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--gold);color:#1A1405}
.lst-noimg{display:grid;place-items:center;width:100%;height:100%;font-family:var(--latin);font-size:11px;font-weight:700;color:var(--mint);background:radial-gradient(circle at 50% 35%,#1F2A28,#0B1110)}
.lst-o-main{display:grid;gap:6px;min-width:0}
.lst-o-title{display:flex;align-items:center;gap:8px;min-width:0}
.lst-o-title b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lst-kind{flex:none;font-size:10.5px;padding:2px 9px;border-radius:999px;background:rgba(167,232,210,.1);color:var(--mint)}
.lst-kind.is-collection{background:rgba(212,175,55,.12);color:var(--gold-soft)}
.lst-o-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted)}
.lst-mat{padding-inline-start:12px;position:relative}.lst-mat::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#C66B80}.lst-mat.is-resin::before{background:#3FB39A}
.lst-o-state{font-size:12px;padding:5px 12px;border-radius:999px;background:rgba(212,175,55,.12);color:var(--gold-soft);white-space:nowrap}
.lst-o-state.is-ready{background:rgba(74,222,154,.14);color:#7EE8B5}
.lst-chev{transform:rotate(90deg);color:var(--muted);transition:transform .25s}
.lst-order.is-open .lst-chev{transform:rotate(-90deg)}
.lst-o-act{align-self:center}
.lst-o-editrow{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.lst-o-editrow>span{font-size:12.5px;color:var(--muted)}
.lst-o-editrow>div{display:flex;flex-wrap:wrap;gap:6px}
.lst-o-editrow .lst-btn{padding:8px 14px;font-size:12.5px}
.lst-o-editrow.is-ask{border-top-style:solid;border-top-color:rgba(240,138,138,.35)}
.lst-btn.is-danger{color:#F2A0A0;border-color:rgba(240,138,138,.35)}
.lst-btn.is-danger:hover{border-color:rgba(240,138,138,.7)}
.lst-btn.is-danger.is-main{background:#B84A4A;border-color:transparent;color:#fff}
.lst-o-ask{font-size:13px;color:var(--text)!important}
.lst-o-state.is-cancelled{background:rgba(240,138,138,.12);color:#F2A0A0}
.lst-order:has(.lst-o-state.is-cancelled) .lst-o-head{opacity:.6}
.lst-o-edit-note{margin:10px 0 0;padding:10px 14px;border-radius:12px;background:rgba(167,232,210,.06);border:1px dashed rgba(167,232,210,.25);font-size:12.5px;color:var(--muted)}
.lst-o-edit-note b{color:var(--text)}
/* editing an order from the dashboard */
.lo-editing{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 16px;border-radius:14px;background:rgba(212,175,55,.1);border:1px solid rgba(212,175,55,.45)}
.lo-editing>span{display:grid;gap:2px}.lo-editing b{font-size:14px;color:var(--gold-soft)}.lo-editing small{font-size:12px;color:var(--muted)}
.lo-editing-x{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font:500 12.5px var(--fa);cursor:pointer}
.lst-o-act .lst-btn{padding:9px 14px;font-size:13px}
.lst-order>.lst-steps,.lst-o-more{grid-column:1/-1}
.lst-steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);margin:14px 4px 4px;padding:0}
.lst-steps li{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;font-size:11px;color:var(--muted)}
.lst-steps li::before{content:"";position:absolute;top:6px;inset-inline-start:50%;width:100%;height:2px;background:var(--surface-3);z-index:0}
.lst-steps li:last-child::before{display:none}
.lst-steps li.is-done::before{background:var(--mint)}
.lst-steps i{position:relative;z-index:1;width:14px;height:14px;border-radius:50%;background:var(--surface-3);border:2px solid var(--surface)}
.lst-steps li.is-done i{background:var(--mint)}
.lst-steps li.is-now i{background:var(--gold);box-shadow:0 0 0 4px rgba(212,175,55,.2);animation:ls-pulse 1.8s infinite}
.lst-steps li.is-now{color:var(--text);font-weight:600}
.lst-o-more{display:grid;gap:12px;padding-top:6px}
.lst-o-more[hidden]{display:none}
.lst-o-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.lst-o-models div{display:grid;gap:4px;padding:6px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.lst-o-models div>img,.lst-o-models .lst-noimg{aspect-ratio:1;border-radius:10px;overflow:hidden}
.lst-o-models b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lst-o-models small{font-size:11px;color:var(--muted)}
.lst-o-note{margin:0;font-size:12.5px;color:var(--muted)}
.lst-demo{justify-self:start;border:1px dashed var(--line);border-radius:999px;background:transparent;color:var(--muted);font:12px var(--fa);padding:6px 12px;cursor:pointer}
.lst-demo:hover{color:var(--text);border-color:var(--muted)}
/* toolbar */
.lst-tools{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}
.lst-seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.lst-seg button{padding:8px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:500 13px var(--fa);cursor:pointer}
.lst-seg button em{font-style:normal;font-size:11px;opacity:.7;margin-inline-start:3px}
.lst-seg button[aria-pressed="true"]{background:var(--surface-3);color:var(--text)}
.lst-search{display:flex;align-items:center;gap:8px;flex:1;max-width:320px;min-width:200px;padding:0 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted)}
.lst-search:focus-within{border-color:var(--mint)}
body.lab .lst-search input{flex:1;min-width:0;height:40px;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--text);font:inherit;font-size:13.5px;outline:none;padding:0}
.lst-none,.lst-hint{margin:0;font-size:12.5px;color:var(--muted);text-align:center}
.lst-none[hidden]{display:none}
/* library */
.lst-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.lst-lib-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,200px);gap:12px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.lst-lib{display:grid;gap:10px;padding:10px;border-radius:22px;background:var(--surface);border:1px solid var(--line);transition:transform .25s,border-color .25s}
.lst-lib:hover{transform:translateY(-3px);border-color:rgba(212,175,55,.35)}
.lst-lib[hidden]{display:none}
.lst-lib-img{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 35%,#1F2A28,#0B1110)}
.lst-lib-img img{transition:transform .5s}
.lst-lib:hover .lst-lib-img img{transform:scale(1.06)}
.lst-lib-img .lst-kind{position:absolute;top:8px;inset-inline-start:8px;backdrop-filter:blur(6px);background:rgba(11,17,16,.65)}
.lst-lib-body{display:grid;gap:2px;min-width:0;padding:0 4px}
.lst-lib-body b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lst-lib-body small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lst-lib-meta{display:flex;justify-content:space-between;margin-top:6px;font-size:11.5px;color:#C9D3CF}
.lst-lib .lst-btn{justify-content:center;padding:9px 12px;font-size:13px}
/* payments & notices */
.lst-pay-sum{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lst-pay-sum div{display:grid;gap:4px;padding:16px 18px;border-radius:20px;background:var(--surface);border:1px solid var(--line)}
.lst-pay-sum span{font-size:12.5px;color:var(--muted)}.lst-pay-sum b{font-size:26px;font-weight:600}
.lst-pays,.lst-notes{display:grid;gap:8px}
.lst-pay{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.lst-pay-ic{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(167,232,210,.1);color:var(--mint)}
.lst-pay-ic.is-plan{background:rgba(212,175,55,.12);color:var(--gold-soft)}
.lst-pay b{font-size:14px}.lst-pay small{display:block;font-size:11.5px;color:var(--muted)}
.lst-pay-end{display:grid;justify-items:end;gap:4px}
.lst-pill{font-size:11px;padding:3px 10px;border-radius:999px;background:rgba(212,175,55,.12);color:var(--gold-soft)}
.lst-pill.is-ok{background:rgba(74,222,154,.14);color:#7EE8B5}
.lst-notes article{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.lst-notes article>i{width:9px;height:9px;margin-top:8px;border-radius:50%;background:var(--surface-3)}
.lst-notes article.is-new{border-color:rgba(212,175,55,.35)}
.lst-notes article.is-new>i{background:var(--gold);box-shadow:0 0 10px rgba(212,175,55,.7)}
.lst-notes p{margin:0 0 4px;font-size:13.5px;line-height:1.8}.lst-notes small{font-size:11.5px;color:var(--muted)}
.lst-empty{display:grid;justify-items:center;gap:8px;padding:48px 20px;border-radius:24px;border:1px dashed var(--line);text-align:center}
.lst-empty>.lst-i{width:44px;height:44px;padding:10px;border-radius:16px;background:var(--surface-2);color:var(--mint);box-sizing:content-box}
.lst-empty b{font-size:16px}.lst-empty p{margin:0 0 6px;max-width:380px;font-size:13px;line-height:1.9;color:var(--muted)}
.lst-toast{position:absolute;bottom:22px;left:50%;z-index:9;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:11px 18px;border-radius:999px;background:#1B2422;border:1px solid rgba(167,232,210,.35);font-size:13px;color:var(--text);box-shadow:0 12px 30px rgba(0,0,0,.5);transition:.3s}
.lst-toast.is-on{opacity:1;transform:translate(-50%,0)}
.lst .empty-state{margin:0;padding:24px;border-radius:18px;border:1px dashed var(--line);text-align:center;color:var(--muted);font-size:13px}
/* responsive */
@media (max-width:900px){
 .lst-hero{grid-template-columns:1fr}.lst-hero-art{display:none}
 .lst-stats{grid-template-columns:repeat(2,1fr)}.lst-duo{grid-template-columns:1fr}
}
@media (max-width:760px){
 body.lab dialog.lst{width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0}
 .lst-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}
 .lst-side{flex-direction:column;gap:10px;padding:12px 14px 8px;border-inline-end:0;border-bottom:1px solid var(--line)}
 .lst-me{grid-template-columns:auto 1fr auto;padding:8px 10px;border-radius:16px}
 .lst-ava{grid-row:auto;width:38px;height:38px;font-size:16px}
 .lst-me>div{min-width:0}.lst-tier{grid-column:auto;margin:0}
 .lst-nav{display:flex;overflow-x:auto;gap:4px;margin:0 -14px;padding:0 14px}
 .lst-nav button{flex:none;padding:8px 12px;font-size:13px}
 .lst-nav button.is-on::before{inset-inline-start:12px;inset-inline-end:12px;top:auto;bottom:0;width:auto;height:2px}
 .lst-side-foot{display:none}
 .lst-main{padding:0 14px 28px}.lst-top{margin:0 -14px 12px;padding:14px 14px 10px}.lst-top h2{font-size:17px}
 .lst-hero{padding:20px;min-height:0}
 .lst-o-head{grid-template-columns:auto 1fr;row-gap:8px}.lst-o-state{grid-column:2;justify-self:start}.lst-chev{display:none}
 .lst-stack{width:80px;height:56px}.lst-stack span{width:56px;height:56px;border-radius:14px}
 .lst-order{grid-template-columns:1fr}.lst-o-act{margin-top:10px}.lst-o-act .lst-btn{width:100%;justify-content:center}
 .lst-steps span{font-size:9.5px}
 .lst-lib-grid{grid-template-columns:repeat(2,1fr);gap:8px}
 .lst-search{max-width:none}
}
.lst-me-out{display:none}
@media (max-width:760px){.lst-me{grid-template-columns:auto 1fr auto auto}.lst-me-out{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted)}}
.lst-me>div{display:grid;gap:2px;min-width:0}
.lst-me small{direction:ltr;unicode-bidi:isolate;white-space:nowrap;justify-self:start}
.lst-main:focus{outline:none}
.lst button:focus:not(:focus-visible){outline:none}
.lst button:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
.lst-o-act{grid-row:1;grid-column:2}
@media (max-width:760px){.lst-o-act{grid-row:auto;grid-column:1}}
body.lab dialog.lst .lst-main:focus,body.lab dialog.lst .lst-main:focus-visible{outline:none!important}
.lst-shell{grid-template-columns:264px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.lst-side{min-width:0}
@media (max-width:760px){.lst-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}}
.lab-link{border:0;background:none;padding:0;color:var(--mint);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.lab-link:disabled{color:var(--muted);text-decoration:none;cursor:default}
body.lab dialog.lab-flow-dialog input.lab-otp{letter-spacing:.5em;text-align:center;font-family:var(--mono);font-size:22px}
.hx-pill.is-busy,.lst-btn.is-busy{opacity:.6;pointer-events:none}
html[data-backend="on"] body.lab .preview{display:none!important}
/* keep renders and 3D views from being dragged or long-pressed to save */
body.lab img,body.lab canvas{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
/* stage keeps a fixed, visible height (it used to stretch to the side column and push the 3D model out of view) */
body.lab .lcl-stage{height:min(600px,calc(100dvh - 170px));min-height:380px;position:sticky;top:0}
@media (max-width:900px){body.lab .lcl-stage{position:relative;height:min(460px,62vh);min-height:320px}}
/* 3DM warning card in the print tool */
.lo-3dm{position:relative;display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px 18px;border-radius:var(--r-md);background:linear-gradient(160deg,rgba(212,175,55,.14),rgba(212,175,55,.03));border:1px solid rgba(212,175,55,.45);animation:lo3dm .35s ease-out}
@keyframes lo3dm{from{opacity:0;transform:translateY(-6px)}}
.lo-3dm-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font:700 12px var(--latin);color:#1A1405;background:var(--gold-soft)}
.lo-3dm b{color:var(--text)}.lo-3dm>div>b{display:block;font-size:15px;margin-bottom:4px}
.lo-3dm p{margin:0;font-size:13px;line-height:1.9;color:#D6DEDA}
.lo-3dm ol{margin:8px 0;padding-inline-start:20px;font-size:13px;line-height:1.9;color:#D6DEDA}
.lo-3dm small{font-size:12px;color:var(--muted)}
.lo-3dm-x{position:absolute;top:8px;inset-inline-end:10px;width:28px;height:28px;border:0;border-radius:50%;background:rgba(0,0,0,.25);color:var(--text);cursor:pointer;font-size:16px}
/* ---------- casting prep: picture cards + weight bar ---------- */
body.lab .lo-prep{display:grid;gap:12px;padding:16px;border-radius:var(--r-lg);background:linear-gradient(165deg,rgba(31,138,116,.13),rgba(31,138,116,.02) 70%);border:1px solid rgba(167,232,210,.22)}
.lo-prep-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.lo-prep-top b{display:block;font-size:15px;color:var(--text)}
.lo-prep-top span{font-size:12.5px;color:var(--muted);line-height:1.8}
.lo-prep-add{flex:none;font-family:var(--mono);font-size:12px!important;font-weight:600;padding:4px 11px;border-radius:999px;background:rgba(212,175,55,.16);color:var(--gold-soft)!important}
.lo-prep-add.is-zero{background:rgba(167,232,210,.12);color:var(--mint)!important}
.lo-prep-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}
.lo-prep-opt{position:relative;display:grid;justify-items:center;align-content:start;gap:4px;padding:12px 10px 10px;border-radius:16px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;text-align:center;cursor:pointer;transition:border-color .2s,transform .2s,background .2s}
.lo-prep-opt:hover{transform:translateY(-2px);border-color:rgba(167,232,210,.4)}
.lo-prep-opt.is-on{border-color:var(--gold);background:linear-gradient(165deg,rgba(212,175,55,.16),rgba(212,175,55,.03));box-shadow:0 0 0 3px rgba(212,175,55,.12)}
.lo-prep-opt svg{width:64px;height:56px}
.lo-prep-opt b{font-size:12.5px;line-height:1.6}
.lo-prep-opt small{font-size:11px;color:var(--muted);line-height:1.6}
.lo-prep-opt i{font-style:normal;font-family:var(--mono);font-size:11.5px;margin-top:2px;padding:1px 9px;border-radius:999px;background:var(--surface-3);color:var(--muted)}
.lo-prep-opt.is-on i{background:rgba(212,175,55,.2);color:var(--gold-soft)}
.lo-prep-opt em{position:absolute;top:-9px;inset-inline-start:10px;font-style:normal;font-size:10px;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--pill);color:#0B1110}
.lo-prep-bar{display:flex;gap:2px;height:10px;border-radius:9px;overflow:hidden;background:var(--surface-3)}
.lo-prep-bar i{display:block;min-width:4px;transition:flex .4s ease}
.lo-prep-bar .is-model,.lo-prep-legend i.is-model{background:#8FB9AE}
.lo-prep-bar .is-sprue,.lo-prep-legend i.is-sprue{background:var(--gold)}
.lo-prep-bar .is-sup,.lo-prep-legend i.is-sup{background:#E9C979;opacity:.7}
.lo-prep-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted)}
.lo-prep-legend span{display:inline-flex;align-items:center;gap:6px}
.lo-prep-legend i{width:9px;height:9px;border-radius:3px}
.lo-prep-legend b{color:var(--text);font-weight:500}
.lo-prep-legend .is-total{margin-inline-start:auto;color:var(--text)}.lo-prep-legend .is-total b{color:var(--mint)}
.lo-prep-note{margin:0;font-size:12px;line-height:1.8;color:var(--muted)}
.lo-prep-opts.is-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lo-prep-opts.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lo-prep-opt{padding:12px 6px 10px}
.lo-prep-opt svg{width:56px;height:52px}
.lo-prep-opt b{font-size:11.5px}
.lo-prep-opt small{display:none}
.lo-prep-legend-key{font-size:11.5px;color:var(--muted);margin:-4px 0 0}
.lo-prep-legend-key i{display:inline-block;width:9px;height:9px;border-radius:3px;background:#E9C979;margin-inline-end:5px;vertical-align:middle}
@media (min-width:1200px){.lo-prep-opt small{display:block}}
/* display finishes on the print viewer */
.lo-finish{position:absolute;top:54px;inset-inline-start:50%;transform:translateX(50%);z-index:3;display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(11,17,16,.62);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08)}
.lo-finish button{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:0;border-radius:999px;background:transparent;color:#AEB9B5;font:500 12px var(--fa);cursor:pointer;white-space:nowrap}
.lo-finish button[aria-pressed="true"]{background:rgba(255,255,255,.1);color:var(--text)}
.lo-finish i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
.lo-finish i.is-print{background:linear-gradient(135deg,#C66B80 50%,#3FB39A 50%)}
@media (max-width:760px){.lo-finish{top:auto;bottom:48px}.lo-finish button{padding:5px 8px;font-size:11px}}
/* print viewer keeps a fixed height and follows the form while scrolling (it used to stretch with the form) */
body.lab .lo-grid{align-items:start}
body.lab .lo-viewer{position:sticky;top:84px;height:min(640px,calc(100dvh - 110px));min-height:420px}
@media (max-width:760px){body.lab .lo-viewer{position:relative;top:auto;height:min(440px,60vh);min-height:320px}}
/* studio: invite friends */
.lst-ref{display:grid;gap:14px;padding:18px 20px;border-radius:22px;border:1px solid rgba(212,175,55,.4);background:radial-gradient(90% 140% at 0% 0%,rgba(212,175,55,.2),transparent 60%),var(--surface)}
.lst-ref-txt{display:flex;gap:14px;align-items:flex-start}
.lst-ref-gift{font-size:30px;line-height:1}
.lst-ref-txt b{display:block;font-size:15.5px}
.lst-ref-txt p{margin:4px 0 0;font-size:13px;line-height:1.9;color:#C9D3CF}
.lst-ref-code{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.lst-ref-code>span{font-size:20px;letter-spacing:.18em;padding:6px 16px;border-radius:12px;border:1.5px dashed rgba(212,175,55,.6);color:var(--gold-soft);direction:ltr}
.lst-ref-stats{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--muted)}
.lst-ref-stats b{color:var(--text);margin-inline-start:4px}
.lab-ref-who{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.lab-ref-who[data-ok="1"]{color:var(--mint)}
/* plan feature lines: one size for every line (the AI line keeps its highlight, same type size) */
body.lab #pro .plan-matrix .plan-features li,body.lab #pro .plan-matrix .plan-features li.lp-ai,body.lab #pro .plan-matrix .plan-features li.lp-ai>span:last-child{font-size:13.5px;line-height:1.8;font-weight:400}
body.lab #pro .plan-matrix .plan-features li.lp-ai>span:last-child{background:none;-webkit-text-fill-color:currentColor;color:var(--text)}
.lcl-looks button[data-look="gold"] i{background:#C8A979}
.lcl-looks button[data-look="rose"] i{background:#C2997F}
.lcl-looks button[data-look="white"] i{background:#BAB5B1}
.lcl-looks{max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}
.lcl-looks button{padding:7px 11px;font-size:12px;white-space:nowrap}

/* ==========================================================================
   Collection cards — full-bleed render, glass pill + heart on top,
   blurred gradient footer with name / description / material and a white CTA
   ========================================================================== */
body.lab #collections .gallery{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
body.lab #collections .gallery .product{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;aspect-ratio:4/5.3;min-height:400px;padding:0 18px 18px;border:0;border-radius:32px;overflow:hidden;background:#0B1110;box-shadow:0 26px 50px -28px rgba(0,0,0,.9);transition:transform .35s ease,box-shadow .35s ease}
body.lab #collections .gallery .product:hover{transform:translateY(-5px);box-shadow:0 36px 60px -26px rgba(0,0,0,.95)}
/* the render fills the card; the whole card opens the collection */
body.lab #collections .gallery .product .render-open{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer}
body.lab #collections .gallery .product .picture{position:absolute;inset:0;height:100%;aspect-ratio:auto;border-radius:0;background:#0B1110}
body.lab #collections .gallery .product .picture img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
body.lab #collections .gallery .product:hover .picture img{transform:scale(1.05)}
/* soft blur + deep teal gradient over the lower part, like frosted glass */
body.lab #collections .gallery .product::before{content:"";position:absolute;inset:auto 0 0 0;height:58%;z-index:1;pointer-events:none;
 background:linear-gradient(180deg,rgba(6,18,16,0) 0%,rgba(6,22,20,.55) 38%,rgba(5,16,15,.92) 100%);
 -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
 -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 42%);mask-image:linear-gradient(180deg,transparent 0%,#000 42%)}
body.lab #collections .gallery .product>*:not(.render-open){position:relative;z-index:2}
/* top: code pill (glass) and heart */
body.lab #collections .gallery .product .lc-code{position:absolute;top:16px;left:16px;right:auto;z-index:3;margin:0;padding:8px 14px;border-radius:999px;background:rgba(245,244,240,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#0E1211;font-size:12px;font-weight:600;letter-spacing:.06em;box-shadow:0 6px 18px rgba(0,0,0,.18)}
body.lab #collections .gallery .product .lc-fav{top:16px;right:16px;width:44px;height:44px;background:rgba(245,244,240,.8);border-color:transparent;color:#0E1211}
body.lab #collections .gallery .product .lc-fav[aria-pressed="true"]{background:#fff;color:#D2566E}
body.lab #collections .gallery .product .lc-badge{position:absolute;top:66px;left:16px;right:auto;bottom:auto}
/* footer text */
body.lab #collections .gallery .product h3{margin:0 0 10px;font-size:20px;font-weight:800;line-height:1.5;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35);pointer-events:none}
body.lab #collections .gallery .product>p{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.86);pointer-events:none}
body.lab #collections .gallery .product>p::before,body.lab #collections .gallery .product .lc-meta>span::before{content:"";flex:none;width:20px;height:20px;background:currentColor;
 -webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
body.lab #collections .gallery .product>p{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='14.5' r='6.5'/%3E%3Cpath d='M9 5.5l3-3 3 3-3 2.4z'/%3E%3C/svg%3E")}
/* meta row: material (with icon) + full-width white button */
body.lab #collections .gallery .product .lc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0;padding:0;border:0;color:rgba(255,255,255,.86);font-size:13px}
body.lab #collections .gallery .product .lc-meta>span{display:inline-flex;align-items:center;gap:10px;pointer-events:none;
 --ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3C/svg%3E")}
body.lab #collections .gallery .product .lc-meta>[data-detail],body.lab #collections .gallery .product .lc-meta>[data-start],body.lab.free-mode #collections .gallery .product .lc-meta [data-detail]{flex:1 0 100%;display:block;width:100%;min-height:52px;margin:4px 0 0;padding:0 20px;border:0;border-radius:999px;background:#F7F6F2;color:#0E1211;font:700 15px var(--fa);text-align:center;cursor:pointer;box-shadow:0 10px 26px -10px rgba(0,0,0,.6);transition:transform .2s,background .2s}
body.lab #collections .gallery .product .lc-meta>[data-detail]:hover{background:#fff;color:#0E1211;transform:translateY(-1px)}
@media (max-width:760px){body.lab #collections .gallery .product{min-height:440px}}
body.lab #collections .gallery .product>.lc-fav,body.lab #collections .gallery .product>.lc-code{position:absolute!important;top:16px}
body.lab #collections .gallery .product>.lc-fav{right:16px;left:auto}
body.lab #collections .gallery .product>.lc-code{left:16px;right:auto}
/* collection card typography: calmer, more refined footer */
body.lab #collections .gallery .product::before{height:62%;background:linear-gradient(180deg,rgba(6,18,16,0) 0%,rgba(6,22,20,.5) 34%,rgba(4,14,13,.94) 100%)}
body.lab #collections .gallery .product h3{margin:0 0 6px;font-family:var(--fa);font-size:21px;font-weight:800;line-height:1.55;letter-spacing:-.01em;color:#FFFFFF;text-wrap:balance}
body.lab #collections .gallery .product>p{align-items:flex-start;gap:8px;margin:0 0 16px;font-size:12.5px;font-weight:400;line-height:1.95;color:rgba(236,241,239,.72);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.lab #collections .gallery .product>p::before{display:none}
body.lab #collections .gallery .product .lc-meta{gap:10px}
body.lab #collections .gallery .product .lc-meta>span{gap:8px;padding:7px 14px 7px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12.5px;font-weight:600;color:#F2F1EC}
body.lab #collections .gallery .product .lc-meta>span::before{width:16px;height:16px;color:var(--gold-soft)}
body.lab #collections .gallery .product .lc-meta>[data-detail],body.lab #collections .gallery .product .lc-meta>[data-start],body.lab.free-mode #collections .gallery .product .lc-meta [data-detail]{min-height:50px;margin-top:6px;font-size:14.5px;font-weight:700;letter-spacing:.01em}
body.lab #collections .gallery .product .lc-code{padding:7px 13px;font-size:11.5px;font-weight:600;letter-spacing:.1em}
body.lab #collections .gallery .product::before{height:72%;background:linear-gradient(180deg,rgba(5,16,15,0) 0%,rgba(5,18,17,.62) 30%,rgba(4,14,13,.9) 58%,rgba(3,11,10,.97) 100%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 30%);mask-image:linear-gradient(180deg,transparent 0%,#000 30%)}
body.lab #collections .gallery .product h3{font-size:19.5px;text-shadow:0 2px 14px rgba(0,0,0,.55)}
body.lab #collections .gallery .product>p{color:rgba(236,241,239,.78)}
/* cards: render only — no text over the model, just the code pill, heart and the button */
body.lab #collections .gallery .product h3,body.lab #collections .gallery .product>p,body.lab #collections .gallery .product .lc-meta>span{display:none!important}
body.lab #collections .gallery .product::before{height:26%;background:linear-gradient(180deg,rgba(4,14,13,0) 0%,rgba(4,14,13,.55) 100%);-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none}
body.lab #collections .gallery .product .lc-meta>[data-detail],body.lab #collections .gallery .product .lc-meta>[data-start],body.lab.free-mode #collections .gallery .product .lc-meta [data-detail]{margin-top:0;background:rgba(247,246,242,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* card overlay controls in Dako green glass; a picked heart turns gold */
body.lab #collections .gallery .product .lc-code{background:rgba(14,77,69,.78);color:#F2F1EC;border:1px solid rgba(167,232,210,.25);box-shadow:0 6px 18px rgba(0,0,0,.25)}
body.lab #collections .gallery .product .lc-fav{background:rgba(14,77,69,.78);color:#F2F1EC;border:1px solid rgba(167,232,210,.25)}
body.lab #collections .gallery .product .lc-fav:hover{background:rgba(14,77,69,.92)}
body.lab #collections .gallery .product .lc-fav[aria-pressed="true"]{background:rgba(14,77,69,.92);color:#E9C979;border-color:rgba(233,201,121,.6)}
/* card button in the same Dako green glass as the pill and heart */
body.lab #collections .gallery .product .lc-meta>[data-detail],body.lab #collections .gallery .product .lc-meta>[data-start],body.lab.free-mode #collections .gallery .product .lc-meta [data-detail]{background:rgba(14,77,69,.82);color:#F2F1EC;border:1px solid rgba(167,232,210,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 26px -10px rgba(0,0,0,.6)}
body.lab #collections .gallery .product .lc-meta>[data-detail]:hover{background:rgba(14,77,69,.95);color:#fff}
/* homepage: latest journal articles */
body.lab .lab-journal[hidden]{display:none}
.lj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.lj-card{display:grid;grid-template-rows:auto 1fr;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:inherit;transition:transform .3s,border-color .3s}
.lj-card:hover{transform:translateY(-4px);border-color:rgba(167,232,210,.35)}
.lj-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#0B1110}.lj-img img{width:100%;height:100%;object-fit:cover}
.lj-body{display:grid;gap:5px;padding:14px 16px 18px}.lj-body em{font-style:normal;font-size:12px;color:var(--gold-soft)}
.lj-body b{font-size:16px;line-height:1.7;color:var(--text)}.lj-body small{font-size:13px;line-height:1.9;color:var(--muted)}
.lj-all{display:inline-block;margin-top:18px;color:var(--mint);font-weight:600;text-decoration:none}
/* renders are square: square cards show the whole piece with no zoom/crop */
body.lab #collections .gallery .product{aspect-ratio:1/1;min-height:0}
body.lab #collections .gallery .product .picture img{object-fit:contain;object-position:center}
body.lab #collections .gallery .product:hover .picture img{transform:scale(1.02)}
@media (max-width:760px){body.lab #collections .gallery .product{min-height:0}}
/* homepage journal cards: whole render, no crop */
.lj-img{aspect-ratio:4/3;background:#EEE8DE}.lj-img img{object-fit:contain}
.lj-img{aspect-ratio:1/1;background:none}.lj-img img{object-fit:cover}
/* homepage: 4 collections + link to all; journal: 4 across */
body.lab:not(.page-collections) #gallery .product:nth-child(n+5){display:none}
.lc-all{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:11px 20px;border-radius:999px;border:1px solid rgba(167,232,210,.35);color:var(--mint);font-weight:600;text-decoration:none;transition:background .2s}
.lc-all:hover{background:rgba(167,232,210,.08)}
body.lab .lj-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){body.lab .lj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){body.lab .lj-grid{grid-template-columns:1fr}}
/* /collections page: only the collections, with tools */
body.page-collections main>*:not(#collections):not(footer){display:none!important}
body.page-collections #collections{padding-top:28px;min-height:70vh}
.lc-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13.5px;text-decoration:none}
.lc-back:hover{border-color:var(--mint);color:var(--mint)}
.lc-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px}
.lc-seg,.lc-weights{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.lc-seg button,.lc-weights button{padding:8px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:500 13px var(--fa);cursor:pointer;white-space:nowrap}
.lc-seg button[aria-pressed="true"],.lc-weights button[aria-pressed="true"]{background:var(--surface-3);color:var(--text)}
.lc-weights button[aria-pressed="true"]{background:rgba(212,175,55,.16);color:var(--gold-soft)}
.lc-count{margin-inline-start:auto;font-size:13px;color:var(--muted)}
/* gold-weight range filter (popover with histogram, two-handle slider and quick ranges) */
.lc-wf{position:relative}
.lc-wf-btn{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);font:500 13px var(--fa);cursor:pointer;white-space:nowrap;transition:border-color .2s,color .2s}
.lc-wf-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lc-wf-btn b{font-weight:600;color:var(--text)}
.lc-wf-btn:hover,.lc-wf-btn[aria-expanded="true"]{border-color:rgba(212,175,55,.5);color:var(--text)}
.lc-wf-btn.is-on{background:rgba(212,175,55,.14);border-color:rgba(212,175,55,.55)}.lc-wf-btn.is-on b,.lc-wf-btn.is-on svg{color:var(--gold-soft)}
.lc-wf-pop{position:absolute;z-index:30;top:calc(100% + 10px);inset-inline-start:0;width:min(380px,calc(100vw - 32px));padding:18px;border-radius:20px;background:var(--surface-2,#12201d);border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.lc-wf-pop[hidden]{display:none}
.lc-wf-head b{display:block;font-size:15px;color:var(--text)}.lc-wf-head small{font-size:12px;color:var(--muted)}
.lc-hist{display:flex;align-items:flex-end;gap:2px;height:46px;margin:16px 10px 0}
.lc-hist i{flex:1;border-radius:3px 3px 0 0;background:var(--line);transition:background .15s}.lc-hist i.is-in{background:rgba(212,175,55,.7)}
.lc-range{position:relative;height:28px;margin:0 2px}
.lc-range-track{position:absolute;inset:12px 10px auto;height:4px;border-radius:4px;background:var(--line)}
.lc-range-track i{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--gold,#D4AF37)}
.lc-range input{position:absolute;inset:0;width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none;outline:none;border:0}
.lc-range input::-webkit-slider-runnable-track{height:28px;background:none}
.lc-range input::-moz-range-track{height:28px;background:none}
.lc-range input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:3px;border-radius:50%;background:#F8F8F5;border:3px solid #D4AF37;box-shadow:0 2px 8px rgba(0,0,0,.35);cursor:grab}
.lc-range input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#F8F8F5;border:3px solid #D4AF37;cursor:grab}
.lc-range input:focus-visible::-webkit-slider-thumb{outline:3px solid rgba(212,175,55,.4)}
.lc-range-vals{display:flex;justify-content:space-between;gap:10px;margin:10px 0 14px}
.lc-range-vals span{flex:1;padding:8px 12px;border-radius:12px;border:1px solid var(--line);font-size:13px;color:var(--muted)}
.lc-range-vals small{margin-inline-end:6px}.lc-range-vals b{font-size:16px;color:var(--text)}
.lc-presets{display:flex;flex-wrap:wrap;gap:6px}
.lc-presets button{padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:500 12.5px var(--fa);cursor:pointer}
.lc-presets button:hover{color:var(--text)}.lc-presets button[aria-pressed="true"]{background:rgba(212,175,55,.16);border-color:rgba(212,175,55,.55);color:var(--gold-soft)}
.lc-wf-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.lc-wf-reset{border:0;background:none;color:var(--muted);font:500 13px var(--fa);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.lc-wf-done{padding:10px 18px;border:0;border-radius:999px;background:#0E4D45;color:#F8F8F5;font:600 13px var(--fa);cursor:pointer}.lc-wf-done b{font-weight:700}
@media(max-width:560px){.lc-wf{position:static}.lc-wf-pop{position:fixed;inset:auto 0 0 0;width:auto;border-radius:22px 22px 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}}
#gallery .product.lc-out{display:none!important}
.lc-none{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:22px}
.lc-none[hidden]{display:none}

/* headings font */
body.lab .hx-hero h1,body.lab .section-top h2,body.lab .about h2{font-family:var(--display)}

/* hero collection showcase (fanned renders + name, count, gold weight; auto-advances) */
.hx-show{position:relative;justify-self:start;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;width:min(100%,500px);padding:16px 10px 18px 22px;border-radius:26px;background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px -34px rgba(0,0,0,.8);overflow:hidden;isolation:isolate}
.hx-show::before{content:"";position:absolute;z-index:-1;inset:auto auto -40% -10%;width:70%;height:120%;background:radial-gradient(closest-side,rgba(212,175,55,.16),transparent);pointer-events:none}
.hx-show-fan{position:relative;width:196px;height:158px;padding:0;border:0;background:none;cursor:pointer}
.hx-show-fan span{position:absolute;top:4px;left:0;width:150px;height:150px;border-radius:20px;overflow:hidden;background:#EDEBE6;box-shadow:0 14px 30px -12px rgba(0,0,0,.7);transform-origin:50% 110%;
 transform:translateX(calc(var(--k)*20px)) rotate(calc(var(--k)*7deg)) scale(calc(1 - var(--k)*.06));z-index:calc(3 - var(--k));filter:brightness(calc(1 - var(--k)*.2));
 transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .4s,opacity .35s;transition-delay:calc(var(--k)*50ms)}
.hx-show-fan span:first-child{outline:1px solid rgba(212,175,55,.55);outline-offset:-1px}
.hx-show-fan img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}
.hx-show-fan em{position:absolute;z-index:5;top:14px;left:10px;padding:3px 10px;border-radius:999px;background:rgba(14,77,69,.85);color:#F8F8F5;font:600 11px var(--fa);font-style:normal;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hx-show:hover .hx-show-fan span,.hx-show:focus-within .hx-show-fan span{transform:translateX(calc(var(--k)*24px)) rotate(calc(var(--k)*11deg)) scale(calc(1 - var(--k)*.05));filter:brightness(calc(1 - var(--k)*.12))}
.hx-show-fan:hover span:first-child{transform:translateY(-4px) scale(1.02)}
.hx-show-txt{display:grid;gap:6px;min-width:0;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.hx-show-kick{font-size:12px;color:var(--mint)}
.hx-show-kick .lab-mono{color:var(--muted);font-size:11px}
.hx-show-name{font-family:var(--display);font-size:clamp(18px,1.6vw,22px);font-weight:700;line-height:1.5;color:var(--text);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hx-show-meta{display:flex;flex-wrap:wrap;gap:6px}
.hx-show-meta i{font-style:normal;font-size:12px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted)}
.hx-show-meta i+i{background:rgba(212,175,55,.12);color:var(--gold-soft)}
.hx-show-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}
.hx-show-open{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:0;background:#0E4D45;color:#F8F8F5;font:600 13px var(--fa);cursor:pointer;transition:background .2s,transform .2s}
.hx-show-open:hover{background:#136357;transform:translateX(-2px)}
.hx-show-nav{display:flex;gap:4px}
.hx-show-nav button{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);font:400 18px/1 var(--latin);cursor:pointer;transition:border-color .2s,background .2s}
.hx-show-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hx-show-nav button:hover{border-color:rgba(167,232,210,.45);background:rgba(167,232,210,.06)}
.hx-show-bar{position:absolute;inset:auto 22px 0 22px;height:2px;border-radius:2px;background:rgba(255,255,255,.06);overflow:hidden}
.hx-show-bar i{position:absolute;inset:0;background:linear-gradient(90deg,#E6C56E,#C9F0E0);transform-origin:right;transform:scaleX(0);animation:hxShowBar 5s linear forwards}
.hx-show:hover .hx-show-bar i,.hx-show:focus-within .hx-show-bar i{animation-play-state:paused}
@keyframes hxShowBar{to{transform:scaleX(1)}}
/* switching collections: cards drop away, text fades; then the next one fans in */
.hx-show.is-out .hx-show-fan span{opacity:0;transform:translateY(14px) rotate(calc(var(--k)*4deg)) scale(.92)}
.hx-show.is-out .hx-show-txt{opacity:0;transform:translateY(6px)}
.hx-show:not(.is-in) .hx-show-fan span{opacity:0;transform:translateX(-24px) rotate(-8deg) scale(.94)}
.hx-show:not(.is-in) .hx-show-txt{opacity:0}
@media (max-width:560px){.hx-show{width:100%;grid-template-columns:1fr;justify-items:center;gap:14px;padding:18px 16px 20px;text-align:center}.hx-show-fan{width:200px;height:150px}.hx-show-fan span{left:14px;width:140px;height:140px;border-radius:18px}.hx-show-txt{justify-items:center;width:100%}.hx-show-meta{justify-content:center}.hx-show-row{width:100%}}
@media (prefers-reduced-motion:reduce){.hx-show-fan span,.hx-show-txt{transition:none}}

/* related collections: a compact strip under the collection title; slides by itself when it overflows */
.lcl-rel{margin:0 0 16px}
.lcl-rel-h{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:10px}
.lcl-rel-h b{font-family:var(--display);font-size:14.5px;font-weight:700;color:var(--text)}
.lcl-rel-h small{font-size:12px;color:var(--muted)}
.lcl-rel-nav{display:flex;gap:4px;margin-inline-start:auto}
.lcl-rel-nav[hidden]{display:none}
.lcl-rel-nav button{display:grid;place-items:center;width:28px;height:28px;padding:0;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer}
.lcl-rel-nav button:hover{border-color:rgba(167,232,210,.45)}
.lcl-rel-nav svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lcl-rel-track{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);padding-inline:2px}
.lcl-rel-track::-webkit-scrollbar{display:none}
.lcl-rel-card{flex:0 0 250px;scroll-snap-align:start;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 12px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:right;font-family:var(--fa);cursor:pointer;transition:border-color .2s,background .2s}
.lcl-rel-card:hover{border-color:rgba(212,175,55,.5);background:var(--surface-2)}
.lcl-rel-img{flex:none;width:58px;height:58px;border-radius:11px;overflow:hidden;background:#EDEBE6}
.lcl-rel-img img{width:100%;height:100%;object-fit:contain;display:block}
.lcl-rel-txt{display:grid;gap:2px;min-width:0}
.lcl-rel-txt em{font-style:normal;font-size:10.5px;color:var(--mint)}
.lcl-rel-txt b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lcl-rel-meta{display:flex;gap:4px}
.lcl-rel-meta i{font-style:normal;font-size:10.5px;padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted);white-space:nowrap}
.lcl-rel-meta i.is-gold{background:rgba(212,175,55,.12);color:var(--gold-soft)}
@media (max-width:560px){.lcl-rel-card{flex-basis:220px}}

/* support: pick the order the question is about */
.ls-ctx{display:grid;gap:8px;margin:0 0 12px}
.ls-ctx>span{font-size:12.5px;color:var(--muted)}
.ls-ctx-list{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.ls-ctx-list::-webkit-scrollbar{display:none}
.ls-ctx-list button{flex:none;display:flex;align-items:center;gap:8px;max-width:230px;padding:5px 12px 5px 5px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:500 12.5px var(--fa);text-align:right;cursor:pointer;transition:border-color .2s,background .2s}
.ls-ctx-list button:first-child{padding:8px 14px}
.ls-ctx-list button:hover{border-color:rgba(167,232,210,.35)}
.ls-ctx-list button[aria-checked="true"]{border-color:rgba(212,175,55,.6);background:rgba(212,175,55,.1)}
.ls-ctx-list img,.ls-ctx-list i{flex:none;width:36px;height:36px;border-radius:9px;object-fit:cover;background:#EDEBE6}
.ls-ctx-list i{display:grid;place-items:center;font:600 10px var(--latin);font-style:normal;color:var(--mint);background:var(--surface-3)}
.ls-ctx-list span{display:grid;min-width:0}
.ls-ctx-list b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-ctx-list small{font-size:10.5px;color:var(--muted);white-space:nowrap}

/* dashboard: customer club card (colour follows the tier) */
.lst-club{--tc:#C8915F;--tc2:rgba(200,145,95,.16);display:grid;gap:12px;padding:18px 20px;border-radius:22px;border:1px solid color-mix(in srgb,var(--tc) 45%,transparent);background:radial-gradient(90% 140% at 100% 0%,var(--tc2),transparent 60%),var(--surface)}
.lst-club.is-silver{--tc:#CBD2D8;--tc2:rgba(203,210,216,.14)}
.lst-club.is-gold{--tc:#E6C56E;--tc2:rgba(212,175,55,.2)}
.lst-club-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.lst-club-medal{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--tc) 55%,#fff),var(--tc) 55%,color-mix(in srgb,var(--tc) 60%,#000));box-shadow:0 10px 24px -10px var(--tc)}
.lst-club-medal svg{width:34px;height:34px;fill:none;stroke:#1A1405;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.lst-club-top small{font-size:12px;color:var(--muted)}
.lst-club-top>div>b{display:block;font-family:var(--display);font-size:19px;color:var(--tc)}
.lst-club-top p{margin:2px 0 0;font-size:13px;line-height:1.8;color:var(--muted)}.lst-club-top p b{color:var(--text)}
.lst-club-pts{display:grid;justify-items:center;padding:8px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.lst-club-pts b{font-size:22px;color:var(--text)}.lst-club-pts small{font-size:11px;white-space:nowrap}
.lst-club-bar{position:relative;height:8px;margin:18px 0 4px;border-radius:8px;background:var(--surface-3)}
.lst-club-bar i{position:absolute;inset-block:0;inset-inline-start:0;border-radius:8px;background:linear-gradient(270deg,#C8915F,#CBD2D8 45%,#E6C56E)}
.lst-club-bar span{position:absolute;top:-4px;width:2px;height:16px;background:var(--muted);transform:translateX(50%)}
.lst-club-bar em{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:10.5px;font-style:normal;color:var(--muted);white-space:nowrap}
.lst-club-line{margin:0;font-size:13px;color:var(--muted)}.lst-club-line b{color:var(--text)}
.lst-club-gifts{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px dashed var(--line)}
.lst-club-gifts>span{font-size:12.5px;color:var(--text)}.lst-club-gifts b{color:var(--gold-soft)}
.lst-club-gifts small{font-size:11.5px;color:var(--muted)}
.lst-club-gifts small.is-used,.lst-club-gifts small.is-gone{opacity:.55}
.lst-club-how summary{cursor:pointer;font-size:12.5px;color:var(--mint)}
.lst-club-how ul{margin:8px 0 0;padding-inline-start:18px;display:grid;gap:4px;font-size:12.5px;line-height:1.9;color:var(--muted)}
.lst-club-how b{color:var(--text)}
@media (max-width:560px){.lst-club-top{grid-template-columns:auto minmax(0,1fr)}.lst-club-pts{grid-column:1/-1;grid-template-columns:auto auto;gap:8px;justify-content:start}}

/* delivery choice in order forms (pickup / courier / post) and the address book */
.ld{display:grid;gap:10px;margin:4px 0 14px;padding:14px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}
.ld-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ld-head b{font-size:14px}
.ld-pro{font-size:11.5px;padding:3px 10px;border-radius:999px;background:rgba(212,175,55,.14);color:var(--gold-soft)}
.ld-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ld-opts button{position:relative;display:grid;justify-items:center;gap:4px;padding:12px 8px 10px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-family:var(--fa);text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.ld-opts button:hover{border-color:rgba(167,232,210,.35)}
.ld-opts button[aria-checked="true"]{border-color:var(--mint);background:var(--surface-3);box-shadow:0 0 0 3px rgba(167,232,210,.1)}
.ld-opts svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--mint)}
.ld-opts span{display:grid}.ld-opts b{font-size:13px}.ld-opts small{font-size:11px;color:var(--muted)}
.ld-opts em{font-style:normal;font-size:11.5px;color:var(--gold-soft)}
.ld-addrs{display:flex;flex-wrap:wrap;gap:8px}
.ld-addr{display:flex;align-items:center;max-width:100%;padding:8px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-family:var(--fa);text-align:right;cursor:pointer}
.ld-addr[aria-checked="true"]{border-color:rgba(212,175,55,.6);background:rgba(212,175,55,.08)}
.ld-addr span{display:grid;min-width:0}.ld-addr b{font-size:12.5px}.ld-addr small{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.ld-add{padding:8px 14px;border-radius:12px;border:1px dashed rgba(167,232,210,.4);background:transparent;color:var(--mint);font:500 12.5px var(--fa);cursor:pointer}
.ld-note{margin:0;font-size:12px;line-height:1.9;color:var(--muted)}.ld-note a{color:var(--mint)}
.ld-warn{margin:0;padding:8px 12px;border-radius:10px;background:rgba(240,138,138,.1);color:#F2A0A0;font-size:12.5px}
.ld-dialog{width:min(560px,calc(100% - 24px))}
.ld-form{display:grid;gap:12px}
.ld-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}
.ld-form label small{font-size:11.5px;opacity:.8}
.ld-form input,.ld-form select,.ld-form textarea{width:100%;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:400 14px var(--fa)}
.ld-form input:focus,.ld-form select:focus,.ld-form textarea:focus{outline:none;border-color:var(--mint)}
.ld-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ld-err{margin:0;min-height:1em;font-size:12.5px;color:#F2A0A0}
.ld-actions{display:flex;gap:10px}
.ld-book{display:grid;gap:12px;justify-items:start}
.ld-card{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
.ld-card>div:first-child{display:flex;align-items:center;gap:8px}
.ld-card p{margin:6px 0 10px;font-size:13px;line-height:1.9;color:var(--muted)}
.ld-card-act{display:flex;gap:6px}
.ld-tag{font-size:10.5px;padding:2px 8px;border-radius:999px;background:rgba(167,232,210,.1);color:var(--mint)}
.ld-tag.is-warn{background:rgba(240,138,138,.1);color:#F2A0A0}
.ld-empty{margin:0;font-size:13px;color:var(--muted)}
.lst-o-ship{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;font-size:12.5px;line-height:1.9;color:var(--muted)}
.lst-o-ship svg{flex:none;width:16px;height:16px;margin-top:4px;color:var(--mint)}
.lst-o-ship b{color:var(--text)}
@media (max-width:560px){.ld-opts{grid-template-columns:1fr}.ld-opts button{grid-template-columns:auto 1fr auto;justify-items:start;align-items:center;text-align:right}.ld-row{grid-template-columns:1fr}}

/* payment: destination account as a bank card (number and IBAN copy on tap) */
.lpp-bc-wrap{container-type:inline-size;width:100%;max-width:440px;margin:0 auto 6px}
.lpp-bankcard{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto auto;align-content:space-between;width:100%;aspect-ratio:1.586;padding:5.5cqw 6cqw;border-radius:5cqw;overflow:hidden;isolation:isolate;color:#F8F8F5;
 background:radial-gradient(120% 90% at 100% 0%,rgba(212,175,55,.38),transparent 55%),radial-gradient(90% 80% at 0% 100%,rgba(167,232,210,.16),transparent 60%),linear-gradient(135deg,#0E4D45 0%,#0A3530 55%,#072522 100%);
 box-shadow:0 30px 60px -28px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.18);border:1px solid rgba(212,175,55,.35)}
.lpp-bankcard::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(120deg,rgba(255,255,255,.035) 0 2px,transparent 2px 14px);pointer-events:none}
.lpp-bankcard::after{content:"DAKO";position:absolute;z-index:-1;left:-2cqw;bottom:-7cqw;font:800 34cqw/1 var(--latin);letter-spacing:-.02em;color:rgba(255,255,255,.035);pointer-events:none}
.lpp-bc-top{display:flex;justify-content:space-between;align-items:center}
.lpp-bc-bank{font:700 4.6cqw var(--fa)}
.lpp-bc-brand{font:700 4cqw var(--latin);letter-spacing:.3em;color:#E9C979;direction:ltr}
.lpp-bc-mid{display:flex;align-items:center;justify-content:space-between;margin-top:3cqw}
.lpp-bc-chip{display:block;border-radius:1.6cqw;background:linear-gradient(135deg,#F3D99B,#C9A24A 60%,#A07D33);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.lpp-bc-chip svg{display:block;width:12cqw;height:9cqw;fill:none;stroke:rgba(110,82,28,.75);stroke-width:1.1}
.lpp-bc-nfc svg{width:7cqw;height:7cqw;fill:none;stroke:rgba(248,248,245,.75);stroke-width:1.8;stroke-linecap:round;transform:scaleX(-1)}
.lpp-bankcard .lpp-copy{position:relative;justify-content:center;border:0;background:none;color:inherit;padding:0;border-radius:2cqw;cursor:pointer;transition:background .2s}
.lpp-bankcard .lpp-copy:hover{background:rgba(255,255,255,.07);color:inherit}
.lpp-bankcard .lpp-copy i{white-space:nowrap;flex:none;font:600 2.8cqw var(--fa);font-style:normal;padding:.8cqw 2.2cqw;border-radius:999px;background:rgba(255,255,255,.14);color:#F8F8F5;opacity:.85}
.lpp-bankcard .lpp-copy.is-done{background:rgba(167,232,210,.14)}
.lpp-bankcard .lpp-copy.is-done i{background:#A7E8D2;color:#0B1110;opacity:1}
.lpp-bc-num{align-self:center;justify-self:stretch;display:flex!important;align-items:center;justify-content:space-between!important;gap:3cqw;padding:2cqw 2cqw!important;margin:0 -2cqw}
.lpp-bc-num span{white-space:nowrap;font-size:6.2cqw;font-weight:500;letter-spacing:.06em;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.lpp-bc-owner{display:flex;align-items:baseline;gap:2cqw}
.lpp-bc-owner small,.lpp-bc-iban small{font:400 2.7cqw var(--fa);color:rgba(248,248,245,.65)}
.lpp-bc-owner b{font:700 4cqw var(--fa);white-space:nowrap}
.lpp-bc-iban{display:flex!important;align-items:center;justify-content:flex-start!important;gap:2.4cqw;padding:1.2cqw 2cqw!important;margin:0 -2cqw 1.5cqw;min-width:0}
.lpp-bc-iban span{white-space:nowrap;font-size:3cqw;letter-spacing:.04em;color:rgba(248,248,245,.92)}
.lpp-bc-iban i{justify-self:start}
.lpp-bc-iban span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.lpp-bc-hint{margin:0 0 12px;text-align:center;font-size:12px;color:var(--muted)}
.lpp-card-amount:has(.lpp-amount-row[hidden]){display:none}

/* Scrollbars of windows: a thin rounded bar kept inside the rounded corners (the track starts and ends
   below/above the corner radius), instead of the browser's bar running edge to edge */
body.lab dialog::-webkit-scrollbar,body.lab dialog *::-webkit-scrollbar{width:10px;height:10px}
body.lab dialog::-webkit-scrollbar-track,body.lab dialog *::-webkit-scrollbar-track{background:transparent;margin-top:30px;margin-bottom:30px}
/* Safari reads the inset from the track pieces (and ignores logical margins) */
body.lab dialog::-webkit-scrollbar-track-piece:start,body.lab dialog *::-webkit-scrollbar-track-piece:start{margin-top:30px;background:transparent}
body.lab dialog::-webkit-scrollbar-track-piece:end,body.lab dialog *::-webkit-scrollbar-track-piece:end{margin-bottom:30px;background:transparent}
body.lab dialog::-webkit-scrollbar-thumb,body.lab dialog *::-webkit-scrollbar-thumb{background:rgba(242,241,236,.16);border:3px solid transparent;border-radius:999px;background-clip:padding-box}
body.lab dialog::-webkit-scrollbar-thumb:hover,body.lab dialog *::-webkit-scrollbar-thumb:hover{background-color:rgba(167,232,210,.4)}
body.lab dialog::-webkit-scrollbar-corner{background:transparent}
/* windows hide the browser's scrollbar; lab-layout.js draws .lx-bar inside the window instead */
body.lab dialog.dashboard,body.lab dialog.lst .lst-main{scrollbar-width:none}
body.lab dialog.dashboard::-webkit-scrollbar,body.lab dialog.lst .lst-main::-webkit-scrollbar{display:none;width:0;height:0}
.lx-bar{position:absolute;z-index:50;width:6px;border-radius:6px;pointer-events:none}
.lx-bar[hidden]{display:none}
.lx-bar i{position:absolute;top:0;left:0;width:6px;border-radius:6px;background:rgba(242,241,236,.2);pointer-events:auto;cursor:grab;transition:background .2s,width .15s}
.lx-bar i:hover,.lx-bar.is-drag i{background:rgba(167,232,210,.55)}
.lx-bar.is-drag i{cursor:grabbing}

/* marketing SMS consent: signup checkbox and dashboard switch */
.lab-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:12.5px;line-height:1.8;color:var(--muted);cursor:pointer}
.lab-consent{flex-direction:row!important;flex-wrap:nowrap!important}
.lab-consent input{flex:none!important;width:18px!important;min-width:18px;height:18px!important;min-height:0!important;margin:3px 0 0!important;padding:0!important;accent-color:#0E4D45}
.lab-consent span{flex:1;text-align:right}
.lst-news{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:22px;border:1px solid var(--line);background:var(--surface)}
.lst-news b{display:flex;align-items:center;gap:8px;font-size:14px}.lst-news b .lst-i{width:18px;height:18px;color:var(--mint)}
.lst-news p{margin:4px 0 0;font-size:12.5px;line-height:1.8;color:var(--muted)}
.lst-switch{flex:none;display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:var(--muted);font:500 12.5px var(--fa);cursor:pointer}
.lst-switch i{position:relative;width:44px;height:26px;border-radius:999px;background:var(--surface-3);border:1px solid var(--line);transition:background .2s}
.lst-switch i::after{content:"";position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#9AA6A2;transition:transform .2s,background .2s}
.lst-switch[aria-checked="true"]{color:var(--mint)}
.lst-switch[aria-checked="true"] i{background:#0E4D45;border-color:transparent}
.lst-switch[aria-checked="true"] i::after{transform:translateX(-18px);background:#F8F8F5}

/* ---------- Mobile (≤760px): bottom bar, swipe rows, shorter hero ---------- */
.mtab{display:none}
@media (max-width:760px){
 .mtab{position:fixed;z-index:60;inset:auto 10px calc(10px + env(safe-area-inset-bottom)) 10px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border-radius:22px;background:rgba(14,18,17,.86);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px -12px rgba(0,0,0,.8);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}
 .mtab button{display:grid;justify-items:center;gap:3px;padding:7px 2px 6px;border:0;border-radius:16px;background:none;color:var(--muted);font:500 10.5px var(--fa);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s,background .2s}
 .mtab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 .mtab button.is-on{color:#F8F8F5;background:#0E4D45}
 .mtab button.is-on svg{color:#E9C979}
 body.lab{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 body.lab header #lab-account{display:none}            /* the account lives in the bar */

 /* swipe rows: cards side by side, one and a bit on screen, snapping */
 body.lab:not(.page-collections) #gallery,body.lab #pro .plan-matrix,body.lab #pro .subscription-plans,body.lab .lj-grid{
  grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:82%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:16px;padding:4px 16px 8px;margin-inline:-16px;scrollbar-width:none}
 body.lab #pro .plan-matrix{grid-auto-columns:86%}
 body.lab:not(.page-collections) #gallery::-webkit-scrollbar,body.lab #pro .plan-matrix::-webkit-scrollbar,body.lab #pro .subscription-plans::-webkit-scrollbar,body.lab .lj-grid::-webkit-scrollbar{display:none}
 body.lab:not(.page-collections) #gallery>*,body.lab #pro .plan-matrix>*,body.lab #pro .subscription-plans>*,body.lab .lj-grid>*{scroll-snap-align:start}
 .mdots{display:flex;justify-content:center;gap:6px;margin:6px 0 4px}
 .mdots[hidden]{display:none}
 .mdots i{width:6px;height:6px;border-radius:6px;background:rgba(242,241,236,.2);transition:width .25s,background .25s}
 .mdots i.is-on{width:18px;background:#E9C979}

 /* shorter hero: no tool column (the bar does that), smaller 3D stage */
 .hx-tools{display:none}
 .hx-viewer{min-height:260px}
 .hx-hero{padding-top:28px;gap:22px}
}
@media (min-width:761px){.mdots{display:none}}

/* ---------- Mobile pages (≤760px) ----------
   home = stories → print card → collections; print / collections feed / credit open as pages */
.mv-head,#m-feed,.mf-filters{display:none}
@media (max-width:760px){
 body.lab main#home{display:flex;flex-direction:column}
 body.lab main#home>.hero-stories{order:1;margin:14px 0 6px}
 body.lab main#home>.hx-hero{order:2}
 body.lab main#home>#collections{order:3}
 /* home: stories, the print card, then the collections showcase (the hero's fanned card + button) */
 body.lab:not([data-mview]) main#home>*:not(.hero-stories):not(.hx-hero){display:none!important}
 body.lab:not([data-mview]) .hx-hero{display:grid}
 body.lab:not([data-mview]) .hx-panel{order:1}
 body.lab:not([data-mview]) .hx-hero-copy{order:2;gap:14px}
 body.lab:not([data-mview]) .hx-hero-copy>:not(.hx-show):not(.hx-peek):not(.hx-ctas){display:none}
 body.lab:not([data-mview]) .hx-show{justify-self:stretch}
 body.lab:not([data-mview]) .hx-ctas .hx-pill{flex:1;justify-content:center}
 body.lab:not([data-mview]) .hx-hero{padding-top:6px;padding-bottom:10px}
 /* a page: only its own parts, under a back bar */
 body.lab[data-mview] main#home>*{display:none!important}
 body.lab[data-mview] main#home>.mv-head{display:flex!important;order:0}
 body.lab[data-mview="print"] main#home>#upload,
 body.lab[data-mview="credit"] main#home>#material-credit,body.lab[data-mview="credit"] main#home>#pro{display:block!important;order:1}
 body.lab[data-mview="credit"] main#home>#pro{order:2}
 body.lab[data-mview="coll"] main#home>#m-feed{display:grid!important;order:1}
 body.lab[data-mview="coll"] main#home>.mf-filters{display:grid!important;order:1}
 .mv-head{position:sticky;top:76px;z-index:20;transition:top .25s;align-items:center;gap:10px;margin:0;padding:10px 16px;background:rgba(14,18,17,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 .mv-head b{font-family:var(--display);font-size:16px}
 .mv-back{display:flex;align-items:center;gap:4px;padding:6px 10px 6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:500 12.5px var(--fa);cursor:pointer}
 .mv-back svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

 /* stories as Instagram-style circles */
 body.lab .lab-stories .hero-stories-label{display:none}
 body.lab .lab-stories .stories-row{grid-auto-columns:76px!important;gap:12px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 4px}
 body.lab .lab-stories .studio-story{display:grid;justify-items:center;gap:5px;padding:0;min-height:0;border:0;background:none;box-shadow:none}
 body.lab .lab-stories .story-orbit{display:grid;place-items:center;width:70px;height:70px;padding:3px;border-radius:50%;background:conic-gradient(from 210deg,#E9C979,#0E4D45,#A7E8D2,#E9C979)}
 body.lab .lab-stories .story-thumb{display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;border:3px solid var(--bg)}
 body.lab .lab-stories .story-thumb img{width:100%;height:100%;object-fit:cover}
 body.lab .lab-stories .studio-story>*{position:relative!important;inset:auto!important;transform:none!important}
 body.lab .lab-stories .studio-story::before,body.lab .lab-stories .studio-story::after{display:none!important}
 body.lab .lab-stories .studio-story strong{font-size:11px;font-weight:500;color:var(--text);white-space:nowrap;max-width:76px;overflow:hidden;text-overflow:ellipsis}
 body.lab .lab-stories .studio-story small{display:none}

 /* the collections feed: one post per collection */
 #m-feed{gap:22px;padding:14px 0 10px}
 .mf-post{display:grid;gap:10px;margin:0;padding-bottom:18px;border-bottom:1px solid var(--line)}
 .mf-post header{display:flex;align-items:center;gap:10px;padding:0 16px}
 .mf-ava{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#0E4D45;color:#E9C979;font:700 15px var(--latin);box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px #E9C979}
 .mf-post header>div{flex:1;display:grid;min-width:0}
 .mf-post header b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mf-post header small{font-size:11.5px;color:var(--muted)}
 .mf-post .mf-fav{position:static;width:38px;height:38px}
 .mf-media{position:relative}
 .mf-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
 .mf-track::-webkit-scrollbar{display:none}
 .mf-track img{flex:0 0 100%;width:100%;aspect-ratio:1/1;object-fit:contain;background:#EDEBE6;scroll-snap-align:start;cursor:pointer}
 .mf-count{position:absolute;top:12px;left:12px;padding:3px 10px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font:500 11.5px var(--fa)}
 .mf-dots{display:flex;justify-content:center;gap:5px;margin-top:8px}
 .mf-dots i{width:6px;height:6px;border-radius:50%;background:rgba(242,241,236,.22)}.mf-dots i.is-on{background:#E9C979}
 .mf-meta{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px}
 .mf-meta span{font-size:12px;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.06);color:var(--muted)}
 .mf-meta span.is-gold{background:rgba(212,175,55,.12);color:var(--gold-soft)}
 .mf-cap{margin:0;padding:0 16px;font-size:13px;line-height:1.9;color:var(--muted)}.mf-cap b{color:var(--text);font-family:var(--latin);margin-inline-end:4px}
 .mf-cta{margin:0 16px;padding:12px;border:0;border-radius:14px;background:#0E4D45;color:#F8F8F5;font:600 14px var(--fa);cursor:pointer}
 .mf-empty{text-align:center;color:var(--muted)}
}

@media (max-width:760px){
 .mf-filters{gap:8px;padding:12px 16px 2px}
 .mf-frow{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}
 .mf-frow::-webkit-scrollbar{display:none}
 .mf-frow button{flex:none;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font:500 12.5px var(--fa);white-space:nowrap;cursor:pointer}
 .mf-frow button[aria-pressed="true"]{background:#0E4D45;border-color:transparent;color:#F8F8F5}
 .mf-frow+.mf-frow button[aria-pressed="true"]{background:rgba(212,175,55,.16);border-color:rgba(212,175,55,.55);color:var(--gold-soft)}
 .mf-fcount{margin:2px 0 0;font-size:12px;color:var(--muted)}
 .hx-show{touch-action:pan-y}
}

/* profile picture: avatar in the dashboard (tap to change) and in the header */
.lst-ava{position:relative;padding:0;border:0;cursor:pointer;overflow:visible}
.lst-ava img{width:100%;height:100%;border-radius:50%;display:block}
.lst-ava.has-img{background:none}
.lst-ava i{position:absolute;bottom:-3px;left:-3px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#0E4D45;color:#E9C979;box-shadow:0 0 0 2px #111615}
.lst-ava i .lst-i{width:11px;height:11px}
.lst-avpick{margin-top:8px;padding:12px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2)}
.lst-avpick-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.lst-avpick-h b{font-size:13.5px}
.lst-avpick-h .lst-close{width:30px;height:30px}
.lst-avgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.lst-avgrid button{aspect-ratio:1;padding:0;border:0;border-radius:50%;background:var(--surface-3);cursor:pointer;box-shadow:0 0 0 2px transparent;transition:box-shadow .15s,transform .15s}
.lst-avgrid button:hover{transform:scale(1.05)}
.lst-avgrid button[aria-pressed="true"]{box-shadow:0 0 0 2px var(--surface-2),0 0 0 4px #E9C979}
.lst-avgrid img{width:100%;height:100%;border-radius:50%;display:block}
.lst-avgrid .is-letter{display:grid;place-items:center;font:800 18px var(--fa);color:#0B1110;background:var(--pill)}
body.lab header #lab-account.has-img{padding:0;overflow:visible}
body.lab header #lab-account.has-img img{width:100%;height:100%;border-radius:50%;display:block}
.mtab [data-mtab="me"] img{width:24px;height:24px;border-radius:50%;display:block}

/* print tool: casting prep and delivery appear once the customer has uploaded their own file */
#upload.is-sample #lo-prep,#upload.is-sample #lo-delivery{display:none!important}

/* progress window (labBusy) */
dialog.lbz{width:min(360px,calc(100% - 32px));padding:0;border:0;background:transparent;color:var(--text);overflow:visible}
dialog.lbz::backdrop{background:rgba(6,10,9,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lbz-card{display:grid;justify-items:center;gap:10px;padding:28px 24px 24px;border-radius:26px;text-align:center;background:radial-gradient(120% 80% at 50% 0%,rgba(14,77,69,.55),transparent 60%),#121816;border:1px solid rgba(255,255,255,.1);box-shadow:0 40px 80px -30px rgba(0,0,0,.9);animation:lbzIn .35s cubic-bezier(.2,.8,.2,1)}
@keyframes lbzIn{from{opacity:0;transform:translateY(10px) scale(.97)}}
.lbz-ring{position:relative;width:110px;height:110px;margin-bottom:4px}
.lbz-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.lbz-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:7}
.lbz-arc{fill:none;stroke:url(#lbz-g);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .35s ease}
.lbz.is-spin .lbz-ring svg{animation:lbzSpin 1.1s linear infinite}
@keyframes lbzSpin{to{transform:rotate(270deg)}}
.lbz-check,.lbz-x{fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:rotate(90deg);transform-origin:55px 55px}
.lbz-check{stroke:#E9C979;stroke-dasharray:60;stroke-dashoffset:60}
.lbz-x{stroke:#F2A0A0}
.lbz.is-done .lbz-check{opacity:1;animation:lbzDraw .45s .1s ease forwards}
@keyframes lbzDraw{to{stroke-dashoffset:0}}
.lbz.is-fail .lbz-x{opacity:1}.lbz.is-fail .lbz-arc{stroke:#F2A0A0}
.lbz-pct{position:absolute;inset:0;display:grid;place-items:center;font:700 20px var(--latin);color:var(--text)}
.lbz-logo{position:absolute;inset:0;display:grid;place-items:center;font:700 22px var(--latin);color:#E9C979;opacity:0;transition:opacity .2s}
.lbz.is-spin .lbz-logo{opacity:1}
.lbz.is-done .lbz-logo,.lbz.is-fail .lbz-logo{opacity:0}
.lbz-title{margin:0;font:700 17px var(--display)}
.lbz-sub{margin:0;min-height:1.6em;font-size:13px;line-height:1.8;color:var(--muted)}
.lbz-steps{list-style:none;margin:6px 0 0;padding:12px 14px;display:grid;gap:8px;width:100%;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);text-align:right}
.lbz-steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.lbz-steps i{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #3A4441;position:relative}
.lbz-steps li.is-now{color:var(--text);font-weight:600}
.lbz-steps li.is-now i{border-color:#A7E8D2;box-shadow:0 0 0 4px rgba(167,232,210,.15);animation:lbzPulse 1.2s ease-in-out infinite}
@keyframes lbzPulse{50%{box-shadow:0 0 0 7px rgba(167,232,210,.05)}}
.lbz-steps li.is-done{color:var(--text)}
.lbz-steps li.is-done i{border-color:transparent;background:#E9C979}
.lbz-steps li.is-done i::after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #1A1405;border-width:0 2px 2px 0;transform:rotate(45deg)}
.lbz-close{margin-top:6px;min-width:140px}
.lbz-close[hidden],.lbz-steps[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){.lbz-card,.lbz.is-spin .lbz-ring svg{animation:none}}

/* Pro early access */
.lc-early{position:absolute;z-index:3;left:12px;bottom:64px;max-width:calc(100% - 24px);padding:5px 12px;border-radius:999px;background:rgba(26,20,5,.78);color:#E9C979;font:600 11.5px var(--fa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1px rgba(233,201,121,.45)}
.lcl-early-chip{justify-self:start;padding:5px 14px;border-radius:999px;background:rgba(212,175,55,.16);color:var(--gold-soft);font:600 12.5px var(--fa)}
.lcl-early-count{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(212,175,55,.35);background:rgba(212,175,55,.06)}
.lcl-early-count b{font:800 40px var(--display);color:#E9C979;line-height:1}
.lcl-early-count span{font-size:13px;line-height:1.8;color:var(--muted)}
/* credit purchase: the wax / resin switch fills the row in two equal halves (no empty side) */
body.lab .credit-buy .lc-seg{display:grid;grid-template-columns:1fr 1fr;flex-wrap:nowrap;gap:4px}
body.lab .credit-buy .lc-seg button{width:100%;justify-content:center;padding:12px 10px;font-size:14px}
/* ---------- "داکو روی گوشی شما": the phone app, with a live preview and a QR code (desktop only) ---------- */
body.lab .lab-app{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(24px,5vw,80px);max-width:var(--wrap);margin:clamp(48px,5vw,80px) auto clamp(20px,3vw,44px);padding:clamp(28px,3.5vw,52px) clamp(24px,4vw,64px);border-radius:36px;overflow:hidden;isolation:isolate;
 background:radial-gradient(60% 80% at 15% 50%,rgba(212,175,55,.16),transparent 60%),radial-gradient(70% 90% at 90% 10%,rgba(167,232,210,.14),transparent 55%),linear-gradient(150deg,#123F38 0%,#0B2925 55%,#081C19 100%);border:1px solid rgba(167,232,210,.14)}
body.lab .lab-app::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 34px);-webkit-mask:radial-gradient(70% 70% at 30% 50%,#000,transparent);mask:radial-gradient(70% 70% at 30% 50%,#000,transparent)}
.la-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(167,232,210,.1);color:var(--mint);font:600 12px var(--latin);letter-spacing:.14em}
.la-eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(167,232,210,.18);animation:laPulse 2.2s infinite}
@keyframes laPulse{50%{box-shadow:0 0 0 8px rgba(167,232,210,0)}}
.lab-app h2{margin:14px 0 10px;font:300 clamp(24px,2.4vw,36px)/1.6 var(--fa);color:#E4E8E6}
.lab-app h2 b{font-weight:700;background:linear-gradient(90deg,#F6DD8E,#D4AF37 60%,#B98F21);-webkit-background-clip:text;background-clip:text;color:transparent}
.la-lede{max-width:520px;margin:0 0 26px;color:var(--muted);font-size:15.5px;line-height:2}
.la-feats{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:14px;margin:0 0 28px;padding:0;list-style:none}
.la-feats li{display:flex;gap:12px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);transition:transform .25s,background .25s}
.la-feats li:hover{transform:translateY(-3px);background:rgba(255,255,255,.06)}
.la-feats span{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(155deg,#1F6B5F,#0E4D45);color:var(--gold-soft)}
.la-feats svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.la-feats b{display:block;margin-bottom:3px;color:var(--text);font-size:14.5px}.la-feats small{color:var(--muted);font-size:12.5px;line-height:1.8}
.la-qr{display:inline-flex;align-items:center;gap:18px;padding:14px 22px 14px 14px;border-radius:24px;background:rgba(8,20,18,.55);border:1px solid rgba(212,175,55,.25);backdrop-filter:blur(8px)}
.la-qr-box{width:118px;height:118px;flex:none;padding:0;border-radius:16px;overflow:hidden;box-shadow:0 0 0 4px rgba(212,175,55,.18)}
.la-qr-box svg{display:block;width:100%;height:100%}
.la-qr b{display:block;color:var(--text);font:700 16px var(--display)}.la-qr small{display:block;margin:6px 0 12px;color:var(--muted);font-size:12.5px;line-height:1.8;white-space:nowrap}
.la-qr>div:last-child{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.la-os{display:flex;gap:8px}.la-os i{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--text);font:600 12px var(--latin);font-style:normal}
.la-os svg{width:15px;height:15px;fill:currentColor}.la-os i+i svg{fill:none;stroke:#A4C639;stroke-width:1.6}
.la-stage{position:relative;display:grid;place-items:center;min-height:600px}
.la-orbit{position:absolute;width:520px;height:520px;border-radius:50%;border:1px dashed rgba(167,232,210,.18);animation:laSpin 60s linear infinite}
.la-orbit::before,.la-orbit::after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px var(--gold);top:-6px;left:calc(50% - 6px)}
.la-orbit::after{top:auto;bottom:-5px;width:9px;height:9px;background:var(--mint);box-shadow:0 0 14px var(--mint)}
@keyframes laSpin{to{transform:rotate(360deg)}}
.la-phone{position:relative;width:300px;height:624px;padding:10px;border-radius:52px;background:linear-gradient(145deg,#1B2321,#070A09);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 50px 90px -30px rgba(0,0,0,.85),0 0 80px -10px rgba(212,175,55,.25);transform:rotate(-3deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.la-screen{position:relative;width:100%;height:100%;border-radius:42px;overflow:hidden;clip-path:inset(0 round 42px);-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black);isolation:isolate;background:var(--la-sb,#F8F8F5)}
.la-sb{position:absolute;inset:0 0 auto;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 22px 0 26px;direction:ltr;font:600 12px var(--latin);color:var(--la-sbc,#14211E)}
.la-sb i{display:inline-flex;gap:4px;align-items:center}.la-sb svg{width:15px;height:15px;fill:currentColor}
.la-stage:hover .la-phone{transform:rotate(0) translateY(-6px)}
.la-island{position:absolute;z-index:2;top:7px;left:50%;width:84px;height:24px;margin-left:-42px;border-radius:20px;background:#000;pointer-events:none}
.la-phone iframe{position:absolute;top:34px;left:0;width:375px;height:763px;border:0;transform:scale(.7467);transform-origin:0 0;background:transparent;border-radius:0 0 56px 56px}
.la-chip{position:absolute;z-index:3;padding:10px 16px;border-radius:16px;background:rgba(14,20,19,.82);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);color:var(--text);font-size:13px;font-weight:600;box-shadow:0 18px 40px -16px rgba(0,0,0,.7);animation:laFloat 6s ease-in-out infinite;white-space:nowrap}
.la-chip i{display:inline-block;width:8px;height:8px;margin-inline-end:7px;border-radius:50%;background:#C66B80}
.la-chip.c1{top:16%;right:-2%;color:var(--mint)}.la-chip.c2{top:52%;left:-4%;animation-delay:-2s}.la-chip.c3{bottom:12%;right:2%;color:var(--gold-soft);animation-delay:-4s}
@keyframes laFloat{50%{transform:translateY(-10px)}}
@media (max-width:1100px){body.lab .lab-app{grid-template-columns:1fr}.la-stage{min-height:600px}.la-feats{grid-template-columns:1fr 1fr}}
@media (max-width:820px){body.lab .lab-app,#site-nav a[href="#app"]{display:none}}
@media (prefers-reduced-motion:reduce){.la-orbit,.la-chip,.la-eyebrow i{animation:none}}
/* the general section padding (120px top, 0 bottom) must not apply to the app banner: even inside */
body.lab main > section.lab-app{padding:clamp(36px,3.6vw,56px) clamp(24px,4vw,64px)}
/* the app banner lines up with the about banner above it (same side margins, same width) */
body.lab main > section.lab-app{max-width:none;margin:clamp(48px,5vw,80px) var(--gutter) clamp(20px,3vw,44px)}
/* story viewer: close and pause as one matching pair of glass buttons over the picture (both themes) */
body.lab .ig-story .story-close,body.lab .ig-story .ig-pause{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.35)!important;border-radius:50%;background:rgba(10,16,15,.38)!important;color:#fff!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px rgba(0,0,0,.25);line-height:1;cursor:pointer;transition:background .2s,transform .15s}
body.lab .ig-story .story-close{font-size:20px}body.lab .ig-story .ig-pause{font-size:11px;letter-spacing:-1px}
body.lab .ig-story .story-close:hover,body.lab .ig-story .ig-pause:hover{background:rgba(10,16,15,.6)!important;transform:scale(1.06)}
body.lab .ig-story .ig-arrow{color:#0E4D45}
/* credit packs and the wax / resin switch: a clear gold hover (night) */
body.lab .lab-credit .credit-pack{transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
body.lab .lab-credit .credit-pack:hover{transform:translateY(-4px);border-color:var(--gold);background:linear-gradient(160deg,rgba(212,175,55,.16),rgba(212,175,55,.04)),var(--surface-2);box-shadow:0 0 0 3px rgba(212,175,55,.16),0 18px 36px -20px rgba(0,0,0,.7)}
body.lab .lab-credit .credit-pack:hover b{color:var(--gold-soft)}
body.lab .credit-buy .lc-seg button{transition:background .2s,color .2s}
body.lab .credit-buy .lc-seg button:not([aria-pressed="true"]):hover{background:rgba(212,175,55,.12);color:var(--text)}
body.lab .lab-credit .lc-ring{transition:transform .25s}
body.lab .lab-credit .lc-ring:hover{transform:translateY(-3px) scale(1.03)}
/* back to the account after a reorder / edit: floats on top of the print tool or the collection window */
.lst-back{position:fixed;z-index:2147483000;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:linear-gradient(150deg,#13564D,#0B3B35);border:1px solid rgba(212,175,55,.55);box-shadow:0 14px 34px -10px rgba(0,0,0,.55),0 0 0 4px rgba(212,175,55,.12);animation:lstBackIn .45s cubic-bezier(.2,.9,.3,1.2) both}
.lst-back button{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:#F7E7B4;font-family:var(--fa);font-size:13.5px;font-weight:700;cursor:pointer;border-radius:999px;padding:8px 14px 8px 16px;transition:background .18s}
.lst-back .lst-back-x{padding:8px;color:#BFD3CD}
.lst-back .lst-i{width:16px;height:16px}
.lst-back button:hover{background:rgba(212,175,55,.18)}
.lst-back-go .lst-i{transition:transform .2s}.lst-back-go:hover .lst-i{transform:translateX(3px)}
@keyframes lstBackIn{from{opacity:0;transform:translate(-50%,-14px) scale(.96)}}
/* account studio search: the site's generic field margins made it tall and lopsided */
body.lab .lst-search{height:44px;flex:0 1 320px;box-sizing:border-box;cursor:text;transition:border-color .2s,box-shadow .2s}
body.lab .lst-search input{margin:0!important;height:42px;-webkit-appearance:none;appearance:none}
body.lab .lst-search input::-webkit-search-decoration{-webkit-appearance:none}
body.lab .lst-search:focus-within{box-shadow:0 0 0 3px rgba(167,232,210,.14)}
body.lab .lst-search .lst-i{width:17px;height:17px}
html[data-theme="light"] body.lab .lst-search{background:#fff;border-color:#DCE3DF}
html[data-theme="light"] body.lab .lst-search:focus-within{border-color:#0E4D45;box-shadow:0 0 0 3px rgba(14,77,69,.1)}
/* progress window: stop a long upload */
.lbz-cancel{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:150px;min-height:42px;padding:0 22px;border-radius:999px;border:1px solid rgba(240,138,138,.4);background:rgba(240,138,138,.08);color:#F2A0A0;font:700 13.5px var(--fa);cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.lbz-cancel::before{content:"✕";font-size:11px}
.lbz-cancel:hover{background:rgba(240,138,138,.18);border-color:rgba(240,138,138,.75);transform:translateY(-1px)}
.lbz-cancel[hidden]{display:none!important}
/* address form: fields and selects share one height (the site's generic field margin made them uneven) */
body.lab .ld-form :is(input,select){margin:0!important;height:48px;box-sizing:border-box}
body.lab .ld-form textarea{margin:0!important}
body.lab .ld-form select{-webkit-appearance:none;appearance:none;padding-inline-start:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239AA6A2' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:left 12px center!important;background-size:16px!important;cursor:pointer}
body.lab .ld-city-other[hidden]{display:none}
/* ---------- Dako AI chat box (collection window + print tool) ---------- */
.lak{margin:18px 0 6px;padding:16px;border-radius:22px;border:1px solid rgba(212,175,55,.35);background:radial-gradient(120% 90% at 100% 0%,rgba(212,175,55,.10),transparent 60%),var(--surface);display:grid;gap:10px}
dialog.lab-coll>.lak{margin:18px clamp(16px,2.4vw,30px) 26px}
.lak-head{display:flex;align-items:center;gap:10px}
.lak-head b{display:block;font-size:15px;color:var(--text)}
.lak-head small{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}
.lak-head small i{width:7px;height:7px;border-radius:50%;background:#3FD08F;box-shadow:0 0 0 3px rgba(63,208,143,.2)}
.lak-ava{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210}
.lak-ava svg{width:15px;height:15px;fill:currentColor}
.lak-log{display:grid;gap:10px;max-height:340px;overflow:auto;padding:4px 2px;scrollbar-width:thin}
.lak-m{display:flex;gap:8px;align-items:flex-start}
.lak-m>div{max-width:min(560px,88%);padding:10px 14px;border-radius:16px;font-size:13.5px;line-height:1.95;background:var(--surface-2);color:var(--text)}
.lak-m>div p{margin:0}.lak-m>div p+p{margin-top:6px}.lak-m>div ul{margin:4px 0;padding-inline-start:18px}
.lak-m.is-me{justify-content:flex-start;flex-direction:row-reverse}
.lak-m.is-me>div{background:#0E4D45;color:#fff;border-end-end-radius:6px}
.lak-m.is-ai>div{border-start-start-radius:6px}
.lak-typing{display:inline-flex;gap:4px}.lak-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:lakDot 1s infinite}.lak-typing i:nth-child(2){animation-delay:.15s}.lak-typing i:nth-child(3){animation-delay:.3s}
@keyframes lakDot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.lak-quick{display:flex;flex-wrap:wrap;gap:6px}
.lak-quick button{padding:7px 13px;border-radius:999px;border:1px solid rgba(212,175,55,.4);background:transparent;color:var(--gold-soft);font:500 12.5px var(--fa);cursor:pointer;transition:background .18s,border-color .18s}
.lak-quick button:hover{background:rgba(212,175,55,.14);border-color:var(--gold)}
.lak-in{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 6px;border-radius:18px;border:1px solid var(--line);background:var(--surface-2)}
.lak-in:focus-within{border-color:rgba(212,175,55,.6)}
body.lab .lak-in textarea{flex:1;min-height:40px;max-height:120px;margin:0!important;padding:9px 12px;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--text);font:400 14px var(--fa);resize:none;outline:none}
.lak-in button{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:0;background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210;cursor:pointer;transition:transform .18s}
.lak-in button:hover{transform:scale(1.06)}.lak-in button svg{width:17px;height:17px;fill:currentColor}
.lak-jump{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(212,175,55,.5);background:rgba(212,175,55,.1);color:var(--gold-soft);font:700 13px var(--fa);cursor:pointer;transition:background .18s}
.lak-jump:hover{background:rgba(212,175,55,.2)}
#lo-ask:empty{display:none}
/* AI edit studio: collections first (scrolls sideways when there are many), then the whole collection or one model */
.lai-colls{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.lai-c{flex:0 0 auto;display:grid;grid-template-columns:40px auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;max-width:220px;padding:6px 12px 6px 6px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface-2);color:var(--text);font:600 12.5px var(--fa);text-align:right;cursor:pointer;transition:border-color .18s,background .18s}
.lai-c img{grid-row:1/3;width:40px;height:40px;border-radius:10px;object-fit:cover}
.lai-c span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lai-c small{font-size:11px;font-weight:400;color:var(--muted)}
.lai-c:hover{border-color:rgba(212,175,55,.6)}.lai-c.is-on{border-color:var(--gold);background:rgba(212,175,55,.1);box-shadow:0 0 0 3px rgba(212,175,55,.18)}
.lai-whole{background:linear-gradient(150deg,rgba(212,175,55,.18),var(--surface-2))}
.lai-whole span{font:700 11.5px/1.4 var(--fa);color:var(--gold-soft);text-align:center}
.lai-models{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))!important}
/* footer: a rounded card with the same side margins and corners as the app banner above it */
body.lab footer{margin:clamp(40px,4vw,64px) var(--gutter) var(--gutter);border-radius:36px;border:1px solid var(--line);overflow:hidden}
@media (max-width:700px){body.lab footer{border-radius:26px}}
/* collection window: «درباره‌ی این کالکشن» */
dialog.lab-coll>.lcl-about{margin:18px clamp(16px,2.4vw,30px) 0;padding:18px 20px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(167,232,210,.06),var(--surface-2));display:grid;gap:10px}
.lcl-about-h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px}
.lcl-about-h b{font-size:16px;color:var(--text)}
.lcl-about-h span{display:flex;flex-wrap:wrap;gap:6px}
.lcl-about-h i{font-style:normal;padding:4px 11px;border-radius:999px;background:var(--surface-3);font-size:12px;color:var(--muted)}
.lcl-about-h i.is-gold{background:rgba(212,175,55,.14);color:var(--gold-soft)}
.lcl-about p{margin:0;font-size:14.5px;line-height:2.1;color:var(--text);opacity:.88}
/* model lists (collection window + print tool): room around the rows so the selected row's gold frame isn't cut off at the top */
.lo-model-list{padding:5px 5px 5px 3px;scroll-padding:5px}
/* ---------- 3D measuring tools (fixed views, ruler, automatic sizes) ---------- */
.dm-bar{position:absolute;z-index:4;left:50%;bottom:44px;transform:translateX(-50%);display:flex;gap:6px;padding:4px;border-radius:16px;background:rgba(11,17,16,.66);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-width:calc(100% - 20px);overflow-x:auto;scrollbar-width:none}
.dm-bar::-webkit-scrollbar{display:none}
.dm-views,.dm-tools{display:flex;gap:2px}.dm-tools{padding-inline-start:6px;border-inline-start:1px solid rgba(255,255,255,.12)}
.dm-bar button{display:grid;justify-items:center;gap:2px;min-width:52px;padding:6px 6px 5px;border:0;border-radius:12px;background:transparent;color:#AEB9B5;font:500 10.5px var(--fa);cursor:pointer;white-space:nowrap;transition:background .18s,color .18s}
.dm-bar button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dm-bar button:hover{background:rgba(212,175,55,.16);color:#F7E7B4}
.dm-bar button[aria-pressed="true"]{background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210;font-weight:700}
.dm-tip{position:absolute;z-index:4;top:100px;left:50%;transform:translateX(-50%);padding:7px 14px;border-radius:999px;background:rgba(14,77,69,.92);color:#fff;font:600 12.5px var(--fa);white-space:nowrap;pointer-events:none}
.dm-tip[hidden],.dm-panel[hidden]{display:none}
.dm-panel{position:absolute;z-index:4;top:64px;inset-inline-start:14px;width:min(240px,calc(100% - 28px));padding:12px 14px;border-radius:16px;background:rgba(11,17,16,.78);border:1px solid rgba(212,175,55,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#EAF2EE}
.dm-panel b{display:block;font-size:13px;color:#F2D98C;margin-bottom:6px}
.dm-panel dl{margin:0;display:grid;gap:4px}.dm-panel dl div{display:flex;justify-content:space-between;gap:10px;font-size:12px}
.dm-panel dt{color:#AEB9B5}.dm-panel dd{margin:0;color:#fff;font-weight:600}
.dm-panel small{display:block;margin-top:8px;font-size:10.5px;color:#8FA19C;line-height:1.7}
.dm-labels{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.dm-label{direction:ltr;unicode-bidi:isolate;position:absolute;left:0;top:0;padding:3px 9px;border-radius:999px;background:#D4AF37;color:#2A2210;font:700 12px var(--mono);white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.35)}
canvas.dm-measuring{cursor:crosshair}
@media (max-width:760px){.dm-bar{bottom:88px}.dm-bar button{min-width:46px;font-size:10px}.dm-tip{top:auto;bottom:150px}}
.dm-panel{top:104px;width:min(270px,calc(100% - 28px))}
.dm-panel dt{white-space:nowrap}.dm-panel dd{white-space:nowrap;text-align:left}
.dm-tip{top:auto;bottom:112px}
.lcl-3d .dm-bar{bottom:auto;top:66px}
.lcl-3d .dm-panel{top:128px}
.lcl-3d .dm-tip{bottom:auto;top:132px}
.dm-panel small.dm-warn{color:#F2A0A0;font-weight:600}
.dm-snap{position:absolute;left:0;top:0;padding:2px 8px;border-radius:999px;background:rgba(11,17,16,.85);color:#fff;font:600 11px var(--fa);white-space:nowrap}
.dm-snap[hidden]{display:none}
/* touch magnifier for the ruler */
.dm-loupe{position:absolute;left:0;top:0;width:120px;height:120px;border-radius:50%;overflow:hidden;border:3px solid #D4AF37;background:#EEF1EE;box-shadow:0 12px 30px -8px rgba(0,0,0,.5);pointer-events:none}
.dm-loupe[hidden]{display:none}
.dm-loupe canvas{width:100%;height:100%;display:block}
.dm-loupe i{position:absolute;left:50%;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;box-shadow:0 0 0 1.5px rgba(14,77,69,.9),inset 0 0 0 1px rgba(255,255,255,.9)}
.dm-loupe span{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);padding:1px 8px;border-radius:999px;background:rgba(11,17,16,.82);color:#fff;font:600 10.5px var(--fa);white-space:nowrap}
dialog.lab-coll>.lak-locked{margin:18px clamp(16px,2.4vw,30px) 26px;padding:12px 16px;border-radius:16px;border:1px dashed rgba(212,175,55,.45);font-size:13px;line-height:1.9;color:var(--muted)}
.lak-locked b{color:var(--gold-soft)}.lak-locked button{border:0;background:none;color:var(--gold-soft);font:700 13px var(--fa);cursor:pointer;padding:0 4px}
/* ---------- داکویار: floating assistant ---------- */
.dbuddy{position:fixed;left:0;top:0;z-index:900;width:84px;height:84px;padding:0;border:0;background:none;cursor:grab;touch-action:none;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35));transition:filter .2s}
.dbuddy svg{width:100%;height:100%;overflow:visible;animation:dbFloat 3.6s ease-in-out infinite;transform-origin:50% 90%}
.dbuddy .db-shadow{position:absolute;left:18px;right:18px;bottom:-6px;height:8px;border-radius:50%;background:rgba(0,0,0,.25);filter:blur(3px);animation:dbShadow 3.6s ease-in-out infinite}
.dbuddy:hover svg{animation:dbWiggle .6s ease-in-out}
.dbuddy.is-drag{cursor:grabbing;filter:drop-shadow(0 18px 24px rgba(0,0,0,.45))}.dbuddy.is-drag svg{animation:none;transform:scale(1.08) rotate(-6deg)}
.dbuddy.is-blink .db-eye ellipse{transform:scaleY(.12)}.db-eye ellipse{transition:transform .08s}
.dbuddy.is-think .db-spark{animation:dbSpin 1s linear infinite;transform-origin:40px 5px}
.dbuddy.is-open svg{animation:none}
.db-spark{animation:dbTwinkle 2.4s ease-in-out infinite;transform-origin:40px 5px}
@keyframes dbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes dbShadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.82);opacity:.5}}
@keyframes dbWiggle{25%{transform:rotate(-8deg)}60%{transform:rotate(6deg)}}
@keyframes dbTwinkle{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.6}}
@keyframes dbSpin{to{transform:rotate(360deg)}}
.db-hi{position:fixed;z-index:901;width:260px;display:grid;gap:2px;padding:12px 34px 12px 14px;border-radius:18px;background:linear-gradient(150deg,#14695D,#0E4D45);color:#fff;box-shadow:0 16px 36px -14px rgba(0,0,0,.5);font:13px/1.8 var(--fa);animation:dbIn .4s cubic-bezier(.2,.9,.3,1.2)}
.db-hi[hidden]{display:none}.db-hi b{font-size:14px;color:#F2D98C}.db-hi span{color:#DCEAE5}
.db-hi button{position:absolute;top:6px;left:8px;border:0;background:none;color:#BFD3CD;font-size:16px;cursor:pointer}
.db-panel{position:fixed;z-index:902;display:grid;grid-template-rows:auto 1fr auto auto;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid rgba(212,175,55,.4);box-shadow:0 30px 70px -20px rgba(0,0,0,.55);animation:dbIn .35s cubic-bezier(.2,.9,.3,1.2)}
.db-panel[hidden]{display:none}
.db-panel.is-sheet{left:8px;right:8px;bottom:8px;top:auto;height:min(78vh,560px)}
.db-panel header{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(150deg,#14695D,#0E4D45 60%,#0A3631);color:#fff}
.db-panel header b{display:block;font-size:15px}.db-panel header small{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#CFE3DC}.db-panel header small i{width:7px;height:7px;border-radius:50%;background:#3FD08F}
.db-mini{width:38px;height:38px;flex:none}.db-mini svg{width:100%;height:100%}
.db-x{margin-inline-start:auto;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:18px;cursor:pointer}
.db-log{overflow:auto;padding:14px;display:grid;align-content:start;gap:10px;scrollbar-width:thin}
.db-m{max-width:88%;justify-self:start;padding:10px 13px;border-radius:16px;border-start-start-radius:6px;background:var(--surface-2);color:var(--text);font-size:13.5px;line-height:1.95}
.db-m p{margin:0}.db-m p+p{margin-top:6px}.db-m ul{margin:4px 0;padding-inline-start:18px}
.db-m.is-me{justify-self:end;background:#0E4D45;color:#fff;border-radius:16px;border-end-end-radius:6px}
.db-typing{display:inline-flex;gap:4px}.db-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:lakDot 1s infinite}.db-typing i:nth-child(2){animation-delay:.15s}.db-typing i:nth-child(3){animation-delay:.3s}
.db-quick{display:flex;gap:6px;overflow-x:auto;padding:0 14px 8px;scrollbar-width:none}.db-quick::-webkit-scrollbar{display:none}
.db-quick button{flex:none;padding:7px 12px;border-radius:999px;border:1px solid rgba(212,175,55,.45);background:transparent;color:var(--gold-soft);font:600 12px var(--fa);cursor:pointer;white-space:nowrap}
.db-quick button:hover{background:rgba(212,175,55,.14)}
.db-in{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px;border-top:1px solid var(--line)}
body.lab .db-in textarea{flex:1;min-height:42px;max-height:110px;margin:0!important;padding:10px 12px;border-radius:14px;border:1px solid var(--line)!important;background:var(--surface-2)!important;color:var(--text);font:400 14px var(--fa);resize:none;outline:none}
.db-in button{flex:none;width:42px;height:42px;border:0;border-radius:50%;background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210;font-size:16px;cursor:pointer}
@keyframes dbIn{from{opacity:0;transform:translateY(10px) scale(.97)}}
@media (prefers-reduced-motion:reduce){.dbuddy svg,.db-spark,.dbuddy .db-shadow{animation:none}}
/* ---------- داکویار v2: chat window + section tips (night) ---------- */
.dbuddy.is-walk{transition:transform .85s cubic-bezier(.3,1.3,.5,1)}.dbuddy.is-walk svg{animation:dbHop .85s ease-in-out}
@keyframes dbHop{30%{transform:translateY(-14px) rotate(-6deg)}60%{transform:translateY(-4px) rotate(4deg)}}
.db-panel{grid-template-rows:auto 1fr auto auto;border-radius:28px;background:radial-gradient(120% 60% at 100% 0%,rgba(31,138,116,.28),transparent 60%),radial-gradient(90% 50% at 0% 100%,rgba(212,175,55,.12),transparent 60%),#0D1614;border:1px solid rgba(212,175,55,.32);box-shadow:0 40px 90px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.03) inset}
.db-panel header{position:relative;gap:12px;padding:16px 16px 14px;background:none;border-bottom:1px solid rgba(255,255,255,.06)}
.db-panel header::after{content:"";position:absolute;inset-inline:16px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.6),transparent)}
.db-mini{width:46px;height:46px;padding:4px;border-radius:16px;background:linear-gradient(150deg,rgba(212,175,55,.22),rgba(212,175,55,.05));box-shadow:0 0 0 1px rgba(212,175,55,.35) inset}
.db-panel header b{font-family:"Estedad",var(--fa);font-size:17px;color:#F7E7B4;letter-spacing:.01em}
.db-panel header small{color:#A9BDB7}
.db-x{display:grid;place-items:center;width:36px;height:36px;background:rgba(255,255,255,.07);transition:background .18s,transform .18s}
.db-x svg{width:16px;height:16px;fill:none;stroke:#EAF2EE;stroke-width:2;stroke-linecap:round}.db-x:hover{background:rgba(242,160,160,.18);transform:rotate(90deg)}
.db-body{overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(212,175,55,.3) transparent}
.db-log{overflow:visible;padding:16px 14px 6px;gap:12px}
.db-m{display:flex;gap:8px;max-width:none;padding:0;background:none!important;justify-self:stretch;align-items:flex-end}
.db-m>div{max-width:86%;padding:11px 14px;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);color:#EAF2EE;font-size:13.5px;line-height:2}
.db-m>div b{color:#F2D98C}
.db-av{flex:none;width:28px;height:28px}.db-av svg{width:100%;height:100%}
.db-m.is-me{justify-content:flex-start;flex-direction:row-reverse}
.db-m.is-me>div{border-radius:18px 18px 6px 18px;background:linear-gradient(150deg,#1F8A74,#14695D);border-color:transparent;color:#fff}
.db-quick{padding:4px 14px 10px;gap:6px}
.db-quick.is-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:visible}
.db-quick.is-cards button{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;padding:11px 12px;border-radius:16px;border:1px solid rgba(212,175,55,.28);background:linear-gradient(160deg,rgba(212,175,55,.08),rgba(255,255,255,.02));color:#EAF2EE;font:600 12.5px/1.7 var(--fa);text-align:right;white-space:normal;transition:transform .18s,border-color .18s,background .18s}
.db-quick.is-cards i{font-style:normal;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(212,175,55,.16);color:#F2D98C;font-size:15px}
.db-quick.is-cards button:hover{transform:translateY(-2px);border-color:rgba(212,175,55,.7);background:linear-gradient(160deg,rgba(212,175,55,.16),rgba(255,255,255,.03))}
.db-quick:not(.is-cards) button{border-color:rgba(212,175,55,.35);color:#F2D98C;background:rgba(212,175,55,.06)}
.db-in{margin:0 12px 12px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.04)}
.db-in:focus-within{border-color:rgba(212,175,55,.6);box-shadow:0 0 0 3px rgba(212,175,55,.12)}
body.lab .db-in textarea{border:0!important;background:transparent!important;color:#EAF2EE;padding:9px 10px}
.db-in button{display:grid;place-items:center;transition:transform .18s}.db-in button svg{width:18px;height:18px;fill:none;stroke:#2A2210;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.db-in button:hover{transform:scale(1.06) rotate(-8deg)}
/* section tip */
.db-tip{position:fixed;z-index:903;width:290px;padding:14px 16px 12px;border-radius:20px;background:radial-gradient(120% 80% at 100% 0%,rgba(31,138,116,.35),transparent 60%),#0D1614;border:1px solid rgba(212,175,55,.4);color:#EAF2EE;box-shadow:0 24px 50px -18px rgba(0,0,0,.6);font:13px/1.95 var(--fa);animation:dbIn .4s cubic-bezier(.2,.9,.3,1.2)}
.db-tip[hidden]{display:none}
.db-tip>b{display:block;margin-bottom:4px;font-family:"Estedad",var(--fa);font-size:14.5px;color:#F2D98C}
.db-tip p{margin:0}.db-tip p b{color:#F7E7B4}
.db-tip>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.db-tip-ask{padding:7px 14px;border:0;border-radius:999px;background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210;font:700 12px var(--fa);cursor:pointer}
.db-tip-off{padding:7px 10px;border:0;border-radius:999px;background:transparent;color:#8FA19C;font:500 11.5px var(--fa);cursor:pointer}.db-tip-off:hover{color:#EAF2EE}
.db-tip-x{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.07);cursor:pointer}
.db-tip-x svg{width:13px;height:13px;fill:none;stroke:#EAF2EE;stroke-width:2;stroke-linecap:round}.db-tip-x:hover{background:rgba(242,160,160,.2)}
/* داکویار header: title and subtitle on one line each, close button at the far end and clearly visible */
.db-panel header>div{flex:1;min-width:0}
.db-panel header b,.db-panel header small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-panel header small{display:flex}
.db-x{margin-inline-start:auto;flex:none;width:40px;height:40px;background:rgba(255,255,255,.1);box-shadow:0 0 0 1px rgba(255,255,255,.14) inset}
.db-x svg{width:18px;height:18px;stroke-width:2.4}
body.lab .db-panel header{padding:14px 14px 14px 12px!important;position:relative!important;top:auto!important;height:auto!important;min-height:0!important;margin:0!important;box-shadow:none!important;backdrop-filter:none!important;display:flex!important;grid-template-columns:none!important;z-index:auto!important}
body.lab .db-panel header,html[data-theme="light"] body.lab .db-panel header{background:none!important;border-bottom:1px solid rgba(255,255,255,.06)!important}
html[data-theme="light"] body.lab .db-panel header{border-bottom-color:#EFE9DA!important}
/* app banner: the lead sentence in a light mint-ivory that reads well on the deep green (day and night) */
body.lab .lab-app .la-lede{color:#DCEBE5;opacity:1}
body.lab .lab-app .la-lede b{color:#F2D98C}

.db-glint{animation:dbGlint 3.2s ease-in-out infinite;transform-origin:64px 21px}@keyframes dbGlint{0%,70%,100%{opacity:0;transform:scale(.4)}80%{opacity:1;transform:scale(1.15)}}
@media (prefers-reduced-motion:reduce){.db-glint{animation:none}}
.db-tips-on{margin-top:4px;padding:6px 12px;border:1px solid rgba(212,175,55,.5);border-radius:999px;background:rgba(212,175,55,.12);color:inherit;font:inherit;font-size:.85em;cursor:pointer}

/* about: the photos are square — show them whole (watermark included), the tag under the big one */
body.lab .la-visual{min-height:0;aspect-ratio:100/86;align-self:center}
body.lab .la-img{object-fit:contain;background:#EFE9DD}
body.lab .la-img-main{width:66%;height:auto;aspect-ratio:1}
body.lab .la-img-side{width:44%;height:auto;aspect-ratio:1}
body.lab .la-tag{right:3%;bottom:auto;top:calc(76.7% + 14px)}

/* about: «بیشتر بدانید» → /about */
body.lab .la-more{display:inline-flex;width:fit-content;justify-self:start;align-self:flex-start;align-items:center;gap:8px;margin-top:22px;height:48px;padding:0 20px 0 16px;border-radius:16px;background:linear-gradient(160deg,#F0D27A,#D4AF37 55%,#B98F22);color:#221B07;font-weight:800;font-size:14.5px;text-decoration:none;box-shadow:0 12px 26px -12px rgba(212,175,55,.75);transition:transform .2s}
body.lab .la-more:hover{transform:translateY(-2px)}
body.lab .la-more svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
body.lab .la-more:hover svg{transform:translateX(-3px)}
/* collection sizes: a size per model line, «+ سایز دیگر», and one size for all */
.lcl-sizes{grid-column:2/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:-2px}
.lcl-size{height:32px;padding:0 30px 0 12px;border-radius:999px;border:1px solid rgba(212,175,55,.45);background:rgba(212,175,55,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px;color:var(--text);font:600 12.5px var(--fa);appearance:none;-webkit-appearance:none;cursor:pointer}
.lcl-size:focus{outline:2px solid rgba(212,175,55,.5);outline-offset:1px}
.lcl-size option{background:#151B1A;color:#F2F1EC}
.lcl-row.is-extra{margin-inline-start:22px;border-style:dashed}
.lcl-row.is-extra .lcl-thumb{opacity:.55}
/* «پیام با داکو»: conversation with Dako's team */
.lms{display:grid;grid-template-rows:auto 1fr auto;height:min(68vh,640px);border-radius:22px;border:1px solid var(--line);background:var(--surface);overflow:hidden}
.lms-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:linear-gradient(160deg,rgba(14,77,69,.35),transparent)}
.lms-ava{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(160deg,#F0D27A,#D4AF37);color:#1E1A0C;font:800 17px var(--latin)}
.lms-head b{display:block;font-size:15px}.lms-head small{font-size:12px;color:var(--muted)}
.lms-log{overflow:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.lms-m{max-width:78%;align-self:flex-end;padding:10px 14px;border-radius:18px 18px 18px 6px;background:var(--surface-2);border:1px solid var(--line)}
.lms-m.is-me{align-self:flex-start;border-radius:18px 18px 6px 18px;background:linear-gradient(160deg,#17665B,#0E4D45);border-color:transparent;color:#F2F1EC}
.lms-m p{margin:2px 0 4px;line-height:1.9;font-size:14px;overflow-wrap:anywhere}.lms-m small{font-size:11px;opacity:.7}
.lms-o{display:inline-block;padding:1px 8px;border-radius:999px;background:rgba(212,175,55,.2);color:#F2D98C;font:600 11px var(--latin)}
.lms-empty{margin:auto;max-width:360px;text-align:center;color:var(--muted);font-size:13.5px;line-height:2}
.lms-in{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--line)}
.lms-in select{height:42px;padding:0 10px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 12px var(--latin)}
.lms-in textarea{flex:1;min-height:42px;max-height:120px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:400 14px/1.6 var(--fa);resize:none;outline:0}
.lms-in textarea:focus{border-color:var(--gold)}
.lms-in button{flex:none;display:grid;place-items:center;width:44px;height:42px;border:0;border-radius:14px;background:linear-gradient(160deg,#F0D27A,#D4AF37);cursor:pointer}
.lms-in button svg{width:20px;height:20px;fill:none;stroke:#1E1A0C;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lms-in select{flex:0 0 auto;width:auto;max-width:118px}
.lms-in textarea{min-width:0}
/* support: «پاسخ فوری» (AI) and «کارشناس داکو» (team) */
.lsx-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:5px;border-radius:20px;background:var(--surface-2);border:1px solid var(--line)}
.lsx-tabs button{display:grid;gap:2px;justify-items:center;padding:10px 8px;border:0;border-radius:15px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;transition:background .2s,color .2s}
.lsx-tabs button b{display:flex;align-items:center;gap:6px;font-size:14.5px;color:var(--text)}
.lsx-tabs button small{font-size:11.5px}
.lsx-tabs button em{min-width:20px;padding:0 6px;border-radius:999px;background:var(--gold);color:#1E1A0C;font:800 11px/20px var(--latin);font-style:normal}
.lsx-tabs button[aria-selected="true"]{background:var(--surface);box-shadow:0 6px 18px -8px rgba(0,0,0,.5),inset 0 0 0 1px rgba(212,175,55,.45)}
.lsx-tabs button[aria-selected="true"] small{color:var(--gold-soft)}
.lsx-off{margin:0 0 10px;padding:10px 14px;border-radius:14px;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.3);font-size:13px;line-height:1.9}
.lsx-off button{border:0;background:none;padding:0;color:var(--gold-soft);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.lo-seg.is-one{display:flex;align-items:center;gap:10px}.lo-seg.is-one button{flex:0 0 auto}
.lcl-onlymat{font-size:12px;color:var(--gold-soft);font-weight:600}
.lst-att{display:inline-block;margin-top:4px;padding:3px 10px;border-radius:999px;background:rgba(212,175,55,.14);color:var(--gold-soft);font-size:11.5px;font-weight:700;text-decoration:none}
/* size bar on the collection stage */
.lcl-szbar{position:absolute;z-index:4;left:50%;bottom:58px;transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:7px 9px;border-radius:999px;background:rgba(10,20,18,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(212,175,55,.35);box-shadow:0 14px 30px -14px rgba(0,0,0,.7)}
.lcl-szbar[hidden]{display:none}
.lcl-szpill{min-width:34px;height:30px;padding:0 11px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#F2F1EC;font:600 12.5px var(--latin);cursor:pointer;transition:.2s}
.lcl-szpill:hover:not(:disabled){border-color:#E9C979}
.lcl-szpill.is-on{background:linear-gradient(160deg,#F0D27A,#D4AF37);border-color:transparent;color:#1E1A0C;font-weight:800}
.lcl-szpill:disabled{opacity:.35;cursor:not-allowed}
.lcl-szpill.is-wait{display:inline-flex;align-items:center;border-style:dashed;color:#E9C979;cursor:default;font-family:var(--fa)}
/* the size bar sits top-left, after the model's name */
.lcl-szbar{left:auto;bottom:auto;top:13px;transform:none;justify-content:flex-start;padding:4px 6px;max-width:none}
.lcl-szbar .lcl-szpill{height:26px;padding:0 9px;font-size:11.5px}
.lcl-szbar .lcl-szpill{min-width:28px}
.lcl-szbar{gap:4px}
/* size request: a small tidy card */
.lcl-szbar.is-ask{flex-direction:column;align-items:stretch;gap:4px;padding:8px 10px;border-radius:16px}
/* collections loading: soft placeholders until the server's list arrives */
.lc-loading{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.lc-loading span{display:block;aspect-ratio:1;border-radius:28px;background:linear-gradient(110deg,rgba(255,255,255,.04) 30%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.04) 70%) 0 0/300% 100%;animation:lcLoad 1.3s linear infinite}
html[data-theme="light"] .lc-loading span{background:linear-gradient(110deg,#ECE9E1 30%,#F6F4EE 50%,#ECE9E1 70%) 0 0/300% 100%}
@keyframes lcLoad{to{background-position:-300% 0}}
.lst-loading{display:grid;gap:12px;padding:6px 0}
.lst-loading span{display:block;height:84px;border-radius:20px;background:linear-gradient(110deg,rgba(255,255,255,.04) 30%,rgba(255,255,255,.09) 50%,rgba(255,255,255,.04) 70%) 0 0/300% 100%;animation:lcLoad 1.3s linear infinite}
.lst-loading p{margin:4px 0 0;text-align:center;color:var(--muted);font-size:13px}
html[data-theme="light"] .lst-loading span{background:linear-gradient(110deg,#ECE9E1 30%,#F6F4EE 50%,#ECE9E1 70%) 0 0/300% 100%}
.lcl-szpill{position:relative}
.lcl-szpill.is-sel{border-color:#E9C979;color:#F2D98C;background:rgba(212,175,55,.14)}
.lcl-szpill i{position:absolute;top:-6px;left:-6px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#0A2C28;border:1px solid #E9C979;color:#F2D98C;font:700 10px/1 var(--latin);font-style:normal}
.lcl-szpill i:hover{background:#7a2b2b}
.lcl-att{display:inline-block;margin-inline-start:8px;padding:1px 8px;border-radius:999px;background:rgba(212,175,55,.14);color:var(--gold-soft);font-size:11px;font-weight:700}
.lab-done-att{display:grid;gap:6px;margin:4px 0 14px;padding:12px 14px;border-radius:16px;border:1px solid rgba(212,175,55,.35);background:rgba(212,175,55,.06)}
.lab-done-att b{font-size:13px}.lab-done-att a{color:var(--gold-soft);font-weight:700;text-decoration:none;font-size:13.5px}.lab-done-att small{color:var(--muted);font-size:12px}
/* attached file: a small badge on the model's picture, so the cards stay the same size */
.lst-o-models>div{position:relative}
.lst-om-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:22px}
.lst-o-models .lst-att{margin:0;padding:2px 9px;border-radius:999px;background:rgba(212,175,55,.16);border:1px solid rgba(212,175,55,.45);color:var(--gold-soft);font-size:10.5px;font-weight:700;white-space:nowrap;text-decoration:none}
.lst-o-models .lst-att:hover{background:#D4AF37;border-color:#D4AF37;color:#1E1A0C}
/* stones of the model on screen, under the size bar */
.lcl-stonebox{position:absolute;z-index:4;display:grid;gap:6px;max-width:min(360px,calc(100% - 32px));padding:9px 12px;border-radius:16px;background:rgba(10,20,18,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(167,232,210,.25);color:#F2F1EC}
.lcl-stonebox[hidden]{display:none}
.lcl-stonebox>b{font-size:11.5px;color:#A7E8D2}
.lcl-st{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;font-size:12px}
.lcl-st>span{display:inline-flex;align-items:baseline;gap:4px;font-weight:700}
.lcl-st small{font-size:10.5px;font-weight:500;opacity:.65}

/* stones under the size bar: one line per stone, same look as the bar */
.lcl-stonebox{gap:4px;padding:5px 8px;border-radius:14px;border-color:rgba(212,175,55,.35);max-width:calc(100% - 32px)}
.lcl-st{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;white-space:nowrap;font-size:11.5px}
.lcl-st b{color:#F2D98C;font-weight:800}
.lcl-st span{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.07);font-weight:700}
.lcl-st em{padding:2px 8px;border-radius:999px;background:rgba(167,232,210,.12);color:#A7E8D2;font-style:normal;font-weight:700}
/* 3D view: measurement fading out, gumball options, fullscreen fallback */
.dm-label{transition:opacity .4s}.dm-label.is-out{opacity:0}
.dm-gz{position:absolute;z-index:5;left:50%;top:0;transform:translateX(-50%);display:flex;gap:2px;padding:4px;border-radius:14px;background:rgba(11,17,16,.66);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.dm-gz[hidden]{display:none}
.dm-gz button{display:flex;align-items:center;gap:5px;padding:6px 10px;border:0;border-radius:10px;background:transparent;color:#AEB9B5;font:600 11px var(--fa);cursor:pointer;white-space:nowrap}
.dm-gz button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dm-gz button:hover{background:rgba(212,175,55,.16);color:#F7E7B4}
.dm-gz button[aria-pressed="true"]{background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210;font-weight:700}
html[data-theme="light"] .dm-gz{background:rgba(255,255,255,.92);border-color:#E1E5E0;box-shadow:0 8px 20px -12px rgba(14,77,69,.4)}
html[data-theme="light"] .dm-gz button{color:#5F6E6A}
html[data-theme="light"] .dm-gz button:hover{background:#FBF1D3;color:#5E4508}
/* collection 3D: a compact toolbar that fits the stage, placed under the size bar and the stones */
.lcl-3d .dm-bar{top:var(--dm-top,66px);max-width:calc(100% - 20px);gap:3px}
.lcl-3d .dm-bar button{min-width:44px;padding:6px 4px 5px;font-size:10px}
.lcl-3d .dm-panel{top:calc(var(--dm-top,66px) + 66px)}
.lcl-3d .dm-tip{top:calc(var(--dm-top,66px) + 70px)}
.dm-full{position:fixed!important;inset:0!important;z-index:5000!important;width:auto!important;height:auto!important;max-height:none!important;min-height:0!important;margin:0!important;border-radius:0!important}
:fullscreen{border-radius:0!important;background:#0B1A18}
/* the server could not be reached: a clear note instead of silently showing demo data */
.dako-offline{position:fixed;z-index:9000;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;border-radius:999px;background:#0E4D45;color:#fff;font:600 13.5px var(--fa);box-shadow:0 12px 30px -12px rgba(0,0,0,.5);max-width:calc(100% - 32px)}
.dako-offline button{padding:6px 14px;border:0;border-radius:999px;background:#D4AF37;color:#1E1A0C;font:700 12.5px var(--fa);cursor:pointer}

/* order cards: the size on its own line under the model code */
.lst-om-sz{margin-top:-2px;font-size:11px;font-weight:600;color:var(--gold-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* collection 3D: the stones switch at the end of the look bar */
.lcl-layers{display:inline-flex;align-items:center;gap:4px;margin-inline-start:2px;padding-inline-start:6px;border-inline-start:1px solid rgba(255,255,255,.18)}
.lcl-layers[hidden]{display:none}
.lcl-looks .lcl-layers button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px}
.lcl-layers button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round}
.lcl-looks .lcl-layers button[aria-pressed="true"]{background:linear-gradient(135deg,#F7FBFF,#CFE3F7);color:#18324A}
.lcl-looks .lcl-layers button[aria-pressed="false"]{opacity:.7}
html[data-theme="light"] .lcl-layers{border-inline-start-color:#E1E5E0}
html[data-theme="light"] .lcl-looks .lcl-layers button[aria-pressed="true"]{background:linear-gradient(135deg,#F3F8FD,#D9E8F6)!important;color:#18324A!important}

/* collection window: the piece count between the model's name and the render / 3D switch */
.lcl-partschip{position:relative;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(10,20,18,.8);border:1px solid rgba(212,175,55,.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#E8EEEC;font:600 11.5px var(--fa);white-space:nowrap;pointer-events:auto}
.lcl-partschip[hidden]{display:none}
.lcl-partschip b{color:#F2D98C;font-weight:800}
.lcl-partschip.is-tight span{display:none}
html[data-theme="light"] .lcl-partschip{background:rgba(255,255,255,.92);border-color:#E9DDB4;color:#3B4A46;box-shadow:0 8px 20px -12px rgba(14,77,69,.4)}
html[data-theme="light"] .lcl-partschip b{color:#8A6A12}

/* a hidden collection, shown only to an admin (to check it before publishing) */
.lc-hidden{display:inline-block;margin-bottom:6px;padding:3px 10px;border-radius:999px;background:rgba(224,122,107,.16);color:#E07A6B;font:700 11px var(--fa)}

/* the chips row at the top of the collection stage (pieces, stones) and the stone details that open from it */
.lcl-topchips{position:absolute;z-index:6;display:flex;gap:6px;align-items:center}
.lcl-topchips[hidden]{display:none}
.lcl-topchips.is-tight .lcl-partschip span{display:none}
.lcl-stonechip{cursor:pointer;border:1px solid rgba(212,175,55,.35)}
.lcl-stonechip i{font-style:normal;font-size:10px;opacity:.8;transition:transform .2s}
.lcl-stonechip[aria-expanded="true"]{background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210;border-color:#D4AF37}
.lcl-stonechip[aria-expanded="true"] b{color:#2A2210}
.lcl-stonechip[aria-expanded="true"] i{transform:rotate(180deg)}
.lcl-stonebox{z-index:7;box-shadow:0 16px 36px -14px rgba(0,0,0,.55)}
/* size menu: «سایز ▾» on the stage opens every size of the model's kind */
.lcl-szopen{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(212,175,55,.55);background:rgba(212,175,55,.12);color:#F2D98C;font:700 11.5px var(--fa);cursor:pointer}
.lcl-szopen i{font-style:normal;font-size:10px;transition:transform .2s}.lcl-szopen[aria-expanded="true"] i{transform:rotate(180deg)}
.lcl-szpill small{margin-inline-start:3px;font:600 10px var(--latin);opacity:.8}
.lcl-szpill.is-est{border-style:dashed}
.lcl-szmenu{position:absolute;z-index:6;width:min(340px,calc(100% - 16px));overflow:auto;padding:12px 14px;border-radius:18px;background:rgba(10,20,18,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(212,175,55,.35);box-shadow:0 20px 40px -18px rgba(0,0,0,.8);color:#F2F1EC;font-size:12.5px}
.lcl-szmenu[hidden]{display:none}
.lcl-szm-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.lcl-szm-head b{color:#F2D98C;font-size:13px}
.lcl-szm-x{width:26px;height:26px;border-radius:50%;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;font-size:15px;line-height:1}
.lcl-szm-t{margin:10px 0 6px;color:rgba(242,241,236,.6);font-size:11.5px}
.lcl-szm-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:5px}
.lcl-szm{display:grid;gap:1px;padding:5px 0;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#F2F1EC;font:700 12.5px var(--latin);cursor:pointer;text-align:center}
.lcl-szm small{font:500 9.5px var(--latin);color:rgba(242,241,236,.55)}
.lcl-szm:hover{border-color:#E9C979}
.lcl-szm.is-ready{border:1.5px solid #D4AF37;background:rgba(212,175,55,.1);color:#F2D98C}.lcl-szm.is-ready small{color:#E9C979}
.lcl-szm.is-on{background:#0E4D45;border-color:#A7E8D2;color:#fff}.lcl-szm.is-on small{color:#CFEFE4}
.lcl-szm-half{display:flex;align-items:center;gap:6px;margin-top:8px;color:rgba(242,241,236,.75);font-size:11.5px;cursor:pointer}
.lcl-szm-rows{display:grid}
.lcl-szm-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 4px;border-top:1px solid rgba(255,255,255,.08);cursor:pointer}
.lcl-szm-row.is-on>span:first-child{color:#F2D98C;font-weight:700}
.lcl-szm-row em{font-style:normal;color:#E9C979;font-size:11px}
.lcl-szm-q{display:flex;align-items:center;gap:5px}
.lcl-szm-q button{width:24px;height:24px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer;font-size:14px;line-height:1}
.lcl-szm-q button:disabled{opacity:.35;cursor:not-allowed}
.lcl-szm-q b{min-width:18px;text-align:center}
.lcl-szm-q .lcl-szm-rm{border-color:rgba(244,166,166,.4);color:#F4A6A6}
.lcl-szm-note{margin:8px 0 0;color:rgba(242,241,236,.6);font-size:11px;line-height:1.8}
/* the line's size, in its title (picked in the «سایز» menu on the picture) */
.lcl-rsz{display:inline-block;margin-inline-start:8px;padding:1px 9px;border-radius:999px;background:rgba(212,175,55,.14);color:var(--gold-soft);font:700 11.5px var(--fa);vertical-align:1px;white-space:nowrap}
.lcl-rsz.is-est{background:transparent;border:1px dashed rgba(212,175,55,.55)}
/* a second size of the same model: its own tint, so it reads as an added size, not another model */
.lcl-row.is-extra{background:rgba(14,77,69,.28);border-color:rgba(167,232,210,.4)}
.lcl-row.is-extra.is-active{border-color:#A7E8D2}
.lcl-row.is-extra .lo-model-title::before{content:"+ ";color:#A7E8D2;font-weight:800}
/* stronger: the added size reads apart at a glance */
.lcl-row.is-extra{background:rgba(14,77,69,.6);border:1.5px dashed rgba(167,232,210,.75);border-inline-start:5px solid #A7E8D2}
.lcl-row.is-extra.is-active{border-color:#A7E8D2;border-style:solid}
.lcl-szmenu{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.dm-snap{font-family:var(--fa),var(--latin);direction:rtl}
/* sizes panel: a long name wraps, the number stays on one line */
.dm-panel dl div{min-width:0;align-items:baseline}.dm-panel dt{white-space:normal;min-width:0;line-height:1.6}.dm-panel dd{flex:none}
/* sizes panel, tidier: a header line, rows with hairlines, the number bold with a small unit, never over the toolbar */
.dm-panel{width:min(300px,calc(100% - 28px));padding:14px 16px 12px;border-radius:18px;max-height:calc(100% - 210px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.dm-panel b{font-size:14px;padding-bottom:8px;margin-bottom:4px;border-bottom:1px solid rgba(212,175,55,.3)}
.dm-panel dl{gap:0}
.dm-panel dl div{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px}
.dm-panel dl div:last-child{border-bottom:0}
.dm-panel dd{font-size:12.5px;font-weight:700;white-space:nowrap}
.dm-panel dd i{font-style:normal;font-weight:500;font-size:10px;opacity:.6;margin-inline-start:3px}
.dm-panel dd small{display:inline;margin:0}
.dm-panel small:not(dd small){border-top:1px solid rgba(255,255,255,.07);padding-top:8px}
.lcl-3d .dm-panel{max-height:calc(100% - var(--dm-top,66px) - 86px)}
/* share button next to the heart, and the «لینک کپی شد» note */
body.lab .lab-coll .lcl-share:hover{background:rgba(14,77,69,.14)!important;border-color:rgba(14,77,69,.6)!important;color:#0E4D45!important;box-shadow:none!important}
body.lab .lab-coll .lcl-share:hover svg{fill:none!important;animation:none!important}
html:not([data-theme="light"]) body.lab .lab-coll .lcl-share:hover{color:#A7E8D2!important;border-color:rgba(167,232,210,.6)!important}
.lab-coll .lcl-share svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.lab-share-toast{position:fixed;z-index:9999;left:50%;bottom:32px;transform:translateX(-50%);display:grid;gap:3px;padding:10px 18px;border-radius:16px;background:#0E4D45;color:#fff;font:700 13px var(--fa);text-align:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.5);transition:opacity .4s}
.lab-share-toast small{font:500 11px var(--latin);opacity:.75}.lab-share-toast.is-out{opacity:0}
.lab-share-toast small{color:#D8F3EA;opacity:1;font-size:11.5px}
/* the held-order bar (credit being bought): bottom of the page, counting down */
.lab-hold{position:fixed;z-index:4000;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:8px 8px 8px 16px;padding-inline-start:16px;border-radius:999px;background:#0E4D45;color:#fff;box-shadow:0 16px 36px -14px rgba(0,0,0,.6);font-family:var(--fa)}
.lab-hold[hidden]{display:none}
.lab-hold-t{display:grid;gap:1px;min-width:0}.lab-hold-t b{font-size:13px}.lab-hold-t small{font-size:11.5px;color:#CFEFE4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lab-hold-go{flex:none;height:38px;padding:0 16px;border:0;border-radius:999px;background:linear-gradient(160deg,#F0D27A,#D4AF37);color:#1E1A0C;font:800 12.5px var(--fa);cursor:pointer}
.lab-hold-x{flex:none;width:32px;height:32px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:16px;cursor:pointer}
.lab-hold.is-ready{background:#0B5B3F;box-shadow:0 0 0 2px #D4AF37,0 16px 36px -14px rgba(0,0,0,.6)}
@media (max-width:760px){.lab-hold{bottom:84px}}
/* a model sent with its own sprue / support files (a sample): a small tag under its name */
.lcl-preptag{display:block;width:fit-content;margin-top:4px;padding:2px 9px;border-radius:999px;background:rgba(167,232,210,.12);border:1px solid rgba(167,232,210,.35);color:#A7E8D2;font:700 11px var(--fa)}
html[data-theme="light"] .lcl-preptag{background:#E6F3EE;border-color:#9FCFC0;color:#0E4D45}
/* «طرح دلخواه شما»: a banner with the three steps, then the wall of requests (picture cards like the collections) */
.lw-hero{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;margin:0 0 26px;padding:26px 28px;border-radius:28px;overflow:hidden;
 background:radial-gradient(120% 140% at 0% 0%,rgba(212,175,55,.22),transparent 55%),linear-gradient(135deg,#0E4D45,#0A332E);border:1px solid rgba(212,175,55,.35);color:#F2F1EC}
.lw-hero::after{content:"";position:absolute;inset:auto -40px -60px auto;width:220px;height:220px;border-radius:50%;border:26px solid rgba(212,175,55,.12);pointer-events:none}
.lw-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lw-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:2px;align-items:start}
.lw-steps i{grid-row:span 2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(160deg,#F0D27A,#D4AF37);color:#1E1A0C;font:800 15px var(--latin);font-style:normal}
.lw-steps b{font:700 15px var(--disp,var(--fa));color:#fff}.lw-steps small{font-size:12.5px;line-height:1.8;color:#CFE6DE}
.lw-cta{position:relative;z-index:1;display:grid;justify-items:center;gap:8px}.lw-cta .hx-pill{white-space:nowrap}.lw-quota{font-size:11.5px;color:#CFE6DE;text-align:center;max-width:220px}
.lw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.lw-card{display:grid;grid-template-rows:auto 1fr;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:transform .25s,box-shadow .25s,border-color .25s}
.lw-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -24px rgba(0,0,0,.6);border-color:rgba(212,175,55,.45)}
.lw-card.is-done{border-color:rgba(212,175,55,.6)}
.lw-pic{position:relative;display:block;width:100%;aspect-ratio:1;padding:0;border:0;background:#0B1110;cursor:zoom-in;overflow:hidden}
.lw-pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.lw-card:hover .lw-pic img{transform:scale(1.05)}
.lw-pic::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.lw-sketch{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(circle at 50% 40%,rgba(212,175,55,.18),transparent 60%),#0F1A18}
.lw-sketch svg{width:42%;fill:none;stroke:#E9C979;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.lw-st{position:absolute;z-index:1;top:12px;inset-inline-start:12px;padding:4px 11px;border-radius:999px;background:rgba(10,20,18,.72);backdrop-filter:blur(8px);color:#A7E8D2;font:700 11.5px var(--fa)}
.lw-card.is-work .lw-st{color:#F2D98C}.lw-card.is-done .lw-st{background:linear-gradient(160deg,#F0D27A,#D4AF37);color:#1E1A0C}
.lw-n{position:absolute;z-index:1;top:12px;inset-inline-end:12px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font:600 11px var(--fa)}
.lw-votes{position:absolute;z-index:1;bottom:12px;inset-inline-end:12px;display:inline-flex;align-items:center;gap:5px;color:#fff;font:800 13px var(--latin)}
.lw-votes svg,.lw-vote svg,.lw-empty svg{width:16px;height:16px;fill:#E0627A;stroke:none}
.lw-body{display:grid;gap:8px;align-content:start;padding:14px 16px 16px}
.lw-body p{margin:0;font-size:13.5px;line-height:1.9;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.lw-body small{color:var(--muted);font-size:11.5px}
.lw-vote,.lw-go{justify-self:start;display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:8px 14px;border-radius:999px;font:700 12.5px var(--fa);cursor:pointer;transition:.2s}
.lw-vote{border:1px solid var(--line);background:transparent;color:var(--text)}.lw-vote svg{fill:none;stroke:#E0627A;stroke-width:1.8}
.lw-vote:hover{border-color:#E0627A;color:#E0627A;background:rgba(224,98,122,.08)}.lw-vote[aria-pressed="true"]{background:#D2566E;border-color:#D2566E;color:#fff}.lw-vote[aria-pressed="true"] svg{fill:#fff;stroke:#fff}
.lw-go{border:1px solid rgba(212,175,55,.55);background:rgba(212,175,55,.12);color:var(--gold-soft)}.lw-go:hover{background:rgba(212,175,55,.2)}
.lw-del{justify-self:start;border:0;background:none;padding:0;color:var(--muted);font:600 11.5px var(--fa);cursor:pointer;text-decoration:underline}
.lw-more{display:block;margin:20px auto 0;padding:10px 22px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font:700 13px var(--fa);cursor:pointer}.lw-more[hidden]{display:none}
.lw-empty{grid-column:1/-1;display:grid;justify-items:center;gap:6px;padding:34px 20px;text-align:center;border:1.5px dashed rgba(212,175,55,.4);border-radius:24px}
.lw-empty span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(224,98,122,.12)}.lw-empty svg{width:24px;height:24px}
.lw-empty b{font:700 16px var(--disp,var(--fa));color:var(--text)}.lw-empty small{max-width:420px;color:var(--muted);line-height:1.9}
.lw-dlg{width:min(560px,calc(100% - 24px))}.lw-form{display:grid;gap:12px;padding:4px 2px}
.lw-form label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.lw-form textarea{padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:14px/1.9 var(--fa);resize:vertical}
.lw-drop{place-items:center;padding:16px;border:1.5px dashed rgba(212,175,55,.5);border-radius:16px;cursor:pointer;text-align:center}.lw-drop b{color:var(--gold-soft)}
.lw-thumbs{display:flex;flex-wrap:wrap;gap:8px}.lw-thumbs span{position:relative}.lw-thumbs img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.lw-thumbs button{position:absolute;top:-6px;left:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#7a2b2b;color:#fff;cursor:pointer}
.lw-msg{margin:0;color:#F4A6A6;font-size:12.5px}.lw-msg:empty{display:none}
.lw-pics .lw-pt{margin:0 0 12px;line-height:1.9}.lw-pg{display:grid;gap:10px}.lw-pg img{width:100%;border-radius:14px}
@media (max-width:900px){.lw-hero{grid-template-columns:1fr;padding:22px}.lw-steps{grid-template-columns:1fr;gap:14px}.lw-cta{justify-items:stretch}}
html[data-theme="light"] .lw-card{background:#fff;border-color:#E3E7E2}html[data-theme="light"] .lw-card:hover{box-shadow:0 22px 40px -24px rgba(14,77,69,.45)}
html[data-theme="light"] .lw-sketch{background:radial-gradient(circle at 50% 40%,rgba(212,175,55,.2),transparent 60%),#F3F1EA}html[data-theme="light"] .lw-sketch svg{stroke:#A9801A}
html[data-theme="light"] .lw-go{color:#8A6A12;background:#FBF6E6}html[data-theme="light"] .lw-drop b{color:#8A6A12}html[data-theme="light"] .lw-msg{color:#B23A3A}
html[data-theme="light"] .lw-empty{background:#fff}
/* «من هم می‌خواهم»: a full-width button, soft rose, the heart beating on hover */
.lw-vote{justify-self:stretch;justify-content:center;gap:8px;height:46px;margin-top:6px;padding:0 16px;border-radius:16px;border:1.5px solid rgba(224,98,122,.45);background:linear-gradient(160deg,rgba(224,98,122,.14),rgba(224,98,122,.05));color:#F2A7BE;font:800 14px var(--fa)}
.lw-vote svg{width:19px;height:19px;fill:none;stroke:#E0627A;stroke-width:2}
.lw-vote:hover{background:linear-gradient(160deg,rgba(224,98,122,.26),rgba(224,98,122,.1));border-color:#E0627A;color:#fff;transform:translateY(-1px);box-shadow:0 10px 22px -12px rgba(224,98,122,.7)}
.lw-vote:hover svg{fill:#E0627A;animation:lcBeat .9s ease-in-out infinite}
.lw-vote[aria-pressed="true"]{background:linear-gradient(160deg,#E0627A,#C2445E);border-color:transparent;color:#fff;box-shadow:0 10px 22px -12px rgba(224,98,122,.8)}
.lw-vote[aria-pressed="true"] svg{fill:#fff;stroke:#fff}
html[data-theme="light"] .lw-vote{color:#B23A57;background:linear-gradient(160deg,#FFF0F3,#FFF8F9);border-color:#F2B8C6}
html[data-theme="light"] .lw-vote:hover{color:#fff;background:linear-gradient(160deg,#E0627A,#C2445E);border-color:transparent}
html[data-theme="light"] .lw-vote:hover svg{fill:#fff;stroke:#fff}
html[data-theme="light"] .lw-vote[aria-pressed="true"]{color:#fff}
.lw-go{justify-self:stretch;justify-content:center;height:46px;border-radius:16px;font-size:13.5px}
/* the vote button in the site's own colours: green and gold */
.lw-vote{border:1.5px solid rgba(212,175,55,.5);background:linear-gradient(160deg,rgba(14,77,69,.55),rgba(14,77,69,.25));color:#F2D98C}
.lw-vote svg{stroke:#E9C979}
.lw-vote:hover{background:linear-gradient(160deg,#0E4D45,#0A3A34);border-color:#D4AF37;color:#fff;box-shadow:0 10px 24px -12px rgba(14,77,69,.9)}
.lw-vote:hover svg{fill:#E9C979;stroke:#E9C979}
.lw-vote[aria-pressed="true"]{background:linear-gradient(160deg,#F0D27A,#D4AF37);border-color:transparent;color:#1E1A0C;box-shadow:0 10px 24px -12px rgba(212,175,55,.8)}
.lw-vote[aria-pressed="true"] svg{fill:#1E1A0C;stroke:#1E1A0C}
html[data-theme="light"] .lw-vote{color:#0E4D45;background:linear-gradient(160deg,#E6F3EE,#F4FAF7);border-color:#9FCFC0}
html[data-theme="light"] .lw-vote svg{stroke:#0E4D45}
html[data-theme="light"] .lw-vote:hover{color:#fff;background:linear-gradient(160deg,#0E4D45,#0A3A34);border-color:transparent}
html[data-theme="light"] .lw-vote:hover svg{fill:#E9C979;stroke:#E9C979}
html[data-theme="light"] .lw-vote[aria-pressed="true"]{color:#1E1A0C;background:linear-gradient(160deg,#F0D27A,#D4AF37)}
html[data-theme="light"] .lw-vote[aria-pressed="true"] svg{fill:#1E1A0C;stroke:#1E1A0C}
/* hearts on the picture: bigger, on a soft glass pill */
.lw-votes{bottom:12px;inset-inline-end:12px;gap:7px;padding:6px 13px;border-radius:999px;background:rgba(10,20,18,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:800 17px var(--latin)}
.lw-votes svg{width:21px;height:21px;fill:#E0627A}
/* banner, tidier: three equal steps with thin dividers, each one line of text, the button in its own column */
.lw-hero{grid-template-columns:1fr 250px;gap:0;padding:24px 10px 24px 24px;padding-inline-start:28px}
.lw-steps{gap:0}
.lw-steps li{grid-template-columns:42px 1fr;column-gap:14px;row-gap:4px;align-items:center;align-content:center;padding:4px 22px}
.lw-steps li:first-child{padding-inline-start:0}
.lw-steps li+li{border-inline-start:1px solid rgba(212,175,55,.22)}
.lw-steps i{grid-row:1/3;width:42px;height:42px;font-size:16px;box-shadow:0 6px 16px -8px rgba(212,175,55,.8)}
.lw-steps b{align-self:end;font-size:15.5px;line-height:1.5}
.lw-steps small{align-self:start;font-size:12.5px;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lw-cta{align-self:stretch;align-content:center;padding-inline-start:22px;border-inline-start:1px solid rgba(212,175,55,.22)}
.lw-cta .hx-pill{width:100%;justify-content:center}
@media (max-width:1100px){.lw-steps small{white-space:normal}}
@media (max-width:900px){.lw-hero{grid-template-columns:1fr;padding:22px;gap:18px}.lw-steps li{padding:0}.lw-steps li+li{border:0}.lw-cta{padding:0;border:0}}
/* medium screens: the button goes under the steps so the steps keep their room */
@media (max-width:1200px){.lw-hero{grid-template-columns:1fr;gap:18px;padding:22px 24px}.lw-cta{border:0;padding:16px 0 0;border-top:1px solid rgba(212,175,55,.22);grid-template-columns:auto auto;justify-content:center;align-items:center;gap:16px}.lw-cta .hx-pill{width:auto}.lw-quota{max-width:none}}
@media (max-width:760px){.lw-steps{grid-template-columns:1fr;gap:14px}.lw-steps li{padding:0}.lw-steps li+li{border:0}.lw-steps small{white-space:normal}.lw-cta{grid-template-columns:1fr}.lw-cta .hx-pill{width:100%}}
/* Dako's own confirm / alert window (lab-dialog.js) */
.dk-ask{width:min(400px,calc(100% - 32px));padding:24px 22px 18px;border:1px solid rgba(212,175,55,.35);border-radius:24px;background:#121A18;color:#F2F1EC;text-align:center;font-family:var(--fa);box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.dk-ask::backdrop{background:rgba(5,10,9,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.dk-ask-i{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:linear-gradient(160deg,#F0D27A,#D4AF37);color:#1E1A0C;font:800 20px var(--latin)}
.dk-ask.is-danger .dk-ask-i{background:linear-gradient(160deg,#F08A8A,#C2452D);color:#fff}
.dk-ask p{margin:0 0 18px;font-size:14.5px;line-height:2;font-weight:600}
.dk-ask-b{display:flex;gap:10px}.dk-ask-b button{flex:1;height:44px;border-radius:14px;font:700 14px var(--fa);cursor:pointer;transition:.2s}
.dk-yes{border:0;background:linear-gradient(160deg,#F0D27A,#D4AF37);color:#1E1A0C}.dk-yes:hover{filter:brightness(1.06)}
.dk-ask.is-danger .dk-yes{background:linear-gradient(160deg,#E26A5A,#B23A2A);color:#fff}
.dk-no{border:1px solid rgba(255,255,255,.18);background:transparent;color:#F2F1EC}.dk-no:hover{border-color:#A7E8D2;color:#A7E8D2}
html[data-theme="light"] .dk-ask{background:#fff;color:#14211E;border-color:#E3D6A8;box-shadow:0 30px 60px -24px rgba(14,77,69,.45)}
html[data-theme="light"] .dk-ask::backdrop{background:rgba(14,30,27,.35)}
html[data-theme="light"] .dk-no{border-color:#D5DBD7;color:#14211E}html[data-theme="light"] .dk-no:hover{border-color:#0E4D45;color:#0E4D45}
/* the asker's own request: a gold «درخواست شما» tag and a proper «پس گرفتن» button */
.lw-own{display:flex;align-items:center;gap:8px;margin-top:6px}
.lw-mine{flex:1;display:flex;align-items:center;min-height:42px;padding:0 14px;border-radius:14px;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.4);color:var(--gold-soft);font:700 12.5px var(--fa)}
.lw-del{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:transparent;color:var(--muted);font:700 12.5px var(--fa);text-decoration:none;cursor:pointer;transition:.2s}
.lw-del svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lw-del:hover{border-color:#E26A5A;color:#F4A6A6;background:rgba(226,106,90,.1)}
html[data-theme="light"] .lw-mine{background:#FBF6E6;border-color:#E3D6A8;color:#8A6A12}
html[data-theme="light"] .lw-del{border-color:#D5DBD7;color:#5F6E6A}html[data-theme="light"] .lw-del:hover{border-color:#C2452D;color:#B23A2A;background:#FDF0EE}
.lw-mine{white-space:nowrap;justify-content:center}.lw-del{flex:none;white-space:nowrap}

/* a nav link switched off from the panel settings (e.g. «طرح دلخواه») */
#site-nav a[hidden]{display:none!important}
/* the stories viewer is full-screen media: داکویار stays out of it */
#story-dialog :is(.dbuddy,.db-hi,.db-tip,.db-panel){display:none!important}
/* the 3D box's fullscreen button: on its own in the top-left corner (the file name moves over beside it) */
.dm-corner{position:absolute;z-index:5;top:12px;left:12px}
.dm-corner button{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(11,17,16,.66);color:#E9EFEC;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .18s,color .18s}
.dm-corner button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dm-corner button:hover,.dm-corner button[aria-pressed="true"]{background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210;border-color:transparent}
html[data-theme="light"] .dm-corner button{background:rgba(255,255,255,.9);border-color:#E1E5E0;color:#0E4D45;box-shadow:0 8px 20px -12px rgba(14,77,69,.4)}
html[data-theme="light"] .dm-corner button:hover,html[data-theme="light"] .dm-corner button[aria-pressed="true"]{background:linear-gradient(135deg,#F2D98C,#D4AF37);color:#2A2210}
.lo-viewer:has(.dm-corner) .lo-model-name{left:62px}

/* print tool: the 18k gold weight of the file, before and after polishing / finishing */
.lo-gold{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 12px;padding:10px 14px;border-radius:var(--r-md);background:linear-gradient(160deg,rgba(212,175,55,.12),rgba(212,175,55,.02));border:1px solid rgba(212,175,55,.3);text-align:center}
.lo-gold[hidden]{display:none}
.lo-gold-k{font-size:12.5px;color:var(--muted)}
.lo-gold b{font-size:18px;font-weight:600;color:#F2D98C}
.lo-gold small{font-size:12px;color:var(--muted)}
html[data-theme="light"] .lo-gold b{color:#8A6A12}
.lcl-au-sub{display:block;font-size:11px;color:var(--muted);opacity:.9}
.lcl-au-sub:empty{display:none}

/* collection gold card: number, «گرم», and the after-finishing line kept short */
.lcl-gold .lcl-au-sub{display:grid;gap:1px;margin-top:4px;padding-top:5px;border-top:1px dashed rgba(212,175,55,.35);font-size:11px;line-height:1.5}
.lcl-gold .lcl-au-sub b{font-size:13px!important;font-weight:600}
/* the notes under the print tool and the collection window: one quiet box */
.lo-note{padding:12px 16px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);font-size:12.5px;gap:6px}
