.public-app { width: 100%; height: 100%; display: grid; grid-template: 64px minmax(0,1fr) / 248px minmax(0,1fr); overflow: hidden; background: var(--canvas); }
.public-nav { z-index: 30; grid-column: 1 / -1; display: grid; grid-template-columns: 248px 1fr auto; align-items: center; border-bottom: 1px solid var(--line); background: color-mix(in srgb,var(--panel) 92%,transparent); backdrop-filter: blur(16px); }
.public-brand { height: 64px; display: flex; align-items: center; gap: 10px; padding: 0 17px; border-right: 1px solid var(--line); color: var(--ink); text-decoration: none; }
.public-brand > svg { width: 30px; height: 30px; padding: 5px; border-radius: 9px; fill: white; stroke: none; background: #1f5b49; }
.public-brand > span { display: grid; }
.public-brand strong { font: 700 14px Manrope; }
.public-brand small { color: var(--muted); font-size: 8px; }
.public-nav > nav { display: flex; justify-content: center; gap: 25px; }
.public-nav a { color: var(--muted); font-size: 9px; font-weight: 700; text-decoration: none; }
.public-nav > nav a:hover { color: var(--green); }
.public-nav > div { display: flex; align-items: center; gap: 8px; padding-right: 14px; }
.theme-button, .menu-button { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; color: var(--muted); background: var(--panel-2); }
.theme-button svg { width: 14px; }
.sign-in { padding: 8px 10px; }
.start-button { display: flex; align-items: center; gap: 5px; padding: 8px 11px; border-radius: 8px; color: white !important; background: #1f5b49; }
.start-button svg, .public-end svg, .public-questions section svg { width: 12px; }
.menu-button { display: none; }
.public-questions { grid-row: 2; min-height: 0; display: flex; flex-direction: column; gap: 3px; padding: 18px 11px 13px; overflow-y: auto; border-right: 1px solid var(--line); background: var(--panel); }
.question-rail-head { display: flex; justify-content: space-between; padding: 0 8px 5px; color: var(--faint); font: 700 8px Manrope; letter-spacing: .1em; text-transform: uppercase; }
.question-rail-head button { display: none; }
.question-group { display: grid; gap: 2px; padding: 6px 0; border-top: 1px solid var(--line); }
.question-group > span { padding: 2px 8px 4px; color: var(--faint); font: 700 7px Manrope; letter-spacing: .08em; text-transform: uppercase; }
.question-group > button { display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 6px; padding: 7px 8px; border-radius: 8px; color: var(--muted); text-align: left; font-size: 8px; line-height: 1.3; }
.question-group > button span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 6px; color: var(--green); background: var(--green-soft); font-size: 9px; }
.question-group > button:hover, .question-group > button[aria-current="true"] { color: var(--ink); background: var(--panel-2); }
.question-group > button[aria-current="true"] { box-shadow: inset 3px 0 var(--green); }
.public-questions section { display: grid; gap: 6px; margin-top: auto; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); }
.public-questions section strong { font: 700 10px Manrope; }
.public-questions section p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.45; }
.public-questions section a { display: flex; align-items: center; gap: 5px; color: var(--green); font-size: 8px; font-weight: 700; text-decoration: none; }
.public-main { position: relative; grid-row: 2; min-width: 0; min-height: 0; overflow: hidden; }
.public-stage { position: absolute; inset: 0; padding: 58px 5vw 130px; overflow: auto; background-color: var(--canvas); background-image: radial-gradient(var(--line-strong) .7px,transparent .7px); background-size: 19px 19px; }
.public-intro { max-width: 770px; margin: 0 auto 42px; text-align: center; animation: public-rise .45s ease both; }
.public-intro > span { color: var(--green); font: 700 9px Manrope; letter-spacing: .12em; text-transform: uppercase; }
.public-intro h1 { max-width: 740px; margin: 10px auto 12px; font: 700 clamp(34px,4.5vw,64px)/1.02 Manrope; letter-spacing: -.055em; }
.public-intro > p { max-width: 610px; margin: 0 auto; color: var(--muted); font-size: 12px; line-height: 1.65; }
.public-intro > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.public-intro button { padding: 7px 11px; border: 1px solid var(--line); border-radius: 18px; color: var(--muted); background: var(--panel); font-size: 8px; }
.public-intro button:hover { border-color: var(--green); color: var(--green); transform: translateY(-1px); }
.public-canvas { width: min(1040px,100%); margin: 0 auto; display: grid; grid-template-columns: repeat(12,1fr); align-items: start; gap: 15px; }
.public-card { grid-column: span 4; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); box-shadow: 0 14px 40px rgba(24,43,35,.08); animation: public-card-in .48s cubic-bezier(.2,.8,.2,1) var(--delay) both; }
.public-card:first-child { grid-column: span 7; }
.public-card:nth-child(2) { grid-column: span 5; margin-top: 32px; }
.public-card:nth-child(3) { grid-column: 4 / span 6; }
.public-card > header, .public-card > footer { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; color: var(--faint); font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.public-card > header { border-bottom: 1px solid var(--line); font-weight: 700; }
.public-card > header i { padding: 2px 6px; border-radius: 8px; color: var(--green); background: var(--green-soft); font-style: normal; }
.public-card > footer { border-top: 1px solid var(--line); letter-spacing: 0; text-transform: none; }
.public-card-title { padding: 17px 17px 14px; }
.public-card-title h2 { margin: 0; font: 700 18px/1.2 Manrope; letter-spacing: -.025em; }
.public-card-title p { margin: 6px 0 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.public-metrics { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--line); }
.public-metrics div { display: grid; gap: 2px; padding: 15px; border-right: 1px solid var(--line); }
.public-metrics div:last-child { border: 0; }
.public-metrics strong { font: 700 22px Manrope; }
.public-metrics span { color: var(--faint); font-size: 7px; }
.demo-note { display: block; padding: 8px 12px; color: var(--faint); background: var(--panel-2); font-size: 7px; }
.public-tags, .public-actions { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 17px 15px; }
.public-tags span { padding: 5px 7px; border-radius: 7px; color: var(--green); background: var(--green-soft); font-size: 7px; font-weight: 700; }
.public-actions button { display: flex; align-items: center; gap: 5px; padding: 7px 9px; border-radius: 7px; color: var(--green); background: var(--green-soft); font-size: 8px; font-weight: 700; }
.public-actions svg { width: 11px; }
.public-flow { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 17px 17px; }
.public-flow span { display: flex; align-items: center; gap: 6px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: var(--panel-2); font-size: 8px; }
.public-flow b { width: 16px; height: 16px; display: grid; place-items: center; border-radius: 50%; color: var(--green); background: var(--green-soft); font-size: 6px; }
.public-list { display: grid; border-top: 1px solid var(--line); }
.public-list > div { display: grid; grid-template-columns: minmax(100px,1fr) 1.2fr; gap: 4px 12px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.public-list strong { font-size: 9px; }
.public-list span { color: var(--muted); font-size: 8px; }
.public-list small { grid-column: 2; color: var(--faint); font-size: 7px; }
.portfolio-list > div { grid-template-columns: 1fr auto auto; align-items: center; }
.portfolio-list small { grid-column: auto; }
.public-table { overflow-x: auto; border-top: 1px solid var(--line); }
.public-table > div { min-width: 510px; display: grid; grid-template-columns: 1.5fr 1.3fr .6fr .7fr; border-bottom: 1px solid var(--line); }
.public-table strong, .public-table span { padding: 8px 10px; color: var(--muted); font-size: 7px; text-align: left; }
.public-table strong { color: var(--faint); background: var(--panel-2); text-transform: uppercase; }
.campaign-demo { padding: 0 14px 15px; }
.campaign-demo-progress { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; }
.campaign-demo-progress > span { height: 6px; flex: 1; overflow: hidden; border-radius: 5px; background: var(--panel-2); }
.campaign-demo-progress i { display: block; height: 100%; background: var(--green); }
.campaign-demo-progress strong { color: var(--faint); font-size: 7px; }
.campaign-demo > div:last-child { display: grid; grid-template-columns: repeat(2,1fr); gap: 6px; }
.campaign-demo > div:last-child > span { display: grid; grid-template-columns: 7px 1fr; gap: 2px 7px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; }
.campaign-demo > div:last-child i { grid-row: 1 / span 2; width: 7px; height: 7px; margin-top: 3px; border-radius: 50%; background: var(--line-strong); }
.campaign-demo > div:last-child i.ready { background: var(--green); }
.campaign-demo > div:last-child i.building { background: var(--blue); }
.campaign-demo b { font-size: 8px; }
.campaign-demo small { color: var(--faint); font-size: 7px; }
.public-end { width: min(1040px,100%); margin: 46px auto 0; display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.public-end span { font: 700 15px Manrope; }
.public-end a { display: flex; align-items: center; gap: 6px; color: white; padding: 9px 12px; border-radius: 8px; background: #1f5b49; font-size: 8px; font-weight: 700; text-decoration: none; }
.public-composer { position: absolute; z-index: 20; right: 20px; bottom: 18px; left: 20px; max-width: 700px; margin: auto; display: grid; grid-template-columns: 36px 1fr 38px; align-items: center; gap: 9px; padding: 8px; border: 1px solid var(--line-strong); border-radius: 14px; background: color-mix(in srgb,var(--panel) 92%,transparent); box-shadow: 0 16px 48px rgba(18,32,25,.18); backdrop-filter: blur(15px); }
.composer-mark { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: white; background: #1f5b49; font-size: 7px; font-weight: 800; }
.public-composer label { display: grid; }
.public-composer label span { color: var(--faint); font-size: 6px; font-weight: 700; text-transform: uppercase; }
.public-composer input { width: 100%; padding: 2px 0; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 10px; }
.public-composer > button { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; color: white; background: #1f5b49; }
.public-composer > button svg { width: 14px; }
.public-composer > p { grid-column: 1 / -1; margin: 0; padding: 8px 9px 3px; border-top: 1px solid var(--line); color: var(--muted); font-size: 8px; }
.public-composer > p a { color: var(--green); font-weight: 700; }
.public-scrim { display: none; }
@keyframes public-rise { from { opacity: 0; transform: translateY(10px); } }
@keyframes public-card-in { from { opacity: 0; transform: translateY(18px) scale(.985); } }
@media (max-width: 900px) {
  .public-nav { grid-template-columns: 220px 1fr; }
  .public-nav > nav { display: none; }
  .public-app { grid-template-columns: 220px 1fr; }
  .public-card:first-child, .public-card:nth-child(2), .public-card:nth-child(3) { grid-column: span 12; margin-top: 0; }
}
@media (max-width: 700px) {
  .public-app { display: block; padding-top: 56px; }
  .public-nav { position: fixed; inset: 0 0 auto; height: 56px; display: flex; justify-content: space-between; }
  .public-brand { height: 56px; border: 0; }
  .public-brand small, .sign-in { display: none; }
  .public-nav > div { margin-left: auto; padding-right: 9px; }
  .start-button { display: none; }
  .menu-button { display: grid; }
  .public-questions { position: fixed; z-index: 50; inset: 0 auto 0 0; width: 250px; transform: translateX(-100%); transition: transform .2s ease; }
  .public-questions.open { transform: translateX(0); box-shadow: 20px 0 50px rgba(0,0,0,.25); }
  .question-rail-head button { display: block; color: var(--muted); font-size: 18px; }
  .public-main { width: 100%; height: calc(100vh - 56px); }
  .public-stage { padding: 38px 16px 120px; }
  .public-intro { margin-bottom: 28px; text-align: left; }
  .public-intro h1 { margin-inline: 0; font-size: 39px; }
  .public-intro > p { margin-inline: 0; }
  .public-intro > div { justify-content: flex-start; }
  .public-canvas { display: grid; }
  .public-card:first-child, .public-card:nth-child(2), .public-card:nth-child(3) { grid-column: 1; width: 100%; }
  .public-end { display: grid; gap: 12px; }
  .public-end a { width: fit-content; }
  .public-composer { right: 9px; bottom: 9px; left: 9px; }
  .public-scrim { position: fixed; z-index: 45; inset: 0; display: block; opacity: 0; pointer-events: none; background: rgba(9,15,11,.42); transition: opacity .2s ease; }
  .public-scrim.visible { opacity: 1; pointer-events: auto; }
}
@media (prefers-reduced-motion: reduce) { .public-intro, .public-card { animation-duration: .01ms !important; } }
