/* Sophia scoped. One stylesheet for the local demo, the NEXUS preview, the client preview and the Growth acceptance view. */
body.sophia-demo{margin:0;background:#04130f;font-family:"Instrument Sans","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif}
#sophia{
  --bg:#061a15;--surface:rgba(255,255,255,.05);--surface-2:rgba(255,255,255,.08);--line:rgba(255,255,255,.1);
  --text:#eef5f1;--muted:#a9c2b7;--gold:#e4b335;--gold-2:#f3ce6a;--green:#1f6b4b;--ink:#13271b;--level:0;
  color-scheme:dark;position:relative;margin:0;color:var(--text);font-family:"Instrument Sans","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;
  background:radial-gradient(900px 520px at 16% 38%,rgba(34,122,86,.34),transparent 62%),radial-gradient(700px 420px at 96% 0,rgba(228,179,53,.1),transparent 60%),linear-gradient(160deg,#07201a,#04130f 70%);
  border-radius:28px;overflow:hidden;box-shadow:0 30px 70px -34px rgba(4,19,15,.75),inset 0 0 0 1px var(--line);-webkit-font-smoothing:antialiased
}
body.sophia-demo #sophia{border-radius:0;min-height:100vh;box-shadow:none}
#sophia *{box-sizing:border-box}
#sophia [hidden]{display:none!important}
#sophia p{margin:0}
#sophia button,#sophia a,#sophia input,#sophia textarea,#sophia select{font:inherit}
#sophia button,#sophia a{touch-action:manipulation}
#sophia button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:10px 16px;min-height:44px;cursor:pointer;font-size:13px;font-weight:550;line-height:1.2;transition:background .18s,border-color .18s,transform .18s}
#sophia button:hover:not(:disabled){background:var(--surface-2);border-color:rgba(255,255,255,.22)}
#sophia button:active:not(:disabled){transform:scale(.98)}
#sophia button:disabled,#sophia button[aria-disabled=true]{opacity:.5;cursor:default}
#sophia button:focus-visible,#sophia a:focus-visible,#sophia summary:focus-visible,#sophia select:focus-visible,#sophia input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
#sophia a{color:var(--gold-2)}
#sophia .sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Header */
#sophia header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 28px;border-bottom:1px solid var(--line)}
#sophia .brand{font-family:"Bricolage Grotesque","Instrument Sans",system-ui,sans-serif;font-size:19px;font-weight:700;letter-spacing:2.5px;text-decoration:none;color:#fff}
#sophia .brand span{display:block;font-family:"Instrument Sans",system-ui,sans-serif;font-size:11px;letter-spacing:.3px;font-weight:400;margin-top:2px;color:var(--muted)}
#sophia .badge{font-size:10px;letter-spacing:1.2px;font-weight:600;color:var(--gold-2);background:rgba(228,179,53,.1);border:1px solid rgba(228,179,53,.3);padding:6px 11px;border-radius:999px;white-space:nowrap}

/* Layout */
#sophia .workspace{display:grid;grid-template-columns:minmax(300px,38%) minmax(0,1fr);max-width:1450px;margin:auto}
#sophia .presence{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 28px 28px;border-right:1px solid var(--line)}
#formel-growth #sophia h1,#formel-growth #sophia h2,#formel-growth #sophia h3,#formel-growth #sophia label{color:var(--text)}
#sophia h1{font-family:"Bricolage Grotesque","Instrument Sans",system-ui,sans-serif;font-size:clamp(28px,2.9vw,42px);line-height:1.1;font-weight:600;letter-spacing:-.8px;margin:0 0 12px;color:var(--text)}
#sophia .intro{max-width:340px;color:var(--muted);font-size:14.5px;line-height:1.6}

/* Particle presence: same conversation and controls, no CSS speech simulation. */
#sophia .orb-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:400px;height:270px;margin:8px auto 0;isolation:isolate}
#sophia #core{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none}
#sophia .orb-fallback{position:absolute;display:grid;place-items:center}
#sophia .orb-wrap[data-canvas=ready] .orb-fallback{display:none}
#sophia .orb{position:relative;display:grid;place-items:center;width:150px;height:150px;border-radius:50%;border:1px solid #d1b965;background:radial-gradient(circle at 30% 20%,#5d9675,#123e30 50%,#06291e 85%);box-shadow:0 0 calc(16px + var(--level)*70px) #76cda744,inset 0 0 30px #bddf9d22;transform:scale(calc(1 + var(--level)*.15))}
#sophia .orb span{font:55px Georgia,serif;color:var(--gold)}
#sophia .orbit{position:absolute;width:205px;height:205px;border-radius:50%;border:1px solid #6b855642}
#sophia .core-mark{display:none;position:relative;z-index:1;font:600 27px Georgia,serif;letter-spacing:.05em;color:var(--gold-2);opacity:.96;text-shadow:0 0 4px #03140e,0 0 10px #03140e,0 0 18px #03140ecc,0 0 30px #e4b33577}
#sophia .orb-wrap[data-canvas=ready] .core-mark{display:block}
#sophia[data-state=error] .core-mark{color:#e18b7b}

#sophia #state{display:inline-flex;align-items:center;gap:8px;min-height:30px;margin:0 0 6px;padding:5px 13px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:12.5px;font-weight:550}
#sophia #state::before{content:"";width:7px;height:7px;border-radius:50%;background:#71d8aa;box-shadow:0 0 10px #71d8aa}
#sophia[data-state=thinking] #state::before,#sophia[data-state=understanding] #state::before,#sophia[data-state=confirmation] #state::before,#sophia[data-state=speaking] #state::before{background:var(--gold);box-shadow:0 0 10px var(--gold)}
#sophia[data-state=human] #state::before{background:#aabfc7;box-shadow:none}
#sophia[data-state=error] #state::before{background:#e18b7b;box-shadow:0 0 10px #e18b7b}
#sophia .subtitle{min-height:22px;font-size:13px;line-height:1.5;color:var(--text);max-width:380px}
#sophia .subtitle:empty{min-height:6px}

#sophia .voice-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:420px;margin:10px auto 12px}
#sophia .voice-controls button{display:inline-flex;align-items:center;gap:8px}
#sophia .voice-controls button::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
#sophia #voice{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 5 6 9H2v6h4l5 4z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E")}
#sophia #mic{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v4'/%3E%3C/svg%3E")}
#sophia #stop{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3C/svg%3E")}
#sophia #stop:disabled{display:none}
#sophia #voice[aria-pressed=true],#sophia #mic[aria-pressed=true]{background:rgba(228,179,53,.16);border-color:rgba(228,179,53,.55);color:var(--gold-2)}
#sophia .note,#sophia .attribution,#sophia .boundary,#sophia .ai-note{font-size:12px;line-height:1.55;color:var(--muted)}
#sophia .ai-note{margin-top:14px;text-align:center;color:var(--text)}
#sophia #voice-note{max-width:380px}
#sophia .attribution{margin-top:4px}
#sophia #consent-revoke{margin-top:6px;min-height:32px;padding:4px 10px;border:0;background:transparent;color:var(--muted);font-size:11.5px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
#sophia #consent-revoke:hover{color:var(--text);background:transparent}

/* Conversation */
#sophia .dialogue{display:flex;flex-direction:column;min-width:0;padding:24px 28px 22px}
#sophia .conversation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
#sophia .conversation-heading h2{font-family:"Bricolage Grotesque","Instrument Sans",system-ui,sans-serif;font-size:17px;font-weight:600;margin:0;letter-spacing:-.2px}
#sophia .conversation-heading button{font-size:12.5px;min-height:38px;padding:8px 14px}
#sophia #nexus-context{padding-top:12px}
#sophia label{display:block;font-size:12.5px;margin:12px 0 6px;color:var(--text)}
#sophia select{display:block;width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 12px;background:rgba(0,0,0,.25);color:var(--text);border:1px solid var(--line);border-radius:12px}

#sophia .messages{display:flex;flex-direction:column;gap:10px;height:clamp(320px,50vh,540px);overflow:auto;overscroll-behavior:contain;padding:18px 6px 8px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}
#sophia .message{position:relative;max-width:min(82%,640px);padding:11px 16px;border-radius:20px;overflow-wrap:anywhere;animation:sophia-rise .28s ease-out both}
#sophia .message>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#sophia .message p{white-space:pre-wrap;font-size:15px;line-height:1.6;color:var(--text)}
#sophia .message.assistant{align-self:flex-start;margin-left:40px;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px}
#sophia .message.assistant::before{content:"S";position:absolute;left:-40px;bottom:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font:15px Georgia,serif;color:var(--gold-2);background:radial-gradient(circle at 30% 25%,#2f7a59,#0b2c22 75%);border:1px solid rgba(228,179,53,.45)}
#sophia .message.user{align-self:flex-end;background:linear-gradient(135deg,#237553,#17543b);border:1px solid rgba(255,255,255,.08);border-bottom-right-radius:6px}
#sophia .message a.link{display:inline-flex;align-items:center;gap:6px;margin:3px 2px;padding:5px 13px;border-radius:999px;background:var(--gold);color:var(--ink);font-size:13.5px;font-weight:650;line-height:1.3;text-decoration:none;white-space:nowrap;transition:background .18s}
#sophia .message a.link::after{content:"↗";font-size:12px}
#sophia .message a.link:hover{background:var(--gold-2)}
#sophia .messages>.note{align-self:center}
#sophia .typing{display:none;align-self:flex-start;align-items:center;gap:5px;margin:2px 0 0 40px;padding:12px 16px;border-radius:20px 20px 20px 6px;background:var(--surface);border:1px solid var(--line);width:max-content}
#sophia[data-state=thinking] .typing,#sophia[data-state=understanding] .typing{display:flex}
#sophia .typing i{width:6px;height:6px;border-radius:50%;background:var(--gold-2);animation:sophia-dot 1.1s infinite ease-in-out}
#sophia .typing i:nth-child(2){animation-delay:.15s}
#sophia .typing i:nth-child(3){animation-delay:.3s}

#sophia .suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 0 2px}
#sophia .suggestions button{min-height:38px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--text);background:transparent;border-color:rgba(228,179,53,.35)}
#sophia .suggestions button:hover:not(:disabled){background:rgba(228,179,53,.12);border-color:rgba(228,179,53,.6)}

#sophia .error{margin-top:10px;padding:11px 14px;background:rgba(170,52,44,.28);border:1px solid rgba(225,139,123,.5);color:#fff;border-radius:14px;font-size:13.5px}
#sophia #composer{margin:12px 0 0}
#sophia .input-row{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 16px;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:24px;transition:border-color .18s,box-shadow .18s}
#sophia .input-row:focus-within{border-color:rgba(228,179,53,.7);box-shadow:0 0 0 4px rgba(228,179,53,.14)}
#sophia .input-row textarea{flex:1;min-width:0;min-height:44px;max-height:180px;padding:10px 0;background:transparent!important;border:0!important;box-shadow:none!important;outline:0;color:#fff;resize:none;font-size:15px;line-height:1.5}
#sophia .input-row textarea::placeholder{color:#8fae9f}
#sophia #send{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;background:var(--gold)!important;border-color:var(--gold)!important;color:var(--ink)!important;font-size:14px;font-weight:700}
#sophia #send::after{content:"";width:15px;height:15px;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
#sophia #send:hover:not(:disabled){background:var(--gold-2)!important}
#sophia #composer .note{margin:8px 4px 0}

/* Project summary, next step, private documents */
#sophia details{margin-top:14px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;font-size:13.5px}
#sophia summary{cursor:pointer;min-height:26px;font-weight:600;color:var(--text)}
#sophia dl{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 2px}
#sophia #facts>dt,#sophia #facts>dd{margin:0;padding:6px 0;font-size:13px}
#sophia #facts>dt{padding-left:12px;padding-right:6px;color:var(--muted);background:rgba(0,0,0,.22);border:1px solid var(--line);border-right:0;border-radius:999px 0 0 999px}
#sophia #facts>dd{margin-left:-8px;padding-right:12px;font-weight:600;background:rgba(0,0,0,.22);border:1px solid var(--line);border-left:0;border-radius:0 999px 999px 0;overflow-wrap:anywhere}
#sophia #next{margin-top:8px;font-size:12.5px;color:var(--muted)}
#sophia #document-fields{display:grid;grid-template-columns:130px 1fr;gap:8px}
#sophia #document-fields dt{color:var(--muted)}
#sophia #document-fields dd{margin:0}
#sophia input[type=text],#sophia input[type=file]{width:100%;min-height:40px;padding:8px 10px;background:rgba(0,0,0,.25);color:var(--text);border:1px solid var(--line);border-radius:10px}
#sophia .action{margin-top:14px;padding:16px 18px;border:1px solid rgba(228,179,53,.4);background:linear-gradient(135deg,rgba(228,179,53,.12),rgba(228,179,53,.03));border-radius:18px;font-size:13.5px;line-height:1.6;text-align:left}
#sophia .action h3{font-family:"Bricolage Grotesque","Instrument Sans",system-ui,sans-serif;font-size:15.5px;font-weight:600;margin:0 0 4px}
#sophia .action button{margin:10px 8px 0 0}
#sophia .action #journey{display:inline-flex;align-items:center;gap:6px;margin:12px 8px 0 0;padding:10px 18px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:700;text-decoration:none}
#sophia .action #journey::after{content:"↗";font-size:12px}
#sophia .action #journey:hover{background:var(--gold-2)}
#sophia #prepared{margin-top:8px}
#sophia #operator{font-size:12px;color:var(--muted);background:transparent;border-style:dashed}
#sophia #operator summary{font-weight:500;color:var(--muted)}
#sophia #operator ol{margin:8px 0 0;padding-left:18px}
#sophia #operator li{margin:3px 0;font-variant-numeric:tabular-nums}
#sophia .boundary{margin-top:4px;text-align:center}

@keyframes sophia-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes sophia-dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}

