/* Landing refresh. Scoped to entry so Workshop, Community and editor keep their UI. */
#authScreen { --land-ink:#222620; --land-muted:#62665e; --land-red:#cd392c; background:#f5efe3; color:var(--land-ink); scroll-behavior:smooth; isolation:isolate; }
/* One continuous, stationary backdrop: warm paper, soft color and a stud grid. */
#authScreen::before,#authScreen::after { content:''; position:fixed; inset:0; z-index:-1; pointer-events:none; }
#authScreen::before { background:radial-gradient(ellipse at 92% 8%,#93b6d366,transparent 58%),radial-gradient(ellipse at 8% 94%,#e3ad5852,transparent 62%),radial-gradient(ellipse at 4% 4%,#de927429,transparent 48%); }
#authScreen::after { background-image:radial-gradient(circle at 8px 8px,#68796830 1.2px,transparent 1.7px); background-size:28px 28px; -webkit-mask-image:linear-gradient(100deg,#0003,#000b 65%,#000); mask-image:linear-gradient(100deg,#0003,#000b 65%,#000); }
.landing .reveal { opacity:1; transform:none; transition:none; }
.landing .landhead { max-width:1440px; margin:auto; padding:29px 52px; border-bottom:1px solid #dfe2d8; justify-content:space-between; }
.landing .brand { text-decoration:none; color:var(--land-ink); display:flex; gap:7px; align-items:baseline; font-size:15px; }
.landing .brand .logo { color:var(--land-ink); background:none; padding:0; border-radius:0; font-size:16px; font-weight:800; letter-spacing:-.5px; text-shadow:none; }
.landing .landnav { display:flex; gap:30px; font-size:13px; }
.landing a { color:inherit; }
.landing .landnav a,.landing .text-link { text-decoration:none; }
.landing .landnav a:hover,.landing .text-link:hover { color:var(--land-red); }
.landing :is(button,a):focus-visible { outline:2px solid var(--land-red); outline-offset:5px; }
.landing .hero { grid-template-columns:.9fr 1.1fr; max-width:1440px; padding:54px 52px 60px; gap:38px; min-height:690px; }
.landing .hero-copy { text-align:left; padding-bottom:10px; }
.landing .land-eyebrow { font:600 10px/1.5 'Space Grotesk','Segoe UI',sans-serif; letter-spacing:1.7px; text-transform:uppercase; margin:0 0 22px; color:var(--land-muted); display:flex; align-items:center; gap:9px; }
.landing .live-dot { width:6px; height:6px; background:var(--land-red); border-radius:50%; }
.landing .hero-copy h1 { font-size:clamp(45px,4.9vw,72px); line-height:1.035; letter-spacing:-3.7px; margin:0 0 27px; font-weight:600; color:var(--land-ink); text-shadow:none; }
.landing .grad { color:var(--land-red); text-shadow:none; }
.landing .hero-copy h1 .grad { color:var(--land-red); text-shadow:none; }
.landing .hero-copy .sub { margin:0; max-width:432px; font-size:17px; line-height:1.75; color:var(--land-muted); }
.landing .hero-actions { margin:0; width:100%; }
.landing .hero-copy .cta { margin-top:32px; text-align:left; }
.landing .cta-buttons { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.landing .bigcta,.landing .community-cta { display:inline-flex; align-items:center; justify-content:center; gap:23px; font:600 14px/1.3 'Space Grotesk','Segoe UI',sans-serif; padding:17px 22px; border-radius:7px; min-height:53px; text-decoration:none; transition:background .18s,transform .18s; }
.landing .bigcta { color:#fff; background:var(--land-red); box-shadow:none; border:1px solid var(--land-red); }
.landing .bigcta:hover { background:#b32d23; box-shadow:none; transform:translateY(-1px); }
.landing .community-cta { background:transparent; border:1px solid #cbd0c4; color:var(--land-ink); gap:18px; }
.landing .community-cta:hover { background:#eef0e7; }
.landing .signin-row { margin:19px 0 0; color:var(--land-muted); font-size:12px; }
.landing #openSignin { padding:0; border:0; background:none; color:var(--land-ink); font:600 12px inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.landing .hero-side { width:100%; min-width:0; gap:0; margin:0; align-items:stretch; padding:0; background:transparent; border:0; border-radius:0; }
.landing .hero-build { width:100%; height:auto; aspect-ratio:1.2; transform:none; position:relative; margin:0; }
.landing #heroCanvas,.landing .hero-fallback { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:contain; animation:none; transform:none; filter:drop-shadow(0 12px 10px #2534151a); will-change:auto; }
.landing #heroCanvas { opacity:0; transition:opacity .25s; }
.landing .hero-fallback[hidden] { display:none; }
.landing .hero-build.nogl #heroCanvas { display:none; }
.landing .tries { display:flex; flex-wrap:wrap; margin:0; padding:0; gap:20px; border:0; }
.landing .tag { color:var(--land-muted); background:none; border:0; border-bottom:2px solid transparent; border-radius:0; padding:9px 0; font-size:11px; box-shadow:none; transform:none; display:flex; align-items:center; gap:6px; }
.landing .tag span { font-size:9px; opacity:.6; }
.landing .tag.on { color:var(--land-ink); border-bottom-color:var(--land-red); background:none; box-shadow:none; }
.landing .tag:hover { color:var(--land-red); background:none; }
.landing .story { max-width:1336px; grid-template-columns:.85fr 1.15fr; margin:54px auto 0; padding:0; gap:80px; }
.landing #how-it-works { scroll-margin-top:36px; }
.landing .story+.story { margin-top:94px; }
.landing .story.flip { grid-template-columns:1.15fr .85fr; }
.landing .story-copy { padding-right:10px; }
.landing .story.flip .story-copy { padding-left:12px; padding-right:0; }
.landing .story-num { font-size:10px; font-weight:500; letter-spacing:1.6px; color:var(--land-muted); }
.landing .story-copy h2 { font-size:clamp(32px,3.2vw,45px); font-weight:500; line-height:1.1; letter-spacing:-1.8px; margin:20px 0 22px; color:var(--land-ink); text-shadow:none; }
.landing .story-copy h2 .grad { color:var(--land-red); text-shadow:none; }
.landing .story-lead { font-size:15px; line-height:1.85; color:var(--land-muted); max-width:430px; }
.landing .story-note { font-size:11px; line-height:1.6; color:#71786a; margin:23px 0 0; padding-top:17px; border-top:1px solid #e0e4d8; max-width:430px; }
.landing .story-viz { min-width:0; padding:0; border:0; border-radius:0; overflow:visible; background:transparent; box-shadow:none; }
.landing .story-viz>img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; display:block; filter:drop-shadow(0 11px 9px #1c283d20); }
.landing .story-castle>img { height:auto; }
.landing .showcase { max-width:1336px; margin:112px auto 0; padding:60px 0 0; text-align:left; border-top:1px solid #dfe2d8; }
.landing .showcase-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.landing .showcase .land-eyebrow { margin-bottom:16px; }
.landing .showcase h2 { margin:0; font-weight:500; color:var(--land-ink); text-shadow:none; font-size:36px; letter-spacing:-1.4px; }
.landing .text-link { font-size:12px; padding-bottom:5px; white-space:nowrap; }
.landing .showsub { margin:14px 0 30px; color:var(--land-muted); max-width:none; font-size:13px; line-height:1.7; }
.landing .shelf { max-width:none; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px; margin:0; align-items:stretch; }
.landing .modeltile { min-width:0; display:block; margin:0; grid-column:span 2; }
.landing .modeltile:nth-child(odd) { margin-bottom:0; }
.landing .modeltile:nth-child(-n+2) { grid-column:span 3; }
.landing .tile-image { aspect-ratio:4/3; background:transparent; border:0; border-radius:0; padding:0; overflow:visible; }
.landing .tile-image img { display:block; width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 10px 9px #1821141c); }
.landing .landing-outro { max-width:1336px; margin:94px auto 0; padding:58px 20px; text-align:center; border-top:1px solid #dfe2d8; }
.landing .landing-outro .land-eyebrow { justify-content:center; margin-bottom:15px; }
.landing .landing-outro h2 { font-size:38px; letter-spacing:-1.5px; font-weight:500; margin:0 0 22px; }
.landing .landing-outro a { font-size:13px; text-underline-offset:5px; }
.landing .landfoot { max-width:1336px; border-top:1px solid #dfe2d8; margin:auto; padding:27px 0; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; color:var(--land-muted); }
.landing .landfoot span { display:inline; margin:0; color:inherit; }
.landing .landfoot>a:last-child { text-decoration:none; }

.landing .showcase-controls { margin-top:27px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.landing .animation-toggle { color:var(--land-muted); border:0; background:none; box-shadow:none; font:500 10px/1.5 'Space Grotesk','Segoe UI',sans-serif; padding:5px 0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }
.landing .animation-toggle:hover { color:var(--land-red); }
.landing .animation-toggle:disabled { opacity:.6; cursor:default; }
.landing .story-frame { width:100%; height:auto; aspect-ratio:4/3; position:relative; background:transparent; border:0; border-radius:0; overflow:visible; box-shadow:none; }
.landing .story-stage,.landing .story-poster { display:block; position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transform:none; filter:drop-shadow(0 13px 12px #25341520); }
.landing .story-stage { opacity:0; }
.landing .story-poster[hidden] { display:none; }
.landing .story-frame.nogl::after { content:none; }
.landing .story-chat { position:relative; inset:auto; width:100%; max-width:430px; height:auto; margin:22px 0 0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; transform:none; pointer-events:auto; }
.landing .sc-head { display:flex; align-items:center; gap:10px; margin:0 0 9px; padding:0 0 10px; border-bottom:1px solid #dfe2d8; }
.landing .sc-head>div { display:flex; flex-direction:column; gap:3px; flex:1; }
.landing .sc-head strong { font-size:13px; font-weight:600; }
.landing .sc-head>div>span { font-size:9px; color:var(--land-muted); }
.landing .sc-buddy { margin:0; padding:0; display:flex; }
.landing .sc-buddy svg { width:64px; height:40px; overflow:visible; }
.landing .sc-log { flex:none; height:173px; min-height:173px; gap:8px; padding:2px 0 5px; overflow:hidden; justify-content:flex-end; }
.landing .sc-log .msg { flex-shrink:0; font:400 12px/1.5 'Space Grotesk','Segoe UI',sans-serif; max-width:92%; padding:8px 12px; box-shadow:none; border:0; border-radius:10px; margin:0; }
.landing .sc-log .user { align-self:flex-end; background:#ebe9e0; color:#373a31; border-bottom-right-radius:3px; }
.landing .sc-log .agent { align-self:flex-start; background:#e5eadf; color:#3b4933; border-bottom-left-radius:3px; }
.landing .sc-input { display:flex; align-items:center; justify-content:space-between; gap:10px; border:0; border-top:1px solid #dfe2d8; border-radius:0; padding:12px 0 0; margin:0; background:none; font-size:11px; color:var(--land-muted); min-height:41px; }
.landing .sc-send { background:var(--land-red); color:white; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; flex-shrink:0; font-size:16px; }
.landing .story-chat.demo-paused * { animation-play-state:paused !important; }
.landing .assembly-demo { max-width:430px; margin-top:30px; }
.landing .assembly-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:12px; }
.landing #buildStep { color:var(--land-red); font-weight:500; }
.landing .assembly-track { height:3px; background:#dce1d3; margin:12px 0 15px; }
.landing .assembly-track>span { display:block; width:0; height:100%; background:var(--land-red); }
.landing .assembly-demo>p { color:var(--land-muted); font-size:11px; line-height:1.6; }
.landing .parts-demo { max-width:460px; margin-top:27px; }
.landing .parts-demo-heading { display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding-bottom:12px; border-bottom:1px solid #a9ac9d66; }
.landing .parts-demo-heading strong { font-size:13px; font-weight:600; }
.landing .parts-demo-heading>span { font-size:10px; color:var(--land-muted); white-space:nowrap; }
.landing .parts-demo-list { list-style:none; margin:0; padding:0; }
.landing .parts-demo-list li { display:flex; align-items:center; gap:12px; min-height:74px; padding:7px 0; border-bottom:1px solid #a9ac9d44; }
.landing .parts-demo-list img { display:block; width:66px; height:52px; object-fit:contain; flex-shrink:0; }
.landing .parts-demo-list li>div { display:flex; flex:1; min-width:0; flex-direction:column; gap:5px; }
.landing .parts-demo-list strong { font-size:13px; font-weight:500; }
.landing .parts-demo-list li>div>span { font-size:10px; color:var(--land-muted); }
.landing .parts-demo-qty { font:500 14px 'Space Grotesk','Segoe UI',sans-serif; font-variant-numeric:tabular-nums; }
.landing .parts-demo-list a { width:30px; height:36px; display:grid; place-items:center; text-decoration:none; color:var(--land-red); border-radius:4px; }
.landing .parts-demo-list a:hover { background:#cd392c12; }
.landing .parts-demo-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding-top:18px; }
.landing .parts-demo-actions a { font:500 11px/1.5 'Space Grotesk','Segoe UI',sans-serif; text-decoration:none; color:var(--land-red); }
.landing .parts-demo-actions .parts-download { padding:10px 13px; display:inline-flex; align-items:center; gap:15px; background:#ffffff66; border:1px solid #bfc2b3; border-radius:5px; color:var(--land-ink); }
.landing .parts-demo-actions a:hover { text-decoration:underline; text-underline-offset:3px; }
.landing .parts-demo>p { color:var(--land-muted); font-size:10px; line-height:1.6; margin:13px 0 0; }

@media(max-width:1440px) { .landing :is(.story,.showcase,.landing-outro,.landfoot) { margin-left:52px; margin-right:52px; } }
@media(max-width:1100px) {
  .landing .hero { gap:25px; padding:46px 34px; min-height:630px; }
  .landing .hero-copy h1 { font-size:51px; letter-spacing:-2.8px; }
  .landing .hero-copy .sub { font-size:15px; }
  .landing .bigcta,.landing .community-cta { padding:15px 16px; gap:12px; font-size:12px; }
  .landing .story { gap:45px; }
  .landing .story-viz>img { height:auto; }
  .landing :is(.story,.showcase,.landing-outro,.landfoot) { margin-left:34px; margin-right:34px; }
  .landing .landhead { padding:25px 34px; }
}
@media(max-width:800px) {
  .landing .hero { grid-template-columns:1fr; max-width:680px; gap:36px; padding:42px 26px 32px; }
  .landing .hero-copy { padding:0; }
  .landing .hero-copy h1 { font-size:clamp(44px,8.5vw,64px); }
  .landing .hero-copy .sub { max-width:490px; }
  .landing :is(.story,.showcase,.landing-outro,.landfoot) { margin-left:26px; margin-right:26px; }
  .landing .story,.landing .story.flip { grid-template-columns:1fr; gap:27px; margin-top:34px; }
  .landing .story+.story { margin-top:59px; }
  .landing .story.flip .story-copy { order:0; padding:0; }
  .landing .story-copy h2 { font-size:36px; margin:15px 0 18px; }
  .landing .story-lead,.landing .story-note { max-width:570px; }
  .landing .story-viz>img { height:auto; aspect-ratio:4/3; }
  .landing .showcase { margin-top:68px; padding-top:42px; }
  .landing .showcase-heading { display:block; }
  .landing .showcase h2 { font-size:32px; }
  .landing .text-link { display:inline-block; margin-top:17px; }
  .landing .shelf { grid-template-columns:1fr 1fr; gap:24px 16px; }
  .landing .modeltile,.landing .modeltile:nth-child(-n+2) { grid-column:span 1; }
  .landing .modeltile:last-child { grid-column:span 2; width:75%; justify-self:center; }
  .landing .landing-outro { margin-top:54px; padding:43px 0; }
  .landing .landing-outro h2 { font-size:29px; }
  .landing .landfoot { flex-wrap:wrap; gap:13px 22px; }
  .landing .landfoot>.brand { width:100%; }
}
@media(max-width:480px) {
  .landing .landhead { padding:22px 22px; }
  .landing .landhead .brand { display:block; font-size:11px; line-height:1.4; }
  .landing .brand .logo { font-size:14px; }
  .landing .landhead .brand>span:last-child { display:block; }
  .landing .landnav { gap:0; font-size:11px; }
  .landing .landnav a:first-child { display:none; }
  .landing .hero { padding:34px 22px 30px; }
  .landing .hero-copy h1 { font-size:44px; letter-spacing:-2.5px; margin-bottom:22px; }
  .landing .land-eyebrow { font-size:8px; letter-spacing:1.4px; }
  .landing .hero-copy .cta { margin-top:25px; }
  .landing .cta-buttons { gap:9px; }
  .landing .bigcta,.landing .community-cta { font-size:11px; padding:14px 15px; min-height:48px; }
  .landing .tag span { font-size:8px; }
  .landing :is(.story,.showcase,.landing-outro,.landfoot) { margin-left:22px; margin-right:22px; }
  .landing .shelf { grid-template-columns:1fr; gap:27px; }
  .landing .modeltile:last-child { grid-column:span 1; width:100%; }
}
@media(prefers-reduced-motion:reduce) { #authScreen { scroll-behavior:auto; } .landing .reveal { opacity:1; transform:none; transition:none; } .landing #heroCanvas { transition:none; } }

@media(max-width:480px) {
  .landing .tries { gap:16px; }
  .landing .tag { font-size:10px; }
  .landing .sc-log .msg { font-size:11px; padding:7px 10px; }
  .landing .sc-log { height:178px; min-height:178px; }
  .landing .story-copy { padding-right:0; }
  .landing .parts-demo-list li { gap:8px; }
}
@media print {
  #authScreen { height:auto; overflow:visible; }
  #authScreen::before,#authScreen::after { display:none; }
  .landing .story,.landing .modeltile { break-inside:avoid; }
  .landing #heroCanvas,.landing .story-stage,.landing .animation-toggle { display:none; }
  .landing .hero-fallback[hidden],.landing .story-poster[hidden] { display:block; }
}
