/* RC14 application shell; all presentation stays in CSP-approved local assets. */
:root{color-scheme:dark;--app-bg:#090f18;--app-panel:#101925;--app-line:#243347;--app-muted:#9cabbf;--app-blue:#87d5fb}
[hidden]{display:none!important}.adam-app{background:var(--app-bg);color:#e7eef8;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.adam-app main{max-width:1440px;margin:auto;padding:0 24px 24px}.app-header{min-height:94px;border-bottom:1px solid var(--app-line);margin-bottom:0!important}.app-header h1{font-size:32px;letter-spacing:-1.6px;margin:0}.brand-dot{font-size:23px;color:var(--app-blue);padding-left:8px}.app-header #identity{font-size:12px;color:var(--app-muted);margin:4px 0 0}.profile-bar{display:flex;align-items:center;gap:10px}#profileInitial{display:inline-grid;place-items:center;width:24px;height:24px;background:#214762;border-radius:50%;font-size:12px;margin-right:3px}
.adam-app button{background:#162333;border:1px solid #304157;border-radius:12px;color:#e7eef8;min-height:42px;font-size:13px}.adam-app button:hover{background:#203246;border-color:#6eabc9}.adam-app button:focus-visible,.adam-app input:focus-visible,.adam-app textarea:focus-visible{outline:2px solid #85d6ff;outline-offset:3px}.adam-app button:disabled{opacity:.45;cursor:not-allowed}.adam-app input,.adam-app select,.adam-app textarea{background:#0c1520;border-color:#304157;color:#e7eef8;border-radius:10px}.adam-app .muted,.adam-app small{color:var(--app-muted)}.adam-app #notice:empty{display:none}.adam-app #notice{margin:10px 0;padding:10px 14px;background:#1b2839;border-radius:12px}
.app-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:calc(100dvh - 118px);gap:0}#historySidebar{padding:25px 20px 20px 0;border-right:1px solid var(--app-line);display:flex;flex-direction:column;gap:15px;min-width:0}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px}.sidebar-heading button{padding:8px 11px}.search-label{font-size:12px;color:var(--app-muted)}#historyList{flex:1;overflow:auto;max-height:60dvh;min-height:80px}.history-row{display:block;width:100%;text-align:left;background:transparent!important;border:1px solid transparent!important;margin:0 0 7px;padding:11px 12px!important}.history-row[aria-current="true"]{background:#162b3c!important;border-color:#33556b!important}.history-row strong{font-weight:500;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.history-row small{font-size:11px;display:block;margin-top:5px}.sidebar-footer{padding-top:15px;border-top:1px solid var(--app-line);display:grid;grid-template-columns:1fr 1fr;gap:9px}.sidebar-footer small{grid-column:1/-1;text-align:center;font-size:10px;letter-spacing:.5px;margin-top:8px}
.conversation-panel{min-width:0;padding:22px 30px 0;display:flex;flex-direction:column}.conversation-top{display:flex;align-items:center;gap:8px;margin-bottom:22px}.conversation-top>span{font-size:13px;color:var(--app-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.conversation-top>button{padding:7px 10px;font-size:11px;min-height:32px}#historyToggle{display:none}.mode-tabs{align-self:center;display:flex;padding:5px;border:1px solid var(--app-line);border-radius:16px;background:#0c141f;gap:4px;margin:0 0 10px}.mode-tabs button{border:0;min-width:110px;background:transparent}.mode-tabs button[aria-pressed="true"]{background:#20384d;color:#b9e7ff}.live-dot{display:inline-block;height:5px;width:5px;background:#8edbff;border-radius:50%;vertical-align:middle;margin-left:4px}#modeHint{text-align:center;font-size:12px;line-height:1.6;margin:8px 0 20px}.adam-app details{background:transparent;border-color:var(--app-line);font-size:12px}#learningPanel,#learnersPanel{margin:0 0 8px}#messages{flex:1;min-height:210px;padding:16px 0;max-height:60dvh;overflow:auto;scrollbar-width:thin}.turn{border:0!important;background:transparent!important;margin-bottom:25px;padding:0!important}.turn .user{margin-left:12%;padding:14px 18px;background:#1c3045;border:1px solid #2c4156;border-radius:17px 17px 4px 17px;white-space:pre-wrap}.turn .answer{line-height:1.7;padding:10px 4px;white-space:pre-wrap}.turn>small{display:block;text-align:right;margin-top:5px}.turn .feedbackButtons{gap:5px}.turn .feedbackButtons button{min-height:28px;padding:4px 8px;font-size:10px;background:transparent;border-color:#253449}.empty-state{text-align:center;padding:45px 20px;color:var(--app-muted)}.empty-state h2{font-size:24px;color:#e4effa;font-weight:450;letter-spacing:-.6px}.empty-state p{font-size:13px;line-height:1.8}.transcript-original{margin-top:10px}.transcript-original p{white-space:pre-wrap}
.adam-app #composer{background:#101b28;border:1px solid var(--app-line);border-radius:20px;padding:15px 18px;margin-top:12px}.adam-app #composer>label[for="message"]{font-size:11px;color:var(--app-muted);margin:0 0 9px}.adam-app .message-bar{gap:10px}.adam-app #message{border:0!important;background:transparent;resize:vertical;min-height:65px;padding:4px 0}.adam-app .message-actions{display:flex;align-items:center;gap:7px}#orbOpen{padding:0;width:52px;height:50px;border:0;background:transparent;min-width:42px}#compactOrb{width:60px;height:auto;display:block;pointer-events:none;margin-left:-4px}.adam-app #mic,.adam-app #send{border-radius:50%;width:44px;height:44px;min-width:44px;padding:11px}.adam-app #send{background:#acdfff;color:#10243a;border:0}.adam-app #mic[data-state="tail"],.adam-app #mic[data-state="recording"]{background:#76363d;box-shadow:0 0 0 4px #f5a1a115}.adam-app #composer>.toolbar{justify-content:space-between;margin-top:8px}.adam-app #composer>.toolbar label{font-size:10px}.adam-app #language{padding:5px 8px;font-size:11px;min-height:32px;margin-top:4px}.adam-app #voiceStatus{font-size:11px;line-height:1.5;color:var(--app-muted);margin:8px 0 0}#checkReply{float:right;font-size:10px;min-height:26px;padding:5px 8px}.adam-app #composerNotice{font-size:12px;color:#b3daef}.adam-app #composerNotice:empty{display:none}
#livePanel{text-align:center;position:relative;margin:8px auto 12px;width:100%;background:radial-gradient(ellipse at center,#0d2030 0%,#0a121d 72%);border:1px solid #233447;border-radius:24px;padding:14px 20px 20px}.live-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#a9bbce}.live-heading button{background:transparent;font-size:10px;min-height:30px;padding:5px 9px}#liveOrb{display:block;width:clamp(260px,43vh,430px);max-width:100%;aspect-ratio:500/420;margin:0 auto}#liveState{font-size:20px;font-weight:400;margin:0 0 8px;letter-spacing:-.3px}#livePanel .muted{font-size:12px;margin:6px 0 12px}.live-speech{justify-content:center;font-size:11px}.in-live #modeHint,.in-live #learningPanel,.in-live #learnersPanel{display:none}.in-live #messages{min-height:100px;max-height:23dvh}.in-live .mode-tabs{margin-bottom:0}.adam-app dialog{width:min(92vw,480px);border:1px solid #3b5268;border-radius:22px;padding:25px;background:#101b28;color:#edf3fc}.adam-app dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-heading h2{margin:0;font-size:23px;font-weight:500}.dialog-heading button{font-size:22px;line-height:1;padding:6px 13px}.adam-app dialog p{font-size:13px;line-height:1.65}.adam-app dialog label{font-size:13px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.orb-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px}.orb-settings label{font-size:13px}.orb-settings input[type=range]{width:100%;accent-color:#85d6ff}.orb-settings output{float:right;color:#85d6ff}.orb-settings input[type=color]{height:44px;width:100%}#ownerOrb{width:320px;max-width:100%;display:block;margin:auto}.support-ticket{border:1px solid #34444f;border-radius:12px;padding:14px;margin:12px 0}.support-ticket p{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.adam-app main{padding:0 12px 14px}.app-header{min-height:78px}.app-header h1{font-size:28px}.profile-bar{gap:6px}.profile-bar button{font-size:11px;padding:7px 9px}.app-layout{grid-template-columns:1fr;min-height:calc(100dvh - 93px)}#historySidebar{display:none;border:1px solid var(--app-line);border-radius:16px;padding:18px;margin-top:12px}#historySidebar.is-open{display:flex}#historyList{max-height:35dvh}.conversation-panel{padding:14px 2px 0}#historyToggle{display:block}.conversation-top{margin-bottom:15px;gap:5px}.mode-tabs{width:min(100%,365px)}.mode-tabs button{min-width:0;flex:1}#messages{max-height:50dvh}.adam-app #composer{padding:13px 12px}.adam-app .message-bar{flex-direction:column;align-items:stretch}.adam-app .message-actions{justify-content:flex-end}.adam-app #message{min-height:40px}#liveOrb{width:clamp(255px,38vh,355px)}#livePanel{padding:13px 12px 16px}.in-live #messages{max-height:20dvh}.orb-settings{gap:12px}.app-header #identity{max-width:155px}.profile-bar #profileName{max-width:90px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}}
/* Keep contrast and textarea width explicit over the shared legacy composer styles. */
.adam-app .turn .user{color:#e7eef8}
.adam-app .message-bar{background:transparent;border:0;padding:0;box-shadow:none}
.adam-app .message-bar:focus-within{border:0;box-shadow:none}
.adam-app .message-bar #message{width:100%;min-width:0}
.adam-app #message:focus-visible{outline:2px solid #85d6ff;outline-offset:3px}
/* RC15 recitation and voice. The verse being recited glows softly; everything else stays still. */
.adam-app .answer blockquote{transition:background-color .4s ease,border-color .4s ease;border-radius:0 12px 12px 0}
.adam-app .answer blockquote.is-reciting{background:rgba(135,213,251,.08);border-inline-start-color:var(--app-blue);box-shadow:inset 3px 0 0 var(--app-blue)}
.adam-app .answer .is-speaking{background:rgba(135,213,251,.04);border-radius:8px}
.recitation-line{display:flex;align-items:center;gap:10px;margin:2px 0 10px}
.adam-app .recite-verse,.adam-app .listen-reply{min-height:36px;padding:6px 14px;border-radius:999px;border-color:#2f5a73;color:var(--app-blue)}
.adam-app .listen-reply{font-weight:600}
.speech-bar{position:sticky;bottom:8px;z-index:5;display:flex;align-items:center;gap:10px;margin:10px 0;padding:8px 10px 8px 16px;background:#0f2130;border:1px solid #2f5a73;border-radius:999px;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.speech-bar #speechBarText{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adam-app .speech-bar button{min-height:34px;padding:4px 14px;border-radius:999px}
.speech-wave{width:10px;height:10px;border-radius:50%;background:var(--app-blue);animation:speech-pulse 1.4s ease-in-out infinite}
@keyframes speech-pulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.live-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px}
.adam-app #handsFree{padding:6px 18px;border-radius:999px}
.adam-app #handsFree[aria-pressed="true"]{background:#173b52;border-color:var(--app-blue);color:#fff}
.adam-app #liveOrb{cursor:pointer}
.speech-settings{border-top:1px solid var(--app-line);margin-top:18px;padding-top:6px}
.speech-settings h3{font-size:15px;font-weight:600;margin:10px 0 4px}
#speechRateOut{float:right;color:var(--app-muted);font-size:12px}
@media (prefers-reduced-motion:reduce){.speech-wave{animation:none}.adam-app .answer blockquote{transition:none}}

/* Keep the glass spherical in the owner preview and compact display slots. */
#ownerOrb{display:block;width:min(100%,280px);height:auto;aspect-ratio:1;margin:12px auto}
#compactOrb,#companionOrb{aspect-ratio:1;height:auto}