@media(max-width:1000px) and (min-width:761px){#sophia .workspace{grid-template-columns:42% 58%}#sophia .presence,#sophia .dialogue{padding-left:20px;padding-right:20px}#sophia .orb-wrap{height:230px}}
@media(max-width:760px){
  #sophia{border-radius:20px;font-size:14.5px}
  #sophia header{padding:14px 16px}
  #sophia .brand{font-size:16px}
  #sophia .brand span{display:none}
  #sophia .badge{font-size:9px;padding:5px 9px}
  #sophia .workspace{display:flex;flex-direction:column}
  #sophia .presence{padding:18px 16px 14px;border-right:0;border-bottom:1px solid var(--line)}
  #sophia h1{font-size:25px;margin-bottom:6px}
  #sophia h1 br{display:none}
  #sophia .intro{display:none}
  #sophia .orb-wrap{height:120px;max-width:200px;margin-top:0}
  #sophia .orb{width:100px;height:100px}
  #sophia .orb span{font-size:40px}
  #sophia .orbit{width:130px;height:130px}
  #sophia .core-mark{font-size:20px}
  #sophia .voice-controls{margin:8px auto}
  #sophia .voice-controls button{padding:9px 13px;font-size:12.5px}
  #sophia .dialogue{padding:16px 14px 16px}
  #sophia .messages{height:clamp(300px,54vh,460px)}
  #sophia .message{max-width:88%}
  #sophia .message.assistant{margin-left:0}
  #sophia .message.assistant::before{display:none}
  #sophia .typing{margin-left:0}
  #sophia .suggestions button{padding:8px 12px;font-size:12.5px}
  #sophia .input-row{padding-left:14px}
  #sophia #send{padding:10px 14px;font-size:0;gap:0}
  #sophia #send::after{width:18px;height:18px}
  #sophia #composer .note{display:none}
}
@media(prefers-reduced-motion:reduce){#sophia .orb{transform:none;box-shadow:0 0 16px #76cda744}#sophia .message,#sophia .typing i{animation:none}#sophia button{transition:none}#sophia *{scroll-behavior:auto!important}}
