/* app.css - Lians console. Theme: royal blue on matte black (matches lians.css). */
:root{
  --cream:#08090c; --paper:#0f1117; --panel-2:#161922; --ink:#e8eaf1; --lime:#4169e1;
  --blue-bright:#7188ff; --coral:#ff7667; --mint:#a8d5bd;
  --line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.22); --muted:#8e97aa;
  --text-2:#c3cbd8; --code-text:#cdd4e0; --grid-line:rgba(160,180,230,.11);
  --mono:"DM Mono",monospace; --sans:"Manrope",sans-serif;
}
:root[data-theme="light"]{
  --cream:#f6f4ee; --paper:#ffffff; --panel-2:#efece4; --ink:#152530; --lime:#2f55d4;
  --blue-bright:#2f55d4; --coral:#d9604f; --mint:#2f7d5f;
  --line:rgba(21,34,37,.13); --line-2:rgba(21,34,37,.26); --muted:#5b6773;
  --text-2:#46524f; --code-text:#26312f; --grid-line:rgba(40,60,130,.07);
}
*{box-sizing:border-box}
body{margin:0;font:400 14px/1.6 var(--mono);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
/* fixed grid backdrop behind all content (large cells, slow rotation) */
body::before{content:"";position:fixed;top:50%;left:50%;width:300vmax;height:300vmax;
  transform:translate(-50%,-50%);z-index:-2;pointer-events:none;will-change:transform;
  background-image:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:150px 150px;
  animation:gridspin 150s linear infinite}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 80% 70% at 50% 32%,transparent 45%,var(--cream) 92%)}
