:root{
  color-scheme:dark;
  --bg:#0f1720;--surface:#17212b;--surface-2:#1d2a36;--line:#2a3947;--line-soft:#1f2c38;
  --text:#e8eef2;--muted:#9aabb8;--accent:#b8efd3;--accent-ink:#0e271c;--accent-soft:#1f3a2f;--accent-line:#3f6a55;
  --warn:#e4b476;--danger:#f1ae9e;--info:#8cc4ff;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-synthesis:none;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text)}
body{overflow:hidden}
button,input,textarea{font:inherit}
button{cursor:pointer;color:inherit;border:0;background:transparent;touch-action:manipulation;min-height:44px}
button:disabled{opacity:.45;cursor:wait}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
input,textarea{color:var(--text);border:1px solid var(--line);background:#111b24;border-radius:12px;font-size:16px}
input{padding:13px 14px;width:100%}
textarea{resize:none;padding:13px 14px;border:0;background:transparent;min-height:48px;max-height:140px;line-height:1.45;flex:1;width:0;outline:none!important}
.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.muted,small{color:var(--muted)}
small{display:block;font-size:12px;line-height:1.5}
code{font:13px ui-monospace,SFMono-Regular,Menlo,monospace;background:#0c141b;border:1px solid var(--line-soft);border-radius:6px;padding:1px 6px;color:var(--accent)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--muted);margin:18px 0 8px}
h1{font-size:30px;letter-spacing:-1px;line-height:1.12;margin:18px 0 12px}
h2{font-size:21px;letter-spacing:-.4px;margin:0}
.primary{background:var(--accent);color:var(--accent-ink);font-weight:650;border-radius:12px;padding:12px 18px;text-align:center}
.error{color:#ffb8ae;font-size:13px}
.error:empty{display:none}

/* Entrada */
.login-shell{height:100%;display:grid;place-items:center;padding:28px;overflow:auto}
.login-card{width:100%;max-width:370px}
.brand-icon{background:var(--accent);color:var(--accent-ink);font:700 28px ui-monospace,monospace;border-radius:18px;width:60px;height:60px;display:grid;place-items:center}
.lead{font-size:15px;line-height:1.5;margin:0 0 6px}
.login-card label{display:block;font-size:13px;margin:28px 0 8px}
.login-card .remember{display:flex;align-items:center;gap:12px;margin:18px 0 0;font-size:14px;cursor:pointer}
.remember input{width:20px;height:20px;accent-color:var(--accent);flex:none;padding:0}
.remember small{margin-top:2px}
.login-card .primary{width:100%;margin:20px 0 14px;min-height:50px;font-size:16px}
.foot{text-align:center}

/* Estrutura do app */
#app{height:var(--app-height,100dvh);max-width:960px;margin:auto;display:flex;flex-direction:column;overflow:hidden}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:max(12px,env(safe-area-inset-top)) 14px 8px;flex:none}
.brand{display:flex;gap:10px;align-items:center;min-width:0}
.logo{font:700 18px ui-monospace,monospace;color:var(--accent);width:38px;height:38px;border:1px solid var(--accent-line);border-radius:12px;display:grid;place-items:center;flex:none}
.brand strong{display:block;font-size:15px;letter-spacing:-.2px}
#connection{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;margin-top:2px;white-space:nowrap}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:var(--accent);flex:none}
.dot.offline{background:var(--warn)}
.actions{display:flex;gap:6px;align-items:center}
.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:13px;display:grid;place-items:center;background:var(--surface)}
.pill{display:flex;align-items:center;gap:6px;height:44px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);font-size:14px;font-weight:550}
.pill .i{width:18px;height:18px}
.pill.accent{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

.session-picker{margin:2px 14px 10px;border:1px solid var(--line);background:var(--surface);padding:10px 12px;border-radius:16px;display:flex;gap:12px;align-items:center;text-align:left;flex:none;width:calc(100% - 28px)}
.session-icon{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font:20px ui-monospace,monospace;flex:none}
.session-copy{flex:1;min-width:0;display:block}
.session-copy strong{font-size:15px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:3px}
.status[data-mode=work] .dot{background:var(--warn);animation:pulse 1.2s ease-in-out infinite}
.status[data-mode=ask] .dot{background:var(--info)}
.status[data-mode=idle] .dot{background:var(--muted)}
.status[data-mode=ask]{color:var(--info)}
.picker-hint{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px;flex:none}
@keyframes pulse{50%{opacity:.3}}

.banner{margin:0 14px 10px;padding:10px 12px;border:1px solid #67523b;background:#2c251d;color:#efd0a8;border-radius:12px;font-size:13px;line-height:1.4;display:flex;gap:10px;align-items:center;flex:none}
.banner span{flex:1}
.banner-action{min-height:38px;padding:0 14px;border-radius:10px;background:#4a3a28;color:#fbe3c2;font-weight:600;flex:none}

.terminal-wrap{flex:1;min-height:0;position:relative;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:#0b121a}
#screen{margin:0;width:100%;height:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;padding:16px 16px 30px;font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#d9e4ea;tab-size:4;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;contain:content}
#screen.terminal{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55;color:#d5e1e8}
#screen.original{white-space:pre;overflow-wrap:normal}
#screen a{color:#a8d8ff;text-decoration:underline;text-underline-offset:3px}
.latest{position:absolute;bottom:12px;right:14px;display:flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:25px;border:1px solid var(--accent-line);background:var(--accent-soft);color:#d8f7e7;font-size:13px;font-weight:550;box-shadow:0 6px 20px #0008}
.latest .i{width:16px;height:16px}
.notice{position:absolute;left:14px;right:14px;bottom:12px;padding:11px 14px;border:1px solid var(--accent-line);background:#16301f;color:#d8f7e7;border-radius:12px;font-size:14px;box-shadow:0 6px 24px #000a;z-index:2}
.notice.error{border-color:#7a4a3f;background:#331f1b;color:#ffcfc6}
.latest:not([hidden])~.notice{bottom:62px}

.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;gap:6px;background:#0b121a}
.empty-icon{width:60px;height:60px;border-radius:18px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font:700 26px ui-monospace,monospace;margin-bottom:10px}
.empty p{line-height:1.6;margin:6px 0 16px;max-width:330px;font-size:14px}
.empty .primary{min-height:48px;padding:0 22px}

.question-card{flex:none;max-height:38%;overflow:auto;padding:14px 16px;background:#14291f;border-top:1px solid var(--accent-line)}
.question-card .eyebrow{color:#a7d8bd;margin:0 0 8px}
.question-card strong{font-size:15px;line-height:1.4}
#question-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}
#question-options button{background:#1f3d2f;border:1px solid var(--accent-line);border-radius:12px;padding:12px 14px;text-align:left;font-size:15px;line-height:1.35}

/* Campo de mensagem */
.composer{flex:none;padding:10px 12px max(8px,env(safe-area-inset-bottom));background:var(--bg)}
.compose-box{display:flex;align-items:flex-end;gap:4px;border:1px solid #3a4c59;background:var(--surface);border-radius:20px;padding:2px 6px 3px 0}
.compose-box:focus-within{border-color:#80b99b}
.send{width:42px;min-height:42px;height:42px;margin-bottom:2px;flex:none;background:var(--accent);color:var(--accent-ink);border-radius:14px;display:grid;place-items:center}
.send .i{width:22px;height:22px;stroke-width:2.4}
.dictate{display:grid;place-items:center;width:40px;height:44px;flex:none;border-radius:12px;color:var(--accent)}
.dictate svg{width:21px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.composer-tools{display:flex;align-items:center;gap:6px;margin-top:4px;flex-wrap:wrap}
.tool{display:flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:12px;font-size:13px;color:var(--muted);background:var(--surface)}
.tool .i{width:17px;height:17px}
.tool.danger{color:var(--danger);background:#2a1d1b}
#updated{font-size:11px;color:#788f9d;margin-left:auto}
.attachments{display:flex;gap:6px;overflow-x:auto;margin-bottom:8px;padding-bottom:2px;max-height:85px}
.attachment-chip{display:flex;gap:6px;align-items:center;border:1px solid var(--accent-line);border-radius:10px;padding-left:10px;background:#20362c;flex:none;max-width:240px;font-size:12px}
.attachment-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-chip button{width:36px;min-height:36px;flex:none;font-size:20px}

/* Folhas (diálogos) */
.sheet{background:#16212b;color:var(--text);border:1px solid #33434e;border-bottom:0;border-radius:24px 24px 0 0;padding:20px 18px max(20px,env(safe-area-inset-bottom));width:100%;max-width:560px;max-height:88dvh;margin:auto auto 0;overflow:auto;box-shadow:0 -10px 50px #0008}
.sheet::backdrop{background:#02070dcc}
.sheet-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:16px}
.sheet-heading small{margin-top:4px}
.close{background:var(--surface-2);border:0;color:var(--muted)}
.sheet-heading .eyebrow{margin:0 0 6px}
.session-list{margin-top:12px;max-height:46dvh;overflow:auto}
.session-item{display:flex;gap:12px;width:100%;padding:12px 10px;text-align:left;border-radius:14px;align-items:center;margin-bottom:4px;border:1px solid transparent}
.session-item.active{background:var(--accent-soft);border-color:var(--accent-line)}
.session-item .badge{width:38px;height:38px;border-radius:12px;background:var(--surface-2);color:var(--accent);display:grid;place-items:center;font:19px ui-monospace,monospace;flex:none}
.session-meta{flex:1;min-width:0}
.session-item strong{font-size:15px;font-weight:600;display:block;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.session-item small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chip{font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px;background:var(--surface-2);color:var(--muted);flex:none}
.chip.work{background:#3a2e1c;color:var(--warn)}
.chip.ask{background:#1c2f45;color:var(--info)}
.sheet-footer{margin-top:12px}
.wide{width:100%;margin-top:8px}
.quiet{font-size:14px;color:var(--muted);padding:8px 2px;min-height:44px;border-radius:12px}
.wide.quiet{background:var(--surface);color:var(--text);border:1px solid var(--line)}
.wide.primary{min-height:48px}
.new-option{display:flex;align-items:center;gap:14px;text-align:left;width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:8px 0;background:var(--surface)}
.new-option strong{font-size:16px;display:block;margin-bottom:2px}
.option-icon{font:22px ui-monospace,monospace;color:var(--accent);width:40px;height:40px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;flex:none}
.folders{display:flex;flex-wrap:wrap;gap:8px}
.folder-chip{min-height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--line);background:var(--surface);font-size:14px}
.folder-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:#d8f7e7}
.setting{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:15px}
.setting small{margin-top:3px;max-width:200px}
.stepper{display:flex;align-items:center;gap:6px;background:#0f1b24;border-radius:12px;padding:3px}
.stepper button{width:44px;border-radius:10px}
.stepper span{min-width:22px;text-align:center;font-size:14px;color:var(--muted)}
.segmented{display:flex;background:#0f1b24;border-radius:12px;padding:3px}
.segmented button{min-height:38px;padding:0 14px;border-radius:10px;font-size:14px;color:var(--muted)}
.segmented button[aria-pressed=true]{background:var(--accent-soft);color:#d8f7e7}
.toggle{background:#33424d;width:52px;min-height:32px;height:32px;flex:none;padding:3px;border-radius:25px}
.toggle[aria-checked=true]{background:#365044}
.toggle span{display:block;width:26px;height:26px;background:#9eacb6;border-radius:50%;transition:transform .15s}
.toggle[aria-checked=true] span{transform:translateX(20px);background:var(--accent)}
.preview{padding:16px;background:#0b121a;border-radius:12px;color:#c6d6df;line-height:1.6;margin:14px 0 0}
.update-link{display:block;text-align:center;text-decoration:none;padding:12px 0;color:var(--accent)}
#installAndroid{color:var(--accent)}
#logout{color:#e6b8ac}

.big-keys{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.big-keys button{min-height:62px;border-radius:14px;background:var(--surface-2);font-size:16px;font-weight:600;border:1px solid var(--line)}
.big-keys .primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.big-keys small{font-weight:400;color:inherit;opacity:.7}
.key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:260px;margin:0 auto}
.key-grid button{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;min-height:52px;font-size:22px}
.more{margin-top:18px;border-top:1px solid var(--line-soft);padding-top:6px}
.more summary{min-height:44px;display:flex;align-items:center;color:var(--muted);font-size:14px;cursor:pointer}
.tool-actions{display:grid;gap:6px;margin-top:6px}
.tool-actions button{text-align:left;padding:12px;border-radius:12px;background:var(--surface);font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.tool-actions small{font-size:11px;text-align:right;flex:none;max-width:50%}
.tool-actions .danger{color:var(--danger)}

.install-steps{padding-left:22px;color:var(--muted);font-size:14px;line-height:1.6}
.install-steps li{padding:6px 0 6px 5px}
.install-steps strong{color:var(--text);font-weight:550}
.install-download{display:block;text-align:center;text-decoration:none;margin:20px 0 14px;min-height:48px;line-height:24px}

/* Imagens */
.image-gallery{white-space:normal;margin-top:24px;border-top:1px solid var(--line);padding-top:16px;display:grid;gap:12px}
.image-gallery .eyebrow{margin:0}
.image-card{display:block;padding:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface);text-align:left;max-width:560px;width:100%}
.image-card img{display:block;width:100%;height:200px;object-fit:contain;background:#080e14}
.image-card span{display:block;padding:12px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.image-dialog{padding:0;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:16px;width:calc(100% - 16px);max-width:950px;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
.image-dialog[open]{display:flex;flex-direction:column}
.image-dialog::backdrop{background:#000d}
.image-heading{display:flex;align-items:center;gap:8px;padding:12px}
.image-heading strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.image-viewport{flex:1;min-height:0;overflow:auto;background:#080e14}
.image-viewport img{display:block;object-fit:contain;width:100%;min-height:100%;max-height:100%;margin:auto}
.image-viewport img.zoomed{width:200%;max-width:none;max-height:none;min-height:0}
.image-actions{display:flex;gap:14px;justify-content:center;align-items:center;padding:16px}
.image-actions a{text-decoration:none;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 18px}
.image-dialog .error{padding:0 16px 10px;margin:0}

/* Modelo */
.model-options{display:grid;gap:8px;margin:12px 0}
.model-option{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;padding:14px;min-height:58px;border:1px solid #34424e;border-radius:14px;background:var(--surface);color:#edf4f7}
.model-option.current{border-color:#7ce9bc;background:#203c34}
.model-option small{color:#aab9c6;line-height:1.4}
.model-actions{display:flex;justify-content:space-between;gap:12px;margin:12px 0}
#modelDialog>small{display:block;line-height:1.5;color:#aab9c6}

@media(max-width:440px){
  #model .lbl{display:none}
  #model{width:44px;padding:0;justify-content:center}
}
@media(min-width:700px){
  #screen{padding:24px 28px}
  .composer{padding:14px 24px}
  .sheet{border-radius:22px;border:1px solid #33434e;margin:auto}
}
@media(max-height:520px){
  .topbar{padding-top:6px;padding-bottom:4px}
  .session-picker{padding:6px 10px;margin-bottom:5px}
  .composer{padding-top:6px}
  .question-card{max-height:35%}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
