/* MarketGen AI design system — shell and service pages.
   Generation builders intentionally keep their established layout and controls. */

:root {
  --s1: 4px;
  --s2: 8px;
  --s3: 12px;
  --s4: 16px;
  --s5: 20px;
  --s6: 28px;
  --s7: 40px;
  --s8: 56px;
  --r1: 8px;
  --r2: 12px;
  --r3: 16px;
  --r4: 22px;
  --rp: 999px;
  --fd: 34px;
  --f1: 25px;
  --f2: 18px;
  --f3: 14.5px;
  --fb: 13.5px;
  --fs: 12px;
  --fc: 10.5px;
  --ds-s1: 4px;
  --ds-s2: 8px;
  --ds-s3: 12px;
  --ds-s4: 16px;
  --ds-s5: 20px;
  --ds-s6: 28px;
  --ds-s7: 40px;
  --ds-s8: 56px;
  --ds-r1: 8px;
  --ds-r2: 12px;
  --ds-r3: 16px;
  --ds-r4: 22px;
  --ds-pill: 999px;
  --ds-fast: 130ms;
  --ds-base: 200ms;
  --ds-slow: 300ms;
  --ds-ease: cubic-bezier(.2,.8,.2,1);
  --ds-shadow-1: 0 1px 2px rgba(16,18,28,.04), 0 3px 12px rgba(16,18,28,.05);
  --ds-shadow-2: 0 2px 6px rgba(16,18,28,.06), 0 14px 34px rgba(16,18,28,.09);
  --ds-gradient: linear-gradient(90deg,#ff835d,#ed4e9a 40%,#8059ec 72%,#4d80ff);
  --sidebar: 246px;
  --topbar: 58px;
}

[data-theme="dark"] {
  --ds-shadow-1: 0 1px 2px rgba(0,0,0,.3), 0 3px 12px rgba(0,0,0,.25);
  --ds-shadow-2: 0 2px 8px rgba(0,0,0,.35), 0 16px 40px rgba(0,0,0,.4);
}

html { scroll-behavior: smooth; }
body {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Inter","Helvetica Neue",Arial,sans-serif;
  font-size:var(--fb);
  line-height:1.5;
  font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.t-display { margin:0; font-size:var(--fd); line-height:1.1; letter-spacing:-.032em; font-weight:700; }
.t-h1 { margin:0; font-size:var(--f1); line-height:1.16; letter-spacing:-.026em; font-weight:700; }
.t-h2 { margin:0; font-size:var(--f2); line-height:1.22; letter-spacing:-.02em; font-weight:620; }
.t-h3 { margin:0; font-size:var(--f3); line-height:1.3; letter-spacing:-.012em; font-weight:620; }
.t-body { margin:0; font-size:var(--fb); line-height:1.5; }
.t-small { margin:0; color:var(--muted); font-size:var(--fs); line-height:1.45; }
.t-cap { color:var(--muted-2); font-size:var(--fc); line-height:1.3; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }

/* Shell */
.marketgen-app.app-shell { display: block; min-height: 100dvh; background: var(--bg); }
.marketgen-app .sidebar {
  width: var(--sidebar);
  padding: var(--ds-s3) var(--ds-s3) var(--ds-s2);
  border-right: 1px solid var(--line);
  background: color-mix(in srgb,var(--surface) 97%,transparent);
  box-shadow: none;
}
.marketgen-app .sidebar-head { min-height: 42px; padding: var(--ds-s1) var(--ds-s2) var(--ds-s3); }
.marketgen-app .brand { min-height: 36px; padding: 0; font-size: 16px; font-weight: 700; letter-spacing: -.02em; }
.marketgen-app .brand b { color: var(--accent); font-weight: 700; }
.marketgen-app .brand-mark { width: 26px; height: 26px; border-radius: 9px; box-shadow: 0 4px 12px rgba(112,81,238,.22); }
.marketgen-app .nav-scroll { flex: 1; min-height: 0; margin-top: var(--ds-s2); padding: 0 0 var(--ds-s2); }
.marketgen-app .nav-group { margin: 0 0 var(--ds-s4); }
.marketgen-app .nav-title { padding: 0 var(--ds-s2) var(--ds-s1); color: var(--muted-2); font-size: 9.5px; font-weight: 800; letter-spacing: .1em; }
.marketgen-app .nav-btn {
  min-height: 36px;
  height: auto;
  gap: var(--ds-s2);
  padding: 0 var(--ds-s2);
  border-radius: var(--ds-r2);
  color: var(--muted);
  font-size: 12.5px;
  font-weight: 600;
  transition: background var(--ds-fast) var(--ds-ease),color var(--ds-fast) var(--ds-ease),transform var(--ds-fast) var(--ds-ease);
}
.marketgen-app .nav-btn:hover { transform: none; background: var(--surface-2); color: var(--text); }
.marketgen-app .nav-btn.active { position: relative; background: var(--surface-2); color: var(--text); box-shadow: none; font-weight: 700; }
.marketgen-app .nav-btn.active::before { content:""; position:absolute; left:-12px; width:3px; height:22px; border-radius:0 4px 4px 0; background:var(--accent); }
.marketgen-app .nav-btn.active>.icon { color: var(--accent); }
.marketgen-app .nav-btn>span { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.marketgen-app .nav-btn>em { min-width:20px; padding:1px 5px; border-radius:var(--ds-pill); background:var(--surface-3); color:var(--muted); font-size:10px; font-style:normal; text-align:center; }
.marketgen-app .nav-color { order: 3; margin-left: auto; flex:0 0 auto; box-shadow:none; }
.marketgen-app .nav-color.free { background:linear-gradient(135deg,#f5b942,#84cc16,#10b981); }

.marketgen-app .sidebar-alert {
  position:relative;
  margin: auto 0 var(--ds-s2);
  padding: var(--ds-s3);
  border: 1px solid var(--line);
  border-radius: var(--ds-r3);
  background: linear-gradient(135deg,rgba(237,78,154,.07),rgba(128,89,236,.07)),var(--surface-2);
  box-shadow: none;
}
.marketgen-app .sidebar-alert-close { position:absolute; top:8px; right:8px; width:28px; height:28px; display:grid; place-items:center; padding:0; border:0; border-radius:var(--ds-pill); background:transparent; color:var(--muted); }
.marketgen-app .sidebar-alert-close:hover { background:var(--surface); color:var(--text); }
.marketgen-app .sidebar-alert .promo-icon { width:31px; height:31px; margin-bottom:var(--ds-s2); border-radius:9px; background:var(--ds-gradient); color:#fff; }
.marketgen-app .sidebar-alert strong { display:block; font-size:12px; }
.marketgen-app .sidebar-alert p { margin:3px 0 var(--ds-s2); color:var(--muted); font-size:10.5px; line-height:1.4; }
.marketgen-app .sidebar-alert p b,.marketgen-app .sidebar-alert p small { display:block; }
.marketgen-app .sidebar-alert p b { margin-bottom:2px; color:var(--text); font-size:14px; }
.marketgen-app .sidebar-alert p small { font-size:9.5px; }
.marketgen-app .sidebar-alert>button { min-height:30px; padding:0; border:0; background:transparent; color:var(--accent); font-size:11px; font-weight:750; }
.marketgen-app .account-card { margin-top:0; padding:var(--ds-s2); border-top:1px solid var(--line); border-radius:0; }
.marketgen-app .account-card:hover { background:var(--surface-2); }
.marketgen-app .account-card .avatar { border-radius:10px; background:linear-gradient(135deg,var(--brand-b),var(--brand-c)); }

.marketgen-app .workspace { min-height:100dvh; margin-left:var(--sidebar); grid-column:auto; }
.marketgen-app .topbar {
  height:var(--topbar);
  gap:var(--ds-s2);
  padding:0 var(--ds-s5);
  border-bottom:1px solid var(--line);
  background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:blur(20px) saturate(180%);
}
.marketgen-app .header-create { min-height:36px; height:36px; padding:0 var(--ds-s4); border-radius:var(--ds-pill); box-shadow:0 5px 16px rgba(108,83,230,.18); }
.marketgen-app .header-create:hover { transform:translateY(-1px); box-shadow:0 8px 22px rgba(108,83,230,.25); }
.marketgen-app .top-actions { gap:var(--ds-s2); }
.marketgen-app .topbar .icon-button,.marketgen-app .top-avatar { width:36px; height:36px; min-height:36px; border-radius:var(--ds-pill); box-shadow:none; }
.marketgen-app .token-chip { height:36px; border-radius:var(--ds-pill); box-shadow:none; }
.marketgen-app .page-content { width:min(1440px,100%); padding:var(--ds-s6) var(--ds-s5) var(--ds-s8); }
.marketgen-app .page-heading { margin-bottom:var(--ds-s5); }
.marketgen-app .page-heading h1 { font-size:25px; line-height:1.16; letter-spacing:-.026em; font-weight:700; }
.marketgen-app .page-heading p { margin-top:6px; font-size:12px; line-height:1.45; }

/* Shared non-builder controls */
.dashboard-home :is(.primary-button,.secondary-button),
.create-hub :is(.primary-button,.secondary-button),
.projects-page :is(.primary-button,.secondary-button),
html[data-view="billing"] :is(.primary-button,.secondary-button),
html[data-view="settings"] :is(.primary-button,.secondary-button),
.forum-page :is(.primary-button,.secondary-button),
.help-list~.support-banner :is(.primary-button,.secondary-button) {
  min-height:36px;
  padding:0 var(--s3);
  border:1px solid var(--line);
  border-radius:var(--ds-pill);
  font-size:12px;
  font-weight:620;
  transition:transform var(--ds-fast) var(--ds-ease),background var(--ds-fast) var(--ds-ease),border-color var(--ds-fast) var(--ds-ease),box-shadow var(--ds-fast) var(--ds-ease);
}
.dashboard-home .primary-button,.create-hub .primary-button,.projects-page .primary-button,html[data-view="billing"] .primary-button,html[data-view="settings"] .primary-button,.forum-page .primary-button { border-color:transparent; color:#fff; background:var(--ds-gradient); }
.dashboard-home :is(.primary-button,.secondary-button):active,.create-hub :is(.primary-button,.secondary-button):active,.projects-page :is(.primary-button,.secondary-button):active,html[data-view="billing"] :is(.primary-button,.secondary-button):active,html[data-view="settings"] :is(.primary-button,.secondary-button):active,.forum-page :is(.primary-button,.secondary-button):active { transform:none; }
.dashboard-home :is(.primary-button,.secondary-button):disabled,.create-hub :is(.primary-button,.secondary-button):disabled,.projects-page :is(.primary-button,.secondary-button):disabled,html[data-view="billing"] :is(.primary-button,.secondary-button):disabled,html[data-view="settings"] :is(.primary-button,.secondary-button):disabled,.forum-page :is(.primary-button,.secondary-button):disabled { opacity:.45; pointer-events:none; }
.dashboard-home :is(.primary-button,.secondary-button):hover:not(:disabled),
.projects-page :is(.primary-button,.secondary-button):hover:not(:disabled),
.forum-page :is(.primary-button,.secondary-button):hover:not(:disabled) { transform:translateY(-1px); }
html[data-view="settings"] .danger-ghost { min-height:36px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 var(--s3); border:1px solid color-mix(in srgb,var(--danger,#dc5465) 26%,var(--line)); border-radius:var(--rp); background:color-mix(in srgb,var(--danger,#dc5465) 7%,var(--surface)); color:var(--danger,#dc5465); font-size:var(--fs); font-weight:620; white-space:nowrap; cursor:pointer; }
html[data-view="settings"] .danger-ghost:hover { background:color-mix(in srgb,var(--danger,#dc5465) 12%,var(--surface)); }

/* Dashboard */
.dashboard-home .hero-panel {
  min-height:330px;
  grid-template-columns:1.06fr .94fr;
  border-radius:var(--ds-r4);
  border-color:var(--line);
  background:radial-gradient(640px 340px at 80% 40%,rgba(128,89,236,.13),transparent 66%),linear-gradient(118deg,var(--surface),var(--surface-2));
  box-shadow:var(--ds-shadow-1);
}
.dashboard-home .hero-copy { padding:var(--ds-s7) var(--ds-s6); }
.dashboard-home .hero-copy .eyebrow { padding:5px 9px; border-radius:var(--ds-pill); font-size:10.5px; }
.dashboard-home .hero-copy h2 { margin:var(--ds-s4) 0 var(--ds-s3); font-size:clamp(32px,3.7vw,48px); line-height:1.02; letter-spacing:-.04em; font-weight:700; }
.dashboard-home .hero-copy p { max-width:520px; font-size:13.5px; line-height:1.5; }
.dashboard-home .hero-actions { margin-top:var(--ds-s5); }
.dashboard-home .marketplaces { margin-top:var(--ds-s5); }
.dashboard-home .hero-preview { min-height:330px; }
.dashboard-home .preview-card { width:184px; border-radius:var(--ds-r3); box-shadow:0 22px 46px rgba(10,12,20,.26); }
.dashboard-home .preview-card.front { left:26%; top:9%; }
.dashboard-home .preview-card.back { left:3%; top:18%; }
.dashboard-home .floating-badge { border-radius:var(--ds-r2); box-shadow:var(--ds-shadow-1); }
.dashboard-home .stat-grid { gap:var(--ds-s3); margin-top:var(--ds-s3); }
.dashboard-home .stat-grid article { padding:var(--ds-s4); border-radius:var(--ds-r3); box-shadow:var(--ds-shadow-1); }
.dashboard-home .stat-grid strong { font-size:24px; letter-spacing:-.03em; }
.dashboard-home .dashboard-referral { min-height:64px; margin-top:var(--ds-s3); padding:var(--ds-s3) var(--ds-s4); border:0; border-radius:var(--ds-r3); color:#fff; background:linear-gradient(105deg,#ef5a9e,#7168ea); }
.dashboard-home .dashboard-referral>span { background:rgba(255,255,255,.18); color:#fff; }
.dashboard-home .dashboard-referral p { color:rgba(255,255,255,.82); }
.dashboard-home .dashboard-referral .secondary-button { border-color:transparent; background:rgba(255,255,255,.16); color:#fff; }
.dashboard-home .section-block { margin-top:var(--ds-s6); }
.dashboard-home .section-title { margin-bottom:var(--ds-s3); }
.dashboard-home .section-title h2 { font-size:18px; }
.dashboard-home .mode-grid.extended { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ds-s3); }
.dashboard-home .mode-card { min-height:88px; border-radius:var(--ds-r3); box-shadow:var(--ds-shadow-1); }
.dashboard-home .mode-card:hover { box-shadow:var(--ds-shadow-2); }
.dashboard-home .recent-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ds-s3); }
.dashboard-home .recent-grid .project-card { display:flex; flex-direction:column; min-height:0; border-radius:var(--ds-r3); box-shadow:var(--ds-shadow-1); }
.dashboard-home .recent-grid .project-card>.product-visual { min-height:0; aspect-ratio:3/4; }

/* Create hub and category animation */
.create-hub { max-width:1180px; }
.create-hub .create-intro { padding:0 0 var(--ds-s6); }
.create-hub .create-intro h1 { margin:var(--ds-s3) 0 var(--ds-s2); font-size:34px; line-height:1.1; letter-spacing:-.032em; }
.create-hub .create-intro p { font-size:13.5px; }
.create-hub .spectrum-line { max-width:620px; height:4px; display:flex; gap:var(--ds-s1); margin-top:var(--ds-s5); }
.create-hub .spectrum-line i { flex:1; }
.create-hub .spectrum-line i:nth-child(1){background:linear-gradient(90deg,#f0448f,#ff765e)}
.create-hub .spectrum-line i:nth-child(2){background:linear-gradient(90deg,#f5b942,#10b981)}
.create-hub .spectrum-line i:nth-child(3){background:linear-gradient(90deg,#7fffd4,#0077be,#00ced1)}
.create-hub .spectrum-line i:nth-child(4){background:linear-gradient(90deg,#545963,#b0b5bd)}
.create-hub .spectrum-line i:nth-child(5){background:linear-gradient(90deg,#ceff32,#ec2b7a,#fe7bbf)}
.create-hub .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ds-s3); }
.create-hub .category {
  padding:var(--ds-s4);
  border-radius:var(--ds-r3);
  box-shadow:var(--ds-shadow-1);
  animation:ds-card-in var(--ds-slow) var(--ds-ease) both;
}
.create-hub .category:nth-child(2) { animation-delay:55ms; }
.create-hub .category:nth-child(3) { animation-delay:110ms; }
.create-hub .category:nth-child(4) { animation-delay:165ms; }
.create-hub .cat-free { --mode-a:#f5b942;--mode-b:#84cc16;--mode-c:#10b981;--mode-ink:#3f9c44;--mode-rgb:76,175,80; }
.create-hub .category-title { margin-bottom:var(--ds-s3); }
.create-hub .category-icon { width:38px; height:38px; border-radius:var(--ds-r2); box-shadow:none; }
.create-hub .choice-list { gap:var(--ds-s2); }
.create-hub .choice { min-height:60px; border-radius:var(--ds-r2); transition:transform var(--ds-fast) var(--ds-ease),border-color var(--ds-fast),background var(--ds-fast); }
.create-hub .choice:hover { transform:translateX(3px); }
.create-hub .category-open { min-height:34px; height:auto; border-radius:var(--ds-pill); }

/* Projects */
.projects-page .project-toolbar { padding:var(--ds-s3); border-radius:var(--ds-r3); box-shadow:var(--ds-shadow-1); }
.projects-page .filter-tabs { border-radius:var(--ds-pill); background:var(--surface-2); }
.projects-page .filter-tabs button { border-radius:var(--ds-pill); }
.projects-page .project-page-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ds-s3); }
.projects-page .project-card { display:flex; flex-direction:column; min-height:0; border-radius:var(--ds-r3); box-shadow:var(--ds-shadow-1); }
.projects-page .project-card:hover { box-shadow:var(--ds-shadow-2); }
.projects-page .project-card>.product-visual { min-height:0; aspect-ratio:3/4; }

/* Settings */
html[data-view="settings"] .settings-layout { display:grid; grid-template-columns:190px minmax(0,820px); gap:var(--s4); align-items:start; }
html[data-view="settings"] .settings-content { min-width:0; }
html[data-view="settings"] .settings-nav { position:sticky; top:calc(var(--topbar) + var(--s3)); display:grid; gap:2px; padding:var(--s2); border-radius:var(--r3); box-shadow:var(--ds-shadow-1); }
html[data-view="settings"] .settings-nav button { width:100%; min-height:38px; padding:0 var(--s3); border:0; border-radius:var(--r2); background:transparent; color:var(--muted); font-size:11.5px; font-weight:620; text-align:left; }
html[data-view="settings"] .settings-nav button:hover { background:var(--surface-2); color:var(--text); }
html[data-view="settings"] .settings-nav button.active { background:var(--surface-2); color:var(--text); font-weight:700; }
html[data-view="settings"] .settings-stack { display:grid; gap:var(--s3); }
html[data-view="settings"] .settings-card { margin:0; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); }
html[data-view="settings"] .settings-surface { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:var(--s4); }
html[data-view="settings"] .settings-head { display:flex; align-items:center; gap:var(--s3); min-width:0; }
html[data-view="settings"] .settings-head>span:not(.settings-avatar) { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:var(--r2); background:var(--surface-2); color:var(--muted); }
html[data-view="settings"] .settings-head h2 { margin:0; font-size:12.5px; line-height:1.3; font-weight:620; }
html[data-view="settings"] .settings-head p { max-width:520px; margin:3px 0 0; color:var(--muted); font-size:10.5px; line-height:1.45; }
.settings-profile-hero { position:relative; overflow:hidden; display:grid!important; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:var(--s4)!important; padding:var(--s5)!important; background:radial-gradient(360px 180px at 88% 12%,rgba(237,78,154,.12),transparent),var(--surface)!important; }
.settings-profile-main { display:flex; align-items:center; gap:var(--s4); min-width:0; }
.settings-profile-main .settings-avatar { width:54px; height:54px; display:grid; place-items:center; flex:0 0 auto; border-radius:var(--r3); background:linear-gradient(135deg,var(--brand-b),var(--brand-c)); color:#fff; font-size:15px; font-weight:700; }
.settings-profile-main h2 { margin:3px 0; font-size:var(--f2); line-height:1.22; letter-spacing:-.02em; font-weight:620; }
.settings-profile-main p { margin:0; color:var(--muted); font-size:var(--fs); line-height:1.45; overflow-wrap:anywhere; }
.settings-kicker { color:var(--accent); font-size:var(--fc); line-height:1.3; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }
.settings-profile-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--s2); }
.settings-profile-chips span,.settings-profile-chips time,.settings-status { min-height:26px; display:inline-flex; align-items:center; padding:0 9px; border:1px solid var(--line); border-radius:var(--rp); background:var(--surface-2); color:var(--muted); font-size:10px; font-style:normal; }
.settings-status.success { border-color:color-mix(in srgb,var(--green) 28%,var(--line)); background:color-mix(in srgb,var(--green) 10%,var(--surface)); color:var(--green); }
.settings-profile-stats { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s2); margin-top:var(--s1); }
.settings-profile-stats>span { padding:10px; border:1px solid var(--line); border-radius:var(--r2); background:var(--surface-2); }
.settings-profile-stats small,.settings-profile-stats b { display:block; }
.settings-profile-stats small { color:var(--muted); font-size:var(--fc); line-height:1.3; letter-spacing:.04em; text-transform:uppercase; }
.settings-profile-stats b { margin-top:3px; font-size:16px; line-height:1.25; font-weight:700; }
.appearance-settings { align-items:center!important; }
.theme-preview { display:flex; gap:var(--s2); }
.theme-card { width:108px; padding:var(--s2); border:1px solid var(--line); border-radius:var(--r2); background:var(--surface); text-align:left; }
.theme-card:hover { background:var(--surface-2); }
.theme-card.active { border-color:var(--accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent); }
.theme-card b,.theme-card small { display:block; }
.theme-card b { font-size:11px; }.theme-card small { margin-top:2px; color:var(--muted); font-size:9px; }
.theme-swatch { position:relative; display:block; height:40px; margin-bottom:6px; overflow:hidden; border-radius:7px; }
.theme-swatch.light { border:1px solid #e4e7ec; background:#f5f6f9; }.theme-swatch.dark { background:#12151b; }
.theme-swatch::before { content:""; position:absolute; inset:6px auto 6px 6px; width:13px; border-radius:4px; background:rgba(110,112,122,.18); }
.theme-swatch i { position:absolute; left:24px; top:8px; width:62px; height:7px; border-radius:3px; background:var(--ds-gradient); }
.settings-switch { display:grid; grid-template-columns:38px auto; align-items:center; gap:var(--s2); cursor:pointer; }
.settings-switch input { position:absolute; opacity:0; pointer-events:none; }
.settings-switch i { position:relative; width:38px; height:22px; border-radius:var(--rp); background:var(--surface-3); transition:background var(--ds-fast) var(--ds-ease); }
.settings-switch i::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.18); transition:transform var(--ds-fast) var(--ds-ease); }
.settings-switch input:checked+i { background:var(--accent); }.settings-switch input:checked+i::after { transform:translateX(16px); }
.settings-switch span { min-width:58px; color:var(--muted); font-size:10px; }
.settings-documents { align-items:flex-start!important; }
html[data-view="settings"] .legal-links { max-width:420px; display:grid; grid-template-columns:1fr 1fr; gap:5px; }
html[data-view="settings"] .legal-links a { min-height:34px; display:flex; align-items:center; padding:0 var(--s3); border-radius:var(--r1); background:var(--surface-2); color:var(--muted); font-size:10px; line-height:1.3; text-decoration:none; }
html[data-view="settings"] .legal-links a:hover { color:var(--accent); background:var(--surface-3); }

/* Billing and referrals */
html[data-view="billing"] .billing-navigation { width:max-content; max-width:100%; display:flex; gap:3px; margin-bottom:var(--s4); padding:3px; overflow:auto; border:1px solid var(--line); border-radius:var(--rp); background:var(--surface-2); scrollbar-width:none; }
html[data-view="billing"] .billing-navigation button { min-height:28px; display:inline-flex; align-items:center; gap:6px; padding:0 11px; border:0; border-radius:var(--rp); background:transparent; color:var(--muted); font-size:11.5px; font-weight:620; white-space:nowrap; }
html[data-view="billing"] .billing-navigation button.active { background:var(--surface); color:var(--text); box-shadow:0 1px 5px rgba(16,18,28,.1); }

html[data-view="billing"] .balance-hero { position:relative; display:grid; grid-template-columns:minmax(180px,.85fr) minmax(320px,1.5fr) auto; align-items:center; gap:var(--s5); padding:var(--s5); overflow:hidden; border:1px solid var(--line); border-radius:var(--r3); background:radial-gradient(360px 180px at 88% 12%,rgba(128,89,236,.13),transparent),var(--surface); box-shadow:var(--ds-shadow-1); }
html[data-view="billing"] .balance-total :is(small,strong,p),html[data-view="billing"] .balance-split :is(small,b,em) { display:block; }
html[data-view="billing"] .balance-total small { color:var(--muted-2); font-size:var(--fc); line-height:1.3; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }
html[data-view="billing"] .balance-total strong { margin:4px 0 2px; font-size:30px; line-height:1.1; letter-spacing:-.035em; font-weight:700; }
html[data-view="billing"] .balance-total strong span { color:var(--accent); }
html[data-view="billing"] .balance-total p { margin:0; color:var(--muted); font-size:var(--fs); line-height:1.45; }
html[data-view="billing"] .balance-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2); }
html[data-view="billing"] .balance-split article { min-width:0; display:flex; align-items:center; gap:9px; padding:11px; border:1px solid var(--line); border-radius:var(--r2); background:color-mix(in srgb,var(--surface) 84%,transparent); }
html[data-view="billing"] .token-kind { width:32px; height:32px; display:grid; place-items:center; flex:0 0 auto; border-radius:10px; }
html[data-view="billing"] .balance-split small { color:var(--muted); font-size:var(--fs); line-height:1.35; }
html[data-view="billing"] .balance-split b { margin:1px 0; font-size:15px; line-height:1.25; font-weight:700; }
html[data-view="billing"] .balance-split em { color:var(--muted); font-size:9.5px; line-height:1.35; font-style:normal; }
html[data-view="billing"] .balance-art { position:relative; z-index:1; width:64px; height:64px; display:grid; place-items:center; border:0; border-radius:0; background:transparent; color:var(--accent); opacity:.28; transform:none; }

html[data-view="billing"] .subscription-panel { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:var(--s4); margin-top:var(--s3); padding:var(--s4); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); }
html[data-view="billing"] .subscription-main,html[data-view="billing"] .subscription-meta { display:flex; align-items:center; gap:var(--s3); }
html[data-view="billing"] .subscription-main { min-width:0; }
html[data-view="billing"] .subscription-icon { width:40px; height:40px; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; background:linear-gradient(135deg,#625ee8,#9b5edb); color:#fff; }
html[data-view="billing"] .subscription-main small { color:var(--muted-2); font-size:var(--fc); line-height:1.3; letter-spacing:.05em; text-transform:uppercase; font-weight:700; }
html[data-view="billing"] .subscription-main h2 { margin:2px 0; font-size:var(--f3); line-height:1.3; font-weight:620; }
html[data-view="billing"] .subscription-main p { margin:0; color:var(--muted); font-size:var(--fs); line-height:1.45; }
html[data-view="billing"] .subscription-meta>span { min-width:76px; }
html[data-view="billing"] .subscription-meta :is(small,b) { display:block; }
html[data-view="billing"] .subscription-meta small { color:var(--muted); font-size:var(--fc); line-height:1.3; }
html[data-view="billing"] .subscription-meta b { margin-top:2px; font-size:11.5px; line-height:1.35; font-weight:620; }

html[data-view="billing"] .tariff-groups { display:grid; gap:var(--s6); margin-top:var(--s6); }
html[data-view="billing"] .tariff-section { min-width:0; margin:0; }
html[data-view="billing"] .tariff-heading { display:flex; align-items:center; gap:var(--s3); margin-bottom:var(--s3); }
html[data-view="billing"] .tariff-icon { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border-radius:var(--r2); color:#fff; }
html[data-view="billing"] .tariff-heading h2 { margin:0; font-size:var(--f2); line-height:1.22; letter-spacing:-.02em; font-weight:620; }
html[data-view="billing"] .tariff-heading p { margin:3px 0 0; color:var(--muted); font-size:var(--fs); line-height:1.45; }
html[data-view="billing"] .tariff-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:var(--s2); }
html[data-view="billing"] .tariff-section.bonus .tariff-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
html[data-view="billing"] .tariff-card { position:relative; min-width:0; min-height:190px; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); transition:transform var(--ds-fast) var(--ds-ease),box-shadow var(--ds-fast) var(--ds-ease); }
html[data-view="billing"] .tariff-card:hover { transform:translateY(-2px); box-shadow:var(--ds-shadow-2); }
html[data-view="billing"] .tariff-card>em { top:9px; right:9px; font-size:7.5px; }
html[data-view="billing"] .tariff-card h3 { margin:0 0 14px; font-size:11.5px; line-height:1.35; font-weight:620; }
html[data-view="billing"] .tariff-card>strong { display:block; font-size:23px; line-height:1.08; letter-spacing:-.025em; font-weight:700; }
html[data-view="billing"] .tariff-card>small { display:block; margin-top:2px; color:var(--muted); font-size:9.5px; line-height:1.35; }
html[data-view="billing"] .tariff-card>p { margin:14px 0 11px; font-size:14px; line-height:1.3; font-weight:700; }
html[data-view="billing"] .tariff-card :is(.primary-button,.secondary-button) { width:100%; min-height:30px; padding:0 8px; font-size:11px; }

html[data-view="billing"] .operations-section { margin-top:var(--s6); overflow:hidden; border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); }
html[data-view="billing"] .operations-section .section-title,html[data-view="billing"] .growth-card>.section-title { display:flex; align-items:center; justify-content:space-between; gap:var(--s3); padding:var(--s4); border-bottom:1px solid var(--line); }
html[data-view="billing"] .section-title h2 { margin:0; font-size:var(--f2); line-height:1.22; font-weight:620; }
html[data-view="billing"] .section-title>span { color:var(--muted); font-size:var(--fc); }
html[data-view="billing"] .operation-row { display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; padding:11px var(--s4); border-bottom:1px solid var(--line); }
html[data-view="billing"] .operation-row:last-child { border-bottom:0; }
html[data-view="billing"] .operation-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:9px; }
html[data-view="billing"] .operation-row :is(strong,small) { display:block; }
html[data-view="billing"] .operation-row strong { font-size:11.5px; line-height:1.35; font-weight:620; }
html[data-view="billing"] .operation-row small { margin-top:2px; color:var(--muted); font-size:9.5px; line-height:1.35; }
html[data-view="billing"] .operation-row>b { font-size:11.5px; line-height:1.35; }

html[data-view="billing"] .referral-hero { min-height:156px; max-width:none; display:flex; align-items:center; justify-content:space-between; gap:var(--s5); padding:var(--s5); border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line)); border-radius:var(--r3); background:linear-gradient(115deg,color-mix(in srgb,var(--accent) 12%,var(--surface)),color-mix(in srgb,#f2a15f 7%,var(--surface))); box-shadow:var(--ds-shadow-1); }
html[data-view="billing"] .referral-hero .eyebrow { display:inline-flex; align-items:center; gap:7px; color:var(--accent); font-size:var(--fc); line-height:1.3; letter-spacing:.06em; text-transform:uppercase; font-weight:700; }
html[data-view="billing"] .referral-hero h2 { max-width:720px; margin:10px 0 6px; font-size:var(--f1); line-height:1.16; letter-spacing:-.026em; font-weight:700; }
html[data-view="billing"] .referral-hero p { margin:0; color:var(--muted); font-size:var(--fs); line-height:1.45; }
html[data-view="billing"] .referral-hero-icon { width:88px; height:88px; display:grid; place-items:center; flex:0 0 auto; border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line)); border-radius:26px; background:var(--surface); color:var(--accent); transform:rotate(4deg); }
html[data-view="billing"] .referral-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s3); margin:var(--s3) 0; }
html[data-view="billing"] .referral-stats article { min-width:0; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); }
html[data-view="billing"] .referral-stats small { display:block; color:var(--muted-2); font-size:var(--fc); line-height:1.3; letter-spacing:.05em; text-transform:uppercase; }
html[data-view="billing"] .referral-stats strong { display:block; margin-top:5px; font-size:24px; line-height:1.1; letter-spacing:-.025em; font-weight:700; }
html[data-view="billing"] .growth-card { margin-top:var(--s3); padding:var(--s4); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); }
html[data-view="billing"] .growth-card-heading { display:flex; align-items:center; gap:11px; margin-bottom:var(--s3); }
html[data-view="billing"] .growth-card-heading>span { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:var(--r2); background:var(--accent-soft); color:var(--accent); }
html[data-view="billing"] .growth-card-heading h2 { margin:0; font-size:var(--f3); line-height:1.3; font-weight:620; }
html[data-view="billing"] .growth-card-heading p { margin:3px 0 0; color:var(--muted); font-size:var(--fs); line-height:1.45; }
html[data-view="billing"] .referral-link,html[data-view="billing"] .inline-field { display:flex; align-items:center; gap:var(--s2); }
html[data-view="billing"] .referral-link input,html[data-view="billing"] .growth-form input { min-width:0; min-height:38px; padding:0 11px; border:1px solid var(--line); border-radius:var(--r1); background:var(--surface-2); color:var(--text); font:inherit; font-size:12.5px; }
html[data-view="billing"] .referral-link input { flex:1; }
html[data-view="billing"] .growth-form label { display:grid; gap:6px; }
html[data-view="billing"] .growth-form label>span { color:var(--muted); font-size:var(--fc); font-weight:620; }
html[data-view="billing"] .inline-field input { flex:1; }
html[data-view="billing"] .active-discount { margin-top:var(--s3); font-size:var(--fs); }
html[data-view="billing"] .active-discount strong { font-size:11.5px; }
html[data-view="billing"] .active-discount small { font-size:9.5px; }
html[data-view="billing"] .referral-row,html[data-view="billing"] .promo-redemption { gap:var(--s3); padding:11px 2px; font-size:11.5px; }
html[data-view="billing"] .referral-state,html[data-view="billing"] .promo-redemption em { font-size:10px; }
html[data-view="billing"] .growth-empty { padding:var(--s5) 2px; font-size:var(--fs); }

/* News channel */
.forum-page { width:min(1160px,100%); margin:0 auto; }
.forum-page-head { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s5); margin-bottom:var(--s5); }
.forum-page-head h1 { margin:5px 0 7px; font-size:var(--f1); line-height:1.16; letter-spacing:-.026em; font-weight:700; }
.forum-page-head p { max-width:610px; margin:0; color:var(--muted); font-size:var(--fs); line-height:1.45; }
.forum-page-kicker,.forum-section-heading>div>span { color:var(--accent); font-size:var(--fc); line-height:1.3; letter-spacing:.07em; text-transform:uppercase; font-weight:700; }
.forum-channel-stats { display:flex; gap:var(--s2); flex:0 0 auto; }
.forum-channel-stats span { min-width:90px; display:grid; gap:1px; padding:9px 12px; border:1px solid var(--line); border-radius:var(--r2); background:var(--surface); color:var(--muted); font-size:var(--fc); line-height:1.3; box-shadow:var(--ds-shadow-1); }
.forum-channel-stats b { color:var(--text); font-size:var(--f3); font-weight:700; }
.forum-page .forum-composer { margin-bottom:var(--s3); border-radius:var(--r3); box-shadow:var(--ds-shadow-1); }
.forum-page .forum-composer>summary { min-height:62px; padding:10px var(--s4); }
.forum-page .forum-composer>summary>span:nth-child(2) strong { font-size:var(--fs); font-weight:620; }
.forum-page .forum-composer>summary>span:nth-child(2) small { font-size:var(--fc); }
.forum-page .forum-compose-plus { background:var(--ds-gradient); }
.forum-page .forum-kind,.forum-page .forum-kind button { border-radius:var(--rp); }
.forum-page .forum-composer :is(input,textarea,select) { font-size:var(--fs); }
.forum-page .forum-poll-settings label>span,.forum-page .forum-publish-settings label>span { font-size:var(--fc); }
.forum-page .forum-poll-settings label>small { font-size:10px; }
.forum-page .forum-filters { display:flex; gap:var(--s2); margin:0 0 var(--s4); overflow:auto; scrollbar-width:none; }
.forum-page .forum-filters button { min-height:32px; padding:0 11px; border-radius:var(--rp); font-size:var(--fc); }
.forum-page .forum-filters button span { font-size:9px; }
.forum-news-layout { display:grid; grid-template-columns:minmax(0,1.62fr) 280px; gap:var(--s3); align-items:stretch; }
.forum-news-side { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3); }
.forum-news-side .forum-digest { grid-column:1/-1; }
.forum-editorial-feature,.forum-editorial-mini,.forum-editorial-card { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); }
.forum-editorial-feature { min-height:438px; height:100%; }
.forum-editorial-feature>button,.forum-editorial-mini>button,.forum-editorial-card>button:first-child { width:100%; height:100%; display:block; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.forum-editorial-feature>button { display:grid; grid-template-rows:minmax(220px,1fr) auto; }
.forum-editorial-cover { position:relative; min-height:150px; display:grid; place-items:center; overflow:hidden; background:linear-gradient(135deg,#f069a4,#7c68e8); }
.forum-editorial-cover::before,.forum-editorial-cover::after { content:""; position:absolute; width:58%; aspect-ratio:1; border-radius:50%; filter:blur(2px); opacity:.58; }
.forum-editorial-cover::before { left:-18%; top:-26%; background:rgba(255,255,255,.32); }
.forum-editorial-cover::after { right:-21%; bottom:-35%; background:rgba(20,213,194,.3); }
.forum-editorial-cover.tone-1 { background:linear-gradient(135deg,#ff8b68,#f0529f 46%,#815ee8); }
.forum-editorial-cover.tone-2 { background:linear-gradient(135deg,#6366e8,#5b8cff 54%,#45c7c4); }
.forum-editorial-cover.tone-3 { background:linear-gradient(135deg,#ea4d92,#a759e7 52%,#4d80ff); }
.forum-editorial-cover.tone-4 { background:linear-gradient(135deg,#f2a044,#ef6262 48%,#c759d8); }
.forum-editorial-cover.tone-5 { background:linear-gradient(135deg,#2f9d91,#55b57a 48%,#b2c24f); }
.forum-editorial-cover :is(img,video) { position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; }
.forum-editorial-cover>svg { position:relative; z-index:1; width:40px; height:40px; color:rgba(255,255,255,.88); }
.forum-editorial-cover em { position:absolute; z-index:2; left:var(--s3); top:var(--s3); min-height:26px; display:inline-flex; align-items:center; padding:0 9px; border-radius:var(--rp); background:rgba(15,17,28,.62); color:#fff; font-size:10px; font-style:normal; font-weight:700; backdrop-filter:blur(8px); }
.forum-feature-copy { display:block; padding:var(--s5); }
.forum-feature-copy small,.forum-editorial-card-body>small,.forum-editorial-mini small { display:block; color:var(--muted); font-size:var(--fc); line-height:1.3; }
.forum-feature-copy strong { display:block; margin:6px 0 8px; font-size:clamp(22px,2.6vw,30px); line-height:1.13; letter-spacing:-.03em; font-weight:700; }
.forum-feature-copy>span { display:block; color:var(--muted); font-size:var(--fs); line-height:1.5; }
.forum-feature-copy>b,.forum-editorial-card-body>b { display:flex; align-items:center; gap:7px; margin-top:var(--s3); color:var(--muted); font-size:10px; font-weight:620; }
.forum-author-avatar { width:23px; height:23px; display:grid; place-items:center; border-radius:50%; background:var(--ds-gradient); color:#fff; font-size:9px; font-style:normal; font-weight:700; }
.forum-editorial-mini { min-height:156px; }
.forum-editorial-mini>button { display:grid; grid-template-rows:92px auto; }
.forum-editorial-mini .forum-editorial-cover { min-height:92px; }
.forum-editorial-mini>button>span:last-child { display:block; padding:10px; }
.forum-editorial-mini strong { display:-webkit-box; margin-top:4px; overflow:hidden; font-size:11.5px; line-height:1.32; font-weight:620; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.forum-digest { position:relative; top:auto; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); }
.forum-digest h2 { margin:4px 0 0; font-size:var(--f2); line-height:1.22; font-weight:620; }
.forum-digest header>span { color:var(--accent); font-size:var(--fc); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.forum-digest ol { display:grid; gap:0; margin:var(--s3) 0 0; padding:0; list-style:none; }
.forum-digest li button { width:100%; display:grid; grid-template-columns:24px minmax(0,1fr); gap:8px; padding:8px 0; border:0; border-top:1px solid var(--line); background:transparent; color:inherit; text-align:left; cursor:pointer; }
.forum-digest li button>span:first-child { color:var(--muted-2); font-size:10px; font-weight:700; }
.forum-digest li strong,.forum-digest li small { display:block; }
.forum-digest li strong { font-size:10.5px; line-height:1.3; font-weight:620; }
.forum-digest li small { margin-top:2px; color:var(--muted); font-size:9px; }
.forum-digest li button:hover strong { color:var(--accent); }
.forum-editorial-section { margin-top:var(--s7); }
.forum-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--s4); margin-bottom:var(--s3); }
.forum-section-heading h2 { margin:4px 0 0; font-size:var(--f2); line-height:1.22; font-weight:620; }
.forum-section-heading>small { color:var(--muted); font-size:var(--fc); }
.forum-editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); }
.forum-editorial-card { min-width:0; }
.forum-editorial-card>button:first-child { display:grid; grid-template-rows:154px auto; }
.forum-editorial-card .forum-editorial-cover { min-height:154px; }
.forum-editorial-card-body { display:block; padding:var(--s3); }
.forum-editorial-card-body>strong { display:-webkit-box; min-height:40px; margin:5px 0 6px; overflow:hidden; font-size:var(--f3); line-height:1.35; font-weight:620; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.forum-editorial-card-body>span { display:-webkit-box; overflow:hidden; color:var(--muted); font-size:10.5px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.forum-editorial-delete { position:absolute; z-index:4; top:9px; right:9px; width:32px; height:32px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.26); border-radius:var(--rp); background:rgba(20,21,31,.58); color:#fff; opacity:.82; backdrop-filter:blur(8px); cursor:pointer; transition:opacity var(--ds-fast),background var(--ds-fast); }
.forum-editorial-delete:hover { opacity:1; background:color-mix(in srgb,var(--danger,#dc5465) 76%,rgba(20,21,31,.58)); }
.forum-editorial-feature>.forum-editorial-delete.featured { top:auto; right:var(--s4); bottom:var(--s4); width:32px; height:32px; display:grid; padding:0; border-color:color-mix(in srgb,var(--danger,#dc5465) 24%,var(--line)); background:color-mix(in srgb,var(--danger,#dc5465) 8%,var(--surface)); color:var(--danger,#dc5465); text-align:center; opacity:1; backdrop-filter:none; }
.forum-editorial-delete.featured:hover { background:color-mix(in srgb,var(--danger,#dc5465) 14%,var(--surface)); }
.forum-editorial-feature:has(.forum-editorial-delete.featured) .forum-feature-copy { padding-bottom:58px; }
.forum-polls-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s3); }
.forum-page .forum-post { height:100%; border-radius:var(--r3); box-shadow:var(--ds-shadow-1); transition:transform var(--ds-fast) var(--ds-ease),box-shadow var(--ds-fast) var(--ds-ease); }
.forum-page .forum-post:hover { transform:translateY(-1px); box-shadow:var(--ds-shadow-2); }
.forum-page .forum-post>header strong { font-size:var(--fs); }
.forum-page .forum-post>header small,.forum-page .forum-post>header time { font-size:var(--fc); }
.forum-page .forum-post h2 { font-size:var(--f2); }
.forum-page .forum-post-body { font-size:var(--fs); line-height:1.55; }
.forum-page .forum-post-footer,.forum-page .forum-post-footer button { font-size:var(--fc); }
.forum-page .forum-image-grid,.forum-page .forum-poll,.forum-page .forum-poll-options-view>button { border-radius:var(--r2); }
.forum-page .forum-poll-heading>span { font-size:var(--fc); }
.forum-page .forum-poll-heading em { font-size:9px; }
.forum-page .forum-poll-label { font-size:var(--fs); }
.forum-page .forum-poll-label small,.forum-page .forum-poll-confirm small,.forum-page .forum-poll>footer { font-size:10px; }
.forum-subscribe { display:flex; align-items:center; justify-content:space-between; gap:var(--s5); margin-top:var(--s7); padding:var(--s6); overflow:hidden; border-radius:var(--r4); background:linear-gradient(110deg,#f05a9d,#8b5be8 58%,#4f7ff0); color:#fff; }
.forum-subscribe span { font-size:var(--fc); font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.forum-subscribe h2 { margin:4px 0; font-size:var(--f2); font-weight:620; }
.forum-subscribe p { margin:0; color:rgba(255,255,255,.78); font-size:var(--fs); }
.forum-subscribe .secondary-button { flex:0 0 auto; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.14); color:#fff; }
.forum-skeleton-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--s3); }
.forum-skeleton { min-height:240px; border-radius:var(--r3); background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 45%,var(--surface) 65%); background-size:240% 100%; animation:forum-shimmer 1.3s linear infinite; }
@keyframes forum-shimmer { to { background-position:-240% 0; } }

/* Auth, modals and supporting surfaces */
.auth-shell { background:radial-gradient(520px 320px at 50% 40%,var(--violet-soft),transparent 72%),var(--bg); }
.auth-card { border-radius:var(--ds-r4); box-shadow:var(--ds-shadow-2); }
.generation-modal,.support-chat-panel,.cookie-banner,.cookie-preferences { border-radius:var(--ds-r4); box-shadow:var(--ds-shadow-2); }
.support-widget-toggle { background:var(--ds-gradient); }

@keyframes ds-card-in {
  from { opacity:0; transform:translateY(10px) scale(.99); }
  to { opacity:1; transform:none; }
}

@media (max-width:1280px) {
  .dashboard-home .recent-grid,.projects-page .project-page-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  html[data-view="billing"] .tariff-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:1180px) {
  .dashboard-home .mode-grid.extended { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .forum-news-layout { grid-template-columns:minmax(0,1.5fr) 250px; }
  .forum-news-side { grid-template-columns:1fr; }
  .forum-news-side .forum-digest { grid-column:auto; }
  .forum-editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:980px) {
  .marketgen-app .workspace { margin-left:0; }
  .dashboard-home .recent-grid,.projects-page .project-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-view="settings"] .settings-layout { grid-template-columns:1fr; }
  html[data-view="settings"] .settings-nav { position:static; display:flex; overflow:auto; }
  html[data-view="settings"] .settings-nav button { flex:0 0 auto; }
  html[data-view="billing"] .balance-hero { grid-template-columns:minmax(165px,.8fr) minmax(300px,1.5fr); }
  html[data-view="billing"] .balance-art { display:none; }
  html[data-view="billing"] .subscription-panel { align-items:flex-start; flex-direction:column; }
  html[data-view="billing"] .subscription-meta { width:100%; justify-content:flex-start; }
  html[data-view="billing"] .subscription-meta .secondary-button { margin-left:auto; }
  .forum-news-layout { grid-template-columns:1fr; }
  .forum-news-side { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .forum-news-side .forum-digest { grid-column:1/-1; }
}

@media (max-width:720px) {
  :root { --s5:16px;--s6:20px;--s7:26px;--s8:36px;--fd:23px;--f1:19px;--f2:16px;--f3:13.5px;--fb:13px;--fs:11.5px;--fc:10px;--ds-s5:16px;--ds-s6:20px;--ds-s7:26px;--ds-s8:36px;--topbar:54px;--ds-r3:14px;--ds-r4:16px; }
  .marketgen-app .sidebar { width:262px; transform:translateX(-103%); transition:transform var(--ds-base) var(--ds-ease); }
  .marketgen-app .sidebar.is-open { transform:translateX(0); }
  .marketgen-app .mobile-menu,.marketgen-app .mobile-close { display:grid; }
  .marketgen-app .topbar { padding:0 var(--ds-s3); gap:var(--ds-s1); }
  .marketgen-app .mobile-logo { display:none; }
  .marketgen-app .header-create { order:2; min-width:36px; width:auto; padding:0 var(--ds-s3); }
  .marketgen-app .header-create span { display:none; }
  .marketgen-app .top-spacer { order:3; }
  .marketgen-app .top-actions { order:4; }
  .marketgen-app .theme-toggle { display:grid; }
  .marketgen-app .token-chip small { display:none; }
  .marketgen-app .page-content { padding:var(--ds-s5) var(--ds-s3) var(--ds-s8); }
  .marketgen-app .page-heading { flex-direction:column; gap:var(--ds-s3); }
  .marketgen-app .page-actions { width:100%; }
  .dashboard-home .hero-panel { grid-template-columns:1fr; }
  .dashboard-home .hero-copy { padding:var(--ds-s6) var(--ds-s5); }
  .dashboard-home .hero-copy h2 { font-size:32px; }
  .dashboard-home .hero-preview { min-height:300px; }
  .dashboard-home .stat-grid,.dashboard-home .mode-grid.extended { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-home .mode-card .mode-copy small { display:none; }
  .dashboard-home .dashboard-referral { grid-template-columns:36px minmax(0,1fr); }
  .dashboard-home .dashboard-referral .secondary-button { grid-column:1/-1; width:100%; }
  .create-hub .create-intro h1 { font-size:25px; }
  .create-hub .category-grid { grid-template-columns:1fr; }
  .create-hub .category { padding:var(--ds-s3); }
  .projects-page .project-toolbar { overflow:hidden; }
  .projects-page .project-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ds-s2); }
  .projects-page .project-card { min-width:0; content-visibility:auto; contain-intrinsic-size:auto 420px; }
  .projects-page .project-card:hover { transform:none; box-shadow:none; }
  .projects-page .project-card .project-type,.projects-page .project-card .project-status { backdrop-filter:none; }
  .marketgen-app .topbar { background:var(--bg); backdrop-filter:none; }
  .projects-page .project-card .project-info { min-height:0; padding:var(--ds-s2); }
  .settings-profile-hero { grid-template-columns:1fr; }
  .settings-profile-hero>.danger-ghost { width:100%; }
  .settings-profile-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-view="settings"] .settings-nav { gap:4px; padding:4px; }
  html[data-view="settings"] .settings-nav { overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  html[data-view="settings"] .settings-nav::-webkit-scrollbar { display:none; }
  html[data-view="settings"] .settings-nav button { width:auto; min-height:34px; padding:0 11px; }
  html[data-view="settings"] .settings-card { padding:var(--s3); }
  html[data-view="settings"] .settings-surface { align-items:flex-start; flex-direction:column; }
  html[data-view="settings"] .settings-surface>:last-child { max-width:100%; }
  html[data-view="settings"] .settings-surface>.secondary-button,html[data-view="settings"] .settings-surface>.danger-ghost { width:100%; justify-content:center; }
  html[data-view="settings"] .legal-links { width:100%; max-width:none; }
  .appearance-settings { display:grid!important; }
  .theme-preview { margin-top:var(--ds-s3); }
  html[data-view="billing"] .billing-navigation { width:100%; }
  html[data-view="billing"] .billing-navigation button { flex:1 0 auto; justify-content:center; }
  html[data-view="billing"] .balance-hero { grid-template-columns:1fr; gap:var(--s4); padding:var(--s5); }
  html[data-view="billing"] .balance-split { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-view="billing"] .subscription-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-view="billing"] .subscription-meta .secondary-button { grid-column:1/-1; width:100%; margin:0; }
  html[data-view="billing"] .tariff-grid,html[data-view="billing"] .tariff-section.bonus .tariff-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  html[data-view="billing"] .referral-hero { align-items:flex-start; padding:var(--s5); }
  html[data-view="billing"] .referral-hero-icon { width:64px; height:64px; border-radius:20px; }
  html[data-view="billing"] .referral-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--s2); }
  html[data-view="billing"] .referral-row { grid-template-columns:minmax(0,1fr) auto; }
  html[data-view="billing"] .referral-row time { grid-column:1/-1; }
  .forum-page-head { align-items:flex-start; flex-direction:column; margin-bottom:var(--s4); }
  .forum-page .forum-channel-stats { display:none; }
  .forum-page .forum-composer>summary { min-height:58px; padding:8px var(--s3); }
  .forum-news-side,.forum-editorial-grid,.forum-polls-grid { grid-template-columns:1fr; }
  .forum-news-side .forum-digest { grid-column:auto; }
  .forum-editorial-feature { min-height:0; }
  .forum-editorial-feature>button { grid-template-rows:200px auto; }
  .forum-feature-copy { padding:var(--s4); }
  .forum-feature-copy strong { font-size:var(--f1); }
  .forum-editorial-section,.forum-subscribe { margin-top:var(--s7); }
  .forum-subscribe { align-items:flex-start; flex-direction:column; padding:var(--s5); }
  .forum-subscribe .secondary-button { width:100%; justify-content:center; }
  .forum-skeleton-grid { grid-template-columns:1fr; }
}

/* Cards creation flow — prototype proportions with MarketGen copy and behavior. */
.category-page.category-create {
  width:min(1180px,100%);
  margin:0 auto;
}
.category-create .page-heading { margin-bottom:var(--s5); }
.category-create .page-heading .btn {
  min-height:34px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:var(--rp);
  background:var(--surface);
  color:var(--text);
  font-size:11.5px;
  font-weight:620;
}
.category-create .category-banner {
  min-height:112px;
  gap:var(--s4);
  padding:var(--s5);
  margin:0 0 var(--s4);
  border-radius:var(--r3);
  box-shadow:var(--ds-shadow-1);
}
.category-create .category-banner .category-icon.big {
  width:46px;
  height:46px;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(var(--mode-rgb),.2);
}
.category-create .category-banner small {
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--mode-ink);
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.1em;
}
.category-create .category-banner small i {
  width:18px;
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--mode-a),var(--mode-b),var(--mode-c));
}
.category-create .category-banner strong {
  margin:6px 0 3px;
  font-size:18px;
  line-height:1.22;
  letter-spacing:-.02em;
  font-weight:620;
}
.category-create .category-banner p { font-size:11.5px; }
.category-create .category-count {
  min-height:24px;
  display:inline-flex;
  align-items:center;
  margin-left:auto;
  padding:3px 9px;
  border-radius:var(--rp);
  background:var(--surface-2);
  color:var(--muted);
  font-size:10.5px;
  font-weight:700;
  white-space:nowrap;
}
.category-create .category-list {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--s3);
  margin-top:0;
}
.category-create .category-list .mode-card {
  min-height:138px;
  padding:var(--s4);
  border-radius:var(--r3);
  box-shadow:var(--ds-shadow-1);
  animation:ds-card-in var(--ds-slow) var(--ds-ease) backwards;
  transition:transform var(--ds-fast) var(--ds-ease),box-shadow var(--ds-fast) var(--ds-ease),border-color var(--ds-fast),background var(--ds-fast);
}
.category-create .category-list .mode-card:nth-child(2) { animation-delay:55ms; }
.category-create .category-list .mode-card:nth-child(3) { animation-delay:110ms; }
.category-create .category-list .mode-card:hover {
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--mode-ink) 32%,var(--line));
  box-shadow:var(--ds-shadow-2);
}
.category-create .category-list .mode-card .mode-icon {
  width:34px;
  height:34px;
  border-radius:11px;
}
.category-create .category-list .mode-card>strong {
  margin-top:var(--s3);
  font-size:13px;
  line-height:1.25;
}
.category-create .category-list .mode-card>small {
  margin-top:4px;
  padding:0 0 19px;
  font-size:10.5px;
  line-height:1.4;
}
.category-create .category-list .mode-go { left:var(--s4); bottom:var(--s3); }
.category-create .submode-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
.category-create .submode-grid .mode-card { min-height:126px; }

.builder-page.builder-mode-new_card {
  width:min(1280px,100%);
  margin:0 auto;
}
.builder-page.builder-mode-new_card.card-scenario-plain {
  --mode-a:#2de8ca;
  --mode-b:#11bfd1;
  --mode-c:#078fc5;
  --mode-ink:#0789b8;
  --mode-rgb:0,145,190;
}
.builder-mode-new_card .builder-navigation { margin:0 0 var(--s3); }
.builder-mode-new_card .builder-navigation>button {
  font-size:11.5px;
  font-weight:620;
  transition:color var(--ds-fast),transform var(--ds-fast) var(--ds-ease);
}
.builder-mode-new_card .builder-navigation>button:hover { transform:translateX(-2px); color:var(--text); }
.builder-mode-new_card .builder-heading { margin-bottom:var(--s3); }
.builder-mode-new_card .builder-heading h1 {
  margin:7px 0 4px;
  font-size:25px;
  line-height:1.16;
  letter-spacing:-.026em;
  font-weight:700;
}
.builder-mode-new_card .builder-heading p { font-size:12px; }
.builder-mode-new_card .tutorial-btn {
  min-height:34px;
  height:34px;
  border-radius:var(--rp);
  background:var(--surface);
  font-size:11.5px;
  font-weight:620;
  transition:transform var(--ds-fast) var(--ds-ease),background var(--ds-fast),box-shadow var(--ds-fast);
}
.builder-mode-new_card .tutorial-btn:hover { transform:translateY(-1px); background:rgba(var(--mode-rgb),.07); box-shadow:var(--ds-shadow-1); }
.builder-mode-new_card .mode-description {
  grid-template-columns:34px minmax(0,1fr);
  gap:var(--s3);
  margin:0 0 var(--s3);
  padding:var(--s3) var(--s4);
  border:1px solid color-mix(in srgb,var(--mode-ink) 20%,var(--line));
  border-left:1px solid color-mix(in srgb,var(--mode-ink) 20%,var(--line));
  border-radius:var(--r3);
  background:linear-gradient(105deg,rgba(var(--mode-rgb),.07),var(--surface));
}
.builder-mode-new_card .mode-description::after {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  background:linear-gradient(var(--mode-a),var(--mode-b),var(--mode-c));
}
.builder-mode-new_card .mode-description>span {
  width:32px;
  height:32px;
  border-radius:10px;
  background:rgba(var(--mode-rgb),.1);
}
.builder-mode-new_card .mode-description strong { font-size:12px; }
.builder-mode-new_card .mode-description p { margin-top:4px; color:var(--muted); font-size:11.5px; line-height:1.45; }
.builder-mode-new_card .creator-layout { grid-template-columns:minmax(0,1fr) 320px; gap:var(--s3); }
.builder-mode-new_card .builder,
.builder-mode-new_card .creator-summary { border-radius:var(--r3); box-shadow:var(--ds-shadow-1); }
.builder-mode-new_card .builder-top { padding:var(--s4); }
.builder-mode-new_card .builder-title-wrap h2 { font-size:14.5px; font-weight:620; }
.builder-mode-new_card .builder-title-wrap p,.builder-mode-new_card .builder-step { font-size:10.5px; }
.builder-mode-new_card .card-scenario-controls { padding:var(--s3) var(--s4) 0; }
.builder-mode-new_card .card-scenario-switch {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px;
  padding:3px;
  border:1px solid var(--line);
  border-radius:var(--rp);
  background:var(--surface-2);
}
.builder-mode-new_card .card-scenario-switch button {
  min-height:28px;
  padding:0 11px;
  border:0;
  border-radius:var(--rp);
  background:transparent;
  color:var(--muted);
  font-size:11.5px;
  font-weight:650;
  cursor:pointer;
  transition:color var(--ds-base) var(--ds-ease),background var(--ds-base) var(--ds-ease),box-shadow var(--ds-base) var(--ds-ease),transform var(--ds-fast) var(--ds-ease);
}
.builder-mode-new_card .card-scenario-switch button:hover:not(.active) { color:var(--text); background:var(--surface); }
.builder-mode-new_card .card-scenario-switch button.active {
  color:#fff;
  background:linear-gradient(105deg,var(--mode-a),var(--mode-b),var(--mode-c));
  box-shadow:0 4px 13px rgba(var(--mode-rgb),.18);
}
.builder-mode-new_card .card-photo-scenario {
  width:50%;
  margin:8px 0 0 auto;
  padding:0;
  animation:ds-card-in var(--ds-base) var(--ds-ease) both;
}
.builder-mode-new_card .card-photo-switch {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:2px;
  padding:3px;
  border:1px solid color-mix(in srgb,#0789b8 14%,var(--line));
  border-radius:var(--rp);
  background:rgba(0,145,190,.14);
}
.builder-mode-new_card .card-photo-switch button {
  min-width:0;
  min-height:28px;
  padding:0 8px;
  border:0;
  border-radius:var(--rp);
  background:transparent;
  color:var(--muted);
  font-size:10.5px;
  font-weight:650;
  text-align:center;
  cursor:pointer;
  transition:color var(--ds-base) var(--ds-ease),background var(--ds-base) var(--ds-ease),box-shadow var(--ds-base) var(--ds-ease),transform var(--ds-fast) var(--ds-ease);
}
.builder-mode-new_card .card-photo-switch button:hover:not(.active) { color:var(--text); background:rgba(255,255,255,.42); }
.builder-mode-new_card .card-photo-switch button.active {
  color:#fff;
  background:linear-gradient(105deg,#2de8ca,#11bfd1,#078fc5);
  box-shadow:0 4px 11px rgba(0,119,190,.18);
}
.builder-mode-new_card .builder-fields { padding:0 var(--s4) var(--s2); }
.builder-mode-new_card .field-block { padding:var(--s4) 0; }
.builder-mode-new_card .field-heading { grid-template-columns:32px minmax(0,1fr) auto; gap:var(--s2); margin-bottom:var(--s3); }
.builder-mode-new_card .field-heading>span { width:32px; height:32px; border-radius:10px; }
.builder-mode-new_card .field-heading strong { font-size:12.5px; }
.builder-mode-new_card .field-heading>div>small { display:block; margin-top:2px; color:var(--muted); font-size:10px; line-height:1.4; }
.builder-mode-new_card .field-heading em { padding:3px 7px; border-radius:var(--rp); font-size:9px; }
.builder-mode-new_card .file-control>label {
  display:grid;
  align-content:center;
  min-height:70px;
  grid-template-columns:34px minmax(0,1fr);
  gap:var(--s2);
  padding:var(--s3);
  border-color:color-mix(in srgb,var(--mode-ink) 32%,var(--line));
  border-radius:var(--r2);
  background:rgba(var(--mode-rgb),.035);
  transition:transform var(--ds-fast) var(--ds-ease),border-color var(--ds-fast),background var(--ds-fast),box-shadow var(--ds-fast);
}
.builder-mode-new_card .file-control>label:hover { transform:translateY(-1px); border-color:var(--mode-ink); background:rgba(var(--mode-rgb),.07); box-shadow:var(--ds-shadow-1); }
.builder-mode-new_card .file-control>label>.file-control-icon,
.builder-mode-new_card .file-control.ready>label>.file-control-icon { grid-column:1; grid-row:1; width:34px; height:34px; border-radius:10px; background:rgba(var(--mode-rgb),.1); color:var(--mode-ink); }
.builder-mode-new_card .file-control>label>.file-control-copy { grid-column:2; grid-row:1; }
.builder-mode-new_card .file-control>label strong,
.builder-mode-new_card .file-control>label small { position:static !important; justify-self:stretch; text-align:left; }
.builder-mode-new_card .file-control>label strong { font-size:11.5px; }
.builder-mode-new_card .file-control>label small { margin-top:2px; font-size:9.5px; }
.builder-mode-new_card .field-input { display:flex !important; flex-direction:column; }
.builder-mode-new_card .field-input input,.builder-mode-new_card .field-input textarea {
  display:block;
  border-radius:var(--r2);
  background:var(--surface-2);
  font-size:11.5px;
  transition:border-color var(--ds-fast),box-shadow var(--ds-fast),background var(--ds-fast);
}
.builder-mode-new_card .field-input input { min-height:46px; height:46px; }
.builder-mode-new_card .field-input textarea { min-height:120px; line-height:1.5; }
.builder-mode-new_card .field-character-count { position:static !important; display:block; margin-top:7px; font-size:9.5px; }
.builder-mode-new_card .field-input input:hover,.builder-mode-new_card .field-input textarea:hover { border-color:color-mix(in srgb,var(--mode-ink) 28%,var(--line)); }
.builder-mode-new_card .style-choice {
  transition:transform var(--ds-fast) var(--ds-ease),border-color var(--ds-fast),box-shadow var(--ds-fast),background var(--ds-fast);
}
.builder-mode-new_card .style-choice:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--mode-ink) 32%,var(--line)); box-shadow:var(--ds-shadow-2); }
.builder-mode-new_card .creator-summary { padding:var(--s3); }
.builder-mode-new_card .summary-preview { height:auto; aspect-ratio:3/4; border:0; border-radius:var(--r2); background:var(--surface-2); }
.builder-mode-new_card .summary-lines {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:var(--s3);
  padding:0;
  border-bottom:0;
}
.builder-mode-new_card .summary-lines>div {
  display:block;
  padding:8px;
  border:1px solid var(--line);
  border-radius:var(--r2);
  background:var(--surface);
}
.builder-mode-new_card .summary-lines span,.builder-mode-new_card .summary-lines b { display:block; }
.builder-mode-new_card .summary-lines span { font-size:9px; }
.builder-mode-new_card .summary-lines b { margin-top:2px; font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.builder-mode-new_card .summary-checks { gap:5px; margin:var(--s3) 0 0; }
.builder-mode-new_card .summary-checks li { font-size:10.5px; }
.builder-mode-new_card .generate { min-height:42px; margin-top:14px; border-radius:var(--rp); font-size:11.5px; }
.builder-mode-new_card .clear-button { min-height:32px; border-radius:var(--rp); }
.builder-mode-new_card .clear-button:hover { background:var(--surface-2); color:var(--text); }
.builder-mode-new_card .card-photo-summary { min-height:300px; position:sticky; top:calc(var(--topbar) + var(--s4)); display:grid; place-content:center; justify-items:center; gap:var(--s2); padding:var(--s5); text-align:center; }
.builder-mode-new_card .card-photo-summary>span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:rgba(0,119,190,.09); color:#0789b8; }
.builder-mode-new_card .card-photo-summary>strong { font-size:13px; }
.builder-mode-new_card .card-photo-summary>p { max-width:220px; margin:0; color:var(--muted); font-size:10.5px; line-height:1.45; }

@media (max-width:980px) {
  .category-create .category-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-create .category-list .mode-card:last-child { grid-column:1/-1; }
  .builder-mode-new_card .creator-layout { grid-template-columns:minmax(0,1fr) 280px; }
}

@media (max-width:720px) {
  .category-create .page-heading .page-actions,.category-create .page-heading .btn { width:100%; }
  .category-create .category-banner { min-height:0; padding:var(--s4); align-items:flex-start; }
  .category-create .category-count { margin-left:auto; }
  .category-create .category-list,.category-create .submode-grid { grid-template-columns:1fr; }
  .category-create .category-list .mode-card:last-child { grid-column:auto; }
  .category-create .category-list .mode-card { min-height:124px; }
  .builder-mode-new_card .builder-heading { align-items:stretch; flex-direction:column; }
  .builder-mode-new_card .tutorial-btn { align-self:flex-start; }
  .builder-mode-new_card .creator-layout { grid-template-columns:1fr; }
  .builder-mode-new_card .creator-summary { position:static; }
  .builder-mode-new_card .summary-preview { width:min(280px,100%); margin:0 auto; }
}

@media (max-width:440px) {
  .category-create .category-banner { display:grid; grid-template-columns:42px minmax(0,1fr); gap:var(--s3); }
  .category-create .category-banner .category-icon.big { width:42px; height:42px; }
  .category-create .category-count { grid-column:2; margin:0; justify-self:start; }
  .builder-mode-new_card .builder-top { align-items:flex-start; }
  .builder-mode-new_card .builder-step { flex:0 0 auto; }
  .builder-mode-new_card .card-scenario-switch button { min-height:28px; padding-inline:7px; font-size:10.5px; }
  .builder-mode-new_card .card-photo-scenario { width:100%; }
  .builder-mode-new_card .field-heading { grid-template-columns:32px minmax(0,1fr); }
  .builder-mode-new_card .field-heading em { grid-column:2; justify-self:start; }
  .builder-mode-new_card .file-control { grid-template-columns:minmax(0,1fr) auto; }
  .builder-mode-new_card .thumb-row { grid-template-columns:1fr; }
}

@media (max-width:420px) {
  .marketgen-app .token-chip { padding:0 9px; }
  .marketgen-app .top-profile { display:block; }
  .dashboard-home .stat-grid { grid-template-columns:1fr 1fr; gap:var(--ds-s2); }
  .dashboard-home .stat-grid article { min-width:0; display:grid; align-content:start; gap:var(--ds-s2); padding:var(--ds-s3); }
  .dashboard-home .stat-grid article div { min-width:0; display:grid; gap:4px; }
  .dashboard-home .stat-grid small,.dashboard-home .stat-grid strong { display:block; min-width:0; }
  .dashboard-home .stat-grid small { line-height:1.25; }
  .dashboard-home .stat-grid strong { margin:0; overflow-wrap:anywhere; font-size:24px; line-height:1; }
  .dashboard-home .stat-grid em { display:none; }
  .dashboard-home .mode-grid.extended { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ds-s2); }
  .dashboard-home .mode-card { min-width:0; min-height:124px; padding:var(--ds-s3); }
  .dashboard-home .mode-card .mode-icon { width:30px; height:30px; }
  .dashboard-home .mode-cost { min-height:22px; padding-inline:6px; font-size:9px; }
  .dashboard-home .mode-card>strong { overflow-wrap:anywhere; font-size:12px; }
  .dashboard-home .recent-grid,.projects-page .project-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ds-s2); }
  .dashboard-home .recent-grid .project-info,.projects-page .project-card .project-body { padding:var(--ds-s2); }
  .settings-profile-main { align-items:flex-start; }
  .settings-profile-main p { overflow-wrap:anywhere; }
  .settings-profile-main .settings-avatar { width:46px; height:46px; }
  .settings-profile-chips { gap:4px; }
  .settings-profile-chips span,.settings-profile-chips time { width:max-content; min-height:24px; }
  html[data-view="settings"] .legal-links { grid-template-columns:1fr; }
  .theme-preview { width:100%; }
  .theme-card { width:calc(50% - 4px); }
  html[data-view="billing"] .billing-navigation button { padding-inline:9px; }
  html[data-view="billing"] .billing-navigation .icon { display:none; }
  html[data-view="billing"] .balance-split { grid-template-columns:1fr; }
  html[data-view="billing"] .subscription-main { align-items:flex-start; }
  html[data-view="billing"] .tariff-heading { align-items:flex-start; }
  html[data-view="billing"] .tariff-grid,html[data-view="billing"] .tariff-section.bonus .tariff-grid { grid-template-columns:1fr; }
  html[data-view="billing"] .referral-hero-icon { display:none; }
  html[data-view="billing"] .referral-link,html[data-view="billing"] .inline-field { align-items:stretch; flex-direction:column; }
  html[data-view="billing"] .referral-link :is(input,button),html[data-view="billing"] .inline-field :is(input,button) { width:100%; }
  html[data-view="billing"] .promo-redemption { grid-template-columns:1fr auto; }
  html[data-view="billing"] .promo-redemption em { grid-column:1/-1; }
  .forum-editorial-feature>button { grid-template-rows:176px auto; }
  .forum-editorial-card>button:first-child { grid-template-rows:140px auto; }
  .forum-page .forum-post-content,.forum-page .forum-post-footer { margin-left:0; padding-left:var(--ds-s3); }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* Prototype fidelity: authentication, quick start, projects and news channel. */
.auth-shell { padding:var(--s5) var(--s4); }
.auth-panel { width:min(420px,100%); padding:var(--s6); border-radius:var(--r4); box-shadow:var(--ds-shadow-2); }
.auth-heading { margin:var(--s5) 0; }
.auth-heading h1 { font-size:var(--f1); line-height:1.16; letter-spacing:-.026em; font-weight:700; }
.auth-heading p { margin-top:6px; font-size:var(--fs); line-height:1.45; }
.auth-heading p strong { color:var(--text); font-weight:620; }
.auth-tabs { margin-bottom:var(--s3); border-radius:var(--r2); }
.oauth-stack { gap:var(--s2); margin:var(--s4) 0; }
.oauth-button { min-height:42px; grid-template-columns:26px minmax(0,1fr) auto; padding:0 12px; border-radius:var(--r2); font-size:12px; font-weight:650; }
.oauth-button>span { width:26px; height:26px; }
.auth-divider { margin:var(--s4) 0; font-size:10px; }
.auth-form { gap:var(--s3); }
.auth-form>label:not(.legal-consent) { gap:5px; }
.auth-form>label>span { font-size:11px; font-weight:620; }
.auth-form input:not([type="checkbox"]) { height:42px; border-radius:var(--r2); }
.verification-code { font-size:19px !important; letter-spacing:.3em; }
.verification-help { display:grid; gap:5px; margin-top:2px; padding:var(--s3); border:1px solid var(--line); border-radius:var(--r2); background:var(--surface-2); }
.verification-help strong { font-size:11px; font-weight:650; }
.verification-help p { margin:0; color:var(--muted); font-size:10px; line-height:1.45; }
.verification-help .verification-resend { justify-content:space-between; gap:8px; margin-top:3px; }
.verification-help .verification-resend button { min-height:30px; padding:0 9px; border:1px solid var(--line); border-radius:var(--rp); background:var(--surface); font-size:10px; }
.verification-help .verification-resend button:last-child { border-color:color-mix(in srgb,var(--accent) 28%,var(--line)); color:var(--accent); }

.dashboard-home .mode-grid.extended { grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s3); }
.dashboard-home .mode-card { position:relative; min-height:132px; display:flex; flex-direction:column; overflow:hidden; padding:var(--s4); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); box-shadow:var(--ds-shadow-1); text-align:left; transition:transform var(--ds-fast) var(--ds-ease),box-shadow var(--ds-fast) var(--ds-ease),border-color var(--ds-fast); }
.dashboard-home .mode-card:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--mode-ink,var(--accent)) 30%,var(--line)); box-shadow:var(--ds-shadow-2); }
.dashboard-home .mode-card .mode-beam { position:absolute; inset:0 auto 0 0; width:3px; height:auto; border-radius:0; background:linear-gradient(var(--mode-a,var(--brand-a)),var(--mode-b,var(--brand-b)),var(--mode-c,var(--brand-c))); }
.dashboard-home .mode-card-top { width:100%; display:flex; align-items:center; justify-content:space-between; gap:var(--s2); }
.dashboard-home .mode-card .mode-icon { width:34px; height:34px; margin:0; border-radius:11px; background:rgba(var(--mode-rgb,125,91,232),.1); color:var(--mode-ink,var(--accent)); }
.dashboard-home .mode-card-meta { display:flex; align-items:center; gap:6px; }
.dashboard-home .mode-cost { position:static; min-height:24px; display:inline-flex; align-items:center; padding:0 8px; border:1px solid var(--line); border-radius:var(--rp); background:var(--surface-2); color:var(--text); font-size:10px; font-weight:700; white-space:nowrap; }
.dashboard-home .mode-card>strong { margin-top:var(--s3); font-size:13px; line-height:1.25; }
.dashboard-home .mode-card>small { display:block; margin-top:4px; color:var(--muted); font-size:10.5px; line-height:1.4; }
.dashboard-home .mode-go { margin-top:auto; padding-top:var(--s3); color:var(--mode-ink,var(--accent)); font-size:10px; font-weight:750; }

.dashboard-home .recent-grid .project-info,.projects-page .project-card .project-info { min-height:118px; display:flex; flex-direction:column; flex:1; padding:var(--s3); }
.dashboard-home .recent-grid .project-info h3,.projects-page .project-card .project-info h3 { margin:0 0 3px; overflow:hidden; font-size:12.5px; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-home .recent-grid .project-info>p,.projects-page .project-card .project-info>p { color:var(--muted); font-size:10px; }
.dashboard-home .project-actions,.projects-page .project-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-top:var(--s3); }
.dashboard-home .project-actions :is(button,a),.projects-page .project-actions :is(button,a),.project-extra-action>button { min-width:0; min-height:28px; justify-content:center; gap:5px; padding:0 6px; border-radius:var(--r1); font-size:9.5px; }
.dashboard-home .project-actions span,.projects-page .project-actions span,.project-extra-action span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.project-extra-action { margin-top:5px; }
.project-extra-action>button { width:100%; }
.project-resume-slot:empty { display:none; }

.forum-presentation-settings { display:grid; grid-template-columns:minmax(140px,.55fr) minmax(280px,1.45fr) minmax(190px,.7fr); align-items:center; gap:var(--s3); padding:var(--s3); border:1px solid var(--line); border-radius:var(--r3); background:var(--surface); }
.forum-presentation-settings>div:first-child strong,.forum-presentation-settings>div:first-child small { display:block; }
.forum-presentation-settings>div:first-child strong { font-size:var(--fs); }
.forum-presentation-settings>div:first-child small { margin-top:2px; color:var(--muted); font-size:10px; }
.forum-presentation-types { display:flex; flex-wrap:wrap; gap:5px; }
.forum-presentation-types button { min-height:30px; padding:0 10px; border:1px solid var(--line); border-radius:var(--rp); background:var(--surface-2); color:var(--muted); font:inherit; font-size:10px; font-weight:620; cursor:pointer; }
.forum-presentation-types button.active { border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); background:var(--accent-soft); color:var(--accent); }
.forum-option-row { grid-template-columns:24px minmax(0,1fr) 28px; align-items:start; padding:8px; border:1px solid var(--line); border-radius:var(--r2); background:var(--surface-2); }
.forum-option-number { padding-top:11px; }
.forum-option-row>div { min-width:0; }
.forum-option-row>div>input { background:var(--surface); }
.forum-option-remove { margin-top:5px; }
.forum-option-assets { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:6px; }
.forum-option-assets>span { position:relative; width:64px; height:48px; overflow:hidden; border-radius:var(--r1); background:var(--surface-3); }
.forum-option-assets :is(img,video) { width:100%; height:100%; object-fit:cover; }
.forum-option-assets>span>i { position:absolute; inset:0; display:grid; place-items:center; color:#fff; filter:drop-shadow(0 1px 3px #000); }
.forum-option-assets>span>button { position:absolute; z-index:2; top:3px; right:3px; width:20px; height:20px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:rgba(10,10,14,.7); color:#fff; cursor:pointer; }
.forum-option-attach { min-height:30px; display:inline-flex; align-items:center; gap:5px; padding:0 9px; border:1px dashed var(--line-2,var(--line)); border-radius:var(--r1); color:var(--accent); font-size:9.5px; font-weight:650; cursor:pointer; }
.forum-option-attach input { display:none; }

.forum-news-layout { grid-template-columns:minmax(0,1.62fr) minmax(280px,1fr); align-items:start; }
.forum-editorial-feature { min-height:0; }
.forum-editorial-feature>button { display:block; }
.forum-feature-cover { position:relative; display:block; aspect-ratio:16/9; overflow:hidden; }
.forum-feature-cover>.forum-editorial-cover { position:absolute; inset:0; min-height:0; }
.forum-feature-cover::after { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(to top,rgba(8,9,14,.9),rgba(8,9,14,.08) 65%); }
.forum-feature-overlay { position:absolute; z-index:3; left:var(--s5); right:var(--s5); bottom:var(--s5); display:block; color:#fff; }
.forum-feature-overlay>em { display:inline-flex; min-height:24px; align-items:center; padding:0 8px; border-radius:var(--rp); background:rgba(255,255,255,.15); font-size:10px; font-style:normal; font-weight:700; backdrop-filter:blur(8px); }
.forum-feature-overlay>strong { display:block; max-width:650px; margin-top:var(--s2); padding-right:36px; font-size:clamp(22px,2.6vw,30px); line-height:1.13; letter-spacing:-.03em; }
.forum-feature-overlay>b { display:flex; align-items:center; gap:7px; margin-top:var(--s3); color:rgba(255,255,255,.82); font-size:10.5px; font-weight:620; }
.forum-feature-lead { display:block; padding:var(--s4); color:var(--muted); font-size:var(--fs); line-height:1.5; }
.forum-editorial-feature>.forum-editorial-delete.featured { top:10px; right:10px; bottom:auto; border-color:rgba(255,255,255,.28); background:rgba(15,17,28,.55); color:#fff; backdrop-filter:blur(8px); }
.forum-editorial-feature:has(.forum-editorial-delete.featured) .forum-feature-copy { padding-bottom:0; }
.forum-news-side { grid-template-columns:1fr; gap:var(--s3); }
.forum-side-stories { padding:var(--s2); }
.forum-editorial-mini { min-height:0; display:grid; grid-template-columns:88px minmax(0,1fr); gap:var(--s3); width:100%; padding:var(--s2); border:0; border-radius:var(--r2); box-shadow:none; }
.forum-editorial-mini:hover { background:var(--surface-2); }
.forum-editorial-mini .forum-editorial-cover { width:88px; min-height:0; aspect-ratio:1; border-radius:var(--r1); }
.forum-editorial-mini>span:last-child { align-self:center; padding:0; }
.forum-editorial-mini strong { margin:0; font-size:12px; line-height:1.3; }
.forum-editorial-mini small { margin-top:5px; font-size:10px; }
.forum-note-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--s3); }
.forum-note-card { position:relative; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--r2); background:var(--surface); }
.forum-note-card.type-community { border-left-color:#25a985; }
.forum-note-card>button:first-child { width:100%; display:block; padding:var(--s4); border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
.forum-note-card em { display:inline-flex; padding:3px 7px; border-radius:var(--rp); background:var(--accent-soft); color:var(--accent); font-size:9.5px; font-style:normal; font-weight:700; }
.forum-note-card p { margin:var(--s2) 0; font-size:var(--fs); line-height:1.5; }
.forum-note-card small { color:var(--muted); font-size:10px; }

.forum-poll.visual .forum-poll-options-view { grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--s2); }
.forum-poll.visual .forum-poll-options-view>button { display:grid; grid-template-columns:20px minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; padding:0; }
.forum-poll.visual .forum-option-media { position:relative; z-index:1; grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px; width:100%; margin:0; }
.forum-poll.visual .forum-option-media:has(>:only-child) { grid-template-columns:1fr; }
.forum-poll.visual .forum-option-media :is(img,video) { width:100%; height:72px; border-radius:0; object-fit:cover; }
.forum-poll.visual .forum-poll-marker { margin-left:9px; }
.forum-poll.visual .forum-poll-label { padding:9px 0; }
.forum-poll.visual .forum-poll-options-view>button>b { padding-right:9px; }
.forum-option-video { position:absolute; z-index:2; inset:50% auto auto 50%; display:grid; place-items:center; transform:translate(-50%,-50%); color:#fff; filter:drop-shadow(0 1px 4px #000); }

@media(max-width:1180px) {
  .dashboard-home .mode-grid.extended { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .forum-presentation-settings { grid-template-columns:1fr; }
}
@media(max-width:820px) {
  .dashboard-home .mode-grid.extended { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .forum-news-layout { grid-template-columns:1fr; }
  .forum-note-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .forum-poll.visual .forum-poll-options-view { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px) {
  .auth-panel { padding:var(--s5) var(--s4); }
  .verification-help .verification-resend { align-items:stretch; flex-direction:column; }
  .dashboard-home .mode-grid.extended { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ds-s2); }
  .dashboard-home .mode-card { min-height:126px; }
  .forum-note-grid { grid-template-columns:1fr; }
  .forum-feature-overlay { left:var(--s4); right:var(--s4); bottom:var(--s4); }
  .forum-feature-overlay>strong { font-size:19px; }
  .forum-poll.visual .forum-poll-options-view { grid-template-columns:1fr 1fr; }
}

/* Prototype parity pass: dashboard, projects, news and help only. */
html:is([data-view="dashboard"],[data-view="projects"],[data-view="forum"],[data-view="help"])[data-theme="dark"] .marketgen-app {
  --bg:#0e0e10;
  --surface:#16161a;
  --surface-2:#1d1e23;
  --surface-3:#26272e;
  --line:#2a2b32;
  --border:#2a2b32;
  --text:#f3f3f5;
  --muted:#9ea1ab;
  --muted-2:#70737d;
  --accent:#8d7cf0;
  --accent-soft:rgba(141,124,240,.12);
  --green:#3bbd8d;
  --danger:#e56476;
}
html:is([data-view="dashboard"],[data-view="projects"],[data-view="forum"],[data-view="help"])[data-theme="light"] .marketgen-app {
  --bg:#f4f4f5;
  --surface:#fff;
  --surface-2:#f2f3f5;
  --surface-3:#e9eaee;
  --line:#e4e5ea;
  --border:#e4e5ea;
  --text:#0c0c0e;
  --muted:#6c6f78;
  --muted-2:#9a9da6;
  --accent:#6c5ce8;
  --accent-soft:rgba(108,92,232,.11);
  --green:#1a9668;
  --danger:#d3455a;
}
html:is([data-view="dashboard"],[data-view="projects"],[data-view="forum"],[data-view="help"]) .marketgen-app {
  color:var(--text);
}
.top-section-label { color:var(--muted); font-size:11px; line-height:1.3; font-weight:620; }
.top-search { width:min(260px,25vw); height:34px; border-radius:var(--rp); }
.top-search input { font-size:11px; }
.top-search kbd { border:0; background:var(--surface-2); }

.dashboard-home .mode-card {
  align-items:stretch;
  gap:0;
}
.dashboard-home .mode-card-meta {
  flex-direction:row;
  align-items:center;
}
.dashboard-home .mode-cost {
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  font-size:12px;
  font-weight:400;
  line-height:1.45;
}
.dashboard-home .mode-card>strong {
  width:100%;
  margin-top:var(--s3);
  font-weight:700;
  text-align:left;
}
.dashboard-home .mode-card>small {
  width:100%;
  max-width:none;
  overflow:hidden;
  padding:0;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.dashboard-home .mode-go {
  position:static;
  left:auto;
  bottom:auto;
  width:100%;
}
.dashboard-home .section-title h2 {
  line-height:1.22;
  font-weight:660;
}

.dashboard-home .recent-grid .project-info,
.projects-page .project-card .project-info {
  min-height:118px;
}
.dashboard-home .recent-grid .project-info h3,
.projects-page .project-card .project-info h3 {
  font-weight:700;
}
.dashboard-home .project-actions :is(button,a),
.projects-page .project-actions :is(button,a) {
  height:28px;
  min-height:28px;
  color:var(--text);
  font-weight:650;
  line-height:1.5;
}
.dashboard-home .project-actions :is(button,a):hover,
.projects-page .project-actions :is(button,a):hover {
  border-color:var(--line-2,var(--line));
  background:var(--surface-2);
  color:var(--text);
  box-shadow:none;
}

.forum-page {
  --mode-ink:#e7478e;
  --mode-rgb:240,68,143;
}
.forum-page .forum-filters {
  gap:6px;
  margin:0 0 var(--s4);
}
.forum-page .forum-filters button {
  min-height:24px;
  padding:3px 9px;
  border:0;
  background:var(--surface-2);
  color:var(--muted);
  font-size:10.5px;
  font-weight:700;
}
.forum-page .forum-filters button.active {
  border:0;
  background:rgba(var(--mode-rgb),.11);
  color:var(--mode-ink);
}
.forum-filtered-feed {
  margin-top:var(--s6);
}
.forum-filtered-feed>.forum-editorial-section:first-of-type {
  margin-top:0;
}
.forum-editorial-feature>button:first-child {
  width:100%;
  height:auto;
  display:block;
}
.forum-feature-overlay>strong {
  max-width:620px;
  padding-right:0;
  font-size:var(--f1);
  line-height:1.16;
}
.forum-feature-lead {
  padding:var(--s4);
}
@media(min-width:821px) {
  .forum-editorial-feature {
    min-height:471px;
  }
}
.forum-editorial-feature>.forum-editorial-delete.featured {
  top:10px;
  right:10px;
  bottom:auto;
  width:32px;
  height:32px;
  display:grid;
  grid-template-rows:none;
  place-items:center;
}
.forum-editorial-delete>.icon {
  position:static;
  inset:auto;
  width:14px;
  height:14px;
  margin:0;
}
.forum-bonus-art {
  width:88px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border-radius:var(--r1);
  background:linear-gradient(135deg,#ff835d,#ed4e9a 42%,#8059ec 74%,#4d80ff);
  color:#fff;
}
.forum-bonus-mini:hover .forum-bonus-art .icon {
  transform:scale(1.08) rotate(-4deg);
}
.forum-bonus-art .icon {
  transition:transform var(--ds-base) var(--ds-ease);
}
.forum-digest li button {
  min-height:29px;
  grid-template-columns:24px minmax(0,1fr);
  align-items:center;
  padding:5px 0;
}
.forum-digest li button>strong {
  min-width:0;
  overflow:hidden;
  font-size:10.5px;
  line-height:1.3;
  font-weight:620;
  text-overflow:ellipsis;
  white-space:nowrap;
}

html[data-view="help"] .help-list {
  max-width:860px;
  gap:6px;
}
html[data-view="help"] .help-list .faq {
  padding:0;
  border-radius:var(--r2);
}
html[data-view="help"] .help-list .faq>button {
  min-height:46px;
  padding:14px var(--s4);
  gap:var(--s3);
}
html[data-view="help"] .help-list .faq>button strong {
  font-size:12px;
  line-height:1.5;
  font-weight:650;
}
html[data-view="help"] .help-list .faq p {
  padding:0 var(--s4);
  font-size:11.5px;
  line-height:1.55;
}
html[data-view="help"] .help-list .faq.open p { padding-bottom:14px; }
html[data-view="help"] .help-list~.support-banner {
  max-width:860px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--s3);
  margin-top:var(--s3);
  padding:var(--s4);
  border-radius:var(--r3);
  background:var(--surface);
}
html[data-view="help"] .help-list~.support-banner>span {
  width:38px;
  height:38px;
  border-radius:var(--r2);
  background:var(--surface-2);
  color:var(--muted);
}
html[data-view="help"] .help-list~.support-banner strong {
  font-size:var(--f3);
  line-height:1.3;
  font-weight:620;
}
html[data-view="help"] .help-list~.support-banner p {
  margin-top:2px;
  font-size:var(--fs);
  line-height:1.45;
}
html[data-view="help"] .help-list~.support-banner .primary-button {
  min-height:30px;
  padding:0 10px;
  border-color:transparent;
  background:var(--ds-gradient);
  color:#fff;
  font-size:11px;
  font-weight:650;
}
html[data-view="help"] .help-list~.support-banner .primary-button:hover {
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(108,83,230,.28);
}

@media(max-width:720px) {
  html[data-view="help"] .help-list~.support-banner {
    grid-template-columns:auto minmax(0,1fr);
  }
  html[data-view="help"] .help-list~.support-banner .primary-button {
    grid-column:1/-1;
    width:100%;
    min-height:42px;
  }
}

/* Light prototype composition: projects and news. Functionality and product copy stay MarketGen-specific. */
.projects-page .project-toolbar {
  display:flex;
  align-items:flex-end;
  gap:var(--s3);
  margin-bottom:var(--s3);
  padding:var(--s3);
  overflow:visible;
}
.projects-page .project-toolbar .filter-block { min-width:0; }
.projects-page .project-toolbar .filter-block>span {
  display:block;
  margin:0 0 6px;
  color:var(--muted-2);
  font-size:9px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
}
.projects-page .project-toolbar .filter-tabs {
  min-height:34px;
  padding:3px;
  border:1px solid var(--line);
  background:var(--surface-2);
}
.projects-page .project-toolbar .filter-tabs button {
  min-height:26px;
  padding:0 11px;
  font-size:10.5px;
  font-weight:620;
  white-space:nowrap;
}
.projects-page .project-toolbar .filter-tabs button.active {
  background:var(--surface);
  color:var(--text);
  box-shadow:0 1px 5px rgba(20,20,28,.08);
}
.projects-page .project-toolbar .project-type-filter .filter-tabs { border-radius:12px; }
.projects-page .project-toolbar .project-type-filter .filter-tabs button { border-radius:8px; }
.projects-page .project-sort-filter { margin-left:auto; }
.projects-page .project-page-grid { gap:var(--s3); }
.projects-page .project-load-more { display:flex; justify-content:center; margin-top:var(--s4); }
.projects-page .project-load-more .secondary-button { min-width:190px; justify-content:center; }
.projects-page .project-load-more span { color:var(--muted); font-size:10px; }
.projects-page .project-card { overflow:hidden; transition:transform var(--ds-fast) var(--ds-ease),box-shadow var(--ds-fast) var(--ds-ease); }
.projects-page .project-card:hover { transform:translateY(-2px); }
.projects-page .project-card>.product-visual { aspect-ratio:3/4; border-radius:0; }
.projects-page .project-card .project-info { padding:var(--s3); }
.projects-page .project-card .project-info h3 { font-size:12px; line-height:1.35; }

.forum-page-head { align-items:center; margin-bottom:var(--s4); }
.forum-page-head h1 { margin:0 0 5px; }
.forum-subscribe-top { min-height:30px; padding:0 11px; border-radius:var(--rp); background:var(--surface); color:var(--text); font-size:10.5px; }
.forum-feed-controls { display:flex; align-items:center; justify-content:space-between; gap:var(--s4); margin:var(--s3) 0 var(--s4); }
.forum-page .forum-feed-controls .forum-filters { flex:1; margin:0; }
.forum-major-switch { display:flex; align-items:center; gap:8px; flex:0 0 auto; color:var(--text); font-size:10.5px; font-weight:620; cursor:pointer; }
.forum-major-switch input { position:absolute; opacity:0; pointer-events:none; }
.forum-major-switch i { position:relative; width:34px; height:20px; flex:0 0 auto; border-radius:var(--rp); background:var(--surface-3); transition:background var(--ds-fast); }
.forum-major-switch i::after { content:""; position:absolute; left:2px; top:2px; width:16px; height:16px; border-radius:50%; background:var(--surface); box-shadow:0 1px 4px rgba(0,0,0,.18); transition:transform var(--ds-fast); }
.forum-major-switch input:checked+i { background:var(--accent); }
.forum-major-switch input:checked+i::after { transform:translateX(14px); }
.forum-filtered-feed { margin-top:0; }
.forum-filtered-feed>.forum-editorial-section:first-of-type { margin-top:var(--s7); }
.forum-section-heading { align-items:flex-start; }
.forum-section-heading h2 { margin:0; }
.forum-section-heading p { margin:3px 0 0; color:var(--muted); font-size:10.5px; line-height:1.4; }
.forum-note-card { min-height:104px; }
.forum-note-card>button:first-child { height:100%; padding:var(--s4); }
.forum-note-card p { display:-webkit-box; margin:var(--s3) 0 0; overflow:hidden; font-size:13px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.forum-note-card>.forum-editorial-delete,
.forum-compact-card>.forum-editorial-delete,
.forum-editorial-poll>.forum-editorial-delete,
.forum-editorial-poll>header>.forum-editorial-delete {
  top:8px;
  right:8px;
  width:26px;
  height:26px;
  border-color:color-mix(in srgb,var(--danger) 24%,var(--line));
  background:color-mix(in srgb,var(--danger) 7%,var(--surface));
  color:var(--danger);
  opacity:0;
  backdrop-filter:none;
}
.forum-note-card:hover>.forum-editorial-delete,
.forum-compact-card:hover>.forum-editorial-delete,
.forum-editorial-poll:hover>.forum-editorial-delete,
.forum-editorial-poll:hover>header>.forum-editorial-delete { opacity:1; }
.forum-polls-grid { grid-template-columns:1fr; gap:var(--s3); }
.forum-editorial-poll { position:relative; padding:var(--s4); border-radius:var(--r3); box-shadow:var(--ds-shadow-1); }
.forum-editorial-poll>header { position:relative; display:flex; align-items:center; justify-content:space-between; gap:var(--s3); min-height:22px; padding-right:28px; }
.forum-editorial-poll>header>em { display:inline-flex; align-items:center; gap:5px; min-height:22px; padding:0 8px; border-radius:var(--rp); background:rgba(var(--mode-rgb),.11); color:var(--mode-ink); font-size:9.5px; font-style:normal; font-weight:700; }
.forum-editorial-poll.visual>header>em { background:rgba(30,155,215,.11); color:#1688bd; }
.forum-editorial-poll>header>span { color:var(--muted); font-size:10.5px; }
.forum-editorial-poll h3 { margin:var(--s3) 0 var(--s3); font-size:13px; line-height:1.35; }
.forum-editorial-poll .forum-poll.editorial { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.forum-editorial-poll .forum-poll.textual .forum-poll-options-view>button { min-height:40px; }
.forum-editorial-poll .forum-poll-confirm { margin-top:var(--s3); }
.forum-editorial-poll .forum-poll-confirm .primary-button { min-height:30px; padding:0 10px; border:0; background:linear-gradient(110deg,#ff9cbd,#ffc29d); font-size:10px; }
.forum-editorial-poll.visual .forum-poll-confirm .primary-button { background:linear-gradient(110deg,#a4f0e6,#87dbe9); }
.forum-editorial-poll .forum-poll>footer { display:none; }
.forum-publications-section { margin-top:var(--s7); }
.forum-compact-card { position:relative; min-height:126px; overflow:hidden; border-radius:var(--r3); box-shadow:var(--ds-shadow-1); transition:transform var(--ds-fast) var(--ds-ease),box-shadow var(--ds-fast) var(--ds-ease); }
.forum-compact-card:hover { transform:translateY(-2px); box-shadow:var(--ds-shadow-2); }
.forum-compact-card>button:first-child { width:100%; min-height:126px; display:flex; flex-direction:column; align-items:flex-start; padding:var(--s3); border:0; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
.forum-compact-card em { min-height:22px; display:inline-flex; align-items:center; padding:0 8px; border-radius:var(--rp); background:var(--surface-2); color:var(--muted); font-size:9.5px; font-style:normal; font-weight:700; }
.forum-compact-card strong { display:block; margin:var(--s3) 0; font-size:12px; line-height:1.35; }
.forum-compact-card>button>span { display:flex; align-items:center; gap:7px; margin-top:auto; color:var(--muted); font-size:9.5px; }
.forum-compact-card .forum-author-avatar { width:22px; height:22px; }
.forum-subscribe { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); align-items:center; padding:var(--s5); background:linear-gradient(110deg,#5b48dc,#a24fc4 54%,#f0755e); }
.forum-subscribe h2 { margin:0 0 4px; }
.forum-subscribe-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:var(--s2); }
.forum-subscribe-form input { min-width:0; height:38px; padding:0 13px; border:1px solid rgba(255,255,255,.34); border-radius:var(--rp); outline:none; background:rgba(255,255,255,.9); color:#292631; font:inherit; font-size:11px; }
.forum-subscribe-form .secondary-button { min-height:38px; }

@media(max-width:1180px) {
  .projects-page .project-toolbar { flex-wrap:wrap; }
  .projects-page .project-sort-filter { margin-left:0; }
  .projects-page .project-page-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:820px) {
  .top-section-label,.top-search { display:none; }
  .projects-page .project-toolbar { display:grid; grid-template-columns:1fr; align-items:stretch; }
  .projects-page .project-toolbar .filter-tabs { width:100%; overflow:auto; }
  .projects-page .project-toolbar .filter-tabs button { flex:0 0 auto; }
  .projects-page .project-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .forum-feed-controls { align-items:flex-start; flex-direction:column; }
  .forum-page .forum-feed-controls .forum-filters { width:100%; }
  .forum-subscribe { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .projects-page .project-page-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ds-s2); }
  .forum-page-head .forum-subscribe-top { width:auto; }
  .forum-note-grid,.forum-editorial-grid { grid-template-columns:1fr; }
  .forum-editorial-poll { padding:var(--s3); }
  .forum-editorial-poll>header { align-items:flex-start; flex-direction:column; }
  .forum-editorial-poll>header>.forum-editorial-delete { top:0; right:0; }
  .forum-subscribe-form { grid-template-columns:1fr; }
  .forum-subscribe-form .secondary-button { width:100%; }
}
