:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-paper:#070e0e;--color-paper-2:#0d1617;--color-paper-3:#141e1f;--color-paper-4:#1c2627;--color-ink:#eaf0f0;--color-ink-2:#cbd3d4;--color-muted:#96a1a2;--color-faint:#8a9496;--color-rule:#263031;--color-rule-2:#637274;--color-accent:#27d271;--color-accent-ink:#09180d;--color-accent-dim:#27d2711f;--color-accent-hi:#61e68f;--color-focus:#00d7e8;--color-danger:#f3625d;--color-danger-dim:#f3625d1f;--color-code:#091112;--color-code-rule:#212b2c;--font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--font-body:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--step-hero:clamp(2.5rem, 5vw + .6rem, 4.5rem);--step-section:clamp(1.6rem, 2.6vw + .4rem, 2.25rem);--step-lede:clamp(1.0625rem, .7vw + .55rem, 1.25rem);--step-body:1.0625rem;--step-code:.8125rem;--step-small:.75rem;--step-nano:.6875rem;--tracking-display:-.028em;--tracking-snug:-.014em;--tracking-label:.08em;--weight-body:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--leading-tight:1.06;--leading-snug:1.2;--leading-body:1.62;--measure:62ch;--gutter:clamp(1.15rem, 4vw, 3.25rem);--maxw:1140px;--section-y:clamp(4.5rem, 9vw, 7.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--rule:1px;--dur-quiet:.16s;--ease-out:cubic-bezier(.16, 1, .3, 1)}@supports (color:lab(0% 0 0)){:root{--color-paper:lab(3.41921% -1.80324 -1.06136);--color-paper-2:lab(6.29425% -3.20733 -1.88151);--color-paper-3:lab(10.2254% -4.22859 -2.25538);--color-paper-4:lab(14.2946% -4.53423 -2.41919);--color-ink:lab(94.2548% -1.82903 -.980973);--color-ink-2:lab(83.842% -2.74184 -1.4697);--color-muted:lab(65.3091% -3.65192 -1.95599);--color-faint:lab(60.6691% -3.65135 -1.95543);--color-rule:lab(18.9261% -4.23999 -2.26417);--color-rule-2:lab(46.8028% -5.4636 -2.92118);--color-accent:lab(74.5651% -59.0897 35.5667);--color-accent-ink:lab(6.5299% -7.28903 4.12518);--color-accent-dim:lab(74.5651% -59.0897 35.5667/.12);--color-accent-hi:lab(82.4582% -52.4626 31.3455);--color-focus:lab(78.0866% -44.152 -23.5353);--color-danger:lab(61.0965% 56.6147 33.1618);--color-danger-dim:lab(61.0965% 56.6147 33.1618/.12);--color-code:lab(4.51067% -2.36691 -1.39243);--color-code-rule:lab(16.6059% -4.23759 -2.26226)}}*,:before,:after{box-sizing:border-box}html,body{overflow-x:clip}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{color:var(--color-ink-2);background:var(--color-paper);font-family:var(--font-body);font-size:var(--step-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}html{background:var(--color-paper);color:var(--color-ink-2)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-ink);font-weight:var(--weight-semi);letter-spacing:var(--tracking-snug);line-height:var(--leading-tight);overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent-dim)}.shell{max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.mono-label{font-family:var(--font-mono);font-size:var(--step-small);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-muted);line-height:1.1}.num{font-variant-numeric:tabular-nums}.skip-link{background:var(--color-accent);color:var(--color-accent-ink);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--step-small);z-index:200;border-radius:var(--radius-md);align-items:center;min-height:44px;line-height:1.4;display:inline-flex;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--space-4);top:var(--space-4)}.btn{font-family:var(--font-body);font-size:var(--step-body);font-weight:var(--weight-medium);border-radius:var(--radius-md);cursor:pointer;border:var(--rule) solid transparent;transition:background-color var(--dur-quiet) var(--ease-out), border-color var(--dur-quiet) var(--ease-out), color var(--dur-quiet) var(--ease-out);white-space:nowrap;justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:.6rem 1.1rem;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink)}.btn--primary:hover{background:var(--color-accent-hi)}.btn--ghost{color:var(--color-ink);border-color:var(--color-rule-2);background:0 0}.btn--ghost:hover{border-color:var(--color-ink);background:var(--color-paper-3)}.btn--quiet{color:var(--color-ink-2);background:0 0;min-height:44px;padding:.35rem .6rem}.btn--quiet:hover{color:var(--color-ink);background:var(--color-paper-3)}.btn[disabled]{opacity:.55;cursor:not-allowed}.card{background:var(--color-paper-3);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-lg)}.code{background:var(--color-code);border:var(--rule) solid var(--color-code-rule);border-radius:var(--radius-lg);font-family:var(--font-mono);font-size:var(--step-code);overflow:hidden}.code__label{border-bottom:var(--rule) solid var(--color-code-rule);padding:var(--space-2) var(--space-4);font-size:var(--step-nano);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-faint);font-family:var(--font-mono)}.code__body{padding:var(--space-4);color:var(--color-ink-2);line-height:1.7;overflow-x:auto}.code__body pre{margin:0;font-family:inherit}
input,textarea,select,button{font-family:var(--font-body);font-size:var(--step-body)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav{top:var(--space-4);z-index:100;padding-inline:var(--gutter);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed;left:0;right:0}.nav__inner{pointer-events:auto;align-items:center;gap:var(--space-5);width:100%;max-width:720px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-5);background:var(--color-paper-3);border:var(--rule) solid var(--color-rule);border-radius:999px;display:flex;box-shadow:0 6px 20px #00000059;box-shadow:0 6px 20px lab(0% 0 0/.35)}.nav__brand{align-items:center;gap:var(--space-2);min-height:44px;color:var(--color-ink);font-family:var(--font-mono);font-weight:500;font-size:var(--step-body);letter-spacing:var(--tracking-snug);white-space:nowrap;padding-inline-end:var(--space-2);text-decoration:none;display:inline-flex}.nav__brand:hover{color:var(--color-accent);text-decoration:none}.nav__brand-mark{background:var(--color-accent);border-radius:2px;flex:none;width:10px;height:10px}.nav__links{align-items:center;gap:var(--space-1);flex:1;display:flex}.nav__link{color:var(--color-ink-2);font-size:var(--step-body);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap;transition:color var(--dur-quiet) var(--ease-out), background-color var(--dur-quiet) var(--ease-out);align-items:center;text-decoration:none;display:inline-flex}.nav__link:hover{color:var(--color-ink);background:var(--color-paper-4);text-decoration:none}.nav__actions{align-items:center;gap:var(--space-1);display:flex}.nav__cta{font-size:var(--step-small);min-height:44px;padding:.45rem .9rem}.nav__signin{font-size:var(--step-small)}.nav__burger{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:none}.nav__burger-bars,.nav__burger-bars:before,.nav__burger-bars:after{content:"";background:var(--color-ink);width:18px;height:2px;transition:transform var(--dur-quiet) var(--ease-out), opacity var(--dur-quiet) var(--ease-out);border-radius:1px;display:block}.nav__burger-bars{position:relative}.nav__burger-bars:before{position:absolute;top:-6px;left:0}.nav__burger-bars:after{position:absolute;top:6px;left:0}.nav__burger-bars.is-open{background:0 0}.nav__burger-bars.is-open:before{transform:translateY(6px)rotate(45deg)}.nav__burger-bars.is-open:after{transform:translateY(-6px)rotate(-45deg)}.nav__sheet[hidden]{display:none}.nav__sheet{pointer-events:auto;margin-top:var(--space-2);background:var(--color-paper-3);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-lg);width:100%;max-width:720px;padding:var(--space-2);flex-direction:column;display:flex}.nav__sheet-link{padding:var(--space-3) var(--space-4);min-height:44px;color:var(--color-ink-2);border-radius:var(--radius-sm);font-size:var(--step-body);align-items:center;text-decoration:none;display:flex}.nav__sheet-link:hover{background:var(--color-paper-4);color:var(--color-ink);text-decoration:none}.nav__email{font-family:var(--font-mono);font-size:var(--step-nano);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;max-width:20ch;overflow:hidden}.nav__signout,.nav__sheet-signout{margin:0;display:inline-flex}.nav__sheet-signout{border-top:var(--rule) solid var(--color-rule);padding-top:var(--space-3);flex-direction:column;align-items:stretch}.nav__sheet-email{font-family:var(--font-mono);font-size:var(--step-nano);color:var(--color-muted);padding:0 var(--space-4) var(--space-2);overflow-wrap:anywhere}.nav__sheet-link--btn{font:inherit;cursor:pointer;text-align:left;width:100%;color:var(--color-ink-2);background:0 0;border:0}@media (max-width:640px){.nav__email{display:none}}.footer{border-top:var(--rule) solid var(--color-rule);padding-block:var(--space-6)}.footer__row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.footer__mark{font-family:var(--font-mono);color:var(--color-ink);font-size:var(--step-small);align-items:center;min-height:44px;font-weight:500;text-decoration:none;display:inline-flex}.footer__mark:hover{color:var(--color-accent);text-decoration:none}.footer__line{color:var(--color-muted);font-size:var(--step-small)}.footer__link{color:var(--color-ink-2);font-size:var(--step-small);justify-content:center;align-items:center;min-width:44px;min-height:44px;text-decoration:none;display:inline-flex}.footer__link:hover{color:var(--color-accent);text-decoration:none}.footer__sep{color:var(--color-faint);font-size:var(--step-small)}.chat{background:var(--color-paper-2);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-lg);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.chat__list{padding:var(--space-5);gap:var(--space-5);flex-direction:column;flex:1;min-height:0;margin:0;list-style:none;display:flex;overflow-y:auto}.chat__msg{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.chat__who{font-size:var(--step-nano)}.chat__msg--user .chat__who{color:var(--color-accent)}.chat__bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);line-height:var(--leading-body);overflow-wrap:anywhere;max-width:min(68ch,100%)}.chat__msg--user .chat__bubble{background:var(--color-accent-dim);color:var(--color-ink);border:var(--rule) solid #27d27159;align-self:flex-end}@supports (color:lab(0% 0 0)){.chat__msg--user .chat__bubble{border:var(--rule) solid lab(74.5651% -59.0897 35.5667/.35)}}.chat__msg--assistant .chat__bubble{background:var(--color-paper-3);border:var(--rule) solid var(--color-rule);align-self:flex-start}.chat__composer-wrap{border-top:var(--rule) solid var(--color-rule);background:var(--color-paper);padding:var(--space-4) var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.chat__composer{gap:var(--space-3);align-items:flex-end;display:flex}.chat__field{flex:1;min-width:0}.chat__input{resize:vertical;width:100%;font-family:var(--font-body);font-size:var(--step-body);color:var(--color-ink);background:var(--color-paper-3);border:var(--rule) solid var(--color-rule-2);border-radius:var(--radius-md);padding:var(--space-3);min-height:44px;transition:border-color var(--dur-quiet) var(--ease-out);line-height:1.5}.chat__input::placeholder{color:var(--color-faint)}.chat__input:focus{border-color:var(--color-accent);outline-offset:1px}.chat__status{font-family:var(--font-mono);font-size:var(--step-small);color:var(--color-muted);align-items:center;gap:var(--space-2);display:flex}.chat__status--error{color:var(--color-danger)}.chat__dots{gap:3px;display:inline-flex}.chat__dots i{background:var(--color-accent);border-radius:50%;width:4px;height:4px;display:block}.chat__dots i:nth-child(2){animation:.6s ease-out .12s infinite yusus-pulse}.chat__dots i:nth-child(3){animation:.6s ease-out .24s infinite yusus-pulse}@keyframes yusus-pulse{0%,to{opacity:.3}50%{opacity:1}}.chat__footer{font-family:var(--font-mono);font-size:var(--step-nano);color:var(--color-faint)}.page{flex-direction:column;min-height:100vh;padding-top:96px;display:flex}.page--chat{height:100dvh;overflow:hidden}.page__body{flex-direction:column;flex:1;min-height:0;display:flex}.auth{gap:var(--space-5);flex-direction:column;width:100%;max-width:440px;margin-inline:auto;display:flex}.auth__head{gap:var(--space-3);flex-direction:column;display:flex}.auth__form{gap:var(--space-4);flex-direction:column;display:flex}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--step-small);color:var(--color-ink-2);font-weight:var(--weight-medium)}.field__input{font-family:var(--font-body);font-size:var(--step-body);color:var(--color-ink);background:var(--color-paper-3);border:var(--rule) solid var(--color-rule-2);border-radius:var(--radius-md);padding:var(--space-3);width:100%;min-height:44px;transition:border-color var(--dur-quiet) var(--ease-out)}.field__input::placeholder{color:var(--color-faint)}.field__input:focus{border-color:var(--color-accent);outline-offset:1px}.field__input[aria-invalid=true]{border-color:var(--color-danger)}.field__err{font-size:var(--step-small);color:var(--color-danger)}.field__note{font-size:var(--step-nano);color:var(--color-faint);font-family:var(--font-mono)}.form__alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-danger-dim);border:var(--rule) solid #f3625d66;color:var(--color-ink);font-size:var(--step-small)}@supports (color:lab(0% 0 0)){.form__alert{border:var(--rule) solid lab(61.0965% 56.6147 33.1618/.4)}}.form__ok{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-accent-dim);border:var(--rule) solid #27d27166;color:var(--color-ink);font-size:var(--step-small)}@supports (color:lab(0% 0 0)){.form__ok{border:var(--rule) solid lab(74.5651% -59.0897 35.5667/.4)}}.form__note{font-size:var(--step-small);color:var(--color-muted)}
.hero{padding-top:var(--space-9);padding-bottom:var(--space-8)}.hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.hero__eyebrow{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.hero__eyebrow-rule{background:var(--color-rule-2);width:28px;height:1px}.hero h1{font-size:var(--step-hero);letter-spacing:var(--tracking-display);max-width:16ch}.hero__lede{margin-top:var(--space-5);font-size:var(--step-lede);color:var(--color-muted);max-width:46ch;line-height:1.6}.hero__actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.hero__note{margin-top:var(--space-4);font-family:var(--font-mono);font-size:var(--step-small);color:var(--color-faint)}.shead{gap:var(--space-3);margin-bottom:var(--space-7);flex-direction:column;max-width:52ch;display:flex}.shead h2{font-size:var(--step-section);max-width:22ch}.shead p{color:var(--color-muted);max-width:var(--measure)}.caps{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.cap{gap:var(--space-4);padding:var(--space-5);background:var(--color-paper-2);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1fr);display:grid}.cap--wide{grid-column:1/-1}.cap__title{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.cap__title h3{font-size:1.25rem}.cap__body{color:var(--color-muted);max-width:60ch}.plans{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.plan{padding:var(--space-5);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);gap:var(--space-4);flex-direction:column;display:flex}.plan--featured{border-color:var(--color-accent);background:var(--color-paper-3)}.plan__top{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.plan__name{font-family:var(--font-display);font-size:1.375rem;font-weight:var(--weight-semi);color:var(--color-ink)}.plan__tag{font-family:var(--font-mono);font-size:var(--step-nano);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-accent)}.plan__price{font-family:var(--font-mono);color:var(--color-ink);font-size:1.75rem;font-weight:500}.plan__price small{font-size:var(--step-small);color:var(--color-muted);font-family:var(--font-body)}.plan__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plan__item{gap:var(--space-3);font-size:var(--step-body);color:var(--color-ink-2);align-items:flex-start;display:flex}.plan__key{font-family:var(--font-mono);font-size:var(--step-nano);color:var(--color-faint);min-width:4.5rem;padding-top:.3em}.plan__act{margin-top:auto}.callout{gap:var(--space-3);padding:var(--space-5);border:var(--rule) solid var(--color-rule-2);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-paper-2);flex-direction:column;display:flex}.callout h3{font-size:1.0625rem}.callout p{color:var(--color-muted);max-width:62ch}.callout__code{font-family:var(--font-mono);font-size:var(--step-code);color:var(--color-ink)}.chatpage{gap:var(--space-5);min-height:0;padding-block:var(--space-5) var(--space-5);flex:1;grid-template-columns:minmax(0,1fr) 260px;display:grid}.chatpage__side{gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.chatwrap{gap:var(--space-4);grid-template-columns:240px minmax(0,1fr);min-height:0;display:grid}.chatwrap--preview{grid-template-columns:minmax(0,1fr)}.sessions{gap:var(--space-3);flex-direction:column;min-height:0;display:flex}.sessions__list{flex-direction:column;flex:1;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.sessions__item{border-radius:var(--radius-sm);align-items:stretch;gap:2px;display:flex}.sessions__item:hover,.sessions__item.is-current{background:var(--color-paper-4)}.sessions__link{min-width:0;padding:var(--space-2) var(--space-3);color:var(--color-ink-2);border-radius:var(--radius-sm);flex-direction:column;flex:1;gap:2px;text-decoration:none;display:flex}.sessions__item.is-current .sessions__link{color:var(--color-ink)}.sessions__title{font-size:var(--step-small);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.sessions__meta{font-family:var(--font-mono);font-size:var(--step-nano);color:var(--color-muted)}.sessions__del{padding-top:var(--space-2);align-items:flex-start;display:flex}.sessions__del-btn{cursor:pointer;padding:0 var(--space-2);color:var(--color-muted);font-size:var(--step-small);border-radius:var(--radius-sm);background:0 0;border:0;min-width:24px;min-height:24px;line-height:1}.sessions__del-btn:hover{color:var(--color-ink);background:var(--color-paper-5)}.sessions__new{margin:0}.sessions__new-btn{width:100%}@media (max-width:60rem){.chatwrap{grid-template-columns:minmax(0,1fr)}.sessions__list{max-height:12rem}}.side-block{gap:var(--space-3);padding:var(--space-4);border:var(--rule) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);flex-direction:column;display:flex}.side-block h2{font-size:var(--step-small);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-muted);font-weight:500}.side-block__row{justify-content:space-between;gap:var(--space-3);font-size:var(--step-small);color:var(--color-ink-2);display:flex}.side-block__row span:last-child{color:var(--color-muted);font-family:var(--font-mono)}.side-block p{font-size:var(--step-small);color:var(--color-muted)}.side-block a{font-size:var(--step-small)}.empty{justify-content:center;align-items:center;gap:var(--space-4);text-align:center;padding:var(--space-8) var(--space-5);flex-direction:column;height:100%;min-height:320px;display:flex}.empty h2{font-size:1.25rem}.empty p{color:var(--color-muted);max-width:44ch}.empty__actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.admin__head{gap:var(--space-2);max-width:52ch;display:grid}.admin__head h1,.admin__head p{margin:0}.admin{gap:var(--space-5);margin-block:var(--space-6);display:grid}.admin__form{gap:var(--space-5);padding:var(--space-6);background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:var(--radius-lg);max-width:68ch;display:grid}.admin__form .field{gap:var(--space-2);display:grid}.admin__key{font-family:var(--font-mono);letter-spacing:.08em}.admin__actions{gap:var(--space-3);padding-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.admin__status{border:1px solid var(--color-rule);border-radius:var(--radius-md);gap:0;max-width:68ch;display:grid;overflow:hidden}.admin__status .side-block__row{justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-rule);font-size:var(--step-small);display:flex}.admin__status .side-block__row:last-child{border-bottom:0}.admin__status .side-block__row span:first-child{color:var(--color-muted)}.admin__status .side-block__row span:last-child{text-align:end}.admin__mono{font-family:var(--font-mono);font-size:var(--step-nano);color:var(--color-ink-2);overflow-wrap:anywhere}.admin__roster{margin-top:var(--space-5);max-width:68ch}.admin__table{border-collapse:collapse;width:100%;margin-top:var(--space-3);font-size:var(--step-small)}.admin__table th,.admin__table td{text-align:start;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-rule)}.admin__table thead th{font-family:var(--font-mono);font-size:var(--step-nano);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-muted);font-weight:500}.admin__table tbody th{color:var(--color-ink-2);overflow-wrap:anywhere;font-weight:400}.admin__table tbody td{color:var(--color-muted)}@media (max-width:60rem){.hero__grid,.chatpage{grid-template-columns:minmax(0,1fr)}.chatpage__side{flex-flow:wrap;overflow:visible}.side-block{flex:240px}}@media (max-width:40rem){.nav__links,.nav__signin{display:none}.nav__burger{display:flex}.nav__inner{padding-left:var(--space-4);gap:var(--space-3);justify-content:space-between}.page{padding-top:88px}.hero{padding-top:var(--space-7)}.plans{grid-template-columns:minmax(0,1fr)}.chat__composer{flex-direction:column;align-items:stretch}.chat__composer .btn{width:100%}.chat__bubble{max-width:100%}}.admin__limits{gap:var(--space-4)}.admin__limits-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.admin__limits .field__input{max-width:12rem}.roster__row--banned{background:var(--color-danger-dim)}.roster__email{font-family:var(--font-mono);font-size:var(--step-nano);overflow-wrap:anywhere}.roster__flag{border-radius:var(--radius-sm);font-size:var(--step-nano);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);border:var(--rule) solid var(--color-rule-2);margin-inline-start:var(--space-2);padding:.1rem .45rem;display:inline-block}.roster__flag--banned{color:var(--color-danger);border-color:var(--color-danger)}.roster__action{margin:0;display:inline-flex}.roster__usage,.roster__cell{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.roster__select{font:inherit;font-size:var(--step-small);min-height:44px;color:var(--color-ink);background:var(--color-paper-2);border:var(--rule) solid var(--color-rule-2);border-radius:var(--radius-sm);padding:.35rem .5rem}.roster__select:focus-visible{border-color:var(--color-accent);outline-offset:1px}.roster__btn{white-space:nowrap;min-height:44px;font-size:var(--step-nano)}.roster__note{font-size:var(--step-nano);color:var(--color-muted);font-family:var(--font-mono);overflow-wrap:anywhere}.roster__note--bad{color:var(--color-danger)}.roster__reason{font:inherit;font-size:var(--step-nano);max-width:22ch;min-height:44px;color:var(--color-ink);background:var(--color-paper-2);border:var(--rule) solid var(--color-rule-2);border-radius:var(--radius-sm);padding:.35rem .5rem}.roster__reason:focus-visible{border-color:var(--color-accent);outline-offset:1px}.upgrade__instructions{margin:0 0 var(--space-4);font-size:var(--step-small);color:var(--color-ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.upgrade__qr{margin:0 0 var(--space-4);text-align:center}.upgrade__qr img{border:var(--rule) solid var(--color-rule);border-radius:var(--radius-sm);width:100%;max-width:15rem;height:auto;padding:var(--space-2);background:#fff;margin:0 auto;display:block}.upgrade__qr figcaption{margin-top:var(--space-2);font-size:var(--step-nano);color:var(--color-muted)}.admin__qr{margin-top:var(--space-2);align-items:center;gap:var(--space-3);display:flex}.admin__qr img{object-fit:contain;border:var(--rule) solid var(--color-rule);border-radius:var(--radius-sm);background:#fff;width:6.5rem;height:6.5rem;padding:2px}@media (max-width:40rem){.admin__limits-grid{grid-template-columns:minmax(0,1fr)}.roster__usage,.roster__cell{gap:var(--space-2)}}.chat__blocked{padding:var(--space-3) var(--space-4);border:var(--rule) solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-dim);color:var(--color-ink);font-size:var(--step-small)}.chat__composer[data-blocked=true] .chat__input,.chat__composer[data-blocked=true] button{opacity:.55;cursor:not-allowed}

/* MOBILE CHAT AUTO-FIT (added 2026-10-07, additive overrides only — no desktop rules touched) */
@media (max-width:60rem){
.page--chat{height:auto;min-height:100dvh;overflow-y:visible;overflow-x:clip}
.page--chat .chatwrap{min-height:0}
.page--chat .chat{height:calc(100dvh - 230px);min-height:400px}
.page--chat .chat__list{-webkit-overflow-scrolling:touch}
}

/* Compact code blocks + stop/continue buttons (added 2026-10-07) */
.ai-codeblock{margin:.45rem 0;border:1px solid var(--color-code-rule);border-radius:6px;overflow:hidden;background:#0a1213;max-width:100%}
.ai-codeblock-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.26rem .55rem;background:#0d1617;border-bottom:1px solid var(--color-code-rule);font-family:var(--font-mono);font-size:.64rem;letter-spacing:.07em;color:var(--color-muted);text-transform:uppercase}
.ai-copybtn{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.03em;background:transparent;border:1px solid var(--color-rule-2);color:var(--color-ink-2);border-radius:4px;padding:.14rem .55rem;cursor:pointer;text-transform:none}
.ai-copybtn:hover{border-color:var(--color-accent);color:var(--color-accent-hi)}
.ai-codeblock pre{margin:0;padding:.5rem .6rem;overflow-x:auto}
.ai-codeblock pre code{font-family:var(--font-mono);font-size:.76rem;line-height:1.5;white-space:pre;color:var(--color-ink)}
.ai-inlinecode{font-family:var(--font-mono);font-size:.84em;background:var(--color-paper-4);border:1px solid var(--color-rule);padding:.08em .32em;border-radius:4px}
.chat__bubble .ai-codeblock{max-width:100%}
.ai-stopbtn{display:none;margin-top:.45rem;width:100%;background:transparent;border:1px solid var(--color-danger);color:var(--color-danger);border-radius:6px;padding:.55rem;cursor:pointer;font-weight:600}
.ai-stopbtn:hover{background:var(--color-danger-dim)}
.ai-continuebtn{margin-bottom:.5rem;width:100%}
@media(min-width:40rem){.ai-stopbtn{width:auto;margin-top:0;margin-left:.5rem}}

/* 2026-10-08 review fix: keep newlines in user message bubbles (composer hint says Shift+Enter = new line) */
.chat__msg--user .chat__bubble{white-space:pre-wrap}

.ai-stoppednote{font-size:.82rem;opacity:.72;margin:0 0 .4rem}

/* 2026-10-08: hide the usage-hint footer from customers (Jason) */
.chat__footer{display:none}

/* 2026-10-08: file attachment UI (Jason) */
.ai-attachbtn{font-size:1.05rem;padding:.45rem .6rem;line-height:1}
.ai-filechips{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-bottom:.5rem}
.ai-filechip{display:inline-flex;align-items:center;gap:.4rem;background:var(--color-paper-3);border:1px solid var(--color-rule);border-radius:999px;padding:.22rem .35rem .22rem .6rem;font-size:.78rem;max-width:100%%}
.ai-filechip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-filechip-x{border:1px solid var(--color-rule);background:transparent;border-radius:50%;width:1.15rem;height:1.15rem;line-height:1;font-size:.8rem;cursor:pointer;opacity:.75}
.ai-filechip-x:hover{opacity:1}
.ai-filechip-hint{font-size:.72rem;opacity:.6}
.ai-sentfiles{margin-top:.4rem;font-size:.8rem;opacity:.85}
@media(max-width:40rem){.ai-attachbtn{padding:.5rem .55rem}}
