/* Industrial Studio: workspace, catalogue and the existing production flows. */
:root {
  --bg:#0c1015; --bg-alt:#10151c; --surface:#141b24; --surface-accent:#1c2531;
  --ink:#edf2f7; --muted:#9aa8b9; --line:#29333f;
  --brand-teal:#0d9488; --brand-violet:#7c3aed;
  --teal:#2dd4bf; --teal-d:#14b8a6; --teal-soft:#142d2d;
  --violet:#a78bfa; --violet-soft:#241e38;
  --green:#4ade80; --green-soft:#183329; --amber:#ffce7a; --amber-soft:#342819;
  --red:#ffa6a6; --red-soft:#3a2028;
  --radius:10px; --radius-lg:16px; --max:1440px;
  --shadow:0 8px 24px #00000012; --shadow-lg:0 24px 64px #00000045;
  color-scheme:dark;
}
body { font-size:14px; background:var(--bg); }
button, input, textarea, select { font-family:inherit; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline:2px solid var(--teal); outline-offset:4px; }
.header { background:#0c1015ed; padding:12px 0; border-bottom-color:var(--line); }
.header .container { max-width:1600px; padding:0 28px; }
.logo__img { width:28px; height:28px; object-fit:contain; }
.logo__brand { font-size:15px; letter-spacing:-.03em; }
.logo__studio { font-size:11px; font-weight:600; margin-left:8px; padding-left:12px; border-left:1px solid var(--line); letter-spacing:0; }
.nav { gap:24px; }
.nav a:not(.btn) { font-size:12px; font-weight:500; }
.btn { border-width:1px; border-radius:8px; font-size:13px; padding:10px 15px; }
.btn--primary { color:#0c1015; box-shadow:none; background:var(--brand-teal); }
.btn--primary:hover:not(:disabled) { background:#14b8a6; color:#0c1015; }
.btn--outline { background:#1b2430; border-color:#354151; }
.btn--outline:hover:not(:disabled) { background:#1c3436; }
.btn--ghost { background:transparent; }
.btn--sm { font-size:12px; padding:7px 11px; }
.btn--lg { font-size:13px; padding:12px 15px; }
.btn__cost { background:#0c101514; font-size:10px; padding:2px 6px; }
.btn--account { background:#1c2531; font-size:12px; padding:8px 12px; }
.pill { font-size:10px; font-weight:500; padding:3px 8px; }
.pill--credits, .pill--free { color:var(--teal); }
.eyebrow { font-size:10px; letter-spacing:.13em; font-weight:600; }
.workspace-shell { display:grid; grid-template-columns:205px minmax(0,1fr); max-width:1600px; margin:0 auto; min-height:calc(100vh - 65px); }
.workspace-nav { position:sticky; top:65px; height:calc(100vh - 65px); min-height:560px; display:flex; flex-direction:column; padding:26px 14px 18px; border-right:1px solid var(--line); background:#10151b; }
.workspace-nav__label { font-size:9px; font-weight:600; color:#6f7f93; letter-spacing:.11em; margin:0 10px 11px; }
.workspace-nav__item { display:flex; gap:10px; align-items:center; text-decoration:none; color:var(--muted); font:inherit; font-size:12px; text-align:left; padding:12px 11px; background:none; border:1px solid transparent; border-radius:8px; cursor:pointer; width:100%; margin-bottom:4px; }
.workspace-nav__item i { width:16px; text-align:center; font-size:14px; }
.workspace-nav__item span { margin-left:auto; font-size:10px; padding:1px 6px; border-radius:4px; background:#2a3541; }
.workspace-nav__item:hover { color:var(--ink); background:#1b2530; }
.workspace-nav__item.is-active { color:var(--teal); background:#2dd4bf0c; border-color:#2dd4bf28; }
.workspace-nav__divider { height:1px; background:var(--line); margin:17px 10px 22px; }
.workspace-nav__offer { margin-top:auto; padding:16px 12px; background:linear-gradient(140deg,#172e30,#191d2b); border:1px solid #2dd4bf24; border-radius:10px; }
.workspace-nav__offer > i { display:block; color:var(--teal); margin-bottom:9px; }
.workspace-nav__offer strong { font-size:12px; }
.workspace-nav__offer p { font-size:11px; color:var(--muted); line-height:1.6; margin:7px 0 12px; }
.workspace-nav__offer > a { display:block; text-align:center; font-size:10px; text-decoration:none; margin-top:11px; color:var(--muted); }
.workspace-nav__foot { display:flex; align-items:center; justify-content:center; gap:7px; color:#7e8d9e; font-size:10px; margin-top:18px; }
.status-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--teal); box-shadow:0 0 12px #2dd4bf42; vertical-align:middle; }
.workspace-content { min-width:0; background:radial-gradient(600px 300px at 85% 0,#7c3aed0c,transparent); }
.section--studio { background:none; padding:20px 28px 30px; }
.section--studio > .container { padding:0; max-width:none; }
.workspace-topline { display:flex; justify-content:space-between; align-items:center; font-size:9px; letter-spacing:.1em; color:#6f7f93; margin-bottom:24px; }
.workspace-topline > span { display:flex; align-items:center; gap:9px; }
.workspace-topline a { font-size:10px; letter-spacing:0; color:var(--muted); text-decoration:none; }
.workspace-topline a i { color:var(--teal); margin-right:5px; }
.workspace-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:24px; }
.workspace-heading .eyebrow { margin-bottom:8px; }
.workspace-heading h1 { font-size:clamp(25px,2.7vw,38px); font-weight:600; letter-spacing:-.055em; }
.workspace-heading h1 span { color:var(--teal); }
.workspace-heading p { color:var(--muted); font-size:12px; margin-top:9px; }
.workspace-format { display:flex; align-items:center; gap:8px; color:#cbd8e4; border:1px solid var(--line); background:#151d26; padding:8px 11px; border-radius:6px; white-space:nowrap; font-size:10px; }
.workflow-bar { display:flex; align-items:center; gap:16px; font-size:10px; color:#7e8c9f; border:1px solid var(--line); background:#121921; padding:12px 16px; border-radius:8px; margin-bottom:18px; }
.workflow-bar span { display:flex; align-items:center; gap:7px; }
.workflow-bar b { font:10px var(--mono); color:#5c6b7c; }
.workflow-bar .is-active, .workflow-bar .is-active b { color:var(--teal); }
.workflow-bar > i { font-size:7px; color:#445364; }
.workflow-bar small { margin-left:auto; font-size:9px; }
.studio__grid { grid-template-columns:minmax(280px,340px) minmax(0,1fr); gap:18px; }
.studio__left, .studio__right { min-width:0; }
.studio__left { display:flex; flex-direction:column; }
.tabs { background:#1b2430; padding:4px; gap:2px; border:1px solid var(--line); border-radius:9px; margin-bottom:12px; }
.tab { font-size:11px; padding:8px 5px; border-radius:6px; font-weight:500; }
.tab i { font-size:11px; }
.tab.is-active { background:var(--violet-soft); color:#d4c4fc; box-shadow:0 2px 5px #0002; }
.panel { border-radius:10px; padding:17px; margin-bottom:12px; box-shadow:none; }
.panel__title { font-size:12px; font-weight:600; }
.label { font-size:12px; font-weight:500; margin-bottom:10px; }
.label .muted { display:block; margin-top:3px; font-size:10px; }
.input, .param__value input { background:#0f151c; color:var(--ink); border-color:#2c3745; border-width:1px; border-radius:7px; font-size:12px; }
.textarea { line-height:1.7; padding:12px; }
.input::placeholder { color:#708195; }
.input:focus { box-shadow:0 0 0 2px #2dd4bf18; }
#generateTextBtn, #generateImageBtn { width:100%; justify-content:space-between; gap:5px; }
#generateTextBtn i, #generateImageBtn i { font-size:12px; }
.chip { color:#9fb0c1; background:#1a2430; border-color:#2e3a48; font-size:10px; border-radius:5px; padding:4px 7px; font-weight:400; }
.hint { font-size:10px; line-height:1.7; color:#7e90a4; }
.studio__gate { position:static; background:none; backdrop-filter:none; display:block; margin-bottom:12px; order:5; }
.studio.is-locked .studio__grid { min-height:0; pointer-events:auto; user-select:auto; filter:none; }
.gate-card { display:flex; align-items:flex-start; gap:12px; border-radius:10px; padding:15px; max-width:none; text-align:left; background:#1b1c30; border-color:#38324f; box-shadow:none; }
.gate-card__icon { color:var(--violet); font-size:14px; margin-top:3px; margin-bottom:0; }
.gate-card h3 { font-size:12px; font-weight:600; margin-bottom:6px; }
.gate-card p { font-size:10px; margin-bottom:10px; }
.gate-card__actions { justify-content:flex-start; gap:4px; }
.viewer-card { border-radius:12px; box-shadow:none; }
.viewer-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:13px 17px; background:#161e28; border-bottom:1px solid var(--line); font-size:11px; }
.viewer-heading > span:first-child { display:flex; gap:8px; align-items:center; }
.viewer-heading i { color:var(--teal); }
.viewer-heading .pill { font-size:9px; color:#8597aa; }
.viewer { height:470px; background:#111821; }
.viewer__placeholder { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:0; pointer-events:none; }
.viewer-demo { width:100%; height:100%; object-fit:cover; }
.viewer-demo__caption { position:absolute; bottom:28px; left:26px; text-align:left; display:flex; flex-direction:column; gap:5px; padding:14px 18px; background:#101720e8; border:1px solid #354151; border-radius:10px; }
.viewer-demo__caption span { color:#718497; font-size:8px; letter-spacing:.14em; }
.viewer-demo__caption strong { color:var(--ink); font-size:16px; font-weight:500; }
.viewer-demo__caption small { color:var(--muted); font-size:10px; }
.viewer-demo__caption button { pointer-events:auto; margin-top:6px; font-size:10px; }
.viewer__busy { background:#111821e6; }
.viewer__tools { top:15px; right:15px; flex-direction:column; }
.tool { width:30px; height:30px; border-radius:6px; background:#1d2833e6; color:#a0b0c3; }
.tool.is-active { color:var(--teal); background:#163b3a; }
.viewer__stats { font-size:10px; gap:14px; padding:12px 15px; background:#141c25; }
.starter-strip { margin-top:24px; }
.starter-strip > div:first-child { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:11px; }
.starter-strip strong { font-size:12px; font-weight:500; }
.starter-strip > div:first-child button { background:none; border:0; color:var(--teal); font-size:10px; cursor:pointer; }
.starter-templates { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.starter-template { background:#151d27; border:1px solid var(--line); border-radius:8px; overflow:hidden; color:var(--ink); text-align:left; cursor:pointer; padding:0; transition:border-color .15s,transform .15s; }
.starter-template:hover { border-color:#368c87; transform:translateY(-2px); }
.starter-template img { width:100%; height:auto; display:block; aspect-ratio:4/3; object-fit:cover; }
.starter-template span { display:block; font-size:10px; padding:8px 9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.library-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:16px 0; }
.library-toolbar > span { font-size:11px; white-space:nowrap; }
.library-search { display:flex; gap:10px; align-items:center; border:1px solid var(--line); border-radius:8px; padding:11px 14px; background:#151d26; color:#8294a8; max-width:430px; width:100%; }
.library-search input { outline:0; border:0; background:transparent; color:var(--ink); width:100%; font-size:12px; }
.library-search:focus-within { border-color:var(--teal); }
.library-search input::placeholder { color:#8394a6; }
.library-filters { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 24px; }
.library-filters button { padding:7px 13px; border:1px solid #2f3b4a; background:#17202a; color:var(--muted); font-size:11px; border-radius:6px; cursor:pointer; }
.library-filters button:hover { border-color:#368c87; }
.library-filters button.is-active { color:#0c1015; background:var(--brand-teal); border-color:var(--brand-teal); }
.library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.library-card { border:1px solid var(--line); border-radius:12px; background:#151d27; position:relative; overflow:hidden; transition:border-color .18s,transform .18s; }
.library-card:hover { border-color:#376764; transform:translateY(-3px); }
.library-card__preview { display:block; width:100%; border:0; background:#141b24; padding:0; cursor:pointer; }
.library-card__preview img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.library-card__favorite { position:absolute; top:12px; right:12px; width:29px; height:29px; border-radius:6px; border:1px solid #3c4b5c; background:#17202adb; color:#b9c8d7; cursor:pointer; }
.library-card__favorite.is-saved { color:var(--teal); border-color:var(--teal); }
.library-card__body { padding:14px 16px 16px; }
.library-card__category { display:flex; justify-content:space-between; color:#8c9dad; font-size:9px; margin-bottom:7px; }
.library-card__category span:last-child { color:var(--teal); }
.library-card h2 { font-size:15px; font-weight:500; margin-bottom:6px; letter-spacing:-.02em; }
.library-card p { font-size:11px; color:var(--muted); min-height:36px; line-height:1.6; }
.library-card__bottom { display:flex; justify-content:space-between; align-items:center; gap:8px; border-top:1px solid var(--line); margin-top:14px; padding-top:12px; }
.library-card__bottom > span { font:9px var(--mono); color:#8fa3b5; }
.library-card__bottom button { background:none; border:0; color:var(--teal); font-size:10px; padding:5px 0; cursor:pointer; }
.library-note { color:#7c8fa3; display:flex; gap:8px; align-items:baseline; font-size:10px; margin-top:22px; }
.library-empty { grid-column:1/-1; padding:70px 20px; text-align:center; color:var(--muted); border:1px dashed var(--line); border-radius:12px; }
.personal-intro { padding:70px 20px; text-align:center; border:1px solid var(--line); border-radius:12px; background:#141d26; }
.personal-intro > i { font-size:32px; color:var(--teal); margin-bottom:18px; }
.personal-intro h2 { font-size:25px; font-weight:500; margin-bottom:14px; }
.personal-intro p { max-width:450px; margin:0 auto 20px; color:var(--muted); font-size:12px; }
.personal-search { margin:20px 0; }
.history { margin-top:0; background:#141c26; box-shadow:none; }
.history__list { grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); }
.hist { background:#1b2531; }
.hist__thumb { height:150px; background-color:#121c25; }
.hist__body { padding:12px; }
.hist__del { opacity:1; }
.result { box-shadow:none; border-radius:12px; padding:18px; }
.result__head h3 { font-size:19px; font-weight:500; }
.result__summary { color:#a0b1c3; font-size:12px; }
.result__more { font-size:11px; }
.choice { gap:12px; }
.choice__card { border-width:1px; border-radius:10px; padding:14px; }
.choice__card--print { background:linear-gradient(130deg,#152e2d,#18232b); border-color:#2f5d59; }
.choice__card h4 { font-size:12px; font-weight:500; }
.choice__card p { font-size:10px; }
.refine-history__item, .quote-lines { color:#a0b1c3; }
.compile-error pre { background:#1c2128; color:var(--ink); }
.param__label { font-size:11px; font-weight:500; }
.param__value { font-size:11px; }
.param__value input { font-size:11px; }
.section:not(.section--studio) { border-top:1px solid #202a36; }
.step, .pack, .price-table, .modal__card { background:var(--surface); box-shadow:none; }
.step__n, .pack__badge { color:#0c1015; }
.section__head h2 { font-weight:500; letter-spacing:-.04em; }
.step p { font-size:12px; }
.step h3 { font-size:15px; font-weight:500; }
.step__visual { display:block; border-radius:8px; overflow:hidden; margin-bottom:20px; }
.step__visual img { display:block; width:100%; height:auto; }
.step__n { width:25px; height:25px; font-size:11px; border-radius:5px; }
.price-table, .pack { border-width:1px; }
.pack--popular { box-shadow:0 0 40px #2dd4bf09; }
.footer { background:#0c1015; border-top:1px solid var(--line); }
.toast { background:#283645; border:1px solid #465b6e; font-size:12px; }
.toast--success { background:#223d28; color:var(--ink); }
.toast--error { background:#5c2934; color:var(--ink); }
.nav-burger { background:#173735; }
.nav-burger span { background:var(--teal); }
@media(min-width:1450px) { .studio__grid { grid-template-columns:360px minmax(0,1fr); } .viewer { height:530px; } .section--studio { padding:26px 36px 36px; } }
@media(max-width:1100px) { .workspace-shell { grid-template-columns:175px minmax(0,1fr); } .workspace-nav { padding:22px 10px 15px; } .section--studio { padding:20px; } .studio__grid { grid-template-columns:285px minmax(0,1fr); gap:14px; } .viewer { height:470px; } .workflow-bar { gap:10px; } .workflow-bar small { display:none; } .starter-templates { grid-template-columns:repeat(3,minmax(0,1fr)); } .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .logo__studio { display:none; } .choice { grid-template-columns:1fr; } }
@media(max-width:850px) { .workspace-shell { display:block; } .workspace-nav { position:sticky; top:62px; z-index:10; height:auto; min-height:0; padding:8px 16px; flex-direction:row; gap:5px; border-right:0; border-bottom:1px solid var(--line); } .workspace-nav__label, .workspace-nav__divider, .workspace-nav__offer, .workspace-nav__foot, .workspace-nav > a { display:none; } .workspace-nav__item { width:auto; margin:0; padding:9px 12px; font-size:11px; } .workspace-nav__item i { font-size:12px; } .header .container { padding:0 20px; } .header .nav { background:#141b24; border-color:var(--line); } .studio__grid { grid-template-columns:minmax(270px,310px) minmax(0,1fr); } .viewer-demo__caption { left:16px; bottom:20px; padding:12px; } }
@media(max-width:680px) { html { scroll-padding-top:120px; } .header .container { padding:0 16px; } .section--studio { padding:18px 16px 28px; } .workspace-nav { top:62px; padding:8px 10px; justify-content:center; } .workspace-nav__item { padding:8px 10px; font-size:11px; gap:7px; } .workspace-nav__item span { display:none; } .workspace-topline { margin-bottom:20px; font-size:8px; } .workspace-topline a { display:none; } .workspace-heading { margin-bottom:20px; } .workspace-heading h1 { font-size:28px; } .workspace-heading p { font-size:11px; max-width:40ch; } .workspace-format { display:none; } .workflow-bar { padding:11px; font-size:9px; gap:7px; flex-wrap:wrap; } .workflow-bar b { display:none; } .studio__grid { grid-template-columns:1fr; } .studio__gate { order:5; } .viewer { height:370px; } .viewer-heading { font-size:10px; } .viewer-heading .pill { max-width:55%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .viewer-demo__caption { bottom:15px; left:15px; } .viewer-demo__caption strong { font-size:14px; } .starter-templates { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; } .starter-strip strong { font-size:11px; } .starter-strip > div:first-child { align-items:flex-start; } .starter-strip > div:first-child button { font-size:9px; max-width:130px; text-align:right; } .starter-template span { font-size:9px; padding:7px; } .library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .library-card__body { padding:11px; } .library-card h2 { font-size:12px; } .library-card p { font-size:10px; } .library-card__bottom { flex-wrap:wrap; gap:4px; } .library-card__bottom > span { font-size:8px; } .library-card__favorite { top:8px; right:8px; width:26px; height:26px; } .library-filters { gap:6px; } .library-filters button { padding:6px 9px; font-size:10px; } .library-toolbar { gap:10px; } .library-toolbar > span { font-size:10px; } .library-search { padding:10px; } .library-search input { font-size:11px; } .choice { grid-template-columns:1fr; } .steps { gap:15px; } .section:not(.section--studio) { padding:45px 0; } .grid2 { grid-template-columns:1fr 1fr; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
