/* theloop.chat — one-pager + docs shell. Layers on ds/styles.css tokens. */

/* ---------- Shared shell ---------- */
.container{max-width:var(--container-max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}

.site-nav{position:sticky;top:0;z-index:30;background:var(--surface-glass);backdrop-filter:var(--blur-glass);-webkit-backdrop-filter:var(--blur-glass);border-bottom:1px solid var(--border-subtle)}
.site-nav__inner{height:64px;display:flex;align-items:center;gap:var(--sp-9)}
.site-nav__logo{height:26px;display:block}
.site-nav__links{display:flex;gap:var(--sp-7);flex:1}
.site-nav__links a{font:var(--text-ui);color:var(--fg-2)}
.site-nav__links a:hover{color:var(--fg-1);text-decoration:none}
.site-nav__actions{display:flex;align-items:center;gap:var(--sp-5)}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border-subtle)}
.hero__glow{position:absolute;top:-260px;right:-160px;width:640px;height:640px;border-radius:50%;background:var(--grad-loop);filter:blur(140px);opacity:.18;pointer-events:none}
.hero__inner{position:relative;padding-top:var(--sp-14);padding-bottom:var(--sp-13);display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-12);align-items:center}
.hero__copy{display:flex;flex-direction:column;gap:var(--sp-7)}
.eyebrow{font:var(--text-eyebrow);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-brand)}
.hero h1{font:var(--text-display-2);letter-spacing:var(--ls-tighter)}
.hero__lead{font:var(--text-lead);color:var(--fg-3);max-width:46ch}
.hero__ctas{display:flex;gap:var(--sp-5);align-items:center;flex-wrap:wrap}
.hero__stats{display:flex;gap:var(--sp-8);padding-top:var(--sp-5);font:var(--text-caption);color:var(--fg-3);flex-wrap:wrap}
.hero__stats strong{color:var(--fg-1);font:var(--text-ui)}
.hero__code{display:flex;flex-direction:column;gap:var(--sp-5);min-width:0}
.hero__code-caption{font:var(--text-caption);color:var(--fg-4);text-align:right}

/* ---------- Sections ---------- */
.section{padding-top:var(--sp-14);padding-bottom:var(--sp-14)}
.section--sunken{background:var(--surface-sunken);border-top:1px solid var(--border-subtle)}
.section__head{display:flex;flex-direction:column;gap:var(--sp-5);max-width:56ch;margin-bottom:var(--sp-11)}
.section__head--center{align-items:center;text-align:center;margin-left:auto;margin-right:auto}
.section__head h2{font:var(--text-h2);letter-spacing:var(--ls-tight)}
.section__head p{font:var(--text-body);color:var(--fg-3)}

/* ---------- Image placeholders ---------- */
.tour{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6)}
.tour__wide{grid-column:1 / -1}
.placeholder{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--elev-card);overflow:hidden}
.placeholder__frame{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);background:var(--surface-inset);border-bottom:1px solid var(--border-subtle);min-height:220px;margin:var(--sp-5);margin-bottom:0;border:1.5px dashed var(--border-strong);border-radius:var(--r-8);color:var(--fg-4);text-align:center;padding:var(--sp-8)}
.tour__wide .placeholder__frame{min-height:340px}
.placeholder__frame svg{width:28px;height:28px;stroke-width:1.75}
.placeholder__frame-label{font:var(--text-ui-sm);color:var(--fg-3)}
.placeholder__frame-note{font:var(--text-caption);color:var(--fg-4);max-width:52ch}
.placeholder__shot{margin:var(--sp-5);margin-bottom:0;border-radius:var(--r-8);border:1px solid var(--border-subtle);overflow:hidden;background:var(--surface-inset)}
.placeholder__shot img{display:block;width:100%;height:auto}
.placeholder__body{padding:var(--sp-6) var(--sp-6) var(--sp-7)}
.placeholder__title{font:var(--text-h5);letter-spacing:var(--ls-tight);margin-bottom:var(--sp-2)}
.placeholder__desc{font:var(--text-body-sm);color:var(--fg-3)}

