:root{color-scheme:dark;--bg: #111114;--card: #1c1c21;--line: #2c2c33;--text: #f2f2f5;--muted: #9a9aa6;--accent: #ec6f88;--accent-2: #f2879b;--mine: #3b3b8f;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit}h1{font-size:22px;margin:0}h2{font-size:17px;margin:0 0 12px}input,button{font:inherit}input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#15151a;color:var(--text)}button{padding:10px 16px;border-radius:10px;border:0;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.45;cursor:default}button.secondary{background:var(--line)}button.link{background:none;color:var(--muted);padding:0}.center{display:grid;place-items:center;min-height:100vh}.muted{color:var(--muted)}.error{color:#ff8a8a}.page{max-width:760px;margin:0 auto;padding:16px;display:grid;gap:16px}.bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:12px}.narrow{max-width:360px;margin:15vh auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.tile{display:grid;gap:8px;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px;text-align:center;color:var(--text)}.tile img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.tile.new{place-items:center;min-height:190px}.field{display:grid;gap:6px}.field label{color:var(--muted);font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:#24242b;color:var(--text);padding:6px 12px;border-radius:999px;font-size:14px}.chip.on{background:var(--accent)}.candidates{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.candidates img{width:100%;border-radius:12px;cursor:pointer;border:3px solid transparent}.candidates img.picked{border-color:var(--accent)}.chat{display:grid;grid-template-rows:auto 1fr auto;height:100dvh;max-width:760px;margin:0 auto}.chat-head{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.chat-head a{text-decoration:none;font-size:20px}.chat-head img{width:44px;height:44px;border-radius:50%;object-fit:cover}.chat-head div{display:grid;flex:1}.chat-head small{color:var(--muted)}.call-button{padding:8px 12px}.messages{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:6px}.bubble{max-width:75%;padding:8px 12px;border-radius:18px;line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.hers{align-self:flex-start;background:#26262d;border-bottom-left-radius:6px}.bubble.mine{align-self:flex-end;background:var(--mine);border-bottom-right-radius:6px}.bubble.call-line{opacity:.7;font-style:italic}.bubble.typing{color:var(--muted)}.composer{display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.call{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;z-index:10}.call>div{display:grid;grid-template-rows:1fr auto;height:100dvh}.call-controls{display:flex;justify-content:center;gap:12px;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.call-controls .lk-button{padding:10px 16px;border-radius:10px;border:0;background:var(--line);color:#fff}.hangup{background:#d33}.call-waiting{display:grid;place-items:center;align-content:center;gap:16px}.call-waiting img{width:180px;height:180px;border-radius:50%;object-fit:cover}.footer{text-align:center;padding:24px 0 8px;font-size:13px}.footer a{color:var(--muted)}.badge{padding:4px 10px;border-radius:999px;font-size:13px;background:var(--line)}.badge.ready{background:#1f7a4a}.badge.starting{background:#8a6d1d}.badge.stopping{background:#7a2a2a}.facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0}.services{list-style:none;padding:0;margin:0;display:grid;gap:6px}.services li{display:flex;justify-content:space-between;padding:8px 12px;border-radius:10px;background:#15151a}.services li span{color:var(--muted)}.services li.up span{color:#5fd38d}.actions{display:flex;align-items:center;gap:12px}.regions{list-style:none;padding:0;margin:0;display:grid;gap:6px}.regions li{padding:8px 12px;border-radius:10px;background:#15151a;display:grid;gap:2px}.regions li span{color:var(--muted)}details summary{cursor:pointer}.small{font-size:13px;overflow-wrap:anywhere}button.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));font-weight:600}button.primary.wide,button.wide{width:100%;padding:14px;font-size:16px}button.outline{background:transparent;border:1px solid var(--accent);color:var(--accent);font-weight:600}button.icon{background:none;padding:4px 8px;font-size:20px;color:var(--text)}select{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:#222;color:var(--text);font:inherit}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;z-index:20}.modal{background:#1b1b1d;border:1px solid var(--line);border-radius:20px;padding:28px;width:100%;max-width:560px;display:grid;gap:16px;max-height:92dvh;overflow-y:auto}.gate{text-align:center}.gate p{margin:0;line-height:1.5}.warning{color:var(--accent);font-size:40px}.gate-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gate-links button{padding:14px 8px}.personalize{max-width:440px}.input-icon{display:flex;align-items:center;gap:8px;background:#222;border:1px solid var(--line);border-radius:12px;padding:4px 8px 4px 14px}.input-icon input{border:0;background:none;padding:10px 4px}.input-icon input:focus{outline:none}.input-icon.big{padding:8px 10px 8px 18px;font-size:17px}.builder{min-height:100dvh;display:grid;grid-template-rows:auto auto 1fr auto;max-width:1240px;margin:0 auto}.progress{height:6px;background:#3a3a48;border-radius:3px;margin:12px 16px 0;overflow:hidden}.progress div{height:100%;background:var(--accent);transition:width .3s}.builder-head{display:flex;justify-content:space-between;align-items:center;padding:8px 16px}.builder-head .back{font-size:26px}.random{background:#26262c;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:600}.builder-body{padding:0 16px 110px;display:grid;gap:28px;align-content:start}.choice{display:grid;gap:16px;scroll-margin-top:16px}.choice h1{text-align:center;font-size:clamp(22px,3vw,32px);font-weight:700}.center-text{text-align:center;margin:-8px 0 0}.options{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.option{position:relative;padding:0;background:#222;border:3px solid transparent;border-radius:18px;overflow:hidden;width:clamp(130px,12.4vw,200px);aspect-ratio:3 / 4;cursor:pointer}.options-type .option{width:clamp(140px,14.5vw,200px);aspect-ratio:3 / 4.4}.option img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.option:hover img{transform:scale(1.04)}.option span{position:absolute;left:0;right:0;bottom:0;padding:36px 8px 14px;background:linear-gradient(transparent,#000000c7);font-weight:600;font-size:clamp(14px,1.6vw,20px)}.option.on{border-color:#fff}.option.on:after{content:"✓";position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:700}.age-panel{background:linear-gradient(180deg,#222,#1a1a1a);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;gap:24px;justify-items:center}.age-pill{border:2px solid var(--accent);border-radius:10px;padding:8px 22px;font-size:22px;font-weight:600}.age-slider{display:flex;align-items:center;gap:18px;width:100%;font-size:22px;font-weight:600}.age-slider input{flex:1;accent-color:#ddd}.counter{text-align:right;color:var(--muted);margin-top:-8px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px}.tile-edit{position:relative;text-align:left;display:grid;gap:6px;padding:22px 56px 22px 24px;border-radius:16px;background:linear-gradient(135deg,#1f1f22,#2a1f24);border:1px solid #2c2c33;color:var(--text)}.tile-edit small{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px}.tile-edit strong{font-size:17px}.tile-edit .pencil{position:absolute;right:16px;bottom:16px;width:32px;height:32px;border-radius:50%;border:1px solid #fff;display:grid;place-items:center;font-size:14px}.voice-tile{background:radial-gradient(120% 140% at 0% 100%,rgba(140,60,200,.45),transparent 60%),radial-gradient(120% 140% at 100% 0%,rgba(236,111,136,.35),transparent 60%),#1c1820}.portraits{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,380px));justify-content:center;gap:20px}.option.portrait{width:auto;aspect-ratio:1}.center-row{display:flex;justify-content:center}.drawing{display:grid;justify-items:center;gap:12px;padding:24px;text-align:center}.spinner{width:44px;height:44px;border-radius:50%;border:4px solid #333;border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.builder-foot{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 40%)}.next{background:linear-gradient(90deg,var(--accent),var(--accent-2));min-width:240px;padding:16px 28px;border-radius:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.editor{max-width:980px;gap:20px}.editor h1{text-align:center}.editor-body{display:grid;gap:16px}.editor-foot{display:flex;justify-content:center;gap:16px}.editor-foot button{min-width:140px;padding:14px}.emoji-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.emoji-chips button{display:flex;align-items:center;gap:10px;background:#18181a;border:1px solid #333;border-radius:12px;padding:14px 20px;color:var(--text);font-size:16px}.emoji-chips button.on{border-color:#fff;background:#222}.emoji-chips button:disabled{opacity:.4}.emoji-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}.emoji-tiles button{position:relative;display:grid;justify-items:center;gap:12px;padding:26px 10px 18px;background:#1d1d20;border:3px solid transparent;border-radius:16px;color:var(--text);font-weight:600}.emoji-tiles .emoji{font-size:52px;line-height:1}.emoji-tiles button.on{border-color:#fff}.emoji-tiles button.on:after,.voice.on:after{content:"✓";position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-weight:700}.emoji{font-size:20px}.show-more{width:100%;background:transparent;border:1px solid #333;padding:14px;font-weight:600}.search{background:#262628;border:0;padding:14px 16px;border-radius:12px}.voices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.voice{position:relative;display:grid;justify-items:center;gap:6px;padding:24px 10px;background:#1d1d20;border:3px solid transparent;border-radius:16px;color:var(--text)}.voice.on{border-color:#fff}.voice small{color:var(--muted);font-size:15px}.wave{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;font-size:26px;margin-bottom:8px;background:radial-gradient(circle at 30% 30%,rgba(255,140,190,.9),transparent 45%),radial-gradient(circle at 70% 60%,rgba(120,90,255,.9),transparent 50%),#2a0f3a;box-shadow:0 0 0 2px #3a2a4a}.wave.playing{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 8px #ec6f8859}}.meeting{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;align-content:center;gap:16px;padding:16px;overflow:hidden}.meeting-tile{position:relative;width:min(512px,100%,calc(100dvh - 140px));aspect-ratio:1;border-radius:18px;overflow:hidden;background:#1a1a1d}.meeting-tile video,.meeting-tile img{width:100%;height:100%;object-fit:cover;display:block}.meeting-tile .mirrored{transform:scaleX(-1)}.meeting-name{position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:8px;background:#0000008c;font-weight:600;font-size:14px}.camera-off{width:100%;height:100%;display:grid;place-items:center;color:var(--muted)}@media(max-width:700px){.meeting{position:relative;padding:8px}.meeting-tile.me{position:absolute;right:16px;bottom:16px;width:30%;max-width:160px;z-index:2;box-shadow:0 4px 20px #0009}}
