/* Shared public theme only. Existing dashboard assets remain unchanged. */
html { overflow-x: clip; scroll-padding-top: 100px; }
body.public-body { overflow-x: clip; --text: #f5f4f1; --muted: #d1cec7; --panel: #171612; --panel2: #211d15; --border: rgba(190,145,55,.3); --accent: #b68a37; }
.public-body [hidden] { display: none !important; }
.public-shell { padding-top: 24px; min-height: 70vh; }
.public-main { padding-bottom: 56px; }
.public-header { grid-template-columns: 148px minmax(0,1fr) auto; gap: 16px; }
.public-header .brand { width: 140px; }
.public-header .main-nav { gap: 17px; min-width: 0; }
.public-header .main-nav a { font-size: 13px; white-space: nowrap; }
.public-header .public-actions { grid-area: auth; display: flex; align-items: center; gap: 12px; }
.public-header .auth-button { font-size: 13px; padding-inline: 17px; white-space: nowrap; }
.public-body .download-button { font-family: inherit; font-weight: inherit; line-height: inherit; }
.public-header .langSwitch { --lang-switch-bg:#211d15; --lang-switch-bg-hover:#302719; --lang-switch-accent:#b68a37; }
.public-header .langSwitch select { max-width: 87px; padding: 9px 5px; border:1px solid var(--border); border-radius: 9px; font: inherit; font-size: 12px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.public-skip-link { position:fixed; top:-100px; inset-inline-start:18px; z-index:100001; padding:12px; border-radius:8px; background:#e8ca82; color:#19140a; }
.public-skip-link:focus { top:12px; }
.public-account { position:relative; }
.public-account__button { width:44px; height:44px; display:grid; place-items:center; overflow:hidden; border-radius:50%; border:1px solid #b68a37; background:linear-gradient(135deg,#e8ca82,#8b611b); color:#18130c; cursor:pointer; font-family:inherit; font-size:20px; font-weight:700; }
.public-account__button img { width:100%; height:100%; object-fit:cover; }
.public-account__menu { position:absolute; inset-inline-end:0; top:calc(100% + 12px); width:min(300px,calc(100vw - 32px)); z-index:80; padding:12px; background:#171612; border:1px solid var(--border); border-radius:16px; box-shadow:0 20px 55px #0009; }
.public-account__menu>strong,.public-account__menu>small { display:block; overflow-wrap:anywhere; padding:4px 6px; }
.public-account__menu>small { color:var(--color-muted); font-size:12px; margin-bottom:10px; }
.public-account__menu a { display:flex; gap:10px; justify-content:space-between; padding:11px 8px; border-top:1px solid #ffffff0d; font-size:14px; }
.public-account__menu a:hover { background:#b68a371c; border-radius:8px; }
.public-account__menu a small { color:#e8ca82; }
.public-messages { padding-top:20px; }
.public-message { padding:13px 18px; border:1px solid var(--border); background:#b68a3714; border-radius:12px; margin-bottom:8px; }
.public-message.error { border-color:#d87878; color:#ffc5c5; }
.public-toast { position:fixed; bottom:22px; left:50%; transform:translateX(-50%); z-index:100000; max-width:calc(100vw - 36px); padding:14px 22px; border:1px solid #b68a37; background:#171612; color:#f5f4f1; border-radius:14px; box-shadow:0 16px 40px #0008; }
.public-body .site-footer,.public-body .site-footer__ambient,.public-body .hero__visual,.public-body .platform__visual { overflow:clip; }
.public-body .cosmic-dust { width:100%; overflow:hidden; }
.public-body .site-footer__grid { grid-template-columns:1.15fr .85fr 1fr 1.2fr; }
.footer-link { display:block; padding:0; margin:0; border:0; background:none; color:inherit; font:inherit; text-align:start; cursor:pointer; line-height:1.6; }
.footer-link:hover { color:#e8ca82; }
.footer-pending-socials { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px; border:1px solid #ffffff12; border-radius:12px; font-size:12px; color:var(--color-muted); }
.footer-support { display:block; margin-top:16px; color:#e8ca82; font-size:14px; }
.public-roadmap { margin-block:72px; padding:30px; border:1px solid var(--border); border-radius:24px; background:#161510; }
.public-roadmap .roadmap__header h2 { font-size:clamp(24px,4vw,38px); margin:10px 0; color:#e8ca82; }
.public-roadmap .roadmap__subtitle,.public-roadmap .roadmap__note { color:var(--color-muted); line-height:1.9; }
.public-roadmap .roadmapTimeline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:25px; }
.public-roadmap .roadmapRail { display:none; }
.public-roadmap .roadmapItem { padding:20px; background:#ffffff03; border:1px solid var(--border); border-radius:16px; }
.public-roadmap .roadmapNode { display:flex; align-items:center; justify-content:space-between; color:#e8ca82; font-weight:700; }
.public-roadmap .roadmapCard h3 { font-size:20px; margin-bottom:8px; }
.public-roadmap .roadmapCard__meta,.public-roadmap .roadmapCard__list { color:var(--color-muted); line-height:1.9; font-size:14px; }
.public-roadmap .roadmapCard__list { padding-inline-start:20px; }
.public-roadmap .roadmap__note { margin-top:24px; font-size:13px; }
.public-legal { max-width:900px; margin:50px auto; }
.public-legal h1 { font-size:clamp(28px,5vw,44px); color:#e8ca82; }
.public-legal section { padding:25px; margin-block:20px; border:1px solid var(--border); border-radius:18px; background:#ffffff03; line-height:1.9; }
.public-legal a { color:#e8ca82; text-decoration:underline; }
.public-theme-compare { position:relative; }
.public-theme-compare img { display:block; width:100%; }
.public-theme-compare__overlay { position:absolute; inset:0; clip-path:inset(0 50% 0 0); }
.public-theme-compare__range { width:100%; accent-color:#d9a743; }
.public-workflow-extra .detail-card__copy { padding:24px; }
html[dir=ltr] .features-page .feature-jump__indicator { right:auto; left:7px; }
html[dir=ltr] .public-body .hero__content { text-align:start; }
html[dir=ltr] .public-body .hero__title { font-size:clamp(36px,4.8vw,68px); }
html[dir=ltr] .public-body .platform__description { text-align:start; }
@media(max-width:1200px) {
  .public-header { grid-template-columns:140px minmax(0,1fr) auto; gap:10px; }
  .public-header .main-nav { gap:10px; }
  .public-header .main-nav a { font-size:12px; }
}
@media(max-width:1050px) {
  .public-header { grid-template-columns:1fr auto; grid-template-areas:'brand toggle' 'auth auth' 'nav nav'; padding-block:8px; }
  .public-header .menu-toggle { display:flex; grid-area:toggle; }
  .public-header .public-actions { justify-content:space-between; width:100%; }
  .public-header .main-nav { display:none; grid-area:nav; position:static; padding:14px; border:1px solid var(--border); border-radius:14px; background:#171612; flex-direction:column; align-items:stretch; }
  .public-header .main-nav.is-open { display:flex; }
  .public-header .main-nav a { font-size:15px; padding:9px; }
  .public-header .auth-button { width:auto; min-height:42px; }
  .public-body .site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .public-shell { width:calc(100% - 32px); padding-top:12px; }
  .public-header { margin-bottom:20px; }
  .public-body .site-footer__grid { grid-template-columns:1fr; }
  .public-roadmap { padding:20px; margin-block:44px; }
  .public-roadmap .roadmapTimeline { grid-template-columns:1fr; }
  .public-body .hero__title { overflow-wrap:anywhere; }
}

/* Content-led section sizing: translated copy and cards must never overlap. */
.public-body .hero,
.public-body .platform {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 0;
  gap: 40px;
}
.public-body .hero { padding-block: 48px; }
.public-body .hero__content { min-width: 0; }
.public-body .feature-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.public-body .feature-card h2 { white-space: normal; overflow-wrap: anywhere; }
.public-body .platform { grid-template-rows: auto auto; row-gap: 48px; }
.public-body .platform__intro { width: 100%; min-width: 0; padding: 0; }
.public-body .platform__description + .platform__description { margin-top: 14px; }
.public-body .hero__visual,
.public-body .platform__visual {
  min-height: 0;
  align-self: center;
  padding: 16px;
}
.public-body .hero__visual img,
.public-body .platform__device {
  position: relative;
  inset: auto;
  display: block;
  margin-inline: auto;
  max-width: 100%;
  height: auto;
  translate: none;
  transform: none;
}
.public-body .hero__visual img { width: min(100%, 588px); }
.public-body .platform__device { width: min(100%, 760px); animation: none; }
.public-body .hero__glow,
.public-body .orbit-scene,
.public-body .platform__dot-field,
.public-body .device-orbit {
  inset-inline-start: 50%;
  inset-inline-end: auto;
  max-width: 90%;
  translate: -50% 0;
  transform: none;
}
html[dir=rtl] .public-body .hero__glow,
html[dir=rtl] .public-body .orbit-scene,
html[dir=rtl] .public-body .platform__dot-field,
html[dir=rtl] .public-body .device-orbit { translate: 50% 0; }
.public-body .device-orbit { top: auto; bottom: 6%; width: 90%; height: 24%; }
.public-body .platform-features { align-self: start; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.public-body .demo-console { transform: none; }
.public-body .demo-features { width: min(100%, 1080px); margin: 36px auto 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-body .demo-feature:hover { transform: translateY(-3px); }
@media (max-width: 1050px) {
  .public-body .hero { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'content' 'visual'; gap: 20px; }
  .public-body .platform { grid-template-columns: minmax(0, 1fr); grid-template-areas: 'intro' 'visual' 'cards'; grid-template-rows: auto auto auto; gap: 32px; }
  .public-body .platform__visual { width: 100%; }
  .public-body .platform__intro { max-width: 720px; }
  .public-body .hero__visual { width: 100%; }
}
@media (max-width: 620px) {
  .public-body .hero { padding-block: 32px; }
  .public-body .feature-grid,
  .public-body .platform-features,
  .public-body .demo-features { grid-template-columns: minmax(0, 1fr); }
  .public-body .hero__visual,
  .public-body .platform__visual { padding: 8px; }
  .public-body .platform { row-gap: 28px; }
  .public-body .demo-features { margin-top: 28px; }
}