/* ---------- Feature grid ---------- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}
.feature{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--elev-card);padding:var(--pad-card);transition:var(--t-all)}
.feature:hover{box-shadow:var(--elev-card-hover);transform:translateY(var(--lift-y));border-color:var(--border-default)}
.feature__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--r-10);background:var(--surface-brand-soft);color:var(--cobalt-600);margin-bottom:var(--sp-6)}
.feature__icon svg{width:19px;height:19px;stroke-width:1.75}
.feature h3{font:var(--text-h5);letter-spacing:var(--ls-tight);margin-bottom:var(--sp-3)}
.feature p{font:var(--text-body-sm);color:var(--fg-3)}

/* ---------- Ink platform strip ---------- */
.platforms{background:var(--surface-ink);color:var(--n-300)}
.platforms__inner{padding-top:var(--sp-12);padding-bottom:var(--sp-12);display:grid;grid-template-columns:280px 1fr;gap:var(--sp-12);align-items:center}
.platforms__intro{display:flex;flex-direction:column;gap:var(--sp-5)}
.platforms__intro h2{font:var(--text-h3);color:var(--n-0);letter-spacing:var(--ls-tight)}
.platforms__intro p{font:var(--text-body-sm);color:var(--n-400)}
.platforms__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--sp-5)}
.platform{padding:var(--sp-6);border-radius:var(--radius-card);border:1px solid var(--border-ink);display:flex;flex-direction:column;gap:var(--sp-4)}
.platform__icon{color:var(--cobalt-300)}
.platform__icon svg{width:20px;height:20px;stroke-width:1.75}
.platform__name{font:var(--text-ui);color:var(--n-0)}
.platform__meta{font:var(--text-caption);color:var(--n-500)}

/* ---------- Pricing (placeholder) ---------- */
.pricing-banner{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);width:fit-content;margin:0 auto;padding:var(--sp-3) var(--sp-6) var(--sp-3) var(--sp-3);border-radius:var(--r-full,999px);background:var(--surface-brand-soft);border:1px solid var(--border-brand);font:var(--text-body-sm);color:var(--fg-2);text-align:left}
.pricing-banner__badge{flex:none;font:var(--text-ui-sm);color:#fff;background:var(--surface-brand);padding:var(--sp-2) var(--sp-5);border-radius:999px}
.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6);align-items:start}
.plan{display:flex;flex-direction:column;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--elev-card);padding:var(--pad-card)}
.plan--featured{box-shadow:var(--shadow-3);outline:1.5px solid var(--cobalt-500)}
.plan__head{display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5)}
.plan__name{font:var(--text-ui);color:var(--fg-1)}
.plan__badge{display:inline-flex;align-items:center;height:22px;padding:0 var(--sp-4);border-radius:var(--r-pill);font:var(--text-ui-sm);font-size:var(--fs-12);background:var(--surface-brand-soft);color:var(--cobalt-700)}
.plan__price{font:var(--text-h2);letter-spacing:var(--ls-tight);color:var(--fg-1)}
.plan__meta{display:block;font:var(--text-caption);color:var(--fg-3);margin-top:var(--sp-2);margin-bottom:var(--sp-6)}
.plan__limits{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:var(--surface-sunken);border-radius:var(--r-8);margin-bottom:var(--sp-6)}
.plan__limit{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4)}
.plan__limit span{font:var(--text-caption);color:var(--fg-3)}
.plan__limit code{font:var(--text-code-sm);color:var(--fg-1);background:none;padding:0}
.plan__cta{width:100%;margin-bottom:var(--sp-7)}
.plan__features{display:flex;flex-direction:column;gap:var(--sp-4);margin:0;padding:0;list-style:none}
.plan__features li{display:flex;align-items:center;gap:var(--sp-4);font:var(--text-body-sm);color:var(--fg-2)}
.plan__features svg{width:16px;height:16px;flex:none;color:var(--mint-500)}
.pricing__note{display:block;text-align:center;font:var(--text-caption);color:var(--fg-4);margin-top:var(--sp-9)}

/* ---------- Developers / docs section ---------- */
.devdocs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-6)}
.devdoc{display:flex;flex-direction:column;gap:var(--sp-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--elev-card);padding:var(--pad-card-sm) var(--pad-card-sm) var(--sp-7);transition:var(--t-all);color:inherit}
.devdoc:hover{box-shadow:var(--elev-card-hover);transform:translateY(var(--lift-y));border-color:var(--border-default);text-decoration:none;color:inherit}
.devdoc__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--r-8);background:var(--surface-brand-soft);color:var(--cobalt-600)}
.devdoc__icon svg{width:16px;height:16px;stroke-width:1.75}
.devdoc__title{font:var(--text-ui);color:var(--fg-1)}
.devdoc__desc{font:var(--text-caption);color:var(--fg-3)}
.devdocs__cta{display:flex;justify-content:center;margin-top:var(--sp-9)}

