/* FindWho: one Midnight / Violet system; no retired auto-mounted tool styles. */
@import url('/assets/unified-base.css');
@import url('/assets/live.css');
@import url('/assets/personal-reader.css');

:root {
  color-scheme: dark;
  --bg:#0b0c10; --side:#0e0f14; --panel:#12141b; --panel-2:#191b25; --raised:#202330;
  --text:#f0f0f7; --muted:#a1a3b6; --dim:#72788d; --line:#262a37;
  --ink:var(--text); --surface:var(--panel);
  --accent:#9e85ff; --violet:#7958f8; --violet-deep:#7958f8; --tint:#201b36;
  --green:#89d7b1; --amber:#e6c58a; --danger:#ffacbc;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;
  --mono:"SFMono-Regular",Consolas,monospace; --sidebar:232px;
  --person-ink:var(--text); --person-muted:var(--muted); --person-violet:var(--accent);
  --ws-paper:var(--panel); --ws-bg:var(--bg); --ws-subtle:var(--panel-2); --ws-canvas:var(--raised);
  --ws-ink:var(--text); --ws-muted:var(--muted); --ws-line:var(--line); --ws-line-strong:#393d50;
  --ws-accent:var(--accent); --ws-accent-soft:var(--tint); --ws-success:var(--accent);
  --ws-danger:var(--danger); --ws-warning:var(--amber); --ws-overlay-shadow:0 20px 64px #23352c14;
}
* { box-sizing:border-box; }
body,body[data-work-page="twin"] { margin:0; background:var(--bg); color:var(--text); font:15px/1.7 var(--font); -webkit-font-smoothing:antialiased; }
body::before,body::after { content:none!important; }
[hidden] { display:none!important; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:default; opacity:.55; }
h1,h2,h3 { color:var(--text); letter-spacing:-.025em; text-wrap:pretty; }
h1 { font-size:30px; line-height:1.4; font-weight:650; }
h2 { font-size:20px; line-height:1.5; font-weight:600; }
h3 { font-size:16px; line-height:1.6; font-weight:600; }
p { line-height:1.8; }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
input:not([type="checkbox"]):not([type="radio"]),textarea,select { background:var(--panel); color:var(--text); border:1px solid #323647; border-radius:8px; padding:11px 13px; box-shadow:none; }
input::placeholder,textarea::placeholder { color:#777c91; }
input[type="checkbox"],input[type="radio"] { accent-color:var(--accent); width:auto; }
input:focus,textarea:focus,select:focus { border-color:var(--accent); }
.btn,button.primary,a.primary,.button.primary,button.secondary,a.secondary,.button.secondary { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:40px; padding:10px 16px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--text); box-shadow:none; font-size:13px; font-weight:550; transition:background 160ms,border-color 160ms,transform 160ms; }
.btn-primary,button.primary,a.primary,.button.primary { background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:none; }
.btn-primary:hover,button.primary:hover,a.primary:hover,.button.primary:hover { background:var(--violet-deep); border-color:var(--violet-deep); color:#fff; box-shadow:none; }
.btn-soft,.btn-secondary,button.secondary,.button.secondary { background:#12141b; color:var(--accent); }
.btn-soft:hover,.btn-secondary:hover,button.secondary:hover { background:var(--tint); }
.btn:active,button.primary:active,button.secondary:active { transform:translateY(1px); }
.link,.text-button,.inline-link { background:none; border:0; color:var(--accent); padding:5px 0; box-shadow:none; }
.link:hover,.text-button:hover,.inline-link:hover { color:var(--violet-deep); text-decoration:underline; }
.small-button,.icon-btn { background:transparent; border-color:var(--line); color:var(--muted); box-shadow:none; }
.ico { color:currentColor; }
.skip,.skip-link { position:fixed; left:16px; top:-80px; background:var(--accent); color:#fff; z-index:100; padding:10px 14px; }
.skip:focus,.skip-link:focus { top:12px; }

#app .app { display:grid; grid-template-columns:var(--sidebar) minmax(0,1fr); min-height:100dvh; }
#app .sidebar { display:flex; flex-direction:column; position:sticky; top:0; width:var(--sidebar); height:100dvh; padding:28px 16px 22px; background:var(--side); border-right:1px solid var(--line); box-shadow:none; backdrop-filter:none; }
#app .brand { display:inline-flex; align-items:center; gap:10px; color:var(--text); font-size:21px; font-weight:650; letter-spacing:-.035em; }
#app .brand-icon { width:30px; height:30px; background:none; box-shadow:none; }
#app .primary-nav { display:grid; gap:5px; margin-top:42px; }
#app .primary-nav button { display:flex; align-items:center; gap:12px; width:100%; min-height:46px; padding:11px 14px; border:0; border-radius:8px; background:none; color:var(--muted); font-size:14px; text-align:left; box-shadow:none; }
#app .primary-nav button.active { background:#211b36; color:var(--accent); font-weight:600; }
#app .primary-nav button:hover { background:var(--tint); color:var(--accent); }
#app .frame { min-width:0; margin-left:0; }
#app .app>.frame:first-child { grid-column:1 / -1; }
#app .topbar { height:68px; min-height:68px; padding:0 40px; background:var(--bg); border-bottom:1px solid var(--line); box-shadow:none; backdrop-filter:none; }
#app .topbar strong { font-size:13px; font-weight:500; color:var(--muted); }
#app .live-main { width:100%; max-width:1180px; margin:auto; padding:36px 40px 84px; }
#app .sidebar-bottom { margin-top:auto; padding-top:28px; border:0; }
#app .sidebar-bottom .self { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:12px; }
.avatar { background:var(--tint); color:var(--accent); border-color:var(--line); box-shadow:none; }
.mobile-nav { display:none; }
[data-enter] { opacity:1!important; transform:none!important; }
.person-particles,.hero-orb,.hero-stars,.hero-aurora,.visual-fingerprint,.semantic-arrow-track,.signal-rails-v6 { display:none!important; }
.page-heading { margin-bottom:26px; }
.page-heading p { color:var(--muted); margin-top:10px; max-width:65ch; }

.panel,.status-card,.auth-card,.person-card,.source-item,.source-live,.permission-box,.portrait-narrative,.portrait-reading,.person-task,.task-context-panel,.person-use-result,.account-model-settings,.settings-group,.privacy-block,.info-block,.empty-block,.intent-canvas,.intent-canvas-v6,.profile-hero-v6,.handshake-v6,.check-result-v6,.evidence-feature-v6,.preflight-card-v6,.host-tool-v6,.semantic-source-node,.semantic-fact-v6 { background:var(--panel); color:var(--text); border-color:var(--line); box-shadow:none; backdrop-filter:none; }
.panel,.status-card,.task-context-panel { border:1px solid var(--line); border-radius:12px; padding:24px; }
.panel :is(p,small),.helper,.muted-block,.sub,.page-sub,.host-coverage,.privacy-note,.task-privacy-copy { color:var(--muted); }
.tag,.chip-row span,.source-badge,.tab,.code-mini,.code-copy,.local-test-box,.host-coverage-empty { background:var(--panel-2); border-color:var(--line); color:var(--muted); box-shadow:none; }
.tag.purple,.tag.green { color:var(--accent); }
.code-copy code,pre,code { color:var(--text); }
.code-copy { background:var(--panel-2); }
.form-error,.error-panel,.twin-form-error,.share-error { color:var(--danger); background:#2d1720; border-color:#633443; }
.toast { background:var(--text); color:#fff; border-color:var(--text); box-shadow:0 8px 24px #23352c18; }
.reading-skeleton i { background:#262a37; }
.portrait-intro { display:block; min-height:0; border-bottom:1px solid var(--line); padding:0 0 28px; }
.portrait-intro h1 { font-size:30px; }
.portrait-intro-copy>p { color:var(--muted); margin:12px 0 22px; }
.portrait-workspace-grid { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:32px; margin-top:28px; }
.twin-action-panel { padding-top:8px; }
.twin-action-panel h2 { font-size:15px; margin-bottom:12px; }
.twin-action { display:flex; gap:10px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
.twin-action span { flex:1; }
.twin-action small { display:block; color:var(--muted); font-size:12px; margin-top:3px; }
.twin-action-more summary { cursor:pointer; color:var(--muted); margin-top:16px; }
.person-library,.person-library-head,.portrait-reading,.portrait-dossier { border-color:var(--line); color:var(--text); }
.person-library p,.portrait-reading p,.portrait-dossier p { color:var(--text); }
.person-library-header small,.person-library small,.portrait-date,.portrait-meta { color:var(--muted); }
.compact-settings { display:grid; gap:14px; max-width:900px; }
.settings-group,.account-model-settings { border:1px solid var(--line); border-radius:10px; padding:18px 22px; }
.settings-group>summary,.account-model-settings>summary { display:flex; gap:16px; justify-content:space-between; align-items:center; cursor:pointer; font-size:14px; }
.settings-group>summary span,.account-model-settings>summary span { font-size:12px; color:var(--muted); }
.settings-group-body { margin-top:20px; }
.settings-shortcuts { display:flex; gap:10px; flex-wrap:wrap; }
.settings-account .panel { margin:0; }
.account-model-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.connection-row { display:flex; gap:16px; justify-content:space-between; padding:22px 0; border-bottom:1px solid var(--line); }
.connection-summary { flex:1; }
.connection-summary small { display:block; color:var(--muted); }
.compact-connect { margin-bottom:20px; }
.compact-connect p { margin-top:12px; color:var(--muted); }
.person-materials { color:var(--text); }
.material-add textarea { background:var(--panel); }
.material-add textarea:focus,.material-file:focus-within { outline-color:var(--accent); }
.material-drop { border-color:#393d50; background:var(--panel-2); }
.material-drop.is-over { background:var(--tint); border-color:var(--accent); }
.material-add :is(select,input[type="date"]) { margin:8px 0 14px; }
.material-add label:has(input[type="checkbox"]) { display:flex; gap:8px; align-items:flex-start; margin:14px 0; font-size:13px; }
.material-add label:has(input[type="checkbox"]) input { flex:none; margin-top:4px; }
.auth-scene { min-height:100dvh; background:var(--bg); }
.landing-nav { max-width:1220px; margin:auto; padding:26px 40px; background:none; border-color:var(--line); }
.auth-layout.person-landing { grid-template-columns:minmax(0,1fr) minmax(300px,400px)!important; max-width:1180px!important; min-height:480px; gap:64px!important; padding:70px 40px 56px!important; }
.auth-copy { max-width:590px; }
.person-landing .auth-copy h1 { font-size:clamp(34px,4vw,48px)!important; line-height:1.35!important; color:var(--text); }
.person-landing .auth-copy>p { color:var(--muted); font-size:17px; max-width:32ch; }
.person-landing .auth-copy .eyebrow { color:var(--accent); font-size:12px; letter-spacing:.03em; }
.auth-card.person-auth { background:var(--panel)!important; border:1px solid var(--line); border-radius:14px; padding:28px; box-shadow:none; }
.auth-card h2 { font-size:23px; }
.auth-card .live-form { margin-top:20px; }
.auth-card input,.auth-card .btn { width:100%; }
.auth-divider,.google-btn { border-color:var(--line); color:var(--muted); background:var(--panel); }
.auth-bottom { max-width:1180px; margin:auto; padding:24px 40px; border-top:1px solid var(--line); color:var(--muted); }
.person-start { border-color:var(--line); }
.person-examples { max-width:1180px; gap:32px; margin-bottom:40px; }
.person-examples article { border-color:var(--line); }
.person-examples p { color:var(--muted); }
.person-examples .example-question { color:var(--text); }
.person-examples article>span { color:var(--accent); }
.modal-backdrop { background:#0009; backdrop-filter:blur(4px); }
.modal,.live-dialog,dialog { color:var(--text); background:var(--panel); border-color:var(--line); box-shadow:var(--ws-overlay-shadow); }
.modal-head,.modal-footer { border-color:var(--line); background:var(--panel); }

#personal-twin-mount .twin-page { --twin-ink:var(--text); --twin-muted:var(--muted); --twin-line:var(--line); }
#personal-twin-mount .twin-heading { padding-top:0; }
#personal-twin-mount .twin-heading h1 { font-size:32px; }
#personal-twin-mount .twin-biography p { color:var(--text); }
#personal-twin-mount .twin-biography p:first-child { font-size:18px; color:var(--text); }
#personal-twin-mount .twin-tabs button[aria-selected="true"] { color:var(--accent); border-bottom-color:var(--accent); }
#personal-twin-mount .twin-compose,#personal-twin-mount .twin-chat-main,#personal-twin-mount .twin-onboarding { background:var(--panel); border-color:var(--line); box-shadow:none; }
#personal-twin-mount .twin-onboarding { margin:7vh auto; }
#personal-twin-mount .twin-onboarding-mark { color:var(--accent); background:var(--tint); border-color:var(--line); }
#personal-twin-mount .twin-compose textarea { background:transparent; border:0; border-radius:0; color:var(--text); }
#personal-twin-mount .twin-compose:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px #9e85ff12; }
#personal-twin-mount .twin-message.from-user { background:var(--panel-2); }
#personal-twin-mount .twin-model-consent { display:flex; align-items:flex-start; gap:8px; font-size:12px; font-weight:400; color:var(--muted); margin:14px 0 0; }
.twin-model-consent input[type="checkbox"] { flex:none; margin-top:4px; }
.twin-drawer,.twin-drawer>header,.twin-drawer form { border-color:var(--line); }
.twin-source { background:var(--panel-2); border-color:var(--line); }
.twin-drawer .text-button,.twin-judgement-top .text-button,.twin-rail-links a,.twin-chat-heading a { color:var(--accent); }

.personal-guide { max-width:850px; }
.guide-steps { list-style:none; counter-reset:guide; display:grid; margin:0 0 30px; padding:0; }
.guide-steps li { counter-increment:guide; position:relative; padding:18px 0 18px 44px; border-bottom:1px solid var(--line); }
.guide-steps li::before { content:counter(guide); position:absolute; left:0; top:18px; display:grid; place-items:center; width:27px; height:27px; border-radius:7px; background:var(--tint); color:var(--accent); font-size:13px; }
.guide-steps strong { font-size:15px; font-weight:600; }
.guide-steps p { color:var(--muted); margin-top:4px; }
.guide-instruction { background:var(--panel); padding:24px; border:1px solid var(--line); border-radius:12px; margin-bottom:20px; }
.guide-instruction h2 { font-size:18px; }
.guide-command { margin-top:18px; font-size:14px; color:var(--muted); user-select:text; line-height:1.9; }
.guide-notes { margin:36px 0; }
.guide-notes p { margin-top:14px; color:var(--muted); }
.records-list { display:grid; gap:14px; }
.records-list article,.record-card { background:var(--panel); padding:22px; border:1px solid var(--line); border-radius:12px; }
.record-card p,.record-meta { color:var(--muted); font-size:13px; }
.record-card .row { flex-wrap:wrap; margin-top:14px; }
.record-body { white-space:pre-wrap; overflow-wrap:anywhere; }

.share-header { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1020px; margin:auto; padding:26px 32px; border-bottom:1px solid var(--line); }
.share-brand { display:inline-flex; align-items:center; gap:10px; font-size:21px; font-weight:650; letter-spacing:-.035em; }
.share-brand img { width:30px; height:30px; }
.share-header>a:last-child { font-size:13px; color:var(--accent); }
.share-reader { max-width:800px; margin:34px auto 64px; padding:0 32px; }
.share-card { padding:28px; margin-bottom:20px; background:var(--panel); border:1px solid var(--line); border-radius:12px; }
.share-card h2 { margin-bottom:16px; }
.share-card h3 { margin-top:20px; }
.share-prose { white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; line-height:1.9; margin:16px 0; }
.share-meta { color:var(--muted); font-size:12px; margin:12px 0; }
.share-reader label { display:block; margin:14px 0; font-size:13px; }
.share-reader input:not([type="radio"]),.share-reader textarea { display:block; width:100%; margin-top:6px; }
.share-reader textarea { min-height:110px; }
.share-reader button { background:var(--accent); color:#fff; border:1px solid var(--accent); border-radius:8px; padding:10px 16px; margin-top:10px; }
.share-reader button:hover { background:var(--violet-deep); }
.share-reader blockquote { border-left:3px solid #55416f; padding-left:18px; margin:16px 0; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--muted); }
.share-error:empty { display:none; }

@media (max-width:1100px) {
  #app .live-main { padding:30px 28px 84px; }
  #app .topbar { padding:0 28px; }
  #personal-twin-mount .twin-layout,#personal-twin-mount .twin-chat-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
  #personal-twin-mount .twin-rail { padding-top:0; }
  .portrait-workspace-grid { grid-template-columns:minmax(0,1fr); }
  .twin-action-panel { border-top:1px solid var(--line); padding-top:24px; }
}
@media (max-width:760px) {
  #app .app { display:block; }
  #app .sidebar { display:none; }
  #app .frame { margin-left:0; }
  #app .topbar { position:sticky; top:0; z-index:20; padding:0 20px; height:58px; min-height:58px; background:var(--bg); }
  #app .live-main { padding:26px 20px 106px; }
  #app .mobile-nav { position:fixed; bottom:0; left:0; right:0; z-index:30; display:grid; grid-template-columns:repeat(4,1fr); padding:8px 8px calc(8px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:var(--panel); box-shadow:none; }
  #app .mobile-nav button { display:flex; flex-direction:column; align-items:center; gap:3px; min-height:44px; font-size:11px; color:var(--muted); border:0; background:none; }
  #app .mobile-nav button.active { color:var(--accent); font-weight:600; }
  #app .mobile-nav .ico { width:20px; height:20px; }
  .landing-nav { padding:20px; }
  .auth-layout.person-landing { display:grid; grid-template-columns:minmax(0,1fr)!important; gap:28px!important; padding:42px 20px 32px!important; min-height:0; }
  .auth-card.person-auth { grid-column:1; grid-row:auto; padding:24px; }
  .person-landing .auth-copy h1 { font-size:34px!important; }
  .auth-bottom { padding:24px 20px; flex-wrap:wrap; gap:16px; }
  .person-examples { grid-template-columns:1fr; gap:24px; padding:0 20px; }
  .account-model-fields { grid-template-columns:1fr; }
  .connection-row { flex-wrap:wrap; }
  .settings-group>summary { flex-wrap:wrap; gap:6px; }
  #personal-twin-mount .twin-heading { flex-wrap:wrap; gap:12px; }
  #personal-twin-mount .twin-heading h1 { font-size:27px; }
  #personal-twin-mount .twin-header-actions { padding-top:0; }
  #personal-twin-mount .twin-onboarding { padding:28px 22px; margin:3vh auto; }
  #personal-twin-mount .twin-chat-main { height:calc(100dvh - 220px); min-height:380px; }
  #personal-twin-mount .twin-messages { padding:20px; }
  .guide-instruction { padding:20px; }
  .guide-instruction .spread { flex-wrap:wrap; gap:12px; }
  .share-header { padding:20px; }
  .share-reader { padding:0 20px; margin-top:24px; }
  .share-card { padding:22px; }
  input:not([type="checkbox"]):not([type="radio"]),textarea,select { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Connection is the first step, for new and returning users. */
.twin-onboarding { max-width:none!important; margin:22px 0!important; padding:0!important; background:none!important; border:0!important; }
.twin-connect-strip,.connect-primary,.guide-instruction { background:var(--panel); border:1px solid #393049; border-radius:18px; padding:36px; }
.twin-connect-strip { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px 36px; margin:0 0 36px; }
.twin-connect-copy { max-width:700px; }
.twin-connect-copy .twin-eyebrow,.connect-page .eyebrow { color:var(--accent); }
.twin-connect-copy h1 { font-size:clamp(28px,3.2vw,42px); line-height:1.35; margin:14px 0; max-width:17em; }
.twin-connect-copy h2 { font-size:20px; margin:6px 0 10px; }
.twin-connect-copy p,.connect-primary>p { color:var(--muted); max-width:60ch; }
.twin-connect-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; align-self:center; }
.twin-connect-actions .primary,.connect-primary>.btn-primary { min-height:48px; padding:12px 24px; background:var(--violet); border-color:var(--violet); font-size:15px; color:white; }
.twin-connect-actions .primary:hover,.connect-primary>.btn-primary:hover { background:#8968ff; }
.twin-connect-flow,.connect-steps { display:flex; flex-wrap:wrap; gap:12px 22px; padding:0; margin:24px 0 0; list-style:none; counter-reset:step; }
.twin-connect-flow li,.connect-steps li { display:flex; align-items:center; gap:9px; counter-increment:step; font-size:13px; color:var(--muted); }
.twin-connect-flow li::before,.connect-steps li::before { content:counter(step); display:grid; place-items:center; width:24px; height:24px; background:var(--raised); border-radius:50%; color:var(--accent); font-size:11px; }
.twin-connect-footnote,.twin-connection-report { grid-column:1/-1; font-size:12px; color:var(--muted); }
.twin-connect-footnote { margin:0; }
.twin-connection-report { padding-top:14px; border-top:1px solid var(--line); }
.twin-connection-report summary { cursor:pointer; }
.twin-connection-report p { margin:10px 0; }
.twin-connect-strip.is-compact { padding:24px 28px; margin-bottom:30px; gap:12px 28px; }
.twin-connect-strip.is-compact .twin-connect-flow { margin-top:14px; }
.twin-host-report { margin:14px 0; padding:14px 18px; border-left:2px solid var(--accent); background:var(--panel-2); }
.twin-source-receipt { color:var(--muted); }
.twin-maintenance { position:relative; font-size:12px; color:var(--muted); }
.twin-maintenance summary { cursor:pointer; padding:9px; }
.twin-maintenance[open] { padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--panel-2); }
.twin-maintenance .text-button { display:block; padding:7px 4px; }
.twin-supplement { display:flex; gap:22px; flex-wrap:wrap; padding:12px 0; font-size:13px; }
.twin-tabs { overflow-x:auto; }
.twin-tabs button { white-space:nowrap; }
.twin-biography.reading-document { font-size:16px; line-height:2; }
.twin-drawer { background:var(--panel); color:var(--text); }
.twin-drawer::backdrop,dialog::backdrop { background:#0009; backdrop-filter:blur(5px); }
.twin-drawer-body p,.twin-source blockquote { color:var(--text); }
.twin-drawer>header button { font-size:13px; }
.connect-page { max-width:960px; }
.connect-primary h2 { margin-bottom:10px; }
.connect-primary>.btn { margin-top:22px; }
.connect-instruction { margin:18px 0; color:var(--muted); font-size:13px; }
.connect-instruction summary,.setup-details summary,details>summary { cursor:pointer; }
.connect-instruction .guide-command,.prompt-preview { white-space:pre-wrap; overflow-wrap:anywhere; padding:16px; background:var(--panel-2); border:1px solid var(--line); border-radius:10px; font-size:13px; }
.connect-status { margin:36px 0 24px; }
.connect-status h2 { font-size:18px; }
.connection-row { padding:20px 0; }
.connection-summary strong { font-size:15px; }
.connection-summary p,.host-coverage { font-size:13px; color:var(--muted); }
.connect-secondary { gap:18px; align-items:center; }
.connect-secondary .setup-details { flex-basis:100%; margin-top:18px; color:var(--muted); font-size:13px; }
.connect-guide { max-width:880px; }
.guide-protocol,.guide-more { border-top:1px solid var(--line); margin-top:28px; padding-top:22px; color:var(--muted); }
.guide-protocol>summary,.guide-more>summary { font-size:15px; color:var(--text); }
.guide-command { overflow-wrap:anywhere; }
#records-mount>h1 { font-size:28px; }
.record-search { margin:24px 0; border-top:1px solid var(--line); padding-top:18px; }
.record-search>summary { color:var(--muted); font-size:13px; }
.record-search form { max-width:600px; margin-top:16px; }
#records-mount>.panel { margin-top:16px; padding:20px 24px; }
#records-mount .reading-document { max-height:180px; overflow:auto; margin:10px 0; }
.capture-options { padding:14px 0; margin:8px 0; color:var(--muted); }
.capture-options>summary { font-size:13px; }
.capture-options[open]>label { margin-top:14px; }
.twin-model-consent { display:flex!important; align-items:flex-start; gap:9px; color:var(--muted); font-size:12px; }
.twin-model-consent input { margin-top:5px; flex:none; }
.twin-progress { background:var(--panel-2); border-color:var(--line); color:var(--text); }
.twin-skeleton i,.reading-skeleton i { background:var(--raised); }
@media(max-width:900px) {
 .twin-connect-strip { grid-template-columns:1fr; padding:28px; }
 .twin-connect-actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:18px; }
 .twin-connect-footnote,.twin-connection-report { grid-column:1; }
 .twin-connect-strip.is-compact { padding:22px; }
 .twin-layout,.twin-chat-layout { grid-template-columns:1fr; gap:28px; }
 .twin-header-actions { flex-wrap:wrap; }
}
@media(max-width:760px) {
 .connect-primary,.guide-instruction { padding:24px; }
 .twin-connect-copy h1 { font-size:29px; }
 .twin-connect-flow,.connect-steps { gap:10px 15px; }
 .twin-connect-flow li,.connect-steps li { font-size:12px; }
 .twin-connect-actions .primary { width:100%; }
 .twin-connect-actions { width:100%; }
 .twin-supplement { gap:18px; }
 .connect-status { margin-top:28px; }
}

.btn-primary,button.primary,a.primary,.button.primary,.share-reader button { background:var(--violet); border-color:var(--violet); color:#fff; }
.btn-primary:hover,button.primary:hover,a.primary:hover,.button.primary:hover,.share-reader button:hover { background:#8968ff; border-color:#8968ff; color:#fff; }
.toast { background:var(--raised); color:var(--text); border:1px solid var(--line); }
.twin-host-report>strong,.twin-host-report>span { display:block; }
.twin-host-report>span { margin-top:4px; font-size:12px; color:var(--muted); }
.person-landing .auth-copy>p { max-width:42ch; }
.person-landing .auth-copy h1>span { display:block; color:var(--accent); }
.personal-guide-public { max-width:960px; padding:36px 28px 60px; margin:auto; }
/* Read / chat / share have distinct actions, inside the same app. */
.twin-update-note { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px 20px; padding:0 0 24px; margin-bottom:24px; border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; }
.twin-update-note p { margin:0; }
.twin-update-note .twin-connect-actions { flex-direction:row; align-items:center; gap:14px; }
.twin-update-note .twin-connect-actions .primary { min-height:38px; font-size:13px; padding:8px 14px; }
.twin-chat-full { max-width:1020px; margin:auto; }
.twin-chat-full .twin-chat-layout { display:block; }
.twin-chat-full .twin-chat-main { width:100%; height:calc(100dvh - 260px); min-height:540px; }
.twin-chat-full .twin-compose { border-radius:0 0 14px 14px; padding:20px 28px; border-top:1px solid var(--line); }
.twin-chat-full .twin-compose textarea { min-height:80px; max-height:180px; }
.twin-chat-full .twin-context-rail { padding:14px 0; font-size:13px; }
.twin-chat-new .twin-chat-main { min-height:580px; }
.twin-conversation-history { margin:20px 0; }
.twin-conversation-history a { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-bottom:1px solid var(--line); color:var(--muted); }
.twin-chapter-directory { padding:18px 0; border-bottom:1px solid var(--line); }
.twin-chapter-directory>summary { font-size:14px; color:var(--text); }
.twin-chapter-list { display:grid; gap:3px; padding:12px 0 0; }
.twin-chapter-list button { display:block; width:100%; text-align:left; border:0; border-left:2px solid transparent; border-radius:0; padding:9px 12px; background:none; font-size:13px; color:var(--muted); }
.twin-chapter-list button[aria-current="true"] { background:var(--tint); border-left-color:var(--accent); color:var(--text); }
.twin-chapter-list button:hover { color:var(--text); background:var(--panel-2); }
.twin-share-preview { border:1px solid var(--line); padding:16px; border-radius:10px; margin:18px 0; }
.twin-share-preview .reading-document { max-height:280px; overflow:auto; margin:12px 0; }
.twin-share-result:not(:empty) { margin:20px 0; padding:18px; border:1px solid var(--line); border-radius:10px; }
.twin-share-result .row,.twin-share-entry .row { gap:10px; flex-wrap:wrap; }
.twin-share-entry { margin:16px 0; padding-bottom:16px; border-bottom:1px solid var(--line); }
.twin-share-entry a { display:inline-block; margin:6px 12px 6px 0; }
.connect-management { margin-top:22px; border-top:1px solid var(--line); padding-top:18px; }
.connect-management>summary { color:var(--muted); font-size:14px; }
.name-settings { max-width:460px; }
.full-share-reader { max-width:1160px; margin:36px auto 80px; padding:0 32px; }
.shared-twin-intro { border-bottom:1px solid var(--line); padding-bottom:28px; margin-bottom:32px; }
.shared-twin-intro h1 { margin:12px 0; font-size:34px; }
.shared-twin-intro>p { color:var(--muted); }
.shared-twin-actions { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 12px; }
.shared-mobile-help { padding-top:18px; font-size:13px; color:var(--muted); }
.shared-mobile-help>summary { color:var(--text); }
.shared-twin-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:40px; align-items:start; }
.shared-chapter-nav { display:grid; position:sticky; top:24px; gap:4px; max-height:85dvh; overflow:auto; }
.shared-chapter-nav a { color:var(--muted); font-size:13px; padding:8px 12px; border-left:1px solid var(--line); }
.shared-chapter-nav a:hover { border-left-color:var(--accent); color:var(--accent); }
.shared-prose { max-width:74ch; line-height:2; }
.shared-prose p { margin:0 0 20px; line-height:2; overflow-wrap:anywhere; }
.shared-prose article { padding-bottom:24px; margin-bottom:28px; border-bottom:1px solid var(--line); scroll-margin-top:24px; }
.shared-prose h2 { margin-bottom:20px; }
@media(max-width:760px) {
 .twin-chat-full .twin-chat-main { height:calc(100dvh - 225px); min-height:400px; }
 .twin-chat-full .twin-compose { padding:18px; }
 .twin-chat-heading { flex-wrap:wrap; }
 .full-share-reader { padding:0 20px; margin-top:26px; }
 .shared-twin-layout { grid-template-columns:1fr; gap:24px; }
 .shared-chapter-nav { position:static; max-height:220px; }
 .shared-twin-intro h1 { font-size:28px; }
 .shared-twin-actions .btn { flex:1 1 auto; }
}

.connection-management { margin-top:18px; border-top:1px solid var(--line); padding-top:16px; }
.connection-management>summary { color:var(--muted); font-size:13px; }
.connection-technical { font-size:12px; color:var(--muted); padding-top:10px; }
.account-name-form { margin-top:22px; max-width:460px; }
.twin-chat-welcome { display:flex; flex-direction:column; justify-content:center; padding:42px; }
.twin-chat-welcome h2 { font-size:26px; margin-bottom:16px; }
.twin-chat-welcome p { max-width:60ch; color:var(--muted); }
.twin-chat-welcome ul { margin:18px 0; padding-left:20px; line-height:2.2; color:var(--muted); }
.twin-share-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.twin-share-actions>a { color:var(--accent); font-size:13px; }
.twin-share-secondary { flex-basis:100%; color:var(--muted)!important; font-size:12px!important; }
.twin-share-note,.twin-action-help { color:var(--muted); font-size:12px; margin:10px 0; }
#twin-share-form>label { display:flex; align-items:flex-start; gap:10px; line-height:1.8; }
#twin-share-form>label input { margin-top:6px; flex:none; }
@media(max-width:760px) { .twin-chat-welcome { padding:26px; } }
