/* Xiao: welcome, one Summary, and a sliding questionnaire. */
.xiao-mode #chatLog{overflow-y:auto;overscroll-behavior:contain;padding:0 14px}
.xiao-welcome{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:var(--xiao-page-height,calc(100dvh - 118px));width:100%;padding:24px 12px 44px;text-align:center;color:#ffe75b}
.xiao-welcome .eyebrow{margin:0;color:#d8c66d;font:600 11px/1.4 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.xiao-welcome h1{margin:0;color:#fff1aa;font:600 clamp(27px,5vw,42px)/1.12 Georgia,serif}
.xiao-welcome-subtitle{margin:0;color:#d9cb86;font:400 16px/1.5 Georgia,serif}
.xiao-context-meter{display:flex;align-items:center;gap:14px;margin:16px auto 0;padding:12px 19px;border:1px solid #ffe75b78;border-radius:999px;background:#ffe75b0b;color:#ffe75b;cursor:pointer;font:650 13px/1.3 system-ui,sans-serif;transition:background .2s,box-shadow .2s}
.xiao-context-meter:hover,.xiao-context-meter:focus-visible{background:#ffe75b1d;box-shadow:0 0 24px #ffe75b25}
.xiao-context-meter:disabled{opacity:.8;cursor:wait}
.xiao-context-percent{display:grid;place-items:center;width:58px;height:58px;flex:none;border-radius:50%;background:radial-gradient(closest-side,#090d13 77%,transparent 80%),conic-gradient(#ffe75b var(--context-fill,0%),#ffe75b28 0);font:700 13px/1 system-ui,sans-serif}
.xiao-question-open{display:flex;align-items:center;gap:15px;margin:20px auto 0;padding:11px 21px;border:1px solid #ffe75b55;border-radius:11px;background:transparent;color:#ffe75b;cursor:pointer;font:600 14px/1.3 system-ui,sans-serif}
.xiao-question-open:hover,.xiao-question-open:focus-visible{background:#ffe75b16;border-color:#ffe75b}
.xiao-question-open span{font-size:21px;animation:xiao-nudge 1.9s ease-in-out infinite}
.xiao-home-update,.xiao-home-error{margin:0;color:#ffe75b;font:500 12px/1.5 system-ui,sans-serif}
.xiao-home-error{color:#ffaaa1}.xiao-home-update[hidden],.xiao-home-error[hidden]{display:none}
@keyframes xiao-nudge{50%{transform:translateY(5px);opacity:.55}}

/* The sheet slides over the chat; its answer composer remains fixed below its scroll area. */
#xiaoOverlay{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;box-sizing:border-box;background:#050607;color:#ffe75b;visibility:hidden;pointer-events:none;transform:translate3d(0,102%,0);transition:transform .43s cubic-bezier(.19,.79,.2,1),visibility 0s linear .43s}
body.xiao-overlay-open #xiaoOverlay{visibility:visible;pointer-events:auto;transform:translate3d(0,0,0);transition:transform .43s cubic-bezier(.19,.79,.2,1),visibility 0s}
body.xiao-overlay-open #chatLog,body.xiao-overlay-open #composerDock{pointer-events:none}
#xiaoOverlay .xiao-overlay-scroll{min-height:0;overflow:auto;overscroll-behavior:contain}
#xiaoOverlay .xiao-intake{box-sizing:border-box;width:min(100%,830px);min-height:100%;margin:0 auto;padding:0 18px 30px;background:#050607}
#xiaoOverlay .xiao-intake-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 0;background:#050607;border-bottom:1px solid #ffe75b35}
.xiao-intake-name{font:700 17px/1.2 Georgia,serif}.xiao-question-nav{display:flex;gap:4px;flex:1;justify-content:center;overflow-x:auto}
.xiao-question-step{flex:none;min-width:26px;height:26px;border:1px solid #ffe75b55;border-radius:50%;background:none;color:#ffe75b;font:600 10px system-ui;cursor:pointer}
.xiao-question-step[aria-current=step],.xiao-question-step.is-answered{background:#ffe75b;color:#14160d}
.xiao-return-home{flex:none;border:1px solid #ffe75b66;border-radius:7px;padding:7px 10px;background:#ffe75b0b;color:#ffe75b;cursor:pointer;font:600 11px system-ui}
.xiao-stage{padding:clamp(36px,8vh,90px) 0 35px;text-align:center}
.xiao-question-text{max-width:690px;margin:0 auto 26px;color:#ffe75b!important;font:450 clamp(24px,3.5vw,36px)/1.35 Georgia,serif}
.xiao-choice-hint{margin:0 auto 24px;max-width:55ch;color:#d2c481;font:400 14px/1.6 system-ui,sans-serif}
.xiao-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,690px);margin:0 auto}
.xiao-option{min-height:48px;padding:10px 14px;border:1px solid #ffe75b62;border-radius:11px;background:#ffe75b0b;color:#ffe75b;cursor:pointer;font:500 14px/1.4 system-ui,sans-serif}
.xiao-option:hover,.xiao-option:focus-visible{border-color:#ffe75b;background:#ffe75b1b}
.xiao-option.is-selected{border-color:#ffe75b;background:#ffe75b;color:#13160e}
#xiaoOverlay .xiao-overlay-composer{padding:10px max(15px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom));background:#050607;border-top:1px solid #ffe75b35;box-shadow:0 -10px 28px #0007}
#xiaoOverlay .xiao-overlay-composer:empty{display:none}
.xiao-answer-form{display:flex;align-items:flex-end;gap:10px;width:min(100%,830px);margin:0 auto}
.xiao-answer-input{box-sizing:border-box;flex:1;min-width:0;min-height:52px;max-height:150px;padding:13px 14px;border:1px solid #ffe75b66;border-radius:12px;background:#ffe75b0a;color:#ffe75b;outline:none;resize:vertical;font:400 16px/1.5 system-ui,sans-serif}
.xiao-answer-input:focus{border-color:#ffe75b}.xiao-answer-input::placeholder{color:#d0bd6e}
.xiao-choice-confirm{min-height:52px;padding:0 17px;border:1px solid #ffe75b;border-radius:10px;background:#ffe75b;color:#17170c;cursor:pointer;font:700 13px system-ui}
.xiao-choice-confirm:disabled{opacity:.4;cursor:default}

/* The dial opens a single versioned Summary. */
.xiao-summary-dialog{position:fixed;inset:5dvh 0;width:min(900px,94vw);height:90dvh;max-width:none;max-height:none;box-sizing:border-box;overflow:auto;padding:0 25px 25px;border:1px solid #ffe75b92;border-radius:17px;background:#090d13;color:#ffe75b;box-shadow:0 24px 80px #000c}
.xiao-summary-dialog::backdrop{background:#000b}
.xiao-summary-dialog header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;min-height:62px;border-bottom:1px solid #ffe75b44;background:#090d13;font:600 25px Georgia,serif}
.xiao-summary-close{border:0;background:none;color:#ffe75b;cursor:pointer;font:30px system-ui}
.xiao-summary-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 0}
.xiao-summary-versions,.xiao-summary-refresh{min-height:34px;padding:6px 10px;border:1px solid #ffe75b77;border-radius:7px;background:#111922;color:#ffe75b;font:600 12px system-ui;cursor:pointer}
.xiao-summary-status{color:#ffe75b;font:500 12px system-ui}
.xiao-summary-body{padding:8px 0 50px;color:#ffe9a7;font:400 17px/1.7 Georgia,serif;overflow-wrap:anywhere}
.xiao-summary-body :is(h1,h2,h3){color:#ffe75b}.xiao-summary-body.is-updating{animation:xiao-condensing 1.6s ease-in-out infinite}
@keyframes xiao-condensing{50%{opacity:.5}}

.response-pdf-action{margin-top:12px;min-height:34px;padding:7px 14px;border:1px solid #ffe75b88;border-radius:9px;background:#ffe75b08;color:#ffe75b;cursor:pointer;font:650 11px system-ui}
.response-pdf-action:hover,.response-pdf-action:focus-visible{background:#ffe75b1d}
.response-pdf-action:disabled{opacity:.5;cursor:wait}
@media(max-width:600px){.xiao-options{grid-template-columns:1fr}.xiao-summary-dialog{inset:2dvh 0;width:97vw;height:96dvh;padding:0 16px 20px}.xiao-question-nav{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){#xiaoOverlay,body.xiao-overlay-open #xiaoOverlay{transition:none}.xiao-question-open span,.xiao-summary-body.is-updating{animation:none}}
