:root{--bg: #06201f;--ink: #eafaf7;--muted: #9fb8b3;--glass: rgba(255,255,255,.07);--line: rgba(255,255,255,.14);--brand: #14b8a6;--brand2: #0f766e;--mint: #5eead4;--ok: #34d399;--air: #f43f5e;--display: "Bricolage Grotesque", "Plus Jakarta Sans", system-ui, sans-serif}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:500;color:var(--ink);background:radial-gradient(900px 520px at 10% 0%,rgba(20,184,166,.32),transparent 60%),radial-gradient(800px 520px at 95% 100%,rgba(56,189,248,.18),transparent 60%),var(--bg);background-attachment:fixed;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 46px,rgba(94,234,212,.09) 46px 47px);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 72%);mask-image:radial-gradient(circle at 50% 50%,#000 0,transparent 72%)}#root{position:relative;min-height:100vh;min-height:100dvh;display:flex;padding:calc(24px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px))}main{margin:auto;width:min(560px,100%);text-align:center;background:var(--glass);border:1px solid var(--line);border-radius:32px;padding:34px 24px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 30px 80px #00000073}main.login{width:min(440px,100%);padding:0 28px 30px;position:relative;top:26px}h1{font-family:var(--display);font-size:2.1rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 8px}h2{font-family:var(--display);font-size:1.15rem;font-weight:700;color:var(--mint);margin:34px 0 16px}p{color:var(--muted);line-height:1.5}.sub{margin:0 auto 28px;max-width:30ch}small{color:var(--muted)}.logo{position:relative;width:104px;height:104px;margin:-52px auto 24px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 25%,#2dd4bf,#0d9488 55%,#0b5f58);box-shadow:0 14px 40px #14b8a680,inset 0 4px 10px #ffffff4d,inset 0 -8px 16px #00000040}.logo svg{position:relative}.ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(94,234,212,.55);animation:pulse 3s ease-out infinite}.ring.r2{animation-delay:1s}.ring.r3{animation-delay:2s}@keyframes pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(2.4);opacity:0}}button{font:inherit;font-family:var(--display);font-weight:700;font-size:1.1rem;min-height:60px;padding:0 24px;border-radius:18px;border:1px solid var(--line);background:#ffffff17;color:var(--ink);cursor:pointer;touch-action:manipulation;transition:transform .12s,background .2s,box-shadow .2s}button:hover:not(:disabled){background:#ffffff2b}button:active:not(:disabled){transform:scale(.97)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}button.primary{width:100%;background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent;color:#fff;box-shadow:0 12px 30px #0d948873,inset 0 1px #ffffff4d}button.primary:hover:not(:disabled){background:linear-gradient(135deg,#19c7b4,#11857a)}button.big{min-height:66px;font-size:1.25rem;border-radius:20px;margin-top:6px}button.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;font-size:.95rem;padding:0 20px;border-radius:999px}header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px}header h1{margin:0}header small{background:#5eead424;color:var(--mint);border-radius:999px;padding:4px 16px;font-weight:700}.avatar{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin-bottom:4px;font-family:var(--display);font-size:2rem;font-weight:800;color:#fff;background:radial-gradient(circle at 30% 25%,#2dd4bf,#0d9488 55%,#0b5f58);box-shadow:0 10px 28px #14b8a666}.header-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}.ptt{width:min(250px,72vw);height:auto;aspect-ratio:1;min-height:0;padding:20px;margin:22px auto 30px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;color:#fff;font-family:var(--display);background:radial-gradient(circle at 30% 25%,#2dd4bf,#0d9488 55%,#0b5f58);box-shadow:0 0 0 12px #14b8a621,0 0 0 26px #14b8a60f,0 26px 60px #00000080,inset 0 6px 14px #ffffff47,inset 0 -12px 24px #00000047}button.ptt{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button.ptt:hover:not(:disabled){background:radial-gradient(circle at 30% 25%,#47e0cd,#0f9f93 55%,#0b5f58)}.ptt strong{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.ptt span{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:.92rem;font-weight:600;opacity:.88;max-width:16ch}.ptt.live,button.ptt.live:hover{background:radial-gradient(circle at 30% 25%,#fb7185,#e11d48 55%,#9f1239);animation:air 1.1s ease-in-out infinite}@keyframes air{0%,to{box-shadow:0 0 0 12px #f43f5e33,0 0 0 26px #f43f5e14,0 26px 60px #00000080,inset 0 6px 14px #ffffff47,inset 0 -12px 24px #00000047}50%{box-shadow:0 0 0 20px #f43f5e42,0 0 0 40px #f43f5e1a,0 26px 60px #00000080,inset 0 6px 14px #ffffff47,inset 0 -12px 24px #00000047}}.eq{display:flex;align-items:center;gap:6px;height:52px}.eq i{width:7px;height:100%;border-radius:4px;background:#fff;transform:scaleY(.3);animation:eq 1.1s ease-in-out infinite}.eq i:nth-child(2){animation-delay:-.9s}.eq i:nth-child(3){animation-delay:-.5s}.eq i:nth-child(4){animation-delay:-.2s}.eq i:nth-child(5){animation-delay:-.7s}@keyframes eq{50%{transform:scaleY(1)}}.groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}button.talk{width:100%;min-height:84px;font-size:1.2rem;border-radius:22px;background:#14b8a629;border-color:#5eead459;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button.talk:hover:not(:disabled){background:#14b8a647}button.talk.live,button.talk.live:hover{background:linear-gradient(135deg,#f43f5e,#be123c);border-color:transparent;color:#fff;animation:live 1s ease-in-out infinite}@keyframes live{50%{box-shadow:0 0 0 12px #f43f5e40}}.tabs{display:flex;gap:6px;padding:6px;background:#00000047;border-radius:999px}.tabs button{flex:1;width:auto;min-height:56px;padding:0 8px;border-radius:999px;border:none;background:transparent;box-shadow:none;font-size:1.05rem}.tabs button.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 8px 20px #0d948866}.row,.card{background:#ffffff0f;border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:12px}.row{display:flex;flex-direction:column;align-items:center;gap:12px;font-weight:700;font-size:1.05rem}.row small{font-weight:500}.row button{width:100%}.row button:not(:disabled){background:#14b8a638;border-color:#5eead466}.row button:hover:not(:disabled){background:#14b8a65c}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#5d726e;margin-right:8px}.dot.on{background:var(--ok);box-shadow:0 0 10px var(--ok)}.checks{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin:12px 0;color:var(--muted)}.checks label{display:inline-flex;align-items:center;min-height:36px}.checks input{width:20px;height:20px;min-height:0;margin:0 8px 0 0;accent-color:var(--brand)}.actions{display:flex;gap:10px;margin-top:14px}.actions button{flex:1;width:auto;padding:0 10px}.banner{background:#0d948833;border:2px solid #2dd4bf;border-radius:24px;padding:20px;margin-bottom:20px;font-size:1.2rem}.banner .actions button{min-height:66px;font-size:1.2rem}.banner[role=alert]{animation:glow 1.2s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 10px #2dd4bf38}}input,select{font:inherit;font-size:1.05rem;width:100%;min-height:60px;padding:0 18px;margin-bottom:12px;text-align:center;color:var(--ink);background:#ffffff14;border:1px solid var(--line);border-radius:18px}select option{color:#0b1f1d}input::placeholder{color:#eafaf78c}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 100px #12302d inset}.error{color:#ff9a9a;font-weight:600}.field{position:relative;display:block;margin-bottom:14px;color:var(--muted)}.field>svg{position:absolute;left:20px;top:50%;transform:translateY(-50%);pointer-events:none}.field input{margin:0;min-height:64px;padding:0 76px 0 54px;text-align:left;font-size:1.1rem}.field:focus-within{color:var(--mint)}button.peek{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-height:44px;padding:0 14px;border:none;background:transparent;font-family:inherit;font-size:.9rem;color:var(--mint);border-radius:12px}button.peek:active:not(:disabled){transform:translateY(-50%)}.install-line{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.install-line:empty{display:none}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;padding:16px;background:#020e0eb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow:auto}.sheet{margin:auto;width:min(420px,100%);text-align:center;background:#0c2f2d;border:1px solid var(--line);border-radius:28px;padding:28px 24px;box-shadow:0 30px 80px #0009}.sheet img{border-radius:16px;margin-bottom:14px}.sheet h1{font-size:1.6rem}.sheet ol{text-align:left;margin:18px 0 24px;padding-left:1.4em;line-height:1.5}.sheet li{margin-bottom:10px;padding-left:4px}.sheet li::marker{color:var(--mint);font-weight:700}@media (max-width: 380px){h1{font-size:1.8rem}main{padding:28px 16px}main.login{padding:0 18px 26px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
