/* Product polish kept separate from the base layout. */
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:0;border:0;background:transparent;color:var(--coral-dark);font:700 11px/1.2 var(--sans);cursor:pointer}.text-link:hover,.speak-button:hover{text-decoration:underline}.text-link:focus-visible,.frame-button:focus-visible,.chat-image-panel button:focus-visible,.speak-button:focus-visible{outline:3px solid color-mix(in srgb,var(--lav) 55%,transparent);outline-offset:3px}
.chat-image-panel{margin:0 18px 10px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.7)}.chat-image-panel label{display:block;margin-bottom:8px;font:700 11px var(--sans);color:var(--ink)}.chat-image-panel small{display:block;margin-top:7px;color:var(--muted);font-size:10px}.chat-image-row{display:flex;gap:8px}.chat-image-row input{min-width:0;flex:1;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--paper);color:var(--ink);font:12px var(--sans)}.chat-image-row .create-button{padding:9px 12px;white-space:nowrap}.composer.drop-target{border-color:var(--lav);background:#f7f3fc}.image-message img{display:block;width:min(280px,100%);margin:8px 0;border-radius:12px;border:1px solid var(--line)}.image-message p{font-size:11px;color:var(--muted)}
.appearance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.appearance-grid label{font-size:10px}.appearance-grid input,.appearance-grid select{width:100%;box-sizing:border-box}.appearance-grid input[type=color]{height:36px;padding:3px;cursor:pointer}.reduced-motion *,.reduced-motion *::before,.reduced-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
.voice-quick{display:flex;align-items:end;gap:10px}.voice-quick label{flex:1}.voice-quick .secondary-button{height:38px;white-space:nowrap}.voice-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.voice-details small{grid-column:1/-1;color:var(--muted);font-size:10px}.secondary-button{border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);padding:8px 12px;font:700 11px var(--sans);cursor:pointer}.secondary-button:hover{border-color:var(--coral)}.speak-button{border:0;background:transparent;color:var(--coral-dark);font:700 10px var(--sans);padding:4px 0;cursor:pointer}
.context-setting{display:block;margin:0 0 14px;font-size:10px;font-weight:700}.context-setting select{display:block;width:100%;margin:6px 0;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--paper)}.context-setting small{display:block;color:var(--muted);font-size:9px;font-weight:400}
.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.identity-grid label{font-size:10px;font-weight:700}.identity-grid input,.identity-grid select{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;padding:11px;background:var(--paper);color:var(--ink)}.identity-suggestion{margin-top:12px;padding:12px;border:1px solid color-mix(in srgb,var(--coral) 35%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--coral) 8%,transparent)}.identity-suggestion[hidden]{display:none}.identity-suggestion b{font-size:11px}.identity-suggestion p{margin:6px 0 10px;color:var(--muted);font-size:10px;line-height:1.45}.identity-suggestion>div{display:flex;justify-content:flex-end;gap:8px}.identity-suggestion button{border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:var(--paper);color:var(--ink);font:700 9px var(--sans);cursor:pointer}.identity-suggestion button:last-child{background:var(--coral);border-color:var(--coral);color:white}
.relationship-card{max-width:420px;margin:20px auto 0;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.62);text-align:left;box-shadow:0 12px 30px rgba(65,47,82,.06)}.relationship-card>div{display:flex;align-items:center;gap:10px;margin:7px 0}.relationship-card b,.relationship-card small{display:block}.relationship-card b{font:700 13px var(--sans)}.relationship-card small{font-size:9px;color:var(--muted)}.relationship-orb{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--lav));color:white}.account-callout{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:18px 0;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#f9f7fb}.account-callout b,.account-callout small{display:block}.account-callout b{font-size:11px}.account-callout small{margin-top:2px;color:var(--muted);font-size:9px}.account-callout button{border:1px solid var(--lav);border-radius:9px;background:white;color:#6c5a95;padding:8px 10px;font:700 9px var(--sans);white-space:nowrap;cursor:pointer}.onboarding{width:min(440px,calc(100vw - 32px));border:1px solid var(--line);border-radius:24px;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.3)}.onboarding::backdrop{background:rgba(20,17,29,.55);backdrop-filter:blur(6px)}.onboarding form{padding:30px}.onboarding h1{margin:8px 0;font:clamp(34px,7vw,48px)/.95 Georgia,serif}.onboarding p{color:var(--muted);font-size:12px;line-height:1.55}.onboarding label{display:block;margin:16px 0;font-size:10px;font-weight:700}.onboarding input,.onboarding select{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;color:var(--ink)}.onboarding .create-button{width:100%;margin-top:6px}.onboarding form>small{display:block;margin-top:12px;text-align:center;color:var(--muted);font-size:9px}
/* Night is a separate art direction: ink, plum, coral, and soft depth. */
:root[data-theme=night]{--paper:#11101a;--ink:#f7f2ff;--panel:#211c2d;--line:#4e4262;--muted:#d0c6db;--coral:#ff887a;--coral-dark:#ffb0a6;--lav:#b8a4ff;--shadow:0 24px 70px rgba(0,0,0,.34)}:root[data-theme=night] body{background:radial-gradient(900px 560px at -12% -10%,rgba(116,89,178,.29),transparent 62%),radial-gradient(680px 420px at 102% 12%,rgba(255,136,122,.16),transparent 65%),radial-gradient(780px 450px at 52% 105%,rgba(86,67,130,.16),transparent 72%),var(--paper)}:root[data-theme=night] .ambient-one{background:rgba(153,115,224,.15)}:root[data-theme=night] .ambient-two{background:rgba(255,135,121,.12)}
:root[data-theme=night] .topbar{background:rgba(17,16,26,.82);border-bottom-color:rgba(255,255,255,.08);backdrop-filter:blur(18px)}:root[data-theme=night] .brand{color:var(--ink)}:root[data-theme=night] .nav-button{color:#cec4dc}:root[data-theme=night] .nav-button.active{background:#f7f2ff;color:#241f31;box-shadow:0 8px 22px rgba(0,0,0,.22)}
:root[data-theme=night] .settings-card,:root[data-theme=night] .principles,:root[data-theme=night] .conversation-panel,:root[data-theme=night] .image-workbench{background:linear-gradient(145deg,rgba(43,36,58,.98),rgba(27,23,39,.98));border-color:rgba(255,255,255,.1);box-shadow:var(--shadow)}:root[data-theme=night] .settings-card h1,:root[data-theme=night] .settings-card h2,:root[data-theme=night] .principles h2{color:var(--ink)}
:root[data-theme=night] .settings-card input,:root[data-theme=night] .settings-card select,:root[data-theme=night] .settings-card textarea,:root[data-theme=night] .provider-details input,:root[data-theme=night] .memory-form input,:root[data-theme=night] .chat-image-panel input{background:#2b253b;border-color:#5b4d70;color:var(--ink);box-shadow:inset 0 1px rgba(255,255,255,.04)}:root[data-theme=night] select option{background:#2b253b;color:var(--ink)}:root[data-theme=night] input::placeholder,:root[data-theme=night] textarea::placeholder{color:#968aa5}
:root[data-theme=night] .relationship-card,:root[data-theme=night] .account-callout{background:rgba(30,25,43,.84);border-color:#4e4262}:root[data-theme=night] .account-callout button{background:#2b253b;border-color:#685783;color:#f1eaff}:root[data-theme=night] .onboarding{background:linear-gradient(145deg,#2b243a,#191524);border-color:#574967}:root[data-theme=night] .onboarding input,:root[data-theme=night] .onboarding select{background:#2b253b;border-color:#5b4d70;color:var(--ink)}
:root[data-theme=night] .onboarding p,:root[data-theme=night] .onboarding form>small,:root[data-theme=night] .relationship-card small,:root[data-theme=night] .account-callout small{color:#d0c6db}:root[data-theme=night] .onboarding .create-button{background:linear-gradient(135deg,#ff8a7c,#d98be9);color:#fff;box-shadow:0 12px 28px rgba(255,136,122,.2);text-shadow:0 1px 1px rgba(57,23,55,.28)}:root[data-theme=night] .onboarding .create-button span{color:#fff}
:root[data-theme=night] .provider-details,:root[data-theme=night] .chat-image-panel{background:rgba(20,17,30,.6);border-color:#4e4262}:root[data-theme=night] .provider-option>span{background:rgba(18,15,28,.36);border-color:#4e4262}:root[data-theme=night] .provider-option input:checked+span{background:linear-gradient(145deg,rgba(128,101,193,.38),rgba(255,136,122,.16));border-color:var(--lav);box-shadow:inset 0 0 0 1px rgba(184,164,255,.38),0 12px 30px rgba(0,0,0,.18)}
:root[data-theme=night] .status-strip,:root[data-theme=night] .action-card,:root[data-theme=night] .composer,:root[data-theme=night] .icon-button{background:rgba(38,32,52,.9);border-color:#514465;color:var(--ink)}:root[data-theme=night] .action-card:hover,:root[data-theme=night] .action-card:focus-visible{background:#332a45;border-color:#6b5984}:root[data-theme=night] .message p{background:#302942;color:var(--ink);border:1px solid rgba(255,255,255,.05)}:root[data-theme=night] .user-message p{background:linear-gradient(135deg,#ff897b,#d985d6);color:#fff}:root[data-theme=night] .message small,:root[data-theme=night] .composer>small{color:#a99eba}:root[data-theme=night] .composer textarea{color:var(--ink)}:root[data-theme=night] .frame-button{background:#332b46;color:#d4c6ff}:root[data-theme=night] kbd{background:#2b253b;border-color:#514465;color:#ded4ec}
:root[data-theme=night] .session-badge,:root[data-theme=night] .memory-count,:root[data-theme=night] .privacy-pill,:root[data-theme=night] .locked-setting{background:#332b45;border:1px solid #55486a;color:#e0d5ee}:root[data-theme=night] .memory-item{background:#2b253b;border:1px solid #514465;color:var(--ink)}:root[data-theme=night] .memory-item button{color:#e5dcef}:root[data-theme=night] .settings-section,:root[data-theme=night] .setting-row,:root[data-theme=night] .voice-details{border-color:rgba(255,255,255,.1)}:root[data-theme=night] .voice-quick .secondary-button{background:#2b253b;border-color:#5b4d70;color:var(--ink)}:root[data-theme=night] .voice-quick .secondary-button:hover{background:#362d49;border-color:var(--coral)}:root[data-theme=night] .memory-form button{background:linear-gradient(135deg,#a98cff,#cc9cff)}:root[data-theme=night] .settings-card .create-button{background:linear-gradient(135deg,#ff8a7c,#d98be9);box-shadow:0 12px 28px rgba(255,136,122,.2)}
 :where(button,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--lav) 58%,transparent);outline-offset:2px}
:root[data-theme=night] .memory-toolbar .memory-tab.active{background:#3b304e;color:#fff}
:root[data-theme=night] .graph-legend{background:rgba(35,29,48,.92)}
@media(max-width:560px){.appearance-grid,.voice-details,.identity-grid{grid-template-columns:1fr}.chat-image-row,.voice-quick{flex-direction:column}.voice-quick{align-items:stretch}}
@media(max-width:1000px){.conversation-panel{padding-bottom:72px}.topbar nav{padding-bottom:calc(5px + env(safe-area-inset-bottom))}}
