/* App presentation: one scrolling timeline, one anchored composer. */
.app-menu,.drawer-close{width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:#655638;font-size:24px;padding:0;flex-shrink:0}
#app-drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(320px,86vw);height:100dvh;max-height:100dvh;border:0;border-right:1px solid #e5ddcb;padding:20px;background:#faf9f6;color:#30312c;overflow-y:auto}
#app-drawer::backdrop{background:#1b19154d}#app-drawer h2{font-size:20px;margin:20px 0}#app-drawer nav{display:flex;flex-direction:column;gap:8px}#app-drawer a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:10px;text-decoration:none;font-size:14px}#app-drawer a:hover{background:#eee7d9}.drawer-close{float:right}
body{height:var(--app-height,100dvh);overflow:hidden;display:flex;flex-direction:column;background:#fff}
.chat-header{min-height:60px;flex:0 0 auto;padding:8px 24px;border:0;gap:16px;position:relative;z-index:5}
.brand{font-size:30px}.main-nav{gap:14px}.mode-strip{padding:4px 16px;font-size:10px;background:#faf8f2;flex:0 0 auto}
.chat-layout{display:block;min-height:0;flex:1;width:100%;max-width:880px;margin:0 auto;padding:0 24px 12px}
.conversation{height:100%;display:flex;flex-direction:column;min-height:0}
.conversation-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 8px 20px;scrollbar-width:thin;overscroll-behavior:contain}
.intro{padding:28px 12px;text-align:center}.intro h1{font-size:26px;letter-spacing:-1px}.intro>p:last-child{font-size:14px;color:#77756c}
#log.chat-log{overflow:visible;max-height:none;min-height:0;padding:12px 0;gap:24px}
.chat-log>div{max-width:88%;padding:12px 16px}.chat-log .mock-message{padding-left:0}.chat-log p{font-size:15px;line-height:1.8}.user-message{background:#f1ece1;border:0}
#status{font-size:12px;border:0;background:none;margin:8px 0;padding:4px 0}
.composer{flex:0 0 auto;max-height:56%;overflow-y:auto;border:1px solid #dcd6c7;border-radius:26px;box-shadow:0 3px 16px #40331b08;padding:8px 10px;background:#faf9f6}
.composer-shell{align-items:flex-end}.composer-shell #message{resize:none;overflow-y:auto;max-height:176px;min-height:52px}
.composer-help{font-size:10px;margin:0 6px;color:#817b6d}.speech-inline-help{padding:0 6px}.speech-inline-help .tool-core{font-size:10px;line-height:1.45}.speech-inline-help #speech-status{margin:3px 0;font-size:11px}.speech-inline-help details{font-size:10px}
.composer .photo-analysis-controls{margin:4px 0;padding:8px 12px;gap:4px;border-radius:14px}.composer .consent-row{padding:4px 0;min-height:44px;font-size:12px}
.conversation-info{margin:0;font-size:12px;color:#655638}.conversation-info>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.conversation-info[open]{position:absolute;right:16px;top:8px;width:min(360px,calc(100vw - 32px));max-height:80dvh;overflow:auto;background:#fff;padding:0 16px 16px;border:1px solid #e3ddcf;border-radius:16px;box-shadow:0 8px 30px #40331b20}
.conversation-info .consultation-panel{position:static;display:block;width:100%;margin-top:12px}.conversation-info .space-role-guide{margin:0}.conversation-info button{margin:4px 4px 4px 0}
#login{border-radius:16px;padding:16px;font-size:13px}#login label{display:flex;align-items:flex-start;gap:8px}#login input{flex:0 0 20px;width:20px;height:20px}
@media(max-width:760px){.chat-header{min-height:56px;padding:4px 16px;flex-wrap:nowrap;justify-content:space-between}.brand small{font-size:7px}.main-nav{display:none}.chat-layout{padding:0 10px max(8px,env(safe-area-inset-bottom))}.conversation-scroll{padding:12px 8px 16px}.intro{padding:24px 8px}.intro h1{font-size:23px}.mode-strip{font-size:9px;white-space:nowrap;overflow:hidden;justify-content:center}.chat-log>div{max-width:94%}.chat-log p{font-size:15px}.composer{padding:6px;max-height:58%}.composer-shell #message{font-size:16px}.composer-shell button{min-width:44px;width:44px;height:44px}.conversation-info>summary{font-size:11px}}
