/* SaaSless Forge — "The Monolith". Iron, ember, obsidian. Zero radii, no 1px lines, no soft shadows. */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');
:root{
  --s0:#0E0E0E;--s1:#131313;--s2:#1C1B1B;--s3:#201F1F;--s4:#2A2A2A;--s5:#353534;--s6:#3A3939;
  --amber:#FFB68C;--amber-hover:#FFDBC9;--iron:#B46531;--copper:#532200;
  --fg0:#FFFFFF;--cream:#F4F1EE;--fg1:#C8C6C6;--fg2:rgba(200,198,198,.72);--fg3:#8E9192;
  --outline:#8E9192;--stroke:#444748;--error:#FFB4AB;
  --head:'Space Grotesk',ui-sans-serif,system-ui,sans-serif;--body:'Inter',ui-sans-serif,system-ui,sans-serif;--mono:ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.2,0,0,1);
  /* legacy aliases used by the pages */
  --bg:var(--s1);--panel:var(--s3);--panel2:var(--s4);--ink:var(--cream);--muted:var(--fg1);--ember:var(--amber);--gold:var(--amber);--ok:var(--amber);--line:var(--stroke);--bad:var(--error)
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--s1);color:var(--cream);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:-.02em;line-height:1.02;margin:0;color:var(--fg0)}
h1{letter-spacing:-.04em}
h1 em,h2 em,.accent{font-style:normal;color:var(--amber)}
button,input,textarea{font-family:var(--body)}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:700;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream)}
.brand .mark{width:34px;height:24px;display:block;flex:none}
.brand .dot{display:none}
.muted{color:var(--fg1)}
.k{font-family:var(--head);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.btn{background:var(--amber);color:var(--copper);border:0;border-radius:0;font-family:var(--head);font-weight:700;font-size:16px;line-height:1;letter-spacing:.02em;padding:18px 24px;cursor:pointer;width:100%;transition:background .2s var(--ease),color .2s var(--ease)}
.btn:hover:not(:disabled){background:var(--amber-hover)}
.btn.ghost{background:transparent;border:2px solid var(--fg1);color:var(--fg1)}
.btn.ghost:hover:not(:disabled){background:var(--s5);color:var(--cream)}
.btn.sm{width:auto;padding:12px 16px;font-size:13px}
.btn:disabled{opacity:.5;cursor:default}
.btn:active:not(:disabled){background:var(--iron);color:var(--cream);transform:none}
.err{color:var(--error);font-size:14px;margin-top:10px;min-height:18px}
.hidden{display:none!important}
input,textarea{border-radius:0}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* phone-style demo renderer, shared by host + attendee screens. The frame is a steel plate; the bubbles depict a real text thread. */
.phone{width:340px;max-width:100%;margin:0 auto;background:var(--s0);border:4px solid var(--s5);border-radius:0;padding:22px 14px 18px;box-shadow:0 0 40px rgba(255,182,140,.12)}
.phone .ph{font-family:var(--head);text-align:center;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);padding-bottom:10px;border-bottom:2px solid var(--s4)}
.phone .msgs{height:400px;overflow:hidden;padding:12px 4px;display:flex;flex-direction:column;justify-content:flex-end;gap:9px}
.m{max-width:86%;padding:10px 13px;border-radius:0;font-size:15px;line-height:1.35;opacity:0;transform:translateY(8px);transition:.35s var(--ease);white-space:pre-line}
.m.in{opacity:1;transform:none}
.m.me{align-self:flex-end;background:var(--s5);color:var(--cream)}
.m.ai{align-self:flex-start;background:var(--amber);color:var(--copper)}
.m.sys{align-self:center;background:none;color:var(--fg3);font-size:12px;text-align:center;font-family:var(--head);letter-spacing:.06em;text-transform:uppercase}
.m.card{align-self:stretch;max-width:100%;background:var(--s3);border-left:4px solid var(--amber);color:var(--cream);font-size:13px;font-family:var(--mono)}
