:root{--bg:#070d14;--bg2:#0c1621;--card:#0f1b28;--line:#1d2b3a;--ink:#eef3f8;--mute:#8ea2b6;--acc:#4cc3ff;--acc2:#8b7bff;--ok:#3fcf8e;--warn:#ff9f43;--lvl:0}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;font:16px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);
background:radial-gradient(1200px 600px at 85% -10%,#1b2f55 0%,transparent 60%),radial-gradient(900px 500px at -10% 10%,#13324a 0%,transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--acc)}
.top{display:flex;align-items:center;gap:12px;padding:16px clamp(16px,4vw,40px)}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:-.01em;font-size:17px}
.brand em{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;padding:2px 6px;border-radius:5px;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#05101b;margin-left:2px;vertical-align:2px}
.mark{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--acc),var(--acc2));display:grid;place-items:center;box-shadow:0 4px 18px #4cc3ff40}
.mark i{width:0;height:0;border-left:9px solid #05101b;border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px}
.pill{margin-left:auto;font-size:12px;padding:4px 11px;border-radius:99px;background:#13243a;color:#a9cbea;border:1px solid #1f3550}.controls .pill{margin-left:0}
main{padding:0 clamp(14px,3vw,32px) 24px;max-width:1440px;margin:auto}
button{font:inherit;background:var(--acc);color:#04121d;border:0;border-radius:12px;padding:11px 18px;font-weight:650;cursor:pointer;transition:transform .12s,filter .12s,opacity .12s}
button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.38;cursor:not-allowed}
button.ghost{background:#132233;color:var(--ink);border:1px solid var(--line)}button.small{padding:6px 12px;font-size:13px;border-radius:9px}
.cta{background:linear-gradient(135deg,var(--acc),#6aa8ff 55%,var(--acc2));color:#05101b;padding:14px 22px;font-size:16px;font-weight:750;box-shadow:0 10px 30px #4cc3ff2e}
.mute{color:var(--mute)}.small{font-size:13px}

/* ---------- Landing ---------- */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(20px,5vw,56px) 0 clamp(18px,3vw,32px)}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-size:13px;font-weight:600;color:#bfe4ff;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border:1px solid #20405e;border-radius:99px;background:#0d1d2f}
.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:#ff4d5e;box-shadow:0 0 0 0 #ff4d5e88;animation:rec 1.8s infinite}
@keyframes rec{70%{box-shadow:0 0 0 8px #ff4d5e00}100%{box-shadow:0 0 0 0 #ff4d5e00}}
h1{font-size:clamp(40px,5.4vw,78px);line-height:.98;letter-spacing:-.035em;margin:0 0 18px;font-weight:800}
h1 span{background:linear-gradient(135deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.tagline{font-size:clamp(17px,1.6vw,20px);color:#c3d2e0;max-width:34em;margin:0 0 26px}
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:560px}
.steps li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:#0d1926cc;border:1px solid var(--line);border-radius:14px}
.steps b{flex:none;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:14px;background:linear-gradient(135deg,#183553,#1e2f5c);color:#bfe4ff;border:1px solid #2a4a6e}
.steps strong{display:block;font-size:15px}.steps span{display:block;font-size:13px;color:var(--mute)}
.hero-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border-radius:22px;background:linear-gradient(180deg,#0f1c2b,#0a141f);border:1px solid var(--line);box-shadow:0 30px 80px #0008,inset 0 1px 0 #ffffff0d;position:relative}
.hero-panel::before{content:"";position:absolute;inset:-1px;border-radius:22px;padding:1px;background:linear-gradient(135deg,#4cc3ff55,transparent 40%,#8b7bff55);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.upload{max-width:880px;margin:8px auto 0;padding:clamp(18px,3vw,28px);background:linear-gradient(180deg,#0f1c2bee,#0b1520ee);border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px #0007;display:grid;gap:18px}
.drop{position:relative;display:grid;justify-items:center;gap:6px;padding:28px 18px;border:1.5px dashed #2c4866;border-radius:16px;background:#0a1622;cursor:pointer;text-align:center;transition:border-color .2s,background .2s}
.drop:hover,.drop.over{border-color:var(--acc);background:#0c1c2c}.drop.ready{border-style:solid;border-color:var(--ok);background:#0b1f1a}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#13263a;color:var(--acc);font-size:20px}
.drop-title{font-weight:700;font-size:18px}.drop-sub{color:var(--mute);font-size:14px}
.opts{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between}
.switch{display:flex;gap:12px;align-items:center;cursor:pointer}.switch input{position:absolute;opacity:0}
.switch .sl{flex:none;width:44px;height:26px;border-radius:99px;background:#1b2b3c;border:1px solid #2a3e53;position:relative;transition:background .2s}
.switch .sl::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#cfdbe7;transition:transform .2s}
.switch input:checked+.sl{background:var(--ok)}.switch input:checked+.sl::after{transform:translateX(18px);background:#fff}.switch input:focus-visible+.sl{outline:2px solid var(--acc)}
.switch small{display:block;color:var(--mute);font-size:13px}
.sel{display:flex;gap:10px;align-items:center;color:#c3d2e0;font-size:14px}
select{font:inherit;background:#0d1926;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:8px 10px}
.upload .cta{justify-self:stretch}.fine{margin:0;font-size:13px;color:#7d92a7;text-align:center}

/* ---------- Tiles: alive when idle (no Anam time) ---------- */
.ptile,.tile{position:relative;overflow:hidden;border-radius:14px;background:#0f1b28;border:1px solid var(--line);isolation:isolate}
.ptile{aspect-ratio:4/3}
.idle{position:absolute;inset:0;animation:breathe var(--br,4.6s) ease-in-out infinite}
.idle img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:var(--ox,50%) 40%;animation:drift var(--kb,19s) ease-in-out infinite alternate,blink var(--bl,7.3s) linear infinite;animation-delay:var(--dl,0s);filter:saturate(.92)}
.ptile::before,.tile::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffffff10 50%,transparent 65%);background-size:250% 100%;animation:shimmer var(--sh,11s) ease-in-out infinite;animation-delay:var(--dl,0s)}
.ptile::after,.tile::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent 55%,#0009)}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.012) translateY(-.3%)}}
@keyframes drift{0%{transform:scale(1.05) translate(0,0)}50%{transform:scale(1.075) translate(-1.1%,-.6%)}100%{transform:scale(1.06) translate(.9%,-.3%)}}
@keyframes blink{0%,93%,100%{filter:saturate(.92) brightness(1)}95.5%{filter:saturate(.92) brightness(.8)}}
@keyframes shimmer{0%,60%{background-position:120% 0}100%{background-position:-120% 0}}
.ptile .name,.tile .name{position:absolute;left:8px;bottom:7px;z-index:3;font-size:12px;font-weight:600;background:#0a1219b3;backdrop-filter:blur(6px);padding:3px 9px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 16px)}
.firm{color:#a7b8c9;font-weight:500}
.ldot{position:absolute;top:9px;right:9px;z-index:3;width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 calc(2px + var(--lvl)*9px) rgba(63,207,142,calc(.12 + var(--lvl)*.35));transition:box-shadow .08s linear}
.ptile .ldot{animation:ld 2.4s ease-in-out infinite}@keyframes ld{50%{box-shadow:0 0 0 6px #3fcf8e22}}
[data-listen=on] .tile:not(.live):not(#t-you){box-shadow:inset 0 0 0 calc(1px + var(--lvl)*2.5px) rgba(63,207,142,calc(var(--lvl)*.8))}

/* ---------- Room ---------- */
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:6px 0 14px}
.tile{aspect-ratio:16/10}
.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;transition:opacity .25s}
.tile.live video{opacity:1}.tile.live .idle{opacity:0}
.tile.live{border-color:var(--ok);box-shadow:0 0 0 3px #3fcf8e88}
.tile.live .tag{display:block}.tag{display:none;position:absolute;top:7px;left:8px;z-index:3;font-size:10px;font-weight:800;letter-spacing:.06em;background:#e5484d;color:#fff;padding:2px 7px;border-radius:5px}
.tile.talk{border-color:var(--ok)}.tile.queued{border-color:var(--warn)}
.tile .face{position:absolute;inset:0;display:grid;place-items:center;font-weight:700;color:#cfe0ef;background:#122131;z-index:1}
#selfcam{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);opacity:0;z-index:2}.tile.camon #selfcam{opacity:1}
#t-you .camcta{position:absolute;inset:auto 10px 34px;z-index:3;padding:8px 10px;font-size:13px}
#t-you.camon .camcta{display:none}
.camtoggle{position:absolute;top:6px;right:6px;z-index:3;padding:3px 8px;font-size:13px;background:#0009;color:#fff;border-radius:7px}
.stagewrap{display:grid;grid-template-columns:1.6fr 1fr;gap:16px}
.slidebox{background:#000;border-radius:16px;overflow:hidden;border:1px solid var(--line)}.slidebox img{width:100%;display:block;aspect-ratio:16/9;object-fit:contain;background:#0b1520}
.nav{display:flex;justify-content:center;gap:16px;align-items:center;padding:10px;background:#0b1520}
.side{display:flex;flex-direction:column;gap:10px}
.speaking{background:linear-gradient(180deg,#0f2a20,#0c2019);border:1px solid #2f9e6c;border-radius:14px;padding:12px 14px}.speaking span{font-weight:700;color:var(--ok)}.speaking p{margin:4px 0 0;font-size:17px}
.listenbar{display:flex;gap:10px;align-items:center}
.listen{flex:1;display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:12px;background:#0d1926;border:1px solid var(--line);font-weight:600;font-size:14px;color:var(--mute)}
.listen .bars{display:flex;gap:3px;align-items:center;height:18px}.listen .bars i{width:4px;height:4px;border-radius:2px;background:#3b5168;transition:height .08s}
.listen[data-state=listening],.listen[data-state=pitch]{border-color:#2f9e6c;color:#d9fbe9;background:#0d2219}.listen[data-state=listening] .bars i,.listen[data-state=pitch] .bars i{background:var(--ok)}
.listen[data-state=listening] .bars i:nth-child(1),.listen[data-state=pitch] .bars i:nth-child(1){height:calc(4px + var(--lvl)*10px)}.listen[data-state=listening] .bars i:nth-child(2),.listen[data-state=pitch] .bars i:nth-child(2){height:calc(4px + var(--lvl)*16px)}.listen[data-state=listening] .bars i:nth-child(3),.listen[data-state=pitch] .bars i:nth-child(3){height:calc(4px + var(--lvl)*20px)}.listen[data-state=listening] .bars i:nth-child(4),.listen[data-state=pitch] .bars i:nth-child(4){height:calc(4px + var(--lvl)*14px)}.listen[data-state=listening] .bars i:nth-child(5),.listen[data-state=pitch] .bars i:nth-child(5){height:calc(4px + var(--lvl)*8px)}
.listen[data-state=paused]{color:#ffd8a8}.listen[data-state=thinking]{color:#bfe4ff}.listen[data-state=thinking] .bars i{animation:th 1s infinite alternate;background:var(--acc)}.listen[data-state=thinking] .bars i:nth-child(2n){animation-delay:.3s}
@keyframes th{to{height:14px}}
.controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.bigbtn{display:flex;align-items:center;justify-content:center;gap:10px;font-size:16px;padding:14px 18px;border-radius:14px;background:linear-gradient(135deg,#ff9f43,#ff6b6b);color:#1a0c05;font-weight:750;box-shadow:0 8px 24px #ff7a4a33}
.bigbtn.on{background:#11281f;color:#c8f5dd;border:1px solid #2f9e6c;box-shadow:none}
.controls .mic{flex:1}
.type{display:flex;gap:6px}.type input{flex:1;font:inherit;font-size:14px;background:#0d1926;border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px}
.transcript{max-height:200px;overflow:auto;background:#0d1926;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:13px}.transcript div{margin:3px 0}.transcript .q{color:#ffcf7a}.transcript .a{color:#9fe0bf}
.queue{margin:0;padding-left:20px;font-size:13px;color:#ffcf7a}h3{margin:4px 0 0;font-size:12px;text-transform:uppercase;color:var(--mute);letter-spacing:.08em}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(18px,3vw,30px);max-width:1000px;margin:20px auto}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{border-bottom:1px solid var(--line);padding:7px;text-align:left;vertical-align:top}.big{font-size:56px;font-weight:800;letter-spacing:-.03em}
footer{text-align:center;color:#62778c;font-size:12px;padding:20px}footer a{color:#8ea2b6}

/* ---------- Camera and mic dialog ---------- */
dialog{border:0;padding:0;background:transparent;color:var(--ink);max-width:min(760px,94vw);width:100%}
dialog::backdrop{background:#03070cd9;backdrop-filter:blur(6px)}
.av{background:linear-gradient(180deg,#101e2d,#0b1520);border:1px solid #24384d;border-radius:22px;padding:clamp(18px,3vw,28px);box-shadow:0 30px 90px #000a}
.av h2{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}
.avgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin:16px 0}
.preview{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#070e16;border:1px solid var(--line)}
.preview video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1);display:block}
.pv-off{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;color:var(--mute);font-weight:600}.pv-off span{font-size:34px}
.preview.on .pv-off{display:none}
.avside{display:flex;flex-direction:column;gap:12px;justify-content:center}
.meter{height:12px;border-radius:99px;background:#13202d;overflow:hidden;border:1px solid var(--line)}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#3fcf8e,#b6f36b);transition:width .06s linear}
.help{background:#2a1a10;border:1px solid #7a4a22;color:#ffe2c4;border-radius:12px;padding:12px 14px;font-size:14px}.help ol{margin:6px 0 0;padding-left:20px}
.avfoot{display:flex;justify-content:space-between;gap:10px}

@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-panel{order:-1;max-width:520px;width:100%;margin:auto}}
@media(max-width:800px){.grid{grid-template-columns:repeat(3,1fr);gap:8px}.stagewrap{grid-template-columns:1fr}.tile .firm{display:none}.tile .name{font-size:10px;padding:2px 6px}.avgrid{grid-template-columns:1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}.hero-panel{gap:8px;padding:10px}.ptile .firm{display:none}.opts{flex-direction:column;align-items:flex-start}.avfoot .cta{flex:1}}
@media(prefers-reduced-motion:reduce){.idle,.idle img,.ptile::before,.tile::before,.eyebrow .dot,.ptile .ldot{animation:none!important}}
