:root{--navy:#12182c;--muted:#748097;--lime:#dcf779;--line:#e4e8ef;--paper:#f4f6fa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--navy);font:15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,textarea,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #6576db;outline-offset:4px}aside{width:230px;position:fixed;inset:0 auto 0 0;padding:34px 20px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-size:31px;font-weight:800;text-decoration:none;letter-spacing:-1px}.brand img{width:44px;height:44px;border-radius:13px}.brand span{color:#93a84d;margin-left:-12px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--muted);margin-top:48px}nav{display:grid;gap:8px}nav button{border:0;background:transparent;color:var(--muted);padding:13px 15px;border-radius:12px;text-align:left;font-size:18px}nav span{font-size:14px;margin-left:12px}nav button.active{background:#edf0f9;color:#293955;font-weight:650}.aside-bottom{margin-top:auto;padding:18px 8px;font-size:13px}.aside-bottom small{display:block;color:var(--muted)}.shell{margin-left:230px}header{height:88px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between}.header-label{color:var(--muted);font-size:13px}.header-label b{color:var(--navy);font-weight:500}.badge{border:1px solid #d4ddc0;border-radius:8px;padding:5px 10px;color:#587230;font-size:12px;background:#f2f7e8}.mobile{display:none}main{max-width:1180px;margin:auto;padding:34px 42px;min-height:calc(100dvh - 155px)}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;line-height:1.2}h2{font-size:20px;letter-spacing:-.4px}h3{font-size:16px}p{color:var(--muted);margin-top:9px}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.stack{display:grid;align-content:start;gap:22px}.card{border:1px solid var(--line);background:white;border-radius:22px;padding:25px;overflow-wrap:anywhere}.hero{background:var(--navy);color:white;border:0;padding:28px}.hero p{color:#a9b3c9}.hero-line{display:flex;align-items:center;justify-content:space-between}.hero .badge{background:#29332a;color:var(--lime);border-color:#44503d}.hero-content{display:flex;align-items:center;gap:18px;margin:27px 0}.hero img{width:78px;height:78px;border-radius:22px}.hero h2{font-size:28px;line-height:1.2}.hero-bottom{border-top:1px solid #313950;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.hero small{color:#a9b3c9}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid var(--line);background:white;padding:11px 17px;border-radius:11px;font-weight:600;font-size:13px}.btn.primary{background:var(--lime);color:#1d2a0e;border-color:var(--lime)}.btn.dark{background:var(--navy);color:white;border-color:var(--navy)}.btn.danger{color:#9a3535}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.number{font-size:38px;line-height:1.1;letter-spacing:-1px;font-weight:750;margin-top:17px}.label{font-size:12px;color:var(--muted)}.row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.row:last-child{border:0}.row strong{font-weight:600}.subtle{font-size:12px;color:var(--muted)}.status{font-size:11px;border-radius:6px;padding:3px 8px;background:#eef1f8;white-space:nowrap}.status.done{background:#eef6dd;color:#55742d}.status.failed,.status.cancelled{background:#fff0ed;color:#9c4e40}.status.running{background:#e9edff;color:#5261aa}.mission{margin-bottom:17px}.mission .top{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px}.mission h3{max-width:85%;line-height:1.5}.text{white-space:pre-wrap;overflow-wrap:anywhere;color:#34415b;font-size:14px;line-height:1.75}.sources{border-top:1px solid var(--line);padding-top:14px;margin-top:20px;font-size:12px;display:grid;gap:9px}.sources a{color:#4d5fb2;text-decoration:underline}.sources small{color:var(--muted)}.event{border-left:2px solid #d9e3bf;padding:0 0 17px 14px;font-size:13px}.event time{display:block;font-size:11px;color:var(--muted)}textarea{display:block;width:100%;resize:vertical;min-height:90px;border:1px solid #dce2eb;border-radius:13px;padding:14px;background:#fbfcff;color:var(--navy)}.composer{position:sticky;bottom:12px;background:white;border:1px solid var(--line);padding:15px;border-radius:20px;box-shadow:0 6px 28px #12182c0a}.composer .actions{margin-top:10px;align-items:center;justify-content:space-between}.messages{display:grid;gap:15px;margin-bottom:22px}.message{max-width:91%;padding:20px 23px;border-radius:19px;background:white;border:1px solid var(--line)}.message.user{margin-left:auto;background:#e9edf8}.message b{display:block;margin-bottom:8px;font-size:12px}.message .text{font-size:15px}.notice{padding:15px 18px;border-radius:13px;background:#edf2e6;color:#586540;font-size:13px;margin-top:16px}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.budget-bar{display:flex;height:9px;border-radius:9px;overflow:hidden;margin-top:18px}.budget-bar span:nth-child(1){width:60%;background:#344361}.budget-bar span:nth-child(2){width:30%;background:#a7b9df}.budget-bar span:nth-child(3){width:10%;background:var(--lime)}footer{padding:12px 42px 25px;font-size:12px;color:#8993a7;display:flex;justify-content:space-between}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:12px 18px;border-radius:12px;z-index:100;display:none;max-width:90vw}.check{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--muted)}input[type=checkbox]{accent-color:#586b34;width:18px;height:18px}.full{grid-column:1/-1}
@media(max-width:1000px){aside{width:190px;padding:30px 14px}.shell{margin-left:190px}main{padding:28px}.grid{grid-template-columns:1fr}.hero{min-height:280px}header{padding:0 28px}}
@media(max-width:640px){aside{inset:auto 0 0;width:100%;height:calc(74px + env(safe-area-inset-bottom));padding:5px 7px env(safe-area-inset-bottom);border:0;border-top:1px solid var(--line);z-index:30;background:#ffffffef;backdrop-filter:blur(12px)}aside>.brand,.eyebrow,.aside-bottom{display:none}nav{display:flex;justify-content:space-around;gap:0}nav button{text-align:center;padding:5px 3px;flex:1;font-size:20px}nav button span{font-size:10px;margin:0;display:block}nav button.active{background:transparent}.shell{margin:0;padding-bottom:calc(75px + env(safe-area-inset-bottom))}.mobile{display:flex;font-size:27px}.mobile img{width:35px;height:35px}.header-label{display:none}header{height:77px;padding:0 21px;border:0}main{padding:16px 20px 24px}.heading{margin-bottom:22px}h1{font-size:27px}.heading p{font-size:13px}.card{padding:21px;border-radius:20px}.hero{padding:23px;min-height:0}.hero h2{font-size:25px}.hero img{width:62px;height:62px}.hero-content{gap:14px;margin:26px 0}.hero-bottom{align-items:center}.hero small{max-width:140px;font-size:11px}.btn{padding:10px 12px;font-size:12px}.grid,.stack{gap:18px}.composer{bottom:calc(85px + env(safe-area-inset-bottom));padding:12px}.message{max-width:96%;padding:18px}.message .text{font-size:14px}.mission h3{font-size:14px}.mission .top{flex-direction:column}.mission h3{max-width:100%}.badge{font-size:11px}.sources a{word-break:break-word}footer{padding:12px 21px 24px;display:block}footer span{display:block}#toast{bottom:calc(86px + env(safe-area-inset-bottom))}.number{font-size:35px}}

/* The transcript and composer occupy separate rows; neither overlays the other. */
body.chat-page{overflow:hidden}
.chat-page .shell{height:var(--lia-viewport-height,100dvh);min-height:0;display:flex;flex-direction:column;overflow:hidden}
.chat-page header{height:70px;flex:0 0 70px}
.chat-page main{flex:1;min-height:0;width:100%;margin:0 auto;padding:20px 34px;display:flex;overflow:hidden}
.chat-page footer{display:none}
.chat-panel{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px}
.chat-heading{flex:none;margin:0;padding:0 2px}
.chat-heading h1{font-size:25px}
.chat-heading p{font-size:13px;margin-top:4px}
.chat-thread{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 8px 12px 2px;scrollbar-gutter:stable}
.chat-thread .messages{display:flex;flex-direction:column;gap:15px;margin:0;min-height:100%;justify-content:flex-start}
.chat-thread .message{flex:none;width:fit-content;max-width:92%}
.chat-thread .message.user{align-self:flex-end}
.chat-page .composer{position:static;bottom:auto;flex:none;z-index:auto;margin:0;padding:12px 15px;border-radius:17px;box-shadow:0 3px 16px #12182c08}
.chat-page .composer textarea{min-height:48px;max-height:120px;resize:none;padding:9px 11px;font-size:16px;line-height:1.4;overflow-y:auto}
.chat-page .composer .actions{margin-top:8px;gap:6px}
.chat-page .composer .label{display:block;margin-bottom:4px}
.chat-latest{flex:none;align-self:center;padding:4px 14px;border:1px solid #d9dfeb;border-radius:20px;background:#fff;color:#435785;font-size:12px;line-height:1.5}
.chat-latest[hidden]{display:none}
.chat-progress{display:flex;align-items:center;gap:9px;flex:none;font-size:13px;color:#66738c;padding:10px 7px}
.activity-dot{width:7px;height:7px;border-radius:50%;background:#879a48;flex:none;animation:lia-pulse 1.3s ease-in-out infinite}
.chat-error p{margin:0;font-size:13px}
@keyframes lia-pulse{50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){.activity-dot{animation:none}}
@media(max-width:640px){
 .chat-page header{height:60px;flex-basis:60px;padding:0 17px}
 .chat-page main{padding:8px 13px 10px}
 .chat-panel{gap:8px}
 .chat-heading h1{font-size:20px}
 .chat-heading p{font-size:12px;margin-top:2px}
 .chat-thread{padding:5px 3px 10px 0;scrollbar-gutter:auto}
 .chat-thread .message{max-width:96%;padding:15px 17px}
 .chat-thread .message .text{font-size:15px}
 .chat-page .composer{padding:10px 11px}
 .chat-page .composer .badge{font-size:11px;padding:4px 7px}
 .chat-page.keyboard-open aside{display:none}
 .chat-page.keyboard-open .shell{padding-bottom:0}
 .chat-page.keyboard-open .chat-heading{display:none}
 .chat-page.keyboard-open header{height:46px;flex-basis:46px}
}

#api-key{display:block;width:100%;padding:14px;border:1px solid #cbd5d5;border-radius:12px;font:inherit;margin:10px 0} #provider-consent{width:auto} nav{overflow-x:auto}

/* Alexandre — private prototype, identity from the project reference book. */
:root{--navy:#191e28;--muted:#757b87;--lime:#b68b47;--line:#e8e5df;--paper:#faf9f7;--red:#a91926;--gold:#b58a48}
body{background:var(--paper);color:var(--navy)}
aside{background:#fff;border-color:var(--line);width:252px;padding:30px 20px}
.shell{margin-left:252px}
.brand{gap:10px;font-size:20px;letter-spacing:1.5px}.brand img{width:39px;height:49px;object-fit:contain;border-radius:0}.brand .brand-name{font-family:Georgia,'Times New Roman',serif;color:#191e28;margin:0;font-size:17px;letter-spacing:1.4px;font-weight:600}
.eyebrow{font-size:9px;letter-spacing:1.5px;color:#9b855f;margin-top:40px}
nav button{font-size:18px;color:#737984}nav button.active{background:#fbefed;color:var(--red)}nav button:hover{background:#faf7f2}
header{background:#ffffffc9;border-color:var(--line);height:78px}
main{max-width:1250px;padding:32px 44px}
.badge{background:#f8f3e9;border-color:#e7d8bd;color:#79603b}.btn{border-radius:10px;border-color:#e1dcd3;font-weight:550}.btn.dark,.btn.primary{background:var(--red);border-color:var(--red);color:white}.btn:hover{filter:brightness(.96)}
.card{border-color:var(--line);border-radius:18px;background:#fff;box-shadow:0 3px 22px #46391903}
.notice{background:#f6f2e9;color:#75613d}.budget-bar span:nth-child(1){background:var(--red)}.budget-bar span:nth-child(2){background:#c3a474}.budget-bar span:nth-child(3){background:#e6dbc7}
.event{border-color:#dac19a}.message.user{background:#f7eeeb;border-color:#ecdcd5}.message{border-color:var(--line)}.sources{border-color:var(--line)}.sources a{color:#92313a}
textarea{background:white;border-color:#e5dfd7}textarea:focus{outline:2px solid #bd8c4740;outline-offset:1px}
.alex-intro{text-align:center;max-width:670px;margin:0 auto 42px}.prototype-tag{font-size:10px;letter-spacing:2.3px;color:#9f865d;margin:0 0 17px}.alex-emblem{display:block;width:103px;height:124px;object-fit:contain;margin:0 auto 13px;mix-blend-mode:multiply}
.alex-intro h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:7px;font-size:39px;font-weight:500;line-height:1.3}.alex-tagline{color:#677081;font-size:15px;margin:9px 0 27px}
.objective-box{text-align:left;padding:19px;border:1px solid #e0d9cf;border-radius:17px;background:white;box-shadow:0 12px 32px #4b372507}.objective-box label{font-size:13px;font-weight:600;display:block;margin-bottom:3px}.objective-box textarea{border:none;padding:9px 0;min-height:86px;resize:vertical;font-size:15px;box-shadow:none}.objective-box textarea:focus{outline:none}.objective-box .btn{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:14px;padding:13px 18px;margin-top:8px}.objective-box .btn span{font-size:20px}
.alex-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin-top:17px;font-size:11px;color:#92846d}.alex-trust span:before{content:'✓';padding-right:6px;color:#a6864c}
.starter-section{max-width:1000px;margin:auto}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.section-heading h2{font-size:17px;letter-spacing:0}.section-heading>span:not(.badge){font-size:11px;color:#92969e}
.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.starter{text-align:left;position:relative;padding:20px 18px 22px;border:1px solid var(--line);background:white;border-radius:14px;color:var(--navy)}.starter:hover{border-color:#bc9a6a;background:#fffdfa}.starter-symbol{display:block;font-size:10px;letter-spacing:1.5px;color:#a28153;margin-bottom:15px}.starter strong{display:block;font-size:14px;font-weight:600;padding-right:13px}.starter small{display:block;font-size:12px;color:#7a808c;line-height:1.5;margin-top:6px;max-width:90%}.starter-arrow{position:absolute;right:15px;bottom:18px;color:var(--red)}.capability-note{font-size:11px;margin-top:12px}.dashboard-bottom{max-width:1000px;margin:26px auto 0;grid-template-columns:1fr 1fr}.dashboard-bottom .card{padding:22px}.dashboard-bottom h2{font-size:17px}.dashboard-bottom p{font-size:13px}.dashboard-bottom .row{font-size:13px}
.chat-heading h1{font-size:25px;font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:0}.chat-progress .activity-dot{background:var(--red)}.chat-latest{background:var(--red);border-color:var(--red)}.chat-page .composer{border-color:#e0d9cf;box-shadow:0 5px 24px #48352109}.chat-page .composer .badge{background:#f8f3e9;color:#806746;border-color:#e4d5bb}
@media(max-width:1000px){aside{width:220px;padding:26px 15px}.shell{margin-left:220px}main{padding:27px}.brand .brand-name{font-size:15px;letter-spacing:1px}.brand img{width:32px;height:41px}.starter-grid{gap:9px}.starter{padding:16px 13px}.dashboard-bottom{grid-template-columns:1fr}}
@media(max-width:640px){aside{width:100%;padding:5px 7px env(safe-area-inset-bottom);background:#ffffffed}.shell{margin:0}header{height:70px;padding:0 19px}.mobile{font-size:17px}.mobile .brand-name{font-size:16px;letter-spacing:1.3px}.mobile img{width:30px;height:39px}.brand{gap:8px}main{padding:23px 19px}.alex-intro{margin-bottom:31px}.prototype-tag{font-size:9px;margin-bottom:15px}.alex-emblem{width:89px;height:107px;margin-bottom:13px}.alex-intro h1{font-size:31px;letter-spacing:5px}.alex-tagline{font-size:13px;margin:8px 0 23px}.objective-box{padding:16px;border-radius:15px}.objective-box label{font-size:12px}.objective-box textarea{font-size:16px;min-height:86px}.objective-box .btn{font-size:13px}.alex-trust{font-size:10px;gap:7px 13px}.section-heading h2{font-size:15px}.section-heading>span:not(.badge){font-size:10px}.starter-grid{grid-template-columns:1fr}.starter{padding:14px 16px;display:grid;grid-template-columns:76px 1fr;gap:2px 10px}.starter-symbol{grid-row:1/3;margin:0;align-self:center;font-size:9px}.starter strong{font-size:13px}.starter small{font-size:11px;margin:0}.starter-arrow{bottom:21px}.capability-note{line-height:1.6}.dashboard-bottom{margin-top:23px}.card{padding:20px}.chat-heading h1{font-size:22px}nav button.active{color:var(--red);background:transparent}.chat-page header{height:70px;flex-basis:70px}footer{font-size:10px}.chat-page .composer .badge{font-size:10px}.chat-page .chat-thread .message{padding:16px}nav span{font-size:9px!important}}

/* Public test: isolated visitor workspace. */
.guest-page{height:var(--guest-height,100dvh);overflow:hidden;display:flex;flex-direction:column}.guest-header{flex:0 0 76px;max-width:100%;padding:0 28px}.guest-main{width:min(850px,100%);margin:0 auto;min-height:0;flex:1;display:flex;flex-direction:column;padding:20px 24px 12px;overflow:hidden}.guest-page [hidden]{display:none!important}
#guest-welcome{text-align:center;margin:auto 0 26px}#guest-welcome .alex-emblem{height:104px;width:86px;margin:10px auto 17px}#guest-welcome h1{font:500 29px/1.3 Georgia,serif;letter-spacing:-.3px}#guest-welcome p{font-size:14px;color:var(--muted);margin:10px 0 18px}#guest-welcome .prototype-tag{display:block;font-size:9px}
#guest-thread{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none}#guest-messages{display:flex;flex-direction:column;gap:15px;padding:8px 2px 22px}.guest-page .composer{flex-shrink:0;position:static;margin-top:10px;padding:13px;box-shadow:none}.guest-page textarea{min-height:66px;max-height:120px;font-size:16px}.guest-page .composer .actions{display:flex;align-items:center;justify-content:space-between}.guest-page .composer small{font-size:11px;color:var(--muted)}.guest-note{font-size:10px;line-height:1.5;color:#8d9098;margin:9px 0 5px;text-align:center}.private-link{text-align:center;display:block;font-size:10px;color:#979797;padding-bottom:env(safe-area-inset-bottom)}
#guest-latest{align-self:center;font-size:12px;padding:5px 12px;margin:3px}#account-dialog{width:min(440px,calc(100% - 30px));max-height:85dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:25px;color:var(--navy)}#account-dialog::backdrop{background:#181a2455}#account-dialog p{font-size:12px;color:var(--muted);margin:10px 0}#account-dialog label{display:block;font-size:12px;margin:12px 0 4px}#account-dialog input{display:block;width:100%;border:1px solid #ddd4c7;border-radius:8px;padding:10px;font-size:16px}#account-dialog #account-error{color:#a91926}.guest-page .brand .brand-name{font-size:17px}
@media(max-width:640px){.guest-header{flex-basis:66px;padding:0 17px}.guest-header .brand .brand-name{font-size:14px}.guest-header .brand img{width:27px;height:35px}.guest-header .btn{font-size:11px;padding:8px 10px}.guest-main{padding:12px 14px 6px}#guest-welcome h1{font-size:25px}#guest-welcome .alex-emblem{height:93px;width:78px}.guest-note{font-size:9px}.guest-page .message{padding:15px;max-width:95%}.guest-page .composer{padding:10px}.guest-page .composer .actions{gap:8px}}

/* Keep the composer inside the visible viewport when the iPhone keyboard opens. */
body.guest-page{position:fixed;top:var(--guest-top,0px);left:0;right:0;width:100%;min-height:0;overscroll-behavior:none}
.guest-header{min-height:0}.guest-main{flex:1 1 0;min-height:0}
#guest-welcome{flex-shrink:1;overflow:hidden}
.guest-editing #guest-welcome,.guest-editing .guest-note,.guest-editing .private-link{display:none}
.guest-editing .guest-header{flex-basis:48px;height:48px}
.guest-editing .guest-main{padding-top:4px;padding-bottom:6px}
.guest-editing .composer{margin-top:4px}
.guest-page textarea{resize:none;height:76px;min-height:56px;font-size:16px}
#guest-error{color:#a91926;font-size:12px;line-height:1.35;margin:7px 0;max-height:54px;overflow:auto}
@media(max-height:480px){.guest-page #guest-welcome,.guest-page .guest-note,.guest-page .private-link{display:none}.guest-header{flex-basis:44px;height:44px}.guest-main{padding-top:4px}}

.core-form{margin-bottom:12px}.core-form label{display:block;margin-top:14px;font-size:13px}.core-form textarea{margin-top:6px;font-size:16px}.core-contract{margin:16px 0;padding:16px;border:1px solid #e4d5bb;border-radius:12px;background:#fffdf8}.core-contract p{font-size:12px}.core-steps{padding-left:20px;margin:12px 0}.core-steps li{font-size:13px;padding:4px 0}.core-steps span{margin-left:9px;color:#858585;font-size:11px}.core-steps .complete span{color:#447944}

/* Model connections: persistent forms during polling. */
#model-hub h2{margin:28px 0 16px}.provider-card{min-width:0}.provider-card select,.provider-card input[type=password]{width:100%;font-size:16px}.provider-consent{display:block;margin:16px 0;line-height:1.5}.provider-consent input{width:auto}.provider-result{min-height:1.4em;margin-top:12px;overflow-wrap:anywhere}.response-model{display:block;color:var(--muted,#747880);margin:4px 0 8px}[data-provider-actions][hidden]{display:none}

/* Conversation-guided documentary learning; preserve controls during polling. */
.learning-scope{margin-top:0}.learning-scope p{color:inherit}.learning-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.learning-metrics strong{display:block;font-size:23px;line-height:1.3}.learning-metrics span{font-size:12px;color:var(--muted)}.learning-list{margin-top:20px}.learning-document,.learning-source{padding:18px 0;border-bottom:1px solid var(--line)}.learning-document:first-child,.learning-source:first-child{padding-top:0}.learning-document:last-child,.learning-source:last-child{border-bottom:0;padding-bottom:0}.learning-document blockquote{margin:14px 0 0;padding:10px 15px;border-left:3px solid #dac19a;background:#fffdf8}.learning-topics{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.learning-topic{padding:10px 13px;border:1px solid var(--line);border-radius:10px;max-width:100%}.learning-topic strong,.learning-topic span{display:block}.learning-topic span{font-size:11px;color:var(--muted)}#learning-panel .section-heading{flex-wrap:wrap}#learning-panel .empty{text-align:left;padding:18px 0}#learning-blocked{min-height:1.5em}
@media(max-width:640px){nav button{flex:0 0 auto;min-width:53px}nav button[data-tab=learning]{min-width:82px}nav{justify-content:flex-start}.learning-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.learning-metrics strong{font-size:21px}#learning-panel .actions .btn{flex:1}#learning-panel .section-heading h2{font-size:17px}}

/* One conversation layout, with optional videos only while a reply is pending. */
[hidden]{display:none!important}.chat-thread .messages{min-height:0}.chat-page main,.guest-main{max-width:950px}.chat-page main{padding:20px 28px 16px}.chat-panel{gap:9px}.chat-welcome{text-align:center;padding:clamp(30px,8vh,90px) 12px 32px;margin:auto;max-width:620px}.chat-welcome h1,#guest-welcome h1{font:500 29px/1.3 Georgia,serif;letter-spacing:-.4px}.chat-welcome p,#guest-welcome p{font-size:14px;margin-top:12px}.chat-welcome .alex-emblem,#guest-welcome .alex-emblem{height:95px;width:80px;margin:0 auto 24px}#guest-welcome{margin:0 auto;padding:clamp(30px,8vh,90px) 12px 32px}.guest-main{padding:20px 28px 12px}.guest-header{flex-basis:70px;height:70px}.guest-page textarea{height:48px;min-height:48px;max-height:120px;padding:9px 11px;line-height:1.4}.guest-page .composer,.chat-page .composer{padding:12px 15px;border-radius:17px;box-shadow:0 5px 24px #48352109}.composer>.label{display:block;font-size:12px;margin-bottom:5px}.composer>.actions{margin-top:8px;justify-content:flex-end}.chat-latest{color:white}.chat-thread,#guest-thread{overflow-anchor:none}.chat-error{margin:10px 0}.composer-error{color:var(--red);font-size:12px;line-height:1.4;margin:7px 0;max-height:70px;overflow:auto}.document-toolbar{display:flex;align-items:center;gap:10px;margin-top:9px}.document-add{flex:none;padding:6px 10px;font-size:12px;min-height:34px}.document-help{font-size:10px;line-height:1.45;color:var(--muted)}.document-list{display:grid;gap:5px;max-height:112px;overflow-y:auto}.document-list:not(:empty){margin-top:9px}.document-chip{display:flex;align-items:center;gap:7px;padding:4px 7px 4px 10px;background:#faf6f0;border:1px solid #e6ded2;border-radius:9px;min-width:0}.document-name{flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-chip small{font-size:10px;color:#8a6735}.document-remove{border:0;background:none;color:var(--muted);font-size:22px;line-height:24px;min-width:28px;padding:0 4px}.message-documents{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.message-documents span{font-size:12px;padding:4px 8px;border:1px solid #dbcabe;border-radius:8px;overflow-wrap:anywhere}.guest-note{min-height:0;margin-top:6px}.guest-note:empty{display:none}
.companion[hidden],.companion [hidden]{display:none!important}.companion{margin:20px 0;min-width:0}.wait-video-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.moment-heading h2{font:500 22px/1.3 Georgia,serif;letter-spacing:-.3px}.wait-video-choices{margin-top:14px}.wait-video-choices button[aria-pressed=true]{border-color:var(--red);color:var(--red);background:#fcf0ef}.moment-media{margin-top:14px}.moment-media iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;max-height:380px;border:0;border-radius:12px}.video-wait-short .moment-media iframe{aspect-ratio:9/16;width:min(100%,250px);max-height:400px;margin:auto}.moment-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:16px}.moment-form label{grid-column:1/-1;font-size:12px}.moment-form input{min-width:0;width:100%;border:1px solid #ded9d2;border-radius:10px;padding:9px;font-size:16px}.moment-error{color:var(--red);font-size:12px}.wait-video-card .actions{gap:7px;margin-top:12px}.wait-video-card .btn{padding:8px 12px;font-size:12px}
.guest-header-actions{display:flex;align-items:center;gap:8px}.guest-menu{position:absolute;right:22px;top:62px;z-index:70;display:grid;background:white;border:1px solid var(--line);border-radius:15px;padding:10px;box-shadow:0 9px 32px #181a2422;max-width:calc(100vw - 32px);min-width:220px}.guest-menu button,.guest-menu a{padding:10px 12px;font-size:13px;text-align:left;text-decoration:none;white-space:normal}.guest-menu a{color:var(--red)}.guest-menu-status{font-size:11px;margin:4px 12px 10px}.menu-toggle{white-space:nowrap}.guest-header{position:relative}.owner-page header .badge{font-size:11px}.owner-page .aside-bottom{font-size:11px}
@media(max-width:640px){.chat-page main,.guest-main{padding:9px 13px 9px}.guest-header{height:60px;flex-basis:60px}.chat-welcome h1,#guest-welcome h1{font-size:25px}.chat-welcome,#guest-welcome{padding-top:36px}.guest-page .composer,.chat-page .composer{padding:10px 11px}.document-help{font-size:9px}.document-chip small{max-width:100px;line-height:1.3}.wait-video-card{padding:15px}.moment-heading h2{font-size:21px}.wait-video-card .btn{padding:7px 9px;font-size:11px}.moment-media iframe{max-height:260px}.video-wait-short .moment-media iframe{max-height:330px;width:min(100%,200px)}.guest-header-actions{gap:6px}.guest-header-actions .btn{padding:8px}.guest-header .brand .brand-name{font-size:13px;letter-spacing:.7px}.guest-menu{right:12px;top:52px}.guest-menu button{flex:none;min-width:0}.composer-error{max-height:54px}.document-list{max-height:104px}.chat-page.keyboard-open .document-help,.guest-editing .document-help{display:none}.chat-page.keyboard-open .document-list,.guest-editing .document-list{max-height:70px}}

/* Private library controls, with persistent key and import forms. */
#books-panel{max-width:1100px;margin:auto}#books-panel .heading{align-items:flex-start}#books-panel .heading>.btn{flex:none}.books-scope{margin:0 0 20px}.books-scope p{color:inherit}.books-controls,.books-connections,.books-list,.books-checkpoint,.books-history{margin:18px 0}#books-notice{min-height:24px;color:var(--red);font-size:13px}.books-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}.books-stats strong,.books-stats span{display:block}.books-stats strong{font-size:25px;line-height:1.3}.books-stats span{font-size:12px;color:var(--muted)}.books-connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:18px}#books-panel h3{font-size:16px;line-height:1.4}#books-panel label{display:block;font-size:13px;margin:20px 0 7px}#books-google-key{width:100%;max-width:100%;font-size:16px;padding:11px;border:1px solid var(--line);border-radius:9px}#books-file{max-width:100%;font-size:14px}#books-panel .actions{flex-wrap:wrap}#books-panel .btn{white-space:normal}#books-import-form{padding-top:12px;margin-top:20px;border-top:1px solid var(--line)}.books-entry{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.books-entry:last-child{border:0;padding-bottom:0}.books-entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.books-entry .status{white-space:normal;text-align:center}.books-entry a{font-size:12px}.books-note{white-space:pre-wrap;line-height:1.7;padding:14px 16px;border-left:3px solid #dac19a;background:#fffdf8;margin:12px 0}.books-history summary{cursor:pointer;font-size:14px;font-weight:550}.books-history pre{font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:350px;overflow:auto;margin:16px 0 0}.books-list .empty{text-align:left;padding:12px 0}#books-panel .subtle{overflow-wrap:anywhere}
@media(max-width:700px){#books-panel .heading{flex-direction:column;gap:13px}.books-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.books-connection-grid{grid-template-columns:1fr;gap:20px}.books-entry-heading{flex-direction:column;gap:6px}.books-controls .btn,.books-connections .btn{flex:1}.books-checkpoint .btn{width:100%}}

/* Approval-bound code proposals live only in private settings. */
#evolution-panel{max-width:1100px;margin:auto}#evolution-panel .heading{align-items:flex-start}#evolution-panel .heading>.btn{flex:none}.evolution-scope{margin:0 0 20px}.evolution-scope p{color:inherit}.evolution-controls,.evolution-active,.evolution-proposal,.evolution-events{margin:18px 0}#evolution-notice{min-height:24px;color:var(--red);font-size:13px}.evolution-proposal-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.evolution-proposal-heading h2{line-height:1.35}.evolution-status{flex:none}.evolution-status[data-status=pending_approval]{background:#f9eed9;color:#825d21}.evolution-status[data-status=published]{background:#eaf3e7;color:#366033}.evolution-status[data-status=failed],.evolution-status[data-status=stale]{background:#fff0ed;color:#9c4e40}.evolution-decision{padding:11px 13px;background:#f7f6f3;border-radius:10px;font-size:13px;color:#626873}.evolution-proposal details,.evolution-active details{margin-top:17px}#evolution-panel summary{cursor:pointer;font-weight:550;font-size:14px;padding:5px 0}#evolution-panel pre{margin:12px 0 0;white-space:pre;overflow:auto;max-height:420px;background:#f7f7f5;border:1px solid #e5e4df;border-radius:10px;padding:14px;color:#303849;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4}#evolution-panel pre:focus-visible,#evolution-panel summary:focus-visible{outline:2px solid var(--red);outline-offset:3px}.evolution-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}.evolution-code{min-width:0}.evolution-code h4{margin:0;color:#686c75;font-size:12px;font-weight:600}.evolution-code pre{margin-top:8px!important}.evolution-diff{border-left:3px solid #c4a97f!important}.evolution-consent{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.evolution-consent p{font-size:13px;color:#626873}.evolution-consent .btn{white-space:normal;text-align:center}.evolution-hashes{display:grid;grid-template-columns:145px minmax(0,1fr);gap:8px;font-size:11px}.evolution-hashes dt{color:var(--muted)}.evolution-hashes dd{margin:0;overflow-wrap:anywhere}.evolution-reference{overflow-wrap:anywhere}.evolution-results{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.evolution-results h3{font-size:16px}.evolution-table{overflow-x:auto;margin-top:12px}.evolution-table table{width:100%;border-collapse:collapse;font-size:12px}.evolution-table caption{text-align:left;font-weight:600;margin-bottom:8px}.evolution-table th,.evolution-table td{text-align:left;border-bottom:1px solid var(--line);padding:10px;vertical-align:top;white-space:pre-wrap}.evolution-table thead th{background:#f7f4ee}.evolution-table tbody th{font-weight:500}.evolution-events pre{white-space:pre-wrap!important;overflow-wrap:anywhere}.evolution-active h2,.evolution-controls h2{font-size:18px}
@media(max-width:700px){#evolution-panel .heading{flex-direction:column;gap:13px}.evolution-code-grid{grid-template-columns:1fr}.evolution-proposal-heading{flex-direction:column;gap:9px}.evolution-proposal-heading h2{font-size:18px}.evolution-hashes{grid-template-columns:1fr;gap:4px}.evolution-hashes dd{margin-bottom:7px}.evolution-consent .btn.primary{width:100%}#evolution-panel pre{max-height:300px;font-size:11px}.evolution-controls .actions{gap:8px}.evolution-controls .btn{flex:1;white-space:normal}}
.plugin-image{max-width:100%;height:auto;border-radius:14px}
.plugin-text{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}

/* Nature selection: usable above the mobile keyboard, without replacing chat. */
.nature-video-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:14px}.nature-video-choices .btn{min-height:44px;padding:8px 5px;white-space:normal}.nature-video-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.nature-video-caption>div:first-child{min-width:0}.nature-video-caption h3{font-size:16px;line-height:1.4;margin:0}.nature-video-caption p{font-size:11px;margin:4px 0 0}.nature-video-navigation{display:flex;gap:6px;flex:none}.nature-video-navigation .btn{min-width:44px;min-height:44px;font-size:20px}.nature-custom-video{margin-top:15px;border-top:1px solid var(--line);padding-top:12px}.nature-custom-video summary{font-size:13px;cursor:pointer;color:var(--red)}.nature-custom-video .moment-form{margin-top:12px}@media(max-width:640px){.nature-video-choices{gap:5px}.nature-video-choices .btn{font-size:11px}.nature-video-caption h3{font-size:14px}}