/* ---------- Buttons (static-site build of .lc-btn) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-inline);font:var(--text-ui);letter-spacing:var(--ls-tight);border:1px solid transparent;border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;text-decoration:none;transition:var(--t-all);height:40px;padding:0 var(--sp-6)}
.btn:hover{text-decoration:none}
.btn:active{transform:scale(var(--press-scale))}
.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.btn--sm{height:32px;padding:0 var(--sp-5);font:var(--text-ui-sm);border-radius:var(--radius-control-sm)}
.btn--lg{height:48px;padding:0 var(--sp-7);font-size:var(--fs-15)}
.btn--primary{background:var(--surface-brand);color:var(--fg-invert);box-shadow:var(--shadow-brand)}
.btn--primary:hover{background:var(--brand-hover);color:var(--fg-invert)}
.btn--primary:active{background:var(--brand-press)}
.btn--secondary{background:var(--surface-card);color:var(--fg-1);border-color:var(--border-default);box-shadow:var(--shadow-1)}
.btn--secondary:hover{background:var(--neutral-hover);border-color:var(--border-strong);color:var(--fg-1)}
.btn--secondary:active{background:var(--neutral-press)}
.btn--ghost{background:transparent;color:var(--fg-2)}
.btn--ghost:hover{background:var(--neutral-hover);color:var(--fg-1)}
.btn--ghost:active{background:var(--neutral-press)}
.btn svg{width:16px;height:16px;stroke-width:1.75}

/* ---------- Code block (static build of .lc-code) ---------- */
.code{position:relative;background:var(--code-bg);color:var(--code-fg);border-radius:var(--radius-card);border:1px solid rgb(255 255 255 / .07);overflow:hidden}
.code__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid rgb(255 255 255 / .07)}
.code__lang{font:var(--text-code-sm);color:var(--n-400);letter-spacing:var(--ls-wide);text-transform:uppercase}
.code pre{margin:0;padding:var(--sp-6);overflow:auto;font:var(--text-code);tab-size:2}
.code .tk-key{color:var(--code-token-key)}
.code .tk-str{color:var(--code-token-string)}
.code .tk-com{color:var(--code-token-comment)}
.code .tk-fn{color:var(--code-token-fn)}

/* ---------- Footer ---------- */
.site-footer{background:var(--surface-ink);color:var(--n-400)}
.site-footer__grid{padding-top:var(--sp-12);padding-bottom:var(--sp-9);display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--sp-9)}
.site-footer__brand{display:flex;flex-direction:column;gap:var(--sp-6)}
.site-footer__brand img{height:24px;align-self:flex-start}
.site-footer__brand p{font:var(--text-body-sm);color:var(--n-500);max-width:32ch}
.site-footer__col{display:flex;flex-direction:column;gap:var(--sp-4)}
.site-footer__head{font:var(--text-eyebrow);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--n-600)}
.site-footer__col a{font:var(--text-body-sm);color:var(--n-400)}
.site-footer__col a:hover{color:var(--n-0);text-decoration:none}
.site-footer__legal{border-top:1px solid var(--border-ink)}
.site-footer__legal-inner{padding-top:var(--sp-6);padding-bottom:var(--sp-6);display:flex;justify-content:space-between;font:var(--text-caption);color:var(--n-600)}
.site-footer__legal a{color:var(--n-600)}
.site-footer__legal a:hover{color:var(--n-300);text-decoration:none}

/* ---------- Docs shell ---------- */
.docs-layout{display:flex;align-items:flex-start}
.docs-nav{width:260px;flex:none;border-right:1px solid var(--border-subtle);padding:var(--sp-8) var(--sp-5);background:var(--surface-card);height:calc(100vh - 64px);position:sticky;top:64px;overflow-y:auto}
.docs-nav__group{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--sp-5)}
.docs-nav__label{padding:var(--sp-5) var(--sp-5) var(--sp-3);font:var(--text-eyebrow);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-4)}
.docs-nav__item{display:flex;align-items:center;gap:var(--sp-5);width:100%;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-8);font:var(--text-ui);color:var(--fg-2);transition:var(--t-color)}
.docs-nav__item:hover{background:var(--neutral-hover);color:var(--fg-1);text-decoration:none}
.docs-nav__item[aria-current=page]{background:var(--surface-brand-soft);color:var(--cobalt-700);font-weight:var(--fw-semibold)}
.docs-article{flex:1;min-width:0;max-width:820px;padding:var(--sp-11) var(--sp-11) var(--sp-14)}
.docs-toc{width:200px;flex:none;padding:var(--sp-11) 0;position:sticky;top:64px;align-self:flex-start}
.docs-toc__label{display:block;font:var(--text-eyebrow);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--fg-4);margin-bottom:var(--sp-5)}
.docs-toc__items{display:flex;flex-direction:column;gap:var(--sp-4)}
.docs-toc__items a{font:var(--text-body-sm);color:var(--fg-3)}
.docs-toc__items a:hover{color:var(--fg-1)}
.docs-header__badge{display:inline-flex;align-items:center;height:22px;padding:0 var(--sp-4);border-radius:var(--r-pill);font:var(--text-ui-sm);font-size:var(--fs-12);background:var(--surface-inset);color:var(--fg-3)}

