:root{--navy:#102C40;--ink:#263C4A;--gold:#D0A66A;--bg:#E7F0F6;--border:#CBDCE6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{color:#24516b}.shell{width:min(100% - 36px,1040px);margin:auto}.header{background:var(--navy);padding:24px 0}.header .shell{display:flex;justify-content:space-between;gap:12px;align-items:center}.header a{color:white;text-decoration:none;letter-spacing:.06em;font-weight:800}.header span{color:#cee0e8;font-size:15px}.intro{padding:50px 0 24px}.eyebrow{font-size:14px;color:#a47132;letter-spacing:.16em;font-weight:bold}h1,h2{font-family:Georgia,serif;color:var(--navy);line-height:1.15}h1{font-size:clamp(38px,6vw,60px);margin:12px 0}h2{font-size:28px;margin:0 0 12px}.intro p{max-width:800px}.panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:28px;margin-bottom:48px}.narrow{max-width:530px}.muted{color:#617987;font-size:15px}.fine{font-size:13px}.topline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.topics{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.topic,.subtle{background:#f1f6f9;border:1px solid var(--border);color:var(--navy)}button{background:var(--gold);border:0;border-radius:8px;color:#132d3d;padding:11px 18px;font-weight:700;font-size:15px;cursor:pointer}button:hover{filter:brightness(1.06)}button:disabled{opacity:.55;cursor:wait}.conversation{background:#f4f8fa;border:1px solid var(--border);padding:18px;border-radius:9px;min-height:340px;max-height:min(70vh,740px);overflow:auto}.bubble{white-space:pre-wrap;line-height:1.55;margin:0 0 16px;padding:12px 15px;border-radius:8px;background:white}.bubble.user{background:#dcebf4}.bubble b{display:block;color:var(--navy);font-size:14px;margin-bottom:5px}.sources{font-size:12px;color:#5a7283}.chat-form{margin-top:18px}label{display:block;margin:0 0 8px;font-weight:600}input,textarea{border:1px solid #a9c1cf;border-radius:8px;padding:12px;width:100%;font:inherit;background:white;color:var(--ink)}textarea{resize:vertical}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.error{color:#9c2828}.footer{text-align:center;color:#607787;font-size:14px;margin:40px 0}code{word-break:break-all}@media(max-width:620px){body{font-size:16px}.header .shell{display:block}.header span{display:block}.panel{padding:18px}.actions{align-items:stretch;flex-direction:column}}

/* v0.2.4: taller answer area, compact two-line question */
#question{height:76px;min-height:62px;max-height:130px;line-height:1.4}
.chat-form{margin-top:12px}
@media(max-width:620px){.conversation{min-height:260px;max-height:65vh}#question{height:70px}}

/* v0.3: short bounded conversations */
.action-buttons{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.action-buttons button{max-width:100%}
.dialog-end{margin:14px 0 0;font-weight:700;color:var(--navy)}
.dialog-end[hidden]{display:none}
button:disabled{cursor:not-allowed}
@media(max-width:620px){.action-buttons{width:100%}.action-buttons button{width:100%}}

/* Public assistant: minimal first screen; history appears only after first answer. */
.header .header-inner{display:flex;justify-content:space-between;gap:16px;align-items:center}
.header .back-link{font-weight:500;font-size:15px;letter-spacing:0;color:#d7b987;text-decoration:underline;text-underline-offset:3px}
.assistant-main{padding-top:32px;padding-bottom:26px}
.assistant-main h1{font-size:clamp(30px,4.8vw,48px);margin:0 0 19px}
.assistant-main .panel{margin:0;padding:24px}
.conversation[hidden], #reset[hidden], #dialog-end[hidden]{display:none!important}
.conversation{min-height:0;max-height:70vh;padding:14px;margin-bottom:18px;scroll-margin-top:18px}
.conversation .bubble:last-child{margin-bottom:0}
.chat-form{margin-top:0}
#question{height:74px;min-height:64px;max-height:145px}
#request-result:empty{display:none}
.disclaimer{font-size:13px;line-height:1.65;color:#617987;margin:20px 2px 0}
.footer{margin:20px 0 28px}
@media(max-width:620px){.header .header-inner{display:flex;align-items:center}.header .brand{font-size:13px}.header .back-link{font-size:12px;white-space:nowrap}.assistant-main{padding-top:22px}.assistant-main .panel{padding:16px}.conversation{max-height:65vh}.actions{gap:10px}.action-buttons{width:100%}.action-buttons button{width:100%}}
/* Public-use consent, 2026-11-10 */
.consent-area{background:#f1f6f9;border:1px solid var(--border);border-radius:9px;padding:12px 14px;margin-bottom:16px}
.consent-row{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:14px;line-height:1.55;font-weight:normal}
.consent-row input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:#102c40;cursor:pointer}
.consent-open{display:inline;text-align:left;cursor:pointer;border:0;background:transparent;color:#24516b;padding:0;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.consent-open:hover{background:transparent}
#consent-hint{display:block;padding-left:30px;margin-top:4px}
.consent-modal[hidden]{display:none!important}.consent-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:14px}
.consent-modal-backdrop{position:absolute;inset:0;background:rgba(8,28,42,.73)}
.consent-dialog{position:relative;background:white;border-radius:12px;padding:24px;width:min(95vw,720px);max-height:85vh;overflow-y:auto;box-shadow:0 18px 50px rgba(0,0,0,.3);font-size:15px;line-height:1.6}
.consent-dialog-top{display:flex;justify-content:space-between;align-items:start;gap:10px}.consent-dialog h2{font-size:25px}.consent-dialog p{margin:14px 0}
.consent-close{background:#f1f6f9;color:#102c40;font-size:24px;padding:0;width:34px;height:34px}
@media(max-width:620px){.consent-dialog{padding:16px}.consent-dialog h2{font-size:21px}}
