.mobile-composer{padding:8px 10px 10px!important;border-radius:25px!important;background:#22252c!important}.composer-model-row{display:flex;align-items:center;margin:-1px 0 7px;min-width:0}.model-pill{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:44px;border:0;border-radius:12px;background:transparent;color:#c8d3e2;padding:8px 10px;font-size:14px;text-align:left;cursor:pointer}.model-pill:hover,.model-pill:active{background:#303846}.model-pill>[data-model-label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-pill>.icon{width:16px;height:16px;flex-shrink:0;color:#9caec6}.model-status-dot{height:7px;width:7px;border-radius:50%;background:#92b8ec;flex-shrink:0}.mobile-composer textarea{min-height:45px!important;max-height:132px!important;padding:6px 9px 9px!important;line-height:1.65;font-size:17px!important;resize:none;display:block;width:100%}.mobile-composer textarea[hidden]{display:none!important}.mobile-composer .voice-pad{width:100%;min-height:82px;border:1px solid #586577;border-radius:18px;display:flex;justify-content:center;align-items:center;gap:13px;color:#eef4fc;background:#344257;touch-action:manipulation;font-size:18px;font-weight:600;letter-spacing:.02em;padding:18px 12px;transition:background .15s,border-color .15s}.mobile-composer .voice-pad[hidden]{display:none!important}.voice-pad .icon{width:26px;height:26px;stroke-width:2}.voice-pad.is-recording{background:#573c45;color:#ffece9;border-color:#ca9191}.voice-pad.is-recording .icon{fill:none;stroke:currentColor}.voice-pad .record-stop-icon{fill:currentColor!important;stroke:none!important}.voice-pad:disabled{opacity:1;background:#303742;color:#aeb9ca}.mobile-composer .voice-inline{padding:4px 6px 0;border:0;margin:0;min-height:44px;font-size:13px}.mobile-composer .voice-inline[hidden]{display:none}.compose-toolbar{display:flex;align-items:center;gap:10px;padding-top:10px!important}.toolbar-spacer{flex:1}.input-mode-button,.attachment-button,.mobile-composer .composer-send{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:50%!important;border:0;background:#303740;color:#dde7f5;flex-shrink:0}.input-mode-button .icon,.attachment-button .icon{width:26px;height:26px}.input-mode-button[aria-pressed=true]{background:#38485e;color:#dceaff}.mobile-composer .composer-send{background:#2e7bd8!important;color:#fff!important}.mobile-composer .composer-send .icon{width:23px!important;height:23px!important}.mobile-composer .composer-send:disabled{background:#323942!important;color:#94a2b4!important}.attachment-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attachment-menu-row{flex-direction:column;justify-content:center;text-align:center;min-height:118px;padding:16px 8px;border:1px solid #3e4857;border-radius:18px}.attachment-menu-row>.icon{width:32px;height:32px;margin-bottom:8px}.attachment-menu-row span{gap:0}.attachment-menu-row strong{font-size:15px}.attachment-menu-row small{display:none}.model-sheet .model-search{width:100%;min-height:48px;background:#2b3039;border:1px solid #465264;color:var(--ink);border-radius:13px;padding:10px 13px;font-size:16px;margin:18px 0 12px}.model-list{display:grid;gap:8px;max-height:38dvh;overflow:auto;padding:3px;scrollbar-width:thin}.model-option{position:relative;display:flex;gap:12px;align-items:center;min-height:60px;padding:12px 14px;border:1px solid #3b4554;border-radius:14px;background:#292f38;cursor:pointer}.model-option:has(:checked){border-color:#8cbfff;background:#253f60}.model-option input{width:20px;height:20px;accent-color:#8cbfff;flex-shrink:0}.model-option span{display:grid;gap:4px;min-width:0}.model-option strong{font-size:16px;font-weight:550;overflow-wrap:anywhere}.model-option small{font-size:12px;color:#abb8ca}.effort-heading{font-size:.82rem;color:var(--muted);margin:20px 0 10px}.effort-options{display:flex;flex-wrap:wrap;gap:8px}.effort-option{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:48px;padding:9px 12px;border:1px solid #465263;border-radius:12px;background:#29303a;cursor:pointer}.effort-option:has(:checked){background:#28496d;border-color:#8dbaf1;color:#dcecff}.effort-option input{position:absolute;opacity:0;width:1px;height:1px}.effort-option:has(:focus-visible){outline:2px solid var(--blue);outline-offset:3px}.model-sheet .model-save{margin-top:20px;border-radius:16px;min-height:52px}.model-no-match{padding:18px;color:var(--muted);font-size:.82rem}.life-photo-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:10px 0}.life-photo-grid button{background:var(--panel);border:1px solid var(--border);border-radius:16px;overflow:hidden;padding:0;width:140px;max-width:45%;min-height:80px}.life-photo-grid img{display:block;width:100%;height:140px;object-fit:cover}.life-photo-grid video{display:block;width:100%;max-height:240px;border-radius:16px}.life-photo-grid .daily-video{width:100%}@media(max-width:800px){body.chat-screen .composer-wrap,.life-screen .life-composer-wrap{padding-left:12px;padding-right:12px}.mobile-composer{padding:6px 10px 10px!important}.mobile-composer .voice-pad{min-height:80px}.attachment-menu{gap:9px}.attachment-menu-row{min-height:110px}.model-sheet .model-list{max-height:36dvh}.model-pill{font-size:14px}.model-sheet .dialog-header h2{font-size:1.12rem}}@media(max-width:360px){.compose-toolbar{gap:8px}.input-mode-button,.attachment-button,.mobile-composer .composer-send{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}.mobile-composer .voice-pad{font-size:17px}.attachment-menu-row strong{font-size:13px}}@media(prefers-reduced-motion:reduce){.mobile-composer .voice-pad{transition:none}}

@media(max-height:500px) and (max-width:1000px){body.chat-screen .app-shell,body.life-screen .app-shell{display:block}body.chat-screen .sidebar,body.life-screen .sidebar,body.chat-screen .topbar,body.life-screen .topbar{display:none!important}body.chat-screen .chat-header{padding:6px 10px!important}body.chat-screen .composer-wrap{max-height:none;overflow:visible;padding:6px 12px max(4px,env(safe-area-inset-bottom))}.mobile-composer .voice-pad{min-height:64px;padding:12px}.composer-model-row{margin-bottom:2px}.compose-toolbar{padding-top:6px!important}body.life-screen .life-page-header{display:flex;align-items:center;gap:12px;padding:4px 16px!important}body.life-screen .life-page-header .hero{margin:0}body.life-screen .life-page-header .hero h1{font-size:1rem}body.life-screen .life-page-header .hero>.ghost{display:none}body.life-screen .life-tabs{flex:1;margin:0}body.life-screen .life-composer-wrap{margin-bottom:0;padding:6px 12px}body.life-screen .mobile-nav{display:none}}

/* Live microphone energy: no decorative/fake wave while silent. */
.voice-wave-live{display:flex;justify-content:center;align-items:center;gap:4px;height:28px;margin:0;overflow:hidden;pointer-events:none;user-select:none;-webkit-user-select:none}
.voice-wave-live[hidden]{display:none!important}
.voice-wave-live i{display:block;flex:0 0 3px;height:28px;border-radius:3px;background:#f3c8cf;transform:scaleY(.08);transform-origin:center;transition:transform 60ms linear}
button,button *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
button{touch-action:manipulation}
.voice-pad>*{pointer-events:none}
@media(max-height:500px){.voice-wave-live{height:25px;margin-bottom:5px}.voice-wave-live i{height:24px}}
@media(prefers-reduced-motion:reduce){.voice-wave-live i{transition:none}}

/* A single tool row keeps the conversation visible on smaller phones. */
.mobile-composer{background:var(--composer-bg)!important;border-color:var(--control-border);padding:10px!important;border-radius:24px!important}
.mobile-composer textarea{font-size:1rem!important;min-height:46px!important;padding:4px 8px 10px!important}
.mobile-composer .compose-toolbar{gap:8px;justify-content:flex-start;padding-top:4px!important}
.mobile-composer .model-pill{flex:1;min-width:0;max-width:none;justify-content:center;padding:8px 2px;font-size:12px;color:var(--muted);gap:4px}
.mobile-composer .model-pill>.icon{width:13px;height:13px;color:var(--muted)}
.mobile-composer .input-mode-button,.mobile-composer .attachment-button{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;background:transparent;color:var(--control-ink)}
.mobile-composer .input-mode-button:hover,.mobile-composer .attachment-button:hover{background:var(--surface)}
.mobile-composer .input-mode-button .icon,.mobile-composer .attachment-button .icon{width:24px;height:24px}
.mobile-composer .composer-send{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;background:var(--accent)!important}
.mobile-composer .composer-send:disabled{background:var(--surface)!important;color:var(--muted)!important}
.mobile-composer.voice-mode .composer-send{display:none!important}
.mobile-composer.voice-mode .model-pill{flex:0 1 auto;margin-left:auto;padding-inline:10px}
.mobile-composer .voice-pad{background:var(--surface);border-color:var(--control-border);color:var(--ink);font-size:1rem;letter-spacing:0;flex-direction:column;min-height:88px;padding:12px;gap:6px}
.voice-pad-copy{display:flex;align-items:center;justify-content:center;gap:10px}
.voice-pad.is-recording .voice-pad-copy{font-size:14px;line-height:20px;font-weight:500}
.voice-pad.is-recording .voice-pad-copy .icon{width:18px;height:18px}
.mobile-composer .voice-pad.is-recording{background:#4e3038;border-color:#c78489;color:#ffece9}
.mobile-composer .voice-pad:disabled{background:var(--surface);color:var(--muted)}
.mobile-composer .voice-wave-live{margin:0;width:100%;flex-shrink:0}
.model-option{border-color:transparent;background:var(--surface)}
.model-option:has(:checked){border-color:var(--blue);background:var(--accent-bg)}
.model-option,.effort-option,.choice-option,.attachment-menu-row{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
@media(max-width:360px){.mobile-composer .model-pill{font-size:11px}.mobile-composer .compose-toolbar{gap:6px}}
@media(max-height:500px){.mobile-composer .voice-pad{min-height:76px;padding:8px;gap:4px}.voice-wave-live{height:24px}}
