/* A focused AI interface that inherits the original copper / editorial / terminal design. */
.ai-desk-page { background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px); background-size:64px 64px; background-position:center top; }
.ai-nav-index { font-family:var(--font-mono); font-size:.61rem; letter-spacing:.1em; color:var(--cu); white-space:nowrap; padding:.62rem .72rem; border:1px solid var(--cu-border); border-radius:var(--r); transition:background .2s,border-color .2s; }
.ai-nav-index:hover { background:var(--cu-dim); border-color:var(--cu-border-h); }
.ai-hero { padding-top:calc(var(--nav-h) + clamp(3rem,7vh,6rem)); padding-bottom:clamp(4rem,8vh,7rem); overflow:hidden; }
.ai-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.ai-kicker { font:500 .62rem var(--font-mono); letter-spacing:.16em; color:var(--text-3); margin:1.5rem 0 .9rem; display:flex; gap:1rem; align-items:center; }
.ai-kicker span { color:var(--cu); }
.ai-title { font:900 italic clamp(2.8rem,5.7vw,5.9rem)/.99 var(--font-display); letter-spacing:-.045em; max-width:12ch; margin:0 0 1.5rem; color:var(--text); }
.ai-title em { color:var(--cu); font-weight:700; }
.ai-hero-text { max-width:62ch; color:var(--text-2); line-height:1.85; font-size:1.03rem; }
.ai-proof-pills { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.55rem 0 1.8rem; }
.ai-proof-pills span { border:1px solid var(--border); padding:.43rem .64rem; font: .58rem var(--font-mono); color:var(--text-2); letter-spacing:.05em; }
.ai-hero-note { margin-top:1.1rem; font: .61rem var(--font-mono); color:var(--text-3); line-height:1.7; }
.ai-machine { position:relative; background:var(--hero-r); border:1px solid rgba(196,130,74,.27); border-radius:var(--r-lg); overflow:hidden; box-shadow:0 26px 70px rgba(0,0,0,.34); min-height:360px; padding:1.3rem 1.4rem 1rem; isolation:isolate; }
.ai-machine::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 82% 92%,rgba(56,189,248,.09),transparent 40%),radial-gradient(circle at 12% 20%,rgba(196,130,74,.1),transparent 44%),linear-gradient(rgba(196,130,74,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(196,130,74,.035) 1px,transparent 1px); background-size:auto,auto,28px 28px,28px 28px; }
.ai-machine-top,.ai-machine-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; font: .56rem var(--font-mono); letter-spacing:.13em; color:rgba(237,232,223,.47); }
.ai-machine-top span:first-child { display:flex; gap:.6rem; align-items:center; color:#a5c7ad; }
.ai-machine-top i,.ai-live-state i,.ai-pulse { width:6px; height:6px; display:inline-block; border-radius:50%; background:#85c89b; box-shadow:0 0 12px rgba(133,200,155,.45); }
.ai-terminal-lines { margin:3rem 0 2.5rem; padding:1.3rem .8rem; border-top:1px solid rgba(237,232,223,.09); border-bottom:1px solid rgba(237,232,223,.09); position:relative; }
.ai-terminal-lines p { font: .68rem/2.35 var(--font-mono); color:#b3b4b7; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ai-line-no { display:inline-block; width:2rem; color:#62564f; }
.ai-terminal-lines b { color:#7ccce8; font-weight:500; }
.ai-terminal-lines i { color:#dfae78; font-style:normal; }
.ai-terminal-lines strong { color:#b5d4a5; font-weight:500; }
.ai-machine-bottom { justify-content:flex-start; }
.ai-pulse { width:5px; height:5px; }
.ai-machine-stamp { position:absolute; right:1.2rem; bottom:3.4rem; font:900 italic 1.08rem/.95 var(--font-display); color:rgba(196,130,74,.14); text-align:right; transform:rotate(-8deg); pointer-events:none; }
.ai-ticker { overflow:hidden; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg-el); white-space:nowrap; }
.ai-ticker-track { width:max-content; padding:1.1rem 0; font:500 .62rem var(--font-mono); letter-spacing:.18em; color:var(--text-3); animation:ai-marquee 34s linear infinite; }
.ai-ticker-track span { color:var(--cu); padding:0 2.2rem; font-size:.6rem; }
@keyframes ai-marquee { to { transform:translateX(-50%); } }
.ai-console-section { padding-top:clamp(4rem,7vw,7rem); }
.ai-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:2.2rem; }
.ai-section-heading .dh { margin-top:.85rem; }
.ai-section-heading .dh em { color:var(--cu); }
.ai-budget-block { width:min(100%,320px); padding:.8rem 1rem .65rem; border:1px solid var(--border); background:var(--bg-el); }
.ai-budget-label { display:flex; justify-content:space-between; align-items:center; gap:.8rem; font: .56rem var(--font-mono); letter-spacing:.09em; color:var(--text-3); }
.ai-budget-label strong { color:var(--cu); font-size:.8rem; font-weight:500; white-space:nowrap; }
.ai-budget-cells { display:grid; grid-template-columns:repeat(10,1fr); gap:4px; margin:.75rem 0 .45rem; }
.ai-budget-cells i { height:5px; background:var(--cu); display:block; opacity:.93; }
.ai-budget-cells i.used { background:var(--text-4); opacity:.9; }
.ai-budget-hint { font-size:.65rem; color:var(--text-3); line-height:1.4; }
.ai-product-layout { display:grid; grid-template-columns:minmax(230px,.34fr) minmax(0,1fr); border:1px solid var(--border); background:var(--bg-el); box-shadow:var(--sh); }
.ai-tool-index { padding:1.25rem; background:var(--bg); border-right:1px solid var(--border); display:flex; flex-direction:column; gap:.55rem; }
.ai-index-label,.ai-overline { display:block; font:500 .58rem var(--font-mono); color:var(--cu); letter-spacing:.16em; }
.ai-index-label { padding:.25rem .2rem .7rem; }
.ai-mode { display:grid; grid-template-columns:2rem 1fr 1rem; gap:.6rem; align-items:start; padding:1rem .7rem; text-align:left; border:1px solid transparent; border-radius:var(--r); color:var(--text); cursor:pointer; transition:background .2s,border-color .2s; }
.ai-mode:hover { background:var(--bg-card); border-color:var(--border); }
.ai-mode.is-active { background:var(--cu-dim); border-color:var(--cu-border-h); }
.ai-mode-number { padding-top:.1rem; color:var(--cu); font: .58rem var(--font-mono); }
.ai-mode-text { display:flex; flex-direction:column; gap:.38rem; }
.ai-mode-text strong { font:600 .88rem var(--font-body); }
.ai-mode-text small { font-size:.73rem; line-height:1.55; color:var(--text-3); }
.ai-mode-arrow { color:var(--text-3); font-size:.9rem; opacity:.7; }
.ai-mode.is-active .ai-mode-arrow { color:var(--cu); opacity:1; }
.ai-index-foot { border-top:1px solid var(--border); padding:1.15rem .25rem .2rem; margin-top:auto; display:flex; gap:.7rem; align-items:flex-start; }
.ai-index-foot-mark { color:var(--cu); font: italic 1.7rem var(--font-display); }
.ai-index-foot p { font-size:.69rem; line-height:1.65; color:var(--text-3); }
.ai-workbench { padding:clamp(1.2rem,3vw,2.35rem); min-width:0; }
.ai-workbench-top { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1.2rem; border-bottom:1px solid var(--border); }
.ai-workbench-top h3 { font:700 italic clamp(1.45rem,2.6vw,2rem)/1.25 var(--font-display); margin-top:.45rem; color:var(--text); }
.ai-live-state { display:flex; align-items:center; gap:.5rem; padding:.42rem .55rem; border:1px solid var(--border); font: .52rem var(--font-mono); letter-spacing:.09em; white-space:nowrap; color:var(--text-3); }
.ai-live-state i { width:5px; height:5px; }
.ai-module-description { color:var(--text-2); font-size:.87rem; line-height:1.8; margin:1rem 0; max-width:72ch; }
.ai-suggestions { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 1.2rem; }
.ai-suggestion,.ai-inline-prompts button { border:1px solid var(--border); padding:.55rem .7rem; color:var(--text-2); font-size:.69rem; line-height:1.45; text-align:left; cursor:pointer; background:transparent; transition:color .2s,border-color .2s,background .2s; }
.ai-suggestion:hover,.ai-inline-prompts button:hover { border-color:var(--cu-border-h); color:var(--cu); background:var(--cu-dim); }
.ai-form { margin-top:1.2rem; }
.ai-form label { display:block; font:500 .58rem var(--font-mono); letter-spacing:.13em; color:var(--text-3); margin:1rem 0 .55rem; }
.ai-form textarea,.ai-form input,.ai-form select { width:100%; display:block; background:var(--bg); border:1px solid var(--border); color:var(--text); border-radius:2px; padding:.9rem 1rem; font:400 .85rem/1.7 var(--font-body); outline:none; transition:border-color .2s,box-shadow .2s; }
.ai-form textarea { resize:vertical; min-height:94px; }
.ai-form select { appearance:auto; }
.ai-form textarea:focus,.ai-form input:focus,.ai-form select:focus { border-color:var(--cu); box-shadow:0 0 0 3px var(--cu-dim); }
.ai-form textarea::placeholder,.ai-form input::placeholder { color:var(--text-3); opacity:.8; }
.ai-mode-field { padding:1rem; border:1px solid var(--border); background:var(--bg-card); margin:1.2rem 0; }
.ai-mode-field[hidden] { display:none; }
.ai-mode-field label:first-child { margin-top:0; }
.ai-inline-prompts { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.85rem; }
.ai-inline-prompts button { font-size:.64rem; }
.ai-field-meta { display:flex; justify-content:space-between; gap:1rem; margin:.4rem 0 .1rem; font: .57rem var(--font-mono); color:var(--text-3); }
.ai-form-bottom { display:flex; justify-content:space-between; align-items:center; gap:1.2rem; margin-top:1.25rem; }
.ai-privacy-note { display:flex; align-items:flex-start; gap:.5rem; max-width:43ch; font-size:.68rem; line-height:1.6; color:var(--text-3); }
.ai-privacy-note svg { flex:0 0 15px; color:var(--cu); margin-top:2px; }
.ai-submit { display:flex; align-items:center; gap:.8rem; justify-content:center; white-space:nowrap; flex-shrink:0; }
.ai-submit:disabled { opacity:.55; cursor:wait; transform:none; box-shadow:none; }
.ai-status { padding:.65rem .8rem; margin-top:1rem; border-left:2px solid var(--blue); background:var(--blue-dim); font-size:.72rem; color:var(--text-2); line-height:1.6; }
.ai-status[data-state="error"] { border-color:#dc7676; background:rgba(220,118,118,.08); }
.ai-status[data-state="success"] { border-color:#7eb995; background:rgba(126,185,149,.08); }
.ai-response-panel { margin-top:1.5rem; border:1px solid var(--cu-border); background:var(--bg-card); box-shadow:var(--sh-lg); }
.ai-response-panel[hidden] { display:none; }
.ai-response-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.2rem 1.5rem; border-bottom:1px solid var(--border); background:var(--bg-el); }
.ai-response-head h3 { font:700 italic 1.55rem var(--font-display); margin-top:.35rem; }
.ai-response-actions { display:flex; gap:.5rem; flex-wrap:wrap; }
.ai-text-button { padding:.5rem .65rem; color:var(--cu); font: .59rem var(--font-mono); border:1px solid var(--cu-border); cursor:pointer; }
.ai-text-button:hover { background:var(--cu-dim); }
.ai-answer { padding:1.5rem; color:var(--text-2); font-size:.88rem; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.ai-answer:empty { display:none; }
.ai-loading { display:flex; align-items:center; gap:1rem; padding:1.5rem; border-bottom:1px solid var(--border); }
.ai-loading[hidden] { display:none; }
.ai-loading strong { font-family:var(--font-display); font-style:italic; color:var(--text); }
.ai-loading p { color:var(--text-3); font-size:.73rem; margin-top:.25rem; }
.ai-loading-orbit { width:28px; height:28px; border-radius:50%; border:2px solid var(--border); border-top-color:var(--cu); animation:ai-spin .9s linear infinite; }
@keyframes ai-spin { to { transform:rotate(360deg); } }
.ai-sources-wrap { border-top:1px solid var(--border); padding:1.15rem 1.5rem; }
.ai-sources-wrap[hidden] { display:none; }
.ai-sources { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.7rem; }
.ai-source-link { display:inline-flex; align-items:center; gap:.4rem; padding:.58rem .7rem; border:1px solid var(--border); color:var(--text-2); font-size:.69rem; transition:border-color .2s,color .2s; }
.ai-source-link:hover { border-color:var(--cu-border-h); color:var(--cu); }
.ai-disclaimer { padding:0 1.5rem 1.3rem; font-size:.66rem; color:var(--text-3); line-height:1.65; }
.ai-guardrails { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:2rem; }
.ai-guardrail { padding:1.2rem; border-top:1px solid var(--cu-border); background:var(--bg-el); }
.ai-guardrail span { font:.57rem var(--font-mono); letter-spacing:.12em; color:var(--cu); }
.ai-guardrail h4 { margin:.65rem 0 .5rem; font:700 italic 1.1rem var(--font-display); color:var(--text); }
.ai-guardrail p { color:var(--text-3); font-size:.75rem; line-height:1.75; }
.ai-last-section { border-top:1px solid var(--border); }
.ai-policy-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:3rem; }
.ai-policy-grid .dh em { color:var(--cu); }
.ai-policy-copy p { color:var(--text-2); line-height:1.9; margin-bottom:1rem; max-width:68ch; }
.ai-policy-copy .btn-out { display:inline-flex; margin-top:.8rem; }
.ai-desk-page .btt { cursor:pointer; }
@media (max-width:1050px) { .ai-hero-grid { grid-template-columns:1fr; } .ai-machine { max-width:720px; width:100%; } .ai-product-layout { grid-template-columns:1fr; } .ai-tool-index { border-right:0; border-bottom:1px solid var(--border); display:grid; grid-template-columns:repeat(3,1fr); } .ai-index-label,.ai-index-foot { grid-column:1/-1; } .ai-mode { grid-template-columns:1.4rem 1fr; } .ai-mode-arrow { display:none; } .ai-guardrails { grid-template-columns:1fr 1fr; } }
@media (max-width:768px) { .ai-hero { padding-top:calc(var(--nav-h) + 3rem); } .ai-title { font-size:clamp(2.7rem,12vw,4rem); } .ai-section-heading { display:block; } .ai-budget-block { margin-top:1.6rem; } .ai-tool-index { grid-template-columns:1fr; } .ai-index-label,.ai-index-foot { grid-column:auto; } .ai-index-foot { margin-top:.5rem; } .ai-form-bottom { align-items:stretch; flex-direction:column; } .ai-submit { width:100%; } .ai-response-head { align-items:flex-start; flex-direction:column; } .ai-guardrails { grid-template-columns:1fr; } .ai-policy-grid { grid-template-columns:1fr; gap:1.5rem; } .ai-machine { min-height:325px; padding:1rem; } .ai-terminal-lines { margin:2rem 0; padding:.9rem .4rem; } .ai-terminal-lines p { font-size:.58rem; } .ai-live-state { font-size:.45rem; } .ai-response-actions { width:100%; } }
@media (max-width:480px) { .ai-proof-pills span { font-size:.52rem; } .ai-machine-top,.ai-machine-bottom { font-size:.49rem; } .ai-mode { padding:.9rem .55rem; } .ai-workbench { padding:1rem; } .ai-form textarea,.ai-form input,.ai-form select { padding:.78rem; } .ai-field-meta { font-size:.51rem; } .ai-answer { padding:1rem; font-size:.81rem; } .ai-disclaimer,.ai-response-head,.ai-sources-wrap { padding-left:1rem; padding-right:1rem; } }
@media (prefers-reduced-motion: reduce) { .ai-ticker-track,.ai-loading-orbit { animation:none; } }


/* Live research + private role-alignment index: signature copper/blue terminal treatment. */
.ai-research-badge[hidden],.ai-fit-score[hidden]{display:none}
.ai-optional{display:inline-block;margin-left:.45rem;color:var(--text-3);font-size:.58rem;letter-spacing:.1em}
.ai-research-badge{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:1.1rem 0;padding:.8rem 1rem;border:1px solid var(--cu-border);background:var(--cu-dim);font-family:var(--font-mono);font-size:.68rem;line-height:1.6;color:var(--text-2)}
.ai-research-badge strong{font-size:.62rem;letter-spacing:.14em;color:var(--cu)}
.ai-research-badge[data-state="partial"]{border-color:rgba(56,189,248,.25);background:var(--blue-dim)}
.ai-research-badge[data-state="partial"] strong{color:var(--blue)}
.ai-research-pulse{width:7px;height:7px;border-radius:50%;background:var(--cu);box-shadow:0 0 0 4px var(--cu-dim);flex:0 0 auto}
.ai-research-badge[data-state="partial"] .ai-research-pulse{background:var(--blue);box-shadow:0 0 0 4px var(--blue-dim)}
.ai-fit-score{display:grid;grid-template-columns:minmax(145px,.38fr) 1fr;gap:1.25rem;margin:1rem 0 1.4rem;padding:1.25rem;border:1px solid var(--cu-border);border-left:3px solid var(--cu);background:linear-gradient(125deg,var(--cu-dim),transparent 60%),var(--bg-card);box-shadow:var(--sh)}
.ai-fit-score-mark{display:flex;flex-direction:column;gap:.5rem;justify-content:center}
.ai-fit-score-mark .ai-overline{color:var(--cu)}
.ai-fit-score-mark>strong{font-family:var(--font-display);font-size:3rem;line-height:1;font-weight:900;font-style:italic;color:var(--cu)}
.ai-fit-score-mark small{font-family:var(--font-mono);font-size:.85rem;font-style:normal;color:var(--text-3);margin-left:.15rem}
.ai-fit-score-copy{display:flex;flex-direction:column;justify-content:center;gap:.45rem;min-width:0}
.ai-fit-score-copy>strong{font-size:1rem;color:var(--text);font-weight:650}
.ai-fit-score-copy p{margin:0;color:var(--text-2);font-size:.85rem;line-height:1.65}
.ai-fit-skills{color:var(--text-3);font-family:var(--font-mono);font-size:.66rem;line-height:1.7;overflow-wrap:anywhere}
@media(max-width:640px){.ai-fit-score{grid-template-columns:1fr;gap:.85rem}.ai-fit-score-mark{flex-direction:row;align-items:center;justify-content:space-between}.ai-fit-score-mark>strong{font-size:2.4rem}}
