/* All text is rem-based: one saved root setting controls every screen. */
:root{--green:#087f5b;--deep:#075b44;--ink:#243d35;--muted:#60746b;font-size:var(--reading-size,14px)}
body{font-size:1rem}
button,input,textarea,select{font-family:inherit}
.primary-btn,.send-btn,.new-chat{background:#31d994;background-image:linear-gradient(120deg,#42e1a0,#25cf8b);color:#073c2e;border-color:#25cf8b;box-shadow:0 4px 12px #17a97026}
.primary-btn:hover,.send-btn:hover,.new-chat:hover{background:#24c986;background-image:none;color:#073c2e}
.primary-btn:disabled,.send-btn:disabled{opacity:.55;box-shadow:none;cursor:not-allowed}
.primary-btn:focus-visible,.send-btn:focus-visible,.media-btn:focus-visible{outline:3px solid #f2b84a;outline-offset:3px}
.composer{border-color:#b9d7c9;border-radius:20px;box-shadow:0 3px 18px #0a694b0b}
#assistant-dock .composer textarea{font-size:max(1rem,16px);line-height:1.6;min-height:42px;height:42px;max-height:110px}
.composer-tools-left{flex-wrap:wrap;gap:8px}
.media-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:8px 12px;border:1px solid #c9e4d6;border-radius:12px;background:#eff9f3;color:#075e43;font-size:1rem;line-height:1.4;font-weight:600;cursor:pointer;flex-shrink:0}
.media-btn:hover{background:#ddf3e6}.media-btn[aria-pressed="true"]{color:#a42334;background:#fff0f1;border-color:#e9a8b0}
.media-btn span{font-size:1.15rem}
.send-btn{width:auto;min-width:80px;min-height:44px;height:auto;border-radius:12px;padding:10px 15px;font-size:1rem;font-weight:600;white-space:nowrap;flex-shrink:0}
.photo-preview{display:flex;gap:12px;align-items:center;background:#f0f8f3;padding:10px;margin-bottom:10px;border-radius:12px}
.photo-preview[hidden],.voice-status[hidden]{display:none}
.photo-preview img{width:64px;height:72px;object-fit:contain;border-radius:8px;background:white;flex-shrink:0}
.photo-preview>div{min-width:0;flex:1}.photo-preview strong{font-size:1rem}.photo-preview p{margin:4px 0 0;color:#526e60;font-size:1rem;line-height:1.6}
.voice-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff2f2;color:#8f2432;border-radius:12px;padding:10px;margin-bottom:10px;line-height:1.6;font-size:1rem}
.voice-status>span:nth-child(2){flex:1;min-width:100px;overflow-wrap:anywhere}
.recording-dot{width:9px;height:9px;border-radius:50%;background:#c83b51;flex-shrink:0}
.capture-options{display:grid;gap:12px;margin:20px 0}.capture-options button{min-height:48px;white-space:normal}
.camera-view{background:#f0f5f1;border-radius:14px;padding:12px}.camera-view video{display:block;width:100%;max-height:45dvh;object-fit:contain;border-radius:10px;background:#1e3028}.camera-view p{margin:10px 0 0;line-height:1.7}
.font-controls{padding:4px 0}.font-size-heading,.font-scale{display:flex;align-items:center;justify-content:space-between;gap:12px}.font-size-heading output{font-weight:700;color:#087f5b;font-size:1.3rem;font-variant-numeric:tabular-nums}
#font-size-slider{display:block;width:100%;min-height:44px;margin:12px 0 0;accent-color:#087f5b;cursor:pointer}
.font-scale{font-size:1rem;color:#62786b}.font-preview{background:#eff8f1;border:1px solid #cee6d5;border-radius:14px;line-height:1.9;padding:20px;margin:20px 0 12px;color:#164d36;font-size:1rem}
.text-size{min-height:44px;min-width:44px;font-size:1rem}.text-size span{font-size:1rem}
.task-body strong,.setting-row strong,.agent-card-type,.agent-card-scope,.composer-note,.model-status,.model-status .subtle-link{line-height:1.6}
.agent-card dl>div{flex-wrap:wrap}.agent-card dt{flex-shrink:1}.agent-card dd{overflow-wrap:anywhere}
.modal-actions{flex-wrap:wrap}.modal-actions button{white-space:normal;min-height:44px}
dialog{max-height:88dvh;overflow-y:auto;max-width:calc(100vw - 24px)}
body.large-mode .task-card{flex-wrap:wrap}body.large-mode .task-card .secondary-btn{margin-left:0}
.quick-action strong,.nav-item{white-space:normal;overflow-wrap:anywhere}.quick-action small{line-height:1.6}.setting-row{gap:12px;flex-wrap:wrap}.setting-row>div{min-width:0;flex:1 1 160px}.setting-row>span{flex-shrink:0}
@media(max-width:720px){
  .topbar{height:auto;min-height:64px;padding:10px 14px;gap:8px;flex-wrap:wrap}.topbar-actions{flex-wrap:wrap;gap:6px}.topbar .demo-label{display:none}.topbar .breadcrumb #header-date{display:none}
  #assistant-dock .model-status{font-size:1rem;line-height:1.5;margin-bottom:6px;flex-wrap:wrap}#assistant-dock .model-status .subtle-link{font-size:1rem}
  #assistant-dock .composer-note{font-size:1rem;line-height:1.5}#assistant-dock .composer-tools{gap:8px}#assistant-dock .suggestions{margin-bottom:6px}
  .composer-tools-left{gap:6px}.media-btn{padding:8px 10px}.send-btn{min-width:74px;padding:10px 12px}
  .photo-preview{gap:8px;padding:8px;flex-wrap:wrap}.photo-preview img{width:48px;height:56px}
  body.large-mode #assistant-dock .suggestions{display:none}
  body.large-mode .person-switch{font-size:1rem}body.large-mode .hero h1{font-size:2rem}body.large-mode .focus-bottom{align-items:stretch}body.large-mode .focus-bottom .primary-btn{width:100%}
}