@keyframes gridspin{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body::before{animation:none}}
::selection{background:var(--lime);color:#fff}
h1,h2,h3,p{margin:0}
a{color:inherit}

/* shared chrome */
.console-brand{display:flex;align-items:center;color:inherit;text-decoration:none;font-size:0}
.console-brand span{display:block;width:98px;height:36px;background:url("/logo-blue.png") center/contain no-repeat;color:transparent;font-size:0}
.console-eyebrow{font:500 .62rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
.quiet-button{border:0;background:none;font:500 .68rem var(--mono);letter-spacing:.04em;cursor:pointer;color:var(--muted)}
.quiet-button:hover{color:var(--ink)}
.console-button{border:1px solid var(--lime);background:var(--lime);color:#fff;height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font:500 .8rem var(--mono);cursor:pointer;transition:box-shadow .15s,transform .15s}
.console-button:hover{box-shadow:4px 4px 0 var(--blue-bright);transform:translateY(-1px)}
input,select,textarea{width:100%;height:46px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);padding:0 14px;font:400 .82rem var(--mono);border-radius:0}
textarea{height:auto;min-height:120px;padding:13px 14px;resize:vertical;line-height:1.6}
input:focus,select:focus,textarea:focus{outline:2px solid var(--lime);outline-offset:-2px}
input::placeholder,textarea::placeholder{color:var(--muted)}
form label,.field-label{display:block;font:500 .68rem var(--mono);letter-spacing:.03em;margin:0 0 9px}

.auth-page[hidden],.onboarding-page[hidden],.billing-page[hidden],.upgrade-page[hidden],.console-page[hidden]{display:none!important}

/* ── auth (minimal, centered) ────────────────────────────────────────────── */
.auth-page{min-height:100vh;display:grid;place-items:center;background:transparent;padding:40px 24px}
.auth-aside{display:none}
.auth-panel{width:min(100%,440px);display:flex;flex-direction:column}
.auth-panel .console-brand{margin-bottom:46px}
.auth-box{width:100%}
.auth-box h1{font:500 clamp(1.9rem,4vw,2.5rem)/1.12 var(--mono);letter-spacing:-.02em;margin:0 0 16px}
.auth-box>p:not(.console-eyebrow){color:var(--text-2);font-size:.9rem;line-height:1.65;margin:0 0 28px;max-width:40ch}
.oauth-stack{display:grid;gap:10px}
.oauth-button{display:flex;align-items:center;height:48px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);text-decoration:none;padding:0 16px;font:500 .8rem var(--mono);transition:box-shadow .15s,transform .15s}
.oauth-button:hover{box-shadow:3px 3px 0 var(--lime);transform:translateY(-1px)}
.oauth-button b{display:inline-grid;place-items:center;width:22px;margin-right:12px;font-size:1rem}
.oauth-icon{flex-shrink:0;margin-right:12px}
.oauth-button[aria-disabled="true"]{pointer-events:none;opacity:.55}
.auth-note{font:400 .66rem/1.5 var(--mono);color:var(--muted);margin-top:18px}

/* ── onboarding ──────────────────────────────────────────────────────────── */
.onboarding-page{min-height:100vh;background:transparent;display:block}
.onboarding-aside{display:none}
.onboarding-form-panel{min-height:100vh}
.onboarding-top{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding:16px 6vw}
.wizard-progress{display:flex;gap:6px}
.wizard-progress i{display:block;width:30px;height:3px;background:var(--line-2)}
.wizard-progress i.active{background:var(--lime)}
.onboarding-card{width:min(100% - 48px,640px);margin:7vh auto 80px}
.onboarding-card h1{font:500 clamp(1.9rem,3.4vw,2.7rem)/1.12 var(--mono);letter-spacing:-.02em;margin:0 0 18px}
.onboarding-copy{color:var(--text-2);font-size:.86rem;line-height:1.65;margin:0 0 26px}
.choice-grid{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 8px}
.choice-grid button{background:var(--paper);border:1px solid var(--line-2);color:var(--ink);padding:11px 14px;font:500 .76rem var(--mono);cursor:pointer;transition:border-color .12s}
.choice-grid button:hover{border-color:var(--blue-bright)}
.choice-grid button.active{border-color:var(--lime);background:var(--lime);color:#fff}
.character-count{display:block;font:400 .6rem var(--mono);color:var(--muted);margin-top:8px}
.review-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:24px 0 0}
.review-list div{display:flex;justify-content:space-between;gap:20px;background:var(--paper);padding:12px 15px;font:400 .68rem var(--mono)}
.review-list span{color:var(--muted)}
.review-list b{text-align:right;font-weight:500}
.onboarding-error{margin:16px 0 0;color:#ff8a7a;font:500 .74rem/1.5 var(--mono)}
.wizard-step[hidden]{display:none}
.wizard-step .console-button{width:100%;margin-top:28px}
.onboarding-submit{width:100%;margin-top:18px}

/* ── console ─────────────────────────────────────────────────────────────── */
.console-gate{position:fixed;inset:0;background:var(--cream);z-index:200;transition:opacity .15s}
.console-gate.cleared{display:none}
.console-page{min-height:100vh;display:grid;grid-template-columns:240px 1fr}
/* The sidebar flows with the document so it scrolls as part of the whole page
   (it used to be sticky+100vh, which pinned it while the main pane scrolled). */
.sidebar{background:var(--paper);border-right:1px solid var(--line);padding:24px 12px 16px;display:flex;flex-direction:column;min-height:100vh}
.sidebar .console-brand{padding:0 10px;margin-bottom:24px}
.project-wrap{position:relative}
.project-switcher{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);height:42px;padding:0 12px;font:500 .72rem var(--mono);cursor:pointer;text-align:left}
.project-switcher i{font-style:normal}.project-switcher b{margin-left:auto}
.project-switcher span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-menu{position:absolute;top:46px;left:0;right:0;z-index:40;background:var(--panel-2);border:1px solid var(--line-2);padding:6px;display:flex;flex-direction:column;gap:1px;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.project-menu[hidden]{display:none}
.project-item{display:flex;align-items:center;gap:2px}
.project-item.active .project-pick{color:var(--blue-bright)}
.project-pick{flex:1;min-width:0;text-align:left;border:0;background:none;color:var(--ink);font:500 .7rem var(--mono);padding:8px 9px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-pick:hover{background:rgba(255,255,255,.05)}
.project-edit,.project-del{border:0;background:none;color:var(--muted);cursor:pointer;font-size:.74rem;padding:7px 8px;line-height:1}
.project-edit:hover,.project-del:hover:not(:disabled){color:var(--ink)}
.project-del:disabled{opacity:.3;cursor:not-allowed}
.project-new{display:flex;gap:6px;border-top:1px solid var(--line);margin-top:4px;padding-top:7px}
.project-new input{height:34px;font:400 .7rem var(--mono);padding:0 9px}
.project-create{flex-shrink:0;border:1px solid var(--lime);background:var(--lime);color:#fff;font:500 .62rem var(--mono);padding:0 12px;cursor:pointer}
.project-create:hover{box-shadow:2px 2px 0 var(--blue-bright)}
.project-item.editing,.project-item.confirming{gap:4px;padding:3px 2px}
.project-rename-input{flex:1;min-width:0;height:32px;font:400 .7rem var(--mono);padding:0 8px}
.project-save,.project-cancel,.project-confirm-yes,.project-confirm-no{flex-shrink:0;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font:500 .62rem var(--mono);padding:7px 9px;cursor:pointer;line-height:1}
.project-save{border-color:var(--lime);background:var(--lime);color:#fff}
.project-confirm-text{flex:1;min-width:0;font:500 .64rem var(--mono);color:var(--ink);padding:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-confirm-yes{border-color:#ff8a7a;color:#ff8a7a;background:transparent}
.project-confirm-yes:hover{background:#ff8a7a;color:#0e0f13}
.sidebar-nav{margin-top:20px;display:grid;gap:1px}
.sidebar-nav p{font:500 .56rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#73798a;margin:16px 10px 6px}
.nav-item{display:flex;align-items:center;gap:8px;border:0;background:none;text-decoration:none;color:var(--text-2);padding:12px 12px;font:500 .82rem var(--mono);text-align:left;cursor:pointer;border-left:2px solid transparent}
.nav-item:hover{background:rgba(255,255,255,.05);color:var(--ink)}
.nav-pill{margin-left:auto;background:var(--lime);color:#fff;font:500 .52rem var(--mono);letter-spacing:.08em;padding:2px 5px;line-height:1.4}
.nav-item.active{background:rgba(65,105,225,.22);border-left-color:var(--lime);color:#fff}
.nav-item.locked{opacity:.4;cursor:not-allowed;pointer-events:none}
.sidebar-footer{margin-top:auto}
.usage{border:1px solid var(--line);padding:12px 11px;font-size:.64rem}
.usage>span{font-weight:500}
.usage p{display:flex;justify-content:space-between;margin:11px 0 4px;font:400 .58rem var(--mono);color:var(--muted)}
.usage div{height:4px;background:#262a33}
.usage i{display:block;width:0;height:100%;background:var(--lime)}
#sign-out{border:0;background:none;font:500 .64rem var(--mono);margin:18px 8px 0;cursor:pointer;color:var(--muted)}
#sign-out:hover{color:var(--ink)}
.console-main{min-width:0;background:transparent}
.console-header{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 3.4vw}
.breadcrumb{display:flex;align-items:baseline;gap:12px}
.breadcrumb span{font:500 .56rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.breadcrumb b{font:500 .86rem var(--mono);letter-spacing:-.01em}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:13px}
.upgrade-button{border:1px solid var(--lime);background:var(--lime);color:#fff;padding:8px 12px;font:500 .64rem var(--mono);cursor:pointer}
.upgrade-button:hover{box-shadow:3px 3px 0 var(--blue-bright)}
.upgrade-button[hidden]{display:none}
.avatar{border:0;border-radius:50%;width:30px;height:30px;background:var(--lime);color:#fff;font:500 .64rem var(--mono);cursor:pointer}
.mobile-menu{display:none}
.view{display:none}.view.active{display:block}
.view-wrap{width:min(100% - 72px,1010px);margin:0 auto;padding:64px 0 96px}
.view h1{font:500 clamp(1.7rem,2.6vw,2.4rem) var(--mono);letter-spacing:-.03em;margin:0 0 14px}
.view-lede{max-width:620px;color:var(--text-2);font-size:.86rem;line-height:1.65;margin:0 0 36px}

.setup-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px}
.path-card{background:var(--paper);border:1px solid var(--line);color:var(--ink);padding:18px 16px;display:flex;gap:13px;text-align:left;cursor:pointer;font-family:var(--mono)}
.path-card.active{border-color:var(--lime);box-shadow:inset 0 0 0 1px var(--lime)}
.path-card i{display:grid;place-items:center;width:30px;height:30px;background:var(--panel-2);font-style:normal;flex-shrink:0}
.path-card span{display:grid;gap:4px}
.path-card b{font:500 .76rem var(--mono)}
.path-card small{font-size:.66rem;color:var(--muted)}
.language-tabs{display:flex;gap:3px;background:var(--panel-2);padding:4px;width:max-content;margin-bottom:30px}
.language-tabs button{border:0;background:transparent;padding:9px 14px;font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;color:var(--muted)}
.language-tabs button.active{background:var(--lime);color:#fff}
.install-steps{display:grid;gap:22px}
.install-step{display:grid;grid-template-columns:30px .75fr 1.25fr;gap:18px;align-items:start}
.step-number{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--lime);color:#fff;font:500 .6rem var(--mono)}
.install-step h3{font:500 .85rem var(--mono);margin:2px 0 6px}
.install-step p{font-size:.72rem;line-height:1.55;color:var(--muted);margin:0}
.code-block{background:var(--panel-2);border:1px solid var(--line-2);overflow:hidden}
.code-block header{padding:8px 13px;border-bottom:1px solid var(--line);font:500 .58rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.code-block pre{margin:0;padding:16px 15px;font:400 .72rem/1.7 var(--mono);white-space:pre-wrap;color:var(--code-text)}
.code-block em{color:var(--blue-bright);font-style:normal}

.playground-card,.settings-card{border:1px solid var(--line);background:var(--paper);padding:24px;max-width:780px}
.playground-card label{display:block;font:500 .7rem var(--mono);margin-bottom:10px}
.query-line{display:flex;gap:10px}
.query-line input{border-color:var(--line-2)}
.query-line button{border:1px solid var(--lime);background:var(--lime);color:#fff;padding:0 18px;font:500 .72rem var(--mono);white-space:nowrap;cursor:pointer}
.playground-answer{margin-top:24px;background:var(--panel-2);border:1px solid var(--line);padding:22px}
.playground-answer span{font:500 .55rem var(--mono);letter-spacing:.08em;color:var(--muted)}
.playground-answer strong{display:block;font:500 2.6rem var(--mono);letter-spacing:-.04em;color:var(--blue-bright);margin:8px 0}
.playground-answer p{font-size:.77rem;line-height:1.55;max-width:520px;color:var(--text-2)}
.playground-answer small{font:400 .58rem var(--mono);color:var(--muted)}

.empty-state{border:1px dashed var(--line-2);min-height:210px;max-width:780px;margin-top:28px;display:grid;place-items:center;text-align:center;padding:30px}
.empty-state i{font-style:normal;font-size:1.8rem;color:var(--muted)}
.empty-state h3{font:500 .92rem var(--mono);margin:12px 0 5px}
.empty-state p{font-size:.72rem;line-height:1.55;color:var(--muted);margin:0;max-width:400px}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.metric-grid article{border:1px solid var(--line);background:var(--paper);padding:18px}
.metric-grid span{font:500 .55rem var(--mono);letter-spacing:.08em;color:var(--muted)}
.metric-grid strong{display:block;font:500 2rem var(--mono);letter-spacing:-.05em;margin:13px 0 4px}
.metric-grid small{font-size:.62rem;color:var(--muted)}
.settings-card{display:grid;gap:18px}
.settings-card label{font:500 .7rem var(--mono)}
.settings-card input,.settings-card select{margin-top:8px;border-color:var(--line-2)}
.settings-card .console-button{width:max-content}
.settings-actions{display:flex;align-items:center;gap:14px;margin-top:6px}
.settings-saved{font:500 .68rem var(--mono);color:var(--blue-bright)}
.billing-actions{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}

/* API keys */
.key-form{max-width:780px;margin-bottom:18px}
.key-form>div{display:flex;gap:10px}
.key-form input{border-color:var(--line-2)}
.key-form .console-button{white-space:nowrap}
.key-reveal{max-width:780px;background:var(--panel-2);border:1px solid var(--line-2);padding:16px;margin:18px 0}
.key-reveal p{font-size:.7rem;margin:0 0 8px;color:var(--mint)}
.key-reveal code{display:block;background:#0a0c10;border:1px solid var(--line);padding:11px;font:400 .68rem var(--mono);color:var(--blue-bright);overflow:auto}
.key-reveal button{border:1px solid var(--lime);background:var(--lime);color:#fff;padding:8px 12px;font:500 .64rem var(--mono);margin-top:10px;cursor:pointer}
.key-table{max-width:780px;border:1px solid var(--line)}
.key-table-head,.key-row{display:grid;grid-template-columns:1.2fr 1.3fr 1.2fr .75fr 70px;gap:12px;align-items:center;padding:13px 15px}
.key-table-head{background:var(--panel-2);font:500 .55rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.key-row{border-top:1px solid var(--line);font:400 .68rem var(--mono)}
.key-row code{font-size:.64rem;color:var(--muted)}
.key-row>span{font:400 .62rem var(--mono);color:var(--muted)}
.key-status{color:var(--blue-bright)!important}.key-status.revoked{color:#ff8a7a!important}
.key-row button{border:1px solid var(--line-2);background:var(--paper);color:var(--ink);padding:6px;font:500 .58rem var(--mono);cursor:pointer}
.key-row button:disabled{opacity:.5}
.key-table .empty-state{border:0;margin:0;max-width:none}
.backend-note{max-width:780px;font:400 .62rem/1.5 var(--mono);color:var(--muted);margin-top:12px}

/* upgrade prompts inside locked views */
.upgrade-prompt{max-width:780px;margin-top:28px;border:1px dashed var(--line-2);padding:52px 30px;display:flex;flex-direction:column;align-items:center;text-align:center}
.upgrade-prompt h3{font:500 .95rem var(--mono);margin:0 0 8px}
.upgrade-prompt p{font-size:.73rem;line-height:1.5;color:var(--muted);margin:0 0 22px}
.upgrade-prompt .console-button{width:max-content}
.plan-capabilities{margin-top:40px;max-width:560px}
.plan-capability-list{list-style:none;margin:0 0 22px;padding:0;border:1px solid var(--line)}
.plan-capability-list li{display:flex;align-items:center;gap:11px;padding:11px 15px;font:400 .76rem var(--mono);border-top:1px solid var(--line);background:var(--paper)}
.plan-capability-list li:first-child{border-top:0}
.plan-capability-list li i{font-style:normal;width:18px;text-align:center}
.plan-capability-list li.cap-on i{color:var(--blue-bright)}
.plan-capability-list li.cap-off{color:var(--muted)}
.plan-capability-list li span{flex:1}
.plan-capability-list li small{font:500 .55rem var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);padding:3px 7px}

/* ── billing + upgrade pages ─────────────────────────────────────────────── */
.billing-page,.upgrade-page{min-height:100vh;background:transparent;color:var(--ink);display:flex;flex-direction:column}
.billing-top{min-height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 5vw;flex-shrink:0}
.billing-top-actions{display:flex;align-items:center;gap:18px}
.upgrade-continue{font:500 .68rem var(--mono);text-decoration:none;color:var(--ink);box-shadow:inset 0 -1px 0 var(--line-2);padding-bottom:1px}
.upgrade-continue:hover{box-shadow:inset 0 -2px 0 var(--lime)}
.billing-card,.upgrade-card{width:min(100% - 48px,1120px);margin:48px auto 90px}
.billing-card h1,.upgrade-card h1{font:500 clamp(1.9rem,3.2vw,2.7rem)/1.12 var(--mono);letter-spacing:-.02em;margin:0 0 16px}
.billing-lede,.upgrade-sub{font-size:.9rem;line-height:1.6;color:var(--text-2);max-width:620px;margin:0 0 8px}
.upgrade-sub strong{font-weight:500;color:var(--ink)}
.plan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:34px}
.clerk-pricing-host{display:block;margin-top:34px;min-height:200px}
.plan-cta-clerk{margin-top:auto;width:100%;min-height:42px;display:flex}
.plan-cta-clerk>*{width:100%!important;display:flex!important;justify-content:center}
.plan-card{background:var(--paper);border:1px solid var(--line);padding:22px 18px;display:flex;flex-direction:column}
.plan-card.plan-highlight{border-color:var(--lime);box-shadow:8px 8px 0 var(--lime)}
.plan-tier{font:500 .58rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin:0 0 12px}
.plan-highlight .plan-tier{color:var(--blue-bright)}
.plan-price{font:500 2rem var(--mono);letter-spacing:-.05em;line-height:1;margin:0 0 6px}
.plan-price small{font:400 .66rem var(--mono);color:var(--muted);letter-spacing:0}
.plan-tagline{font-size:.7rem;color:var(--muted);margin:0 0 18px;line-height:1.45}
.plan-features{list-style:none;padding:0;margin:0 0 22px;flex:1}
.plan-features li{font:400 .68rem var(--mono);color:var(--text-2);padding:8px 0;border-top:1px solid var(--line);display:flex;gap:7px;line-height:1.45}
.plan-features li:first-child{border-top:0;padding-top:0}
.plan-features li::before{content:"+";color:var(--blue-bright);flex-shrink:0}
.plan-cta{width:100%;height:42px;background:var(--paper);border:1px solid var(--line-2);color:var(--ink);font:500 .7rem var(--mono);cursor:pointer;margin-top:auto;transition:box-shadow .15s}
.plan-cta:hover:not(:disabled){box-shadow:3px 3px 0 var(--lime)}
.plan-cta:disabled{opacity:.5;cursor:not-allowed}
.plan-highlight .plan-cta{background:var(--lime);border-color:var(--lime);color:#fff}
.plan-cta-link{display:flex;align-items:center;justify-content:center;text-decoration:none;height:42px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font:500 .7rem var(--mono);margin-top:auto}
.plan-cta-link:hover{box-shadow:3px 3px 0 var(--lime)}
.plan-continue{border-style:dashed}
.plan-continue .plan-tier{color:var(--muted)}
.plan-continue-mark{color:var(--blue-bright)}
.plan-cta-continue{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--lime);border-color:var(--lime);color:#fff}
.plan-cta-continue:hover{box-shadow:3px 3px 0 var(--blue-bright)}
.billing-note{font:400 .66rem var(--mono);color:#ff8a7a;margin-top:16px;min-height:1em}
.upgrade-skip{display:inline-block;margin-top:24px;font:500 .68rem var(--mono);color:var(--muted);text-decoration:none}
.upgrade-skip:hover{color:var(--ink);box-shadow:inset 0 -1px 0 var(--line-2)}
.upgrade-or{display:flex;align-items:center;gap:16px;margin:34px 0 20px;color:var(--muted);font:500 .6rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.upgrade-or::before,.upgrade-or::after{content:"";flex:1;height:1px;background:var(--line)}
.upgrade-go{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:460px;margin:0 auto;height:56px;
  background:var(--lime);border:1px solid var(--lime);color:#fff;text-decoration:none;font:500 .95rem var(--mono);letter-spacing:-.01em;transition:box-shadow .15s,transform .15s}
.upgrade-go span{font-size:1.1rem}
.upgrade-go:hover{box-shadow:6px 6px 0 var(--blue-bright);transform:translateY(-1px)}
.upgrade-maxed{font-size:.85rem;color:var(--muted);padding:36px 0}
.upgrade-maxed a{color:var(--blue-bright)}

/* ── playground sim (pg-*) ───────────────────────────────────────────────── */
.pg{max-width:1000px}
.pg-head h1{font:500 1.6rem var(--mono);letter-spacing:-.03em;margin:0 0 10px}
.pg-sim{display:inline-block;font:500 .54rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#e0c074;background:#2a2410;border:1px solid #5a4d20;padding:2px 7px;margin-left:4px}
.pg-sim.pg-syn{color:#e0a574;background:#2a1d10;border-color:#5a4020}
.pg-tabs{display:flex;gap:4px;margin-bottom:14px;flex-wrap:wrap}
.pg-modes{border-bottom:1px solid var(--line);margin-bottom:26px}
.pg-tab{border:0;background:transparent;padding:8px 14px;font:500 .68rem var(--mono);color:var(--muted);cursor:pointer}
.pg-domains .pg-tab{background:var(--panel-2);border:1px solid var(--line)}
.pg-domains .pg-tab.active{background:var(--lime);color:#fff;border-color:var(--lime)}
.pg-modes .pg-tab{border-radius:0;border-bottom:2px solid transparent;padding:9px 4px;margin-right:18px}
.pg-modes .pg-tab.active{color:var(--ink);border-bottom-color:var(--lime)}
.pg-queryline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--paper);border:1px solid var(--line);padding:12px 15px;margin-bottom:20px}
.pg-queryline span{font:500 .55rem var(--mono);letter-spacing:.08em;color:var(--muted)}
.pg-queryline code{font:500 .8rem var(--mono)}
.pg-queryline i{margin-left:auto;font:400 .62rem var(--mono);color:var(--muted);font-style:normal}
.pg-asof{margin-bottom:22px}
.pg-asof>span{display:block;font:500 .55rem var(--mono);letter-spacing:.08em;color:var(--muted);margin-bottom:9px}
.pg-chips{display:flex;gap:7px;flex-wrap:wrap}
.pg-chip{border:1px solid var(--line-2);background:var(--paper);color:var(--ink);padding:7px 15px;font:500 .66rem var(--mono);cursor:pointer}
.pg-chip:hover{border-color:var(--blue-bright)}
.pg-chip.active{background:var(--lime);color:#fff;border-color:var(--lime)}
.pg-result-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:26px}
.pg-result{background:var(--panel-2);border:1px solid var(--line);padding:22px 24px}
.pg-result-label{font:500 .56rem var(--mono);letter-spacing:.08em;color:var(--muted);margin:0 0 8px}
.pg-result-value{display:block;font:500 2.6rem var(--mono);letter-spacing:-.04em;line-height:1;color:var(--blue-bright)}
.pg-result-detail{font-size:.78rem;line-height:1.5;color:var(--text-2);margin:12px 0 16px}
.pg-result-meta{display:flex;gap:26px;flex-wrap:wrap}
.pg-result-meta span{display:flex;flex-direction:column;gap:4px;font:500 .5rem var(--mono);letter-spacing:.07em;color:var(--muted)}
.pg-result-meta b{font:400 .72rem var(--mono);color:var(--ink)}
.pg-audit{display:block;margin-top:16px;font:400 .58rem/1.6 var(--mono);color:var(--muted)}
.pg-contrast{display:flex;flex-direction:column;gap:10px}
.pg-contrast-card{padding:14px 16px;border:1px solid var(--line)}
.pg-contrast-card p{margin:0 0 4px;font:500 .56rem var(--mono);letter-spacing:.06em;text-transform:uppercase}
.pg-contrast-card b{font:500 1.1rem var(--mono);letter-spacing:-.02em}
.pg-contrast-card small{display:block;margin-top:4px;font-size:.64rem;line-height:1.4;color:var(--muted)}
.pg-bad{background:#241413;border-color:#5a2a24}.pg-bad p{color:#ff8a7a}
.pg-good{background:#0f1e2a;border-color:#244a6a}.pg-good p{color:var(--blue-bright)}
.pg-bench{font:500 .62rem var(--mono);color:var(--muted);text-align:center;padding-top:4px}
.pg-bench b{color:var(--ink)}
.pg-sub{font:500 .56rem var(--mono);letter-spacing:.08em;color:var(--muted);margin:0 0 12px}
.pg-chain{display:flex;flex-direction:column;gap:7px;margin-bottom:28px}
.pg-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;border:1px solid var(--line);padding:12px 15px;background:var(--paper)}
.pg-row-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.pg-row-main b{font:500 .84rem var(--mono);letter-spacing:-.01em}
.pg-row-main span{font-size:.67rem;color:var(--muted);line-height:1.4}
.pg-row-meta{display:flex;flex-direction:column;gap:3px;text-align:right}
.pg-row-meta span{font:400 .6rem var(--mono);color:var(--muted)}
.pg-row-meta i{font:400 .58rem var(--mono);color:var(--muted);font-style:normal}
.pg-badge{font:500 .5rem var(--mono);letter-spacing:.06em;padding:4px 8px;white-space:nowrap}
.pg-badge-valid{background:var(--lime);color:#fff}
.pg-badge-superseded{background:#262a33;color:var(--muted)}
.pg-badge-future{background:#2a2410;color:#b0a060}
.pg-row-valid{border-color:#244a6a;background:#0f1620;box-shadow:inset 3px 0 0 var(--lime)}
.pg-row-superseded{opacity:.62}
.pg-row-superseded .pg-row-main b{text-decoration:line-through;color:var(--muted)}
.pg-row-future{opacity:.55}
.pg-code{margin-bottom:10px;border:1px solid var(--line-2);overflow:hidden}
.pg-code-tabs{display:flex;background:var(--paper);border-bottom:1px solid var(--line)}
.pg-code-tab{border:0;background:transparent;padding:9px 15px;font:500 .6rem var(--mono);color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
.pg-code-tab.active{color:var(--ink);border-bottom-color:var(--lime)}
.pg-code pre{margin:0;padding:16px;font:400 .68rem/1.65 var(--mono);background:var(--panel-2);white-space:pre-wrap;color:var(--code-text)}
.pg-sandbox{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pg-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}
.pg-add .console-button{grid-column:1/-1;width:max-content}
.pg-hint{display:block;margin-top:10px;font-size:.62rem;color:var(--muted);line-height:1.4}
.pg-field{display:block;font:500 .55rem var(--mono);letter-spacing:.06em;color:var(--muted);margin-bottom:14px}
.pg-field i{font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}
.pg-field input{display:block;width:100%;margin-top:7px}
.pg-sb-result{margin-top:18px;background:var(--panel-2);border:1px solid var(--line);padding:20px}
.pg-sb-result:empty{display:none}
.pg-sb-code{margin:14px 0 0;padding:13px;background:#0a0c10;font:400 .64rem/1.6 var(--mono);color:var(--code-text);white-space:pre-wrap}

/* ── responsive ──────────────────────────────────────────────────────────── */
@media(max-width:900px){.plan-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.pg-result-grid,.pg-sandbox{grid-template-columns:1fr}.pg-row{grid-template-columns:1fr auto}.pg-row-meta{display:none}}
@media(max-width:800px){
  .console-page{grid-template-columns:1fr}
  .sidebar{position:fixed;z-index:30;top:0;height:100vh;overflow-y:auto;left:-260px;transition:left .25s;width:240px}
  .sidebar.open{left:0}
  .mobile-menu{display:block;border:0;background:none;color:var(--ink);font-size:1.1rem;margin-right:15px;cursor:pointer}
  .view-wrap{width:min(100% - 36px,1010px);padding:44px 0 68px}
  .setup-paths,.metric-grid{grid-template-columns:1fr}
  .install-step{grid-template-columns:30px 1fr}.code-block{grid-column:2}
  .query-line{display:grid}.query-line button{height:46px}
  .key-form>div{display:grid}.key-table{overflow:auto}.key-table-head,.key-row{min-width:650px}
}
@media(max-width:600px){.plan-grid{grid-template-columns:1fr 1fr}.billing-top-actions{gap:12px}}
@media(max-width:420px){.plan-grid{grid-template-columns:1fr}}
/* ── mobile polish ───────────────────────────────────────────────────────── */
@media(max-width:680px){body::before{animation:none;top:0;left:0;width:100%;height:100%;transform:none}}
@media(max-width:560px){
  .view h1{font-size:clamp(1.5rem,7vw,2rem)}
  .view-wrap{width:min(100% - 32px,1010px)}
  .console-header{padding:0 5vw}
  .billing-top,.onboarding-top{padding:14px 6vw}
  .billing-card,.upgrade-card,.onboarding-card{width:min(100% - 36px,640px)}
  .billing-card h1,.upgrade-card h1,.onboarding-card h1{font-size:clamp(1.6rem,7vw,2.2rem)}
  .auth-box h1{font-size:clamp(1.7rem,8vw,2.2rem)}
  .upgrade-go{height:52px;font-size:.85rem}
  .choice-grid button{width:100%}
}
/* ── theme toggle (console) ──────────────────────────────────────────────── */
.theme-toggle{border:1px solid var(--line-2);background:none;color:var(--ink);cursor:pointer;font:500 .62rem var(--mono);letter-spacing:.04em;padding:7px 10px;display:inline-flex;align-items:center;gap:6px;line-height:1}
.theme-toggle:hover{border-color:var(--blue-bright)}
/* ── feature availability (Usage & billing) ──────────────────────────────── */
.feature-tiers{margin-top:8px;max-width:780px}
.ftier-head{margin:42px 0 14px!important}
.ftier-list{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.ftier-list li{display:flex;align-items:center;gap:11px;padding:11px 15px;border-top:1px solid var(--line);background:var(--paper);font:400 .78rem var(--mono)}
.ftier-list li:first-child{border-top:0}
.ftier-list li i{font-style:normal;width:16px;text-align:center;flex-shrink:0}
.ftier-list li span{flex:1;min-width:0}
.ftier-on i{color:var(--blue-bright)}
.ftier-off{color:var(--muted)}
.ftier-have{font:500 .56rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-bright)}
.ftier-need{font:500 .56rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);padding:3px 8px}
/* ── Memory Governor review (console) ────────────────────────────────────── */
.gov-section{margin-top:44px}
.gov-section:first-of-type{margin-top:0}
.gov-section h2{display:flex;align-items:center;gap:10px;font:500 .95rem var(--mono);letter-spacing:-.01em;margin:0 0 16px}
.gov-count{background:var(--panel-2);border:1px solid var(--line-2);color:var(--text-2);font:500 .6rem var(--mono);padding:2px 8px}
.gov-card{background:var(--paper);border:1px solid var(--line);padding:16px 18px;margin-bottom:10px;transition:opacity .3s}
.gov-card.gov-resolved{opacity:.35;pointer-events:none}
.gov-card header{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.gov-card header time{margin-left:auto;font:400 .6rem var(--mono);color:var(--muted)}
.gov-card p{margin:0 0 8px;font-size:.8rem;line-height:1.55}
.gov-card small{display:block;font:400 .62rem var(--mono);color:var(--muted)}
.gov-relation{font:500 .55rem var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;background:#262a33;color:var(--text-2)}
.gov-relation-refines{background:#12301f;color:#66d19e}
.gov-relation-supersedes{background:rgba(65,105,225,.25);color:var(--blue-bright)}
.gov-relation-contradicts_same_time,.gov-relation-held{background:#3a1a14;color:#ff8a7a}
.gov-tag{font:500 .55rem var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;background:#2a2410;color:#b0a060}
.gov-confidence{font:500 .62rem var(--mono);color:var(--text-2)}
.gov-actions{display:flex;gap:8px;margin-top:14px}
.gov-actions button{border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);font:500 .64rem var(--mono);padding:8px 13px;cursor:pointer}
.gov-actions .gov-confirm{border-color:var(--lime);background:var(--lime);color:#fff}
.gov-actions .gov-confirm:hover{box-shadow:2px 2px 0 var(--blue-bright)}
.gov-actions .gov-reject:hover{border-color:#ff8a7a;color:#ff8a7a}
.gov-actions button:disabled{opacity:.5;cursor:wait}
/* ── live playground results ─────────────────────────────────────────────── */
.playground-note{font:400 .68rem var(--mono);color:var(--blue-bright);margin:-14px 0 22px}
.playground-note.is-error{color:#ff8a7a}
.playground-results{margin-top:20px;display:grid;gap:8px}
.pg-result{position:relative;background:var(--panel-2);border:1px solid var(--line);padding:14px 16px;padding-right:74px}
.pg-result p{margin:0 0 7px;font-size:.8rem;line-height:1.5}
.pg-result small{font:400 .6rem var(--mono);color:var(--muted);display:flex;gap:8px;align-items:center}
.pg-score{position:absolute;top:12px;right:14px;font:500 .72rem var(--mono);color:var(--blue-bright)}
.pg-flag{font:500 .52rem var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;background:#262a33;color:var(--muted)}
.pg-flag-live{background:var(--lime);color:#fff}
.pg-empty{background:var(--panel-2);border:1px dashed var(--line-2);padding:18px;font:400 .72rem var(--mono);color:var(--muted)}
.pg-meta{font:400 .62rem var(--mono);color:var(--muted);margin:6px 0 0}

/* ── agent-ready integration prompt (Get started view) ───────────────────── */
.aiprompt{border:1px solid var(--lime);background:rgba(65,105,225,.08);margin-top:26px}
.aiprompt-head{display:flex;align-items:center;gap:14px;padding:12px 16px;flex-wrap:wrap}
.aiprompt-head .aiprompt-tag{flex-shrink:0;background:var(--lime);color:#fff;font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px}
.aiprompt-head p{margin:0;flex:1;min-width:200px;font:400 .78rem/1.55 var(--mono);color:var(--text-2)}
.aiprompt-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.aiprompt-copy{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--lime);background:var(--lime);color:#fff;font:500 .74rem var(--mono);padding:8px 14px;cursor:pointer;transition:box-shadow .15s}
.aiprompt-copy:hover{box-shadow:3px 3px 0 var(--blue-bright)}
.aiprompt-copy.copied{background:var(--paper);color:var(--blue-bright)}
.aiprompt-toggle{background:none;border:0;color:var(--muted);font:500 .74rem var(--mono);cursor:pointer;padding:8px 2px;text-decoration:underline;text-underline-offset:3px}
.aiprompt-toggle:hover{color:var(--ink)}
.aiprompt-body{margin:0;padding:16px 18px;border-top:1px solid var(--line);font:400 .72rem/1.7 var(--mono);color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow-y:auto}