/* ---------- Docs prose (rendered markdown) ---------- */
.docs-prose{display:flex;flex-direction:column;gap:var(--sp-6)}
.docs-prose h1{font:var(--text-h2);letter-spacing:var(--ls-tight)}
.docs-prose h1 code{font:var(--fw-medium) var(--fs-16)/1.4 var(--font-mono);vertical-align:middle;padding:var(--sp-2) var(--sp-3)}
.docs-prose h2 code{font:var(--fw-medium) var(--fs-18)/1.35 var(--font-mono);vertical-align:middle;padding:var(--sp-1) var(--sp-3)}
.docs-prose h3 code{font:var(--fw-medium) var(--fs-15)/1.35 var(--font-mono);vertical-align:middle;padding:var(--sp-1) var(--sp-3)}
.docs-prose h2{font:var(--text-h4);letter-spacing:var(--ls-tight);margin-top:var(--sp-9)}
.docs-prose h3{font:var(--text-h5);letter-spacing:var(--ls-tight);margin-top:var(--sp-6)}
.docs-prose h4{font:var(--text-ui);margin-top:var(--sp-4)}
.docs-prose p{font:var(--text-body);color:var(--fg-2);max-width:var(--container-prose)}
.docs-prose ul,.docs-prose ol{margin:0;padding-left:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-3);font:var(--text-body);color:var(--fg-2);max-width:var(--container-prose)}
.docs-prose li>ul,.docs-prose li>ol{margin-top:var(--sp-3)}
.docs-prose blockquote{margin:0;padding:var(--sp-5) var(--sp-6);border-radius:var(--radius-card);background:var(--surface-brand-soft);font:var(--text-body-sm);color:var(--n-800);max-width:var(--container-prose)}
.docs-prose blockquote p{font:var(--text-body-sm);color:inherit}
.docs-prose code{font:var(--text-code-sm);background:var(--surface-inset);border-radius:var(--r-4);padding:1px var(--sp-2);color:var(--fg-1)}
.docs-prose pre{margin:0;background:var(--code-bg);color:var(--code-fg);border-radius:var(--radius-card);border:1px solid rgb(255 255 255 / .07);padding:var(--sp-6);overflow:auto;font:var(--text-code);tab-size:2}
.docs-prose pre code{background:none;border-radius:0;padding:0;color:inherit;font:inherit}
.docs-prose table{border-collapse:collapse;width:100%;font:var(--text-body-sm)}
.docs-prose th{text-align:left;font:var(--text-ui-sm);color:var(--fg-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-default)}
.docs-prose td{padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-subtle);color:var(--fg-2);vertical-align:top}
.docs-prose td code,.docs-prose th code{white-space:nowrap}
.docs-prose hr{border:0;border-top:1px solid var(--border-subtle);margin:var(--sp-5) 0}
.docs-prose img{max-width:100%}
.docs-prose .table-scroll{overflow-x:auto}

.docs-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--sp-11);padding-top:var(--sp-8);border-top:1px solid var(--border-subtle);font:var(--text-caption);color:var(--fg-3)}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero__inner{grid-template-columns:1fr;padding-top:var(--sp-12)}
  .features{grid-template-columns:1fr 1fr}
  .platforms__inner{grid-template-columns:1fr;gap:var(--sp-8)}
  .platforms__grid{grid-template-columns:repeat(2,1fr)}
  .devdocs{grid-template-columns:1fr 1fr}
  .pricing{grid-template-columns:1fr 1fr}
  .tour{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr 1fr}
  .site-nav__links{display:none}
  .docs-toc{display:none}
  .docs-nav{display:none}
}
@media (max-width:600px){
  .features{grid-template-columns:1fr}
  .devdocs{grid-template-columns:1fr}
  .platforms__grid{grid-template-columns:1fr}
  .site-footer__grid{grid-template-columns:1fr}
  .pricing{grid-template-columns:1fr}
}
