*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Fredoka,system-ui;color:#fff;background:#0b0614;text-align:center;overflow-x:hidden}
.bg{position:fixed;inset:-20%;z-index:-1;background:radial-gradient(circle at 20% 20%,#7c3aed 0,transparent 40%),radial-gradient(circle at 80% 30%,#ec4899 0,transparent 40%),radial-gradient(circle at 50% 90%,#84cc16 0,transparent 35%);filter:blur(60px);opacity:.7;animation:drift 12s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(4%,-4%) rotate(8deg)}}
header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px}
h1{margin:0;font-size:2rem;font-weight:700}h1 span{background:linear-gradient(90deg,#ec4899,#a3e635);-webkit-background-clip:text;color:transparent}
.glass{background:rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.15);border-radius:28px;padding:22px;margin:12px auto;max-width:420px;width:92%}
.tag{font-size:1.2rem;opacity:.85}
input{display:block;width:100%;font:inherit;padding:14px 18px;margin:8px 0;border-radius:18px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.3);color:#fff}
.btn{width:100%;font:inherit;font-weight:700;font-size:1.1rem;padding:14px;margin:6px 0;border:0;border-radius:18px;color:#fff;background:linear-gradient(90deg,#7c3aed,#ec4899);cursor:pointer}
.ghost{background:rgba(255,255,255,.1)}.pill{font:inherit;border:0;color:#fff;padding:10px 16px;border-radius:99px;background:linear-gradient(90deg,#ec4899,#7c3aed);box-shadow:0 0 18px #ec489988}
.avatars{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.av{display:flex;flex-direction:column;align-items:center;font-size:.85rem;cursor:pointer}
.av b{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;background:linear-gradient(135deg,#7c3aed,#ec4899);border:3px solid transparent}
.av.on b{box-shadow:0 0 0 3px #a3e635,0 0 18px #a3e635}.av.sel b{border-color:#fff;transform:scale(1.1)}
.pttwrap{margin:28px 0}
#ptt{width:220px;height:220px;border-radius:50%;border:0;color:#fff;font:700 1.5rem Fredoka;background:radial-gradient(circle at 30% 30%,#c084fc,#7c3aed 50%,#db2777);box-shadow:0 0 40px #a855f7,0 0 80px #ec489977;animation:pulse 2s infinite;user-select:none;-webkit-user-select:none;touch-action:none;transition:transform .12s}
#ptt.on{transform:scale(.92);background:radial-gradient(circle at 30% 30%,#d9f99d,#84cc16 50%,#ec4899);box-shadow:0 0 60px #a3e635,0 0 120px #ec4899;animation:pulse .6s infinite}
@keyframes pulse{50%{box-shadow:0 0 70px #a855f7,0 0 130px #ec4899aa}}
#status{opacity:.85}.hide{display:none}#err{color:#f9a8d4}
#unlock{margin:6px auto;display:block;background:linear-gradient(90deg,#84cc16,#ec4899)}#unlock.hide{display:none}.dbg{font-size:.75rem;opacity:.6;min-height:1em}
.devs{display:flex;gap:14px;justify-content:center;margin:14px 0}.dev{flex:1;font:700 1.2rem Fredoka;color:#fff;border:2px solid rgba(255,255,255,.2);border-radius:24px;padding:22px 8px;background:rgba(255,255,255,.08);cursor:pointer;transition:.15s}
.dev b{display:block;font-size:2.4rem}.dev.pick{border-color:#a3e635;background:linear-gradient(135deg,#7c3aed,#ec4899);box-shadow:0 0 24px #ec4899aa;transform:scale(1.04)}.hint{opacity:.7;font-size:.9rem}
.av{position:relative}.av i{position:absolute;top:-4px;right:-6px;font-style:normal;font-size:.95rem;background:#0b0614;border-radius:50%;padding:2px}
.err{color:#f9a8d4}.sm{font-size:.95rem;opacity:.8}
.uwrap{display:flex;align-items:center;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:0 14px;margin:8px 0}.uwrap span{font-weight:700;color:#a3e635}.uwrap input{border:0;background:none;margin:0}
.avbtn{width:44px;height:44px;border-radius:50%;border:2px solid #a3e635;font-size:1.4rem;color:#fff;cursor:pointer}
.tabs{display:flex;gap:8px;justify-content:center;margin:6px auto;max-width:420px;width:92%}.tab{flex:1;font:700 1rem Fredoka;color:#fff;padding:10px;border-radius:99px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06)}.tab.on{background:linear-gradient(90deg,#7c3aed,#ec4899);border-color:transparent}
.addrow{display:flex;gap:8px;align-items:center}.addrow input{margin:4px 0}.row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.req{display:flex;align-items:center;gap:8px;justify-content:space-between;background:rgba(163,230,53,.12);border:1px solid #a3e63566;border-radius:16px;padding:8px 12px;margin-bottom:8px;animation:pop .3s}
.req button{font:inherit;border:0;border-radius:99px;padding:6px 12px;color:#fff;background:#84cc16}.req button.no{background:rgba(255,255,255,.15)}
.av{transition:transform .15s}.av:active{transform:scale(.92)}.av b{color:#fff}.av .st{position:absolute;bottom:14px;left:-8px;font-size:.75rem;background:#0b0614;border-radius:99px;padding:1px 5px;border:1px solid #f97316}
.empty{opacity:.8;padding:10px}.empty b{display:block;font-size:2rem}
.target{font-weight:700;margin:10px 0 4px}
.filters{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:6px}.chip{font:500 .9rem Fredoka;color:#fff;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);border-radius:99px;padding:6px 10px}.chip.on{background:#a3e635;color:#1a1a1a;border-color:#a3e635;transform:scale(1.05)}
.pttwrap{margin:14px 0 6px}#wave{width:300px;height:44px;display:block;margin:0 auto}
.reactbar{display:flex;gap:10px;justify-content:center;margin:6px;animation:pop .3s}.reactbar button{font-size:1.8rem;border:0;background:rgba(255,255,255,.1);border-radius:50%;width:54px;height:54px;transition:transform .1s}.reactbar button:active{transform:scale(1.3)}
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center;z-index:10}.sheet.hide{display:none}.sheetbox{position:relative;animation:up .25s;max-height:90vh;overflow:auto}
.x{position:absolute;right:14px;top:12px;background:none;border:0;color:#fff;font-size:1.2rem}
.bigav{width:86px;height:86px;border-radius:50%;margin:0 auto;display:grid;place-items:center;font-size:2.6rem;box-shadow:0 0 30px #ec489988}
.grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0}.grid button{width:40px;height:40px;border-radius:50%;border:2px solid transparent;font-size:1.3rem;background:rgba(255,255,255,.08)}.grid button.on{border-color:#a3e635;transform:scale(1.12)}
.invite{background:linear-gradient(135deg,#7c3aed55,#ec489955);border-radius:20px;padding:12px;margin:12px 0}
#toasts{position:fixed;top:70px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;z-index:20}
.toast{background:rgba(20,10,35,.92);border:1px solid #ec4899;border-radius:99px;padding:8px 16px;animation:pop .3s,fade .4s 2.6s forwards}
.big{font-size:3rem;animation:float 1.6s ease-out forwards;position:fixed;bottom:40%;pointer-events:none;z-index:30}
.cf{position:fixed;top:-10px;width:9px;height:14px;z-index:40;animation:fall 2.6s linear forwards;pointer-events:none}
@keyframes pop{from{transform:scale(.6);opacity:0}}@keyframes up{from{transform:translateY(60px);opacity:0}}@keyframes fade{to{opacity:0}}
@keyframes float{to{transform:translateY(-220px) scale(1.6);opacity:0}}@keyframes fall{to{transform:translateY(105vh) rotate(720deg)}}

.mode{display:inline-block;font-weight:700;font-size:.85rem;padding:3px 12px;border-radius:99px;min-height:1em}.mode:empty{display:none}.mode.live{background:#a3e635;color:#111;box-shadow:0 0 14px #a3e635aa}.mode.relay{background:#f59e0b;color:#111}

.pushask{position:fixed;left:12px;right:12px;bottom:18px;z-index:60;padding:14px;border-radius:18px;text-align:center;animation:pop .3s}.pushask p{margin:0 0 10px}.pushask.hide{display:none}

.seg{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:6px 0}.seg button{flex:1;min-width:60px;padding:8px 6px;border-radius:14px;border:1px solid #ffffff30;background:#ffffff12;color:#fff;font:inherit;font-size:13px}
.seg button.on{background:linear-gradient(135deg,#a855f7,#ec4899);border-color:transparent;box-shadow:0 0 12px #ec489988}.seg.days button{min-width:30px;flex:0 0 34px;padding:6px 0}
.srow{display:flex;align-items:center;gap:6px;justify-content:center;margin:8px 0;font-size:14px;flex-wrap:wrap}.srow input[type=time]{background:#ffffff14;color:#fff;border:1px solid #ffffff30;border-radius:10px;padding:4px}
.qm,.fv{position:absolute;top:-4px;font-size:14px}.qm{left:-2px}.fv{right:-2px;top:auto;bottom:18px}#meBtn.quiet{filter:grayscale(.5);box-shadow:0 0 0 2px #818cf8}
#askbox{z-index:70;border:1px solid #a855f7}#fset{margin-left:4px}
.modban{position:fixed;top:10px;left:10px;right:10px;z-index:80;background:#7f1d1dee;border:2px solid #fca5a5;border-radius:16px;padding:12px;font-size:14px;text-align:center}.modban.hide{display:none}

.agechk{display:flex;gap:.5rem;align-items:center;margin:.4rem 0}.agechk input{width:auto;margin:0}
