
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/figtree-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/figtree-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/figtree-600.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/jetbrains-mono-400.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/static/jetbrains-mono-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/static/unbounded-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/static/unbounded-600.ttf) format('truetype');
}

:root{--bg:#07110d;--panel:#0d1c16;--line:#1d3a2e;--fg:#e7f3ec;--muted:#86a597;--green:#2fd38a;--green-deep:#139a5f;--orange:#ff8a3d;--danger:#ff6b5a;--display:'Unbounded',system-ui,sans-serif;--body:'Figtree',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font:15px/1.5 var(--body)}body{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer;min-width:44px;min-height:44px;touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:600}h2{font-size:15px}h3{font-size:14px;font-weight:600}.workspace,.login-screen{height:100vh;height:100dvh;display:flex;flex-direction:column;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(14px,env(safe-area-inset-top)) 0 4px;flex:none;width:100%;max-width:1280px;margin:0 auto}.brand{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.brand b{font:600 18px/1 var(--display);letter-spacing:.02em}.brand span,.private-label{font:500 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:14px}.status{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}.status i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status[data-s=ouvindo] i,.status[data-s=falando] i{background:var(--green);box-shadow:0 0 12px var(--green)}.status[data-s=pensando] i,.status[data-s=preparando] i{background:var(--orange);box-shadow:0 0 12px var(--orange)}.quiet{background:none;border:1px solid var(--line);color:var(--fg);border-radius:10px;padding:8px 12px;font:500 13px var(--body)}.quiet:hover{border-color:var(--green-deep)}.conversation{flex:1;min-height:0;display:grid;grid-template-rows:minmax(160px,46%) 1fr auto;gap:8px;max-width:760px;width:100%;margin:0 auto}.stage{position:relative;min-height:0}.stage canvas{width:100%;height:100%;display:block}.hint{position:absolute;bottom:4px;font:400 12px/1.5 var(--mono);color:var(--muted);text-align:center;width:100%;padding:0 12px}.messages{overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:18px;padding:12px 2px;min-height:0;scrollbar-color:var(--line) transparent}.message,.message-welcome{max-width:88%;min-width:0}.sender{display:block;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.message p,.message-welcome p{white-space:pre-wrap;overflow-wrap:anywhere}.message.user{align-self:flex-end;text-align:right}.message.user p{background:var(--panel);border:1px solid var(--line);border-radius:14px 14px 4px 14px;padding:9px 13px;display:inline-block;text-align:left}.message.assistant p,.message-welcome p{border-left:2px solid var(--green);padding:2px 0 2px 12px;font-size:16px}.message.assistant .quiet{margin:8px 0 0 14px;border-color:transparent;color:var(--muted);padding:6px 0}.message.assistant .quiet:hover{color:var(--green)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.chips button{background:transparent;border:1px dashed var(--line);color:var(--muted);border-radius:999px;padding:7px 12px;font:500 13px var(--body)}.chips button:hover{color:var(--fg);border-color:var(--green-deep)}.chat-status{font:12px/1.5 var(--mono);color:var(--muted);overflow-wrap:anywhere}.chat-status:empty{display:none}.composer{display:flex;gap:8px;align-items:center;padding:10px 0 max(14px,env(safe-area-inset-bottom));max-width:760px;width:100%;margin:0 auto;flex:none}.composer textarea{resize:none;flex:1;min-width:0;height:52px;max-height:130px;background:var(--panel);border:1px solid var(--line);color:var(--fg);border-radius:12px;padding:14px;font:16px/22px var(--body)}textarea::placeholder{color:var(--muted)}.mic{width:52px;height:52px;flex:none;border-radius:50%;border:1px solid var(--green-deep);background:radial-gradient(circle at 50% 40%,var(--green-deep),var(--panel));color:var(--fg);display:grid;place-items:center;padding:0}.mic[aria-pressed=true]{background:var(--green);color:#03140c;box-shadow:0 0 22px var(--green)}.primary{height:52px;border-radius:12px;border:0;background:var(--orange);color:#1d0c00;font:600 14px var(--body);padding:0 16px}.drawer{position:fixed;inset:0 0 0 auto;width:min(380px,100%);max-width:100%;height:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-left:1px solid var(--line);background:var(--panel);color:var(--fg);padding:calc(18px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) 18px;overflow-y:auto;overscroll-behavior:contain}.drawer[open]{display:flex;flex-direction:column;gap:24px;animation:slide-in .25s ease}.drawer::backdrop{background:#020906aa}.drawer-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.field{display:flex;flex-direction:column;gap:10px}.field label,.eyebrow{font:500 10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field label{display:flex;justify-content:space-between;gap:8px}.field output{color:var(--fg)}input[type=range]{accent-color:var(--green);width:100%;min-height:44px;margin:0}.voice-name{font-size:20px}.voice-name span{font-size:12px;color:var(--muted);margin-left:8px}.note,.privacy-note{font-size:13px;color:var(--muted);line-height:1.6}.toggle{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:14px}.toggle input{accent-color:var(--green);width:20px;height:20px;flex:none}.drawer-info{display:grid;gap:12px;border-block:1px solid var(--line);padding:18px 0}.drawer-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}summary{cursor:pointer;min-height:44px;align-content:center;font-size:14px}summary span{color:var(--muted);font-size:11px;margin-left:8px}ul{list-style:none;padding:0;margin:10px 0}li{padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}li strong{display:block;font-size:14px;font-weight:500}li small,.empty{font-size:12px;color:var(--muted)}.error{color:var(--danger);font-size:13px}.connection{position:fixed;top:0;left:0;right:0;background:var(--panel);border-bottom:1px solid var(--orange);padding:12px 20px;color:var(--fg);z-index:40;font-size:13px}.login-screen{overflow-y:auto}.login-screen .top{min-height:66px}.login-panel{width:min(360px,100%);margin:auto;display:flex;flex-direction:column;padding:30px 0}.login-form{display:flex;flex-direction:column;gap:14px}.login-form h1{font-size:24px;letter-spacing:-.04em}.muted{color:var(--muted)}.login-form label{font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:12px}.login-form input{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--fg);padding:14px;min-height:52px;font-size:16px}.login-form .privacy-note{margin-top:8px}.login-orbit{width:125px;height:125px;position:relative;border:1px solid var(--line);border-radius:50%;margin:0 auto 36px;background:radial-gradient(circle,#2fd38a55,transparent 65%)}.login-orbit:before,.login-orbit:after{content:'';position:absolute;border:2px solid transparent;border-top-color:var(--green);border-bottom-color:var(--green);border-radius:50%;inset:12px;transform:rotate(25deg)}.login-orbit:after{inset:24px;border-top-color:var(--orange);border-bottom-color:var(--orange);transform:rotate(-35deg)}.login-orbit div{position:absolute;inset:41px;border-radius:50%;background:radial-gradient(circle,#eafff4,#2fd38a 30%,#2fd38a11 75%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes slide-in{from{transform:translateX(100%)}to{transform:none}}@media(max-width:600px){.brand{flex-direction:column;gap:7px}.brand span{font-size:9px;letter-spacing:.07em}.top-actions{gap:10px}.status{font-size:9px;letter-spacing:.05em;gap:5px}.quiet{padding:8px 10px}.hint{font-size:10px}.message,.message-welcome{max-width:94%}.chips{gap:6px}.chips button{font-size:12px}.login-panel{padding-block:24px}.private-label{font-size:9px}}@media(max-width:350px){.workspace,.login-screen{padding-inline:12px}.brand b{font-size:16px}.brand span{font-size:8px}.top-actions{gap:6px}.top-actions .quiet{font-size:11px;padding-inline:8px}.status{font-size:8px}.composer{gap:6px}.composer textarea{padding-inline:10px}.primary{padding-inline:12px}}@media(max-height:560px){.conversation{grid-template-rows:minmax(100px,36%) 1fr auto}.hint{font-size:9px}.login-orbit{display:none}}
/* Voice-first disclosure. The canvas retains the live amplitude renderer. */
.conversation{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,0fr) auto;gap:0;padding-bottom:max(14px,env(safe-area-inset-bottom));transition:grid-template-rows .36s ease}
.conversation.reading{grid-template-rows:minmax(0,.44fr) minmax(0,.56fr) auto}
.stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:0}
.orb-button{display:block;flex:none;max-width:100%;width:min(78vw,460px,57dvh);height:min(78vw,460px,57dvh);padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg);transition:width .36s ease,height .36s ease; -webkit-tap-highlight-color:transparent}
.orb-button:hover{background:radial-gradient(circle,#2fd38a08,transparent 70%)}
.orb-button[aria-pressed=true]:focus-visible{outline-color:var(--green)}
.conversation.reading .orb-button{width:min(48vw,260px,26dvh);height:min(48vw,260px,26dvh)}
.stage .hint{position:static;flex:none;font-size:12px;padding:0 8px;width:auto}
.transcript-toggle.quiet{flex:none;border-color:transparent;color:var(--muted);font-size:12px;min-height:44px;padding:8px 14px;text-decoration:underline;text-underline-offset:4px}
.transcript-toggle:hover,.transcript-toggle[aria-expanded=true]{color:var(--fg)}
.transcript{min-height:0;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid var(--line)}
.transcript .messages{flex:1}
.live-transcript{flex:none;max-height:22%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);font-size:13px;padding:4px 2px}
.live-transcript:empty{display:none}
.transcript .composer{padding-bottom:0}
.conversation>.chat-status{grid-row:3;text-align:center;padding:8px 4px 0;max-height:15dvh;overflow:auto}
@media(max-height:560px){.conversation.reading{grid-template-rows:minmax(0,.42fr) minmax(0,.58fr) auto}.stage{gap:0}.stage .hint{font-size:10px}.conversation.reading .orb-button{width:min(40vw,18dvh);height:min(40vw,18dvh)}.orb-button{width:min(60vw,45dvh);height:min(60vw,45dvh)}}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* One responsive square contains both the renderer and official signature.
   Reserve the hint + 44px disclosure target inside the actual grid row, even
   with the transcript open, short windows or browser zoom. */
.stage{container-type:size}
.orb-button{position:relative;width:min(78vw,460px,57dvh,calc(100cqh - 70px));height:auto;aspect-ratio:1;flex-shrink:0;transition:none}
.conversation.reading .orb-button{width:min(48vw,260px,26dvh,calc(100cqh - 70px));height:auto}
.orb-button canvas{position:absolute;inset:0;width:100%;height:100%}
/* drawOrb uses X=w/2, Y=h/2-8; retain that existing animation geometry. */
.orb-logo{position:absolute;left:50%;top:calc(50% - 8px);width:51%;height:auto;display:block;transform:translate(-50%,-50%);pointer-events:none;user-select:none}
@media(max-height:560px){.orb-button{width:min(60vw,45dvh,calc(100cqh - 70px))}.conversation.reading .orb-button{width:min(40vw,18dvh,calc(100cqh - 70px))}}
.approval-card{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom));z-index:30;width:min(560px,calc(100vw - 32px));padding:14px 16px;border:1px solid #ff9a3c;border-radius:14px;background:#07110b;color:#d9ffe6;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.approval-card form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.approval-card input{flex:1 1 180px;min-width:0}
.phrase-form{display:grid;gap:8px;margin-top:10px}
