:root{--bg:#071713;--panel:#10241f;--panel2:#17332b;--ink:#f3f4ed;--muted:#a8b9b2;--mint:#7ee2b8;--mint2:#34b987;--line:#2a493f;--danger:#ff8b82;--shadow:0 22px 70px #0007;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
input[type="checkbox"],input[type="radio"]{width:auto;padding:0;flex:0 0 auto}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% -10%,#1f4d3d 0,transparent 38%),var(--bg);color:var(--ink);min-height:100dvh}.shell{width:min(100%,520px);margin:auto;padding:max(16px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));min-height:100dvh}.brand{display:flex;align-items:center;gap:11px;margin-bottom:34px}.brand .mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:13px;color:var(--mint);font-size:22px}.brand strong,.brand span{display:block}.brand strong{font-size:15px}.brand span{font-size:11px;color:var(--muted)}.brand .pill{margin-left:auto;padding:5px 9px;border-radius:99px;border:1px solid var(--line);font-size:10px}.pill.online{color:var(--mint)}.pill.offline{color:var(--danger)}.hero{padding:22px 5px 28px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--mint);font-weight:800}.hero h1,.card h1{font-size:clamp(30px,8vw,43px);line-height:1.08;margin:12px 0;font-weight:730;letter-spacing:-.035em}.hero h1 em,.card h1 em{font-style:normal;color:var(--mint)}.hero>p:last-child,.card>p{color:var(--muted);line-height:1.55}.card{background:linear-gradient(145deg,#153028,#0d211c);border:1px solid var(--line);border-radius:25px;padding:22px;box-shadow:var(--shadow)}.setup-card label{display:block;color:var(--muted);font-size:13px;margin:19px 0 8px}.setup-card label:first-child{margin-top:0}.setup-card label span{opacity:.65}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:#071713;border-radius:15px}.segmented button{border:0;background:transparent;color:var(--muted);padding:12px;border-radius:11px;font:inherit;font-weight:700}.segmented button.active{background:var(--panel2);color:var(--ink)}input{width:100%;border:1px solid var(--line);background:#091b16;color:var(--ink);border-radius:13px;padding:14px;font:inherit;outline:none}input:focus{border-color:var(--mint)}button{font:inherit;cursor:pointer}.primary,.secondary{border:0;border-radius:15px;padding:15px 17px;font-weight:800}.primary{width:100%;background:var(--mint);color:#062117;margin-top:20px;box-shadow:0 10px 28px #34b98733}.primary:disabled,.secondary:disabled{opacity:.4}.secondary{background:var(--panel2);color:var(--ink);border:1px solid var(--line)}.full{width:100%;margin-top:10px}.route-line{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:11px;color:var(--muted)}.route-line strong{color:var(--mint);text-align:right}.privacy{text-align:center;font-size:11px!important;margin:13px 0 0!important}.manual{text-align:center;margin-top:18px}.text-button,.danger-link,.icon-button,.code-value{border:0;background:transparent;color:var(--muted)}.manual-fields{display:flex;gap:8px;margin-top:12px}.manual-fields .secondary{padding:10px}.hidden{display:none!important}.invite-card{text-align:center}.qr-frame{width:230px;height:230px;margin:20px auto;padding:12px;border-radius:22px;background:#fff}.qr-frame img{width:100%;height:100%;display:block}.code-label{font-size:11px!important;margin:7px 0 0!important}.code-value{font-size:25px;letter-spacing:.14em;color:var(--ink);font-weight:800;padding:6px}.safety{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0;padding:13px;background:#091b16;border-radius:13px;color:var(--muted);font-size:11px}.safety strong{color:var(--mint);letter-spacing:.06em}.guest-hero{padding-top:6vh}.language-route{display:flex;align-items:center;justify-content:center;gap:11px;padding:17px;background:#091b16;border-radius:15px}.language-route span{color:var(--muted)}.language-route b{color:var(--mint)}.meter,.mini-meter{height:10px;overflow:hidden;background:#071713;border-radius:99px;margin:24px 0 10px}.meter i,.mini-meter i{display:block;height:100%;width:2%;background:linear-gradient(90deg,var(--mint2),var(--mint));border-radius:inherit;transition:width 80ms}.device-label{font-size:12px!important;text-align:center}.check{display:flex;gap:10px;align-items:center;margin:18px 0;color:var(--ink)}.check input,.mode input{accent-color:var(--mint)}fieldset{border:0;padding:0;margin:20px 0}legend{color:var(--muted);font-size:12px;margin-bottom:8px}.mode{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);padding:13px;border-radius:14px;margin:8px 0}.mode span,.mode strong,.mode small{display:block}.mode small{color:var(--muted);line-height:1.35;margin-top:3px}.call-top{display:flex;justify-content:space-between;align-items:center;margin:6px 0 18px}.call-top small{display:block;color:var(--muted);margin-top:4px}.live-dot{font-size:14px;font-weight:800}.live-dot:before{content:"";display:inline-block;width:8px;height:8px;background:var(--mint);border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px #7ee2b822}.icon-button{border:1px solid var(--line);border-radius:10px;padding:10px}.conversation{height:min(54dvh,560px);overflow:auto;display:flex;flex-direction:column;gap:12px;padding:10px 2px}.empty-state{margin:auto;text-align:center;color:var(--muted)}.empty-state span{font-size:42px;color:var(--line)}.bubble{max-width:88%;padding:13px 15px;border:1px solid var(--line);border-radius:18px 18px 18px 4px;background:var(--panel);animation:up .18s ease}.bubble.mine{align-self:flex-end;border-radius:18px 18px 4px 18px;background:#15382d}.bubble small{display:block;color:var(--muted);margin-bottom:5px}.bubble .translation{color:var(--mint);margin-top:6px}@keyframes up{from{opacity:0;transform:translateY(7px)}}.turn-state{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px}.mini-meter{flex:1;margin:0;height:5px}.ptt{width:100%;height:94px;border:1px solid #5dd4a6;background:#123d30;color:var(--ink);border-radius:28px;margin:15px 0;touch-action:none}.ptt span,.ptt strong{display:block}.ptt span{color:var(--mint);font-size:20px}.ptt.pressed{background:var(--mint);color:#062117;transform:scale(.98)}.danger-link{display:block;margin:15px auto;color:var(--danger);padding:10px}.toast{position:fixed}#toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#edf8f2;color:#082018;padding:11px 16px;border-radius:99px;font-weight:750;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:5;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:700px){.shell{padding-top:28px}.hero{padding-top:36px}}
.confidence-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.confidence-row span{padding:7px 9px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:11px}.step-copy{font-size:12px!important;line-height:1.7!important}.step-copy b{display:inline-grid;place-items:center;width:20px;height:20px;background:var(--mint);color:#062117;border-radius:50%}.resume-panel{padding:17px;margin-bottom:14px;border:1px solid #d5a13d;background:#2d2615;border-radius:18px}.resume-panel strong{font-size:18px}.resume-panel p{color:#e5d5af;line-height:1.45;margin:6px 0}.resume-panel .primary{margin-top:10px}button,input{min-height:44px}button:focus-visible,input:focus-visible,label:has(input:focus-visible){outline:3px solid #fff;outline-offset:3px}.primary:active,.secondary:active{transform:translateY(1px)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:360px){.shell{padding-left:12px;padding-right:12px}.card{padding:18px}.qr-frame{width:210px;height:210px}.code-value{font-size:20px}.brand{margin-bottom:20px}}

/* Safari/WebKit normalization. Keep controls and text identical across iOS,
   macOS, Chromium, and Firefox instead of inheriting native glossy styles. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg)}
body{width:100%;min-height:100vh;min-height:100svh;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.shell{min-height:100vh;min-height:100svh}
button,input{-webkit-appearance:none;appearance:none;margin:0;-webkit-tap-highlight-color:transparent}
button{line-height:1.2;color:inherit}
input[type="checkbox"],input[type="radio"]{-webkit-appearance:auto;appearance:auto;min-height:0;width:18px;height:18px}
.brand>div:nth-child(2){min-width:0}.brand .pill{flex:0 0 auto}
.hero h1,.card h1{font-weight:700}.primary{font-weight:800}

/* A real desktop layout instead of stretching the mobile composition across
   an otherwise empty Safari window. Conversation screens remain focused. */
@media(min-width:900px){
  .shell{width:min(calc(100% - 64px),1040px);padding-top:28px}
  .brand{margin-bottom:54px}
  #host-view{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);column-gap:64px;align-items:center}
  #host-view .hero{padding:18px 6px 36px}
  #host-view .hero h1{font-size:52px}
  #host-view .manual{grid-column:2;margin-top:20px}
  #invite-view,#audio-view{max-width:560px;margin:0 auto}
  #call-view{max-width:760px;margin:0 auto}
}
