:root{--bg:#04050c;--card:rgba(14,18,38,.78);--line:rgba(255,255,255,.12);--txt:#f3f5ff;--mut:#9aa4c4;--gold:#ffc63a;--wa:#25D366;--blue:#2f6bff;--pink:#ec4899;--violet:#a855f7;--r:18px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{background:var(--bg)}
html,body{margin:0;color:var(--txt);font-family:Rubik,system-ui,sans-serif;min-height:100%}
body{overflow-x:hidden}
a{color:inherit}
svg{width:1em;height:1em;flex:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid #7cc4ff;outline-offset:2px;border-radius:8px}

/* ---------- stage background ---------- */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:
 radial-gradient(circle at 50% -4%,rgba(120,170,255,.35),transparent 22%),
 radial-gradient(circle at 8% 0%,rgba(90,150,255,.5),transparent 14%),
 radial-gradient(circle at 92% 0%,rgba(90,150,255,.5),transparent 14%),
 radial-gradient(circle at -2% 22%,rgba(255,150,40,.55),transparent 20%),
 radial-gradient(circle at 102% 22%,rgba(255,150,40,.55),transparent 20%),
 radial-gradient(circle at -4% 48%,rgba(255,130,40,.4),transparent 22%),
 radial-gradient(circle at 104% 46%,rgba(80,140,255,.4),transparent 22%),
 radial-gradient(ellipse at 50% 108%,rgba(160,70,255,.45),transparent 48%),
 radial-gradient(ellipse at 15% 85%,rgba(255,110,40,.3),transparent 30%),
 radial-gradient(ellipse at 85% 85%,rgba(60,120,255,.3),transparent 30%),#05060f}
.bg::before{content:"";position:absolute;inset:0;background:
 radial-gradient(circle at 4% 30%,#ffd28a 0 3px,transparent 6px),radial-gradient(circle at 95% 28%,#ffd28a 0 3px,transparent 6px),
 radial-gradient(circle at 3% 52%,#ffb45a 0 4px,transparent 8px),radial-gradient(circle at 97% 50%,#9cc0ff 0 4px,transparent 8px),
 radial-gradient(circle at 30% 2%,#cfe0ff 0 3px,transparent 7px),radial-gradient(circle at 70% 2%,#cfe0ff 0 3px,transparent 7px),
 radial-gradient(circle at 10% 70%,rgba(255,170,80,.7) 0 6px,transparent 14px),radial-gradient(circle at 90% 68%,rgba(255,170,80,.7) 0 6px,transparent 14px),
 radial-gradient(circle at 20% 92%,rgba(255,190,90,.5) 0 10px,transparent 22px),radial-gradient(circle at 80% 94%,rgba(120,160,255,.5) 0 10px,transparent 22px),
 radial-gradient(circle at 50% 97%,rgba(255,140,200,.35) 0 14px,transparent 30px);filter:blur(1px)}
.beam{position:absolute;top:-10%;width:22vw;max-width:150px;height:80vh;background:linear-gradient(to bottom,rgba(170,200,255,.28),transparent 75%);filter:blur(14px);transform-origin:top center;mix-blend-mode:screen}
.b1{left:6%;transform:rotate(-24deg)}.b2{right:6%;transform:rotate(24deg)}
.b3{left:-4%;top:20%;transform:rotate(-55deg);background:linear-gradient(to bottom,rgba(255,170,70,.28),transparent 70%)}
.b4{right:-4%;top:20%;transform:rotate(55deg);background:linear-gradient(to bottom,rgba(255,170,70,.28),transparent 70%)}

/* ---------- logo ---------- */
.logo{position:relative;isolation:isolate;text-align:center;margin:-16px auto 2px;line-height:.92;font-weight:900;user-select:none}
.crown{width:clamp(50px,min(14vw,7svh),70px);height:auto;display:block;margin:0 auto -6px;filter:drop-shadow(0 4px 10px rgba(255,180,40,.55))}
.l1{font-size:clamp(36px,min(11vw,5.6svh),58px);color:#eef1fa;background:linear-gradient(#ffffff,#dfe5f2 55%,#b9c2d6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #8f98ad) drop-shadow(0 2px 0 #7d8699) drop-shadow(0 3px 0 #6b7386) drop-shadow(0 4px 0 #5a6275) drop-shadow(0 10px 12px rgba(0,0,0,.6))}
.l2{position:relative;font-size:clamp(42px,min(13vw,6.6svh),68px);letter-spacing:-.01em;background:linear-gradient(#fff6c2 0%,#ffd457 38%,#ffb21f 58%,#f59e0b 78%,#ffd770 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #b35b06) drop-shadow(0 2px 0 #9a4a05) drop-shadow(0 2px 0 #833d04) drop-shadow(0 3px 0 #6b3103) drop-shadow(0 12px 14px rgba(0,0,0,.7))}
.l3{display:inline-block;margin-top:8px;filter:drop-shadow(0 0 1.5px rgba(255,255,255,.35)) drop-shadow(0 6px 14px rgba(0,0,0,.8))}
.brush{display:inline-flex;align-items:center;gap:10px;padding:6px 34px 8px;background:linear-gradient(100deg,#000,#141418 40%,#050506 70%,#18181c);font-size:clamp(22px,min(7vw,3.6svh),36px);font-weight:900;color:#fff;clip-path:polygon(2% 12%,10% 0,30% 8%,52% 2%,74% 9%,95% 1%,100% 30%,97% 62%,100% 95%,80% 90%,55% 100%,30% 92%,8% 100%,0 70%,3% 40%)}
.wa-badge{display:inline-grid;place-items:center;width:1.25em;height:1.25em;border-radius:50%;background:var(--wa);color:#fff;font-size:.95em;box-shadow:0 0 0 3px #fff inset}
.wa-badge svg{width:.78em;height:.78em}
.logo.sm .l1{font-size:34px}.logo.sm .l2{font-size:40px}.logo.sm .brush{font-size:20px;padding:4px 18px 5px}.logo.sm{margin-top:8px}

/* ---------- entry ---------- */
.entry{max-width:460px;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) 12px 0;position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.topbar{display:flex;justify-content:space-between;gap:8px}
.pill{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;border-radius:999px;background:rgba(6,8,18,.72);border:1.5px solid rgba(255,255,255,.35);text-decoration:none;font-weight:600;font-size:14px;backdrop-filter:blur(6px)}
.pill svg{width:20px;height:20px}
.grid{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:6px;margin-top:10px}
.row{display:flex;justify-content:center;gap:4%}
.row.r4{gap:2%}
.cc{--sz:min(27vw,13.2svh,124px);position:relative;flex:0 0 auto;width:var(--sz);background:none;border:0;padding:0 0 18px;cursor:pointer;transition:transform .25s}
.r4 .cc{--sz:min(21vw,10.4svh,96px)}
.ring{position:relative;display:block;width:var(--sz,64px);aspect-ratio:1;border-radius:50%;padding:4px;background:var(--ring);box-shadow:0 0 0 2px rgba(255,255,255,.55) inset,0 0 14px 2px var(--ring),0 0 34px 6px color-mix(in srgb,var(--ring) 55%,transparent)}
.ring .av{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;background:#1b2140}
.av.ini{display:grid;place-items:center;font-weight:800;font-size:1.6em;color:#fff;background:linear-gradient(135deg,#1e3a8a,#6d28d9)}
.cc .nm{position:absolute;left:50%;bottom:0;transform:translateX(-50%);min-width:72%;padding:5px 12px 6px;border-radius:12px;background:rgba(6,8,20,.94);border:1px solid rgba(255,255,255,.2);font-weight:800;font-size:clamp(15px,4.6vw,20px);white-space:nowrap;box-shadow:0 4px 10px rgba(0,0,0,.5)}
.r4 .cc .nm{font-size:clamp(13px,3.7vw,16px);padding:3px 6px 4px}
.cc .nm{white-space:normal;width:max-content;max-width:112%;line-height:1.08;text-align:center}
.cc .nm .ln{display:block}
.cc{padding-bottom:30px}
.cc .tick{position:absolute;top:2%;left:4%;width:30%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;border:3px solid #fff;font-size:calc(var(--sz) * .16);opacity:0;transform:scale(.4);transition:.25s}
.cc.sel{transform:scale(1.1);z-index:2}
.cc.sel .ring{--ring:var(--wa)}
.cc.sel .tick{opacity:1;transform:scale(1)}
.cc:active{transform:scale(.96)}
.cc.nudge{animation:nudge .6s}
@keyframes nudge{30%{transform:translateY(-8px) scale(1.05)}60%{transform:translateY(2px)}}
.morelink{display:block;text-align:center;margin:8px auto 0;font-size:14px;color:var(--mut);text-decoration:underline;min-height:32px}

/* phone ballot */
.phone-wrap{position:relative;margin:14px -12px 0;height:clamp(196px,min(54vw,25svh),250px);perspective:900px;overflow:hidden;flex:none}
.phone{position:absolute;left:50%;bottom:-26px;width:min(80%,360px);height:calc(100% + 10px);transform:translateX(-50%) rotateX(14deg);transform-origin:bottom;border-radius:46px 46px 0 0;padding:12px 12px 0;background:linear-gradient(135deg,#3a3f4b,#0c0e13 30%,#2a2e37 70%,#090a0e);box-shadow:0 -10px 50px rgba(37,211,102,.25),0 0 0 2px #50576a inset}
.phone .screen{height:100%;border-radius:36px 36px 0 0;background:radial-gradient(ellipse at 50% 30%,#123a8c,#071435 60%,#040a1e);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:10px;padding-top:46px;position:relative;overflow:hidden}
.phone .slot{position:absolute;z-index:3;top:28px;left:50%;transform:translateX(-50%);width:58%;height:20px;border-radius:12px;background:#02040a;box-shadow:0 0 0 2px #1fd17a,0 0 18px 4px rgba(37,211,102,.55)}
.phone .slot.glow{box-shadow:0 0 0 3px #3ff59b,0 0 40px 12px rgba(37,211,102,.9)}
.wa-big{display:grid;place-items:center;width:min(70px,8svh);height:min(70px,8svh);color:var(--wa);filter:drop-shadow(0 0 16px rgba(37,211,102,.8))}
.wa-big svg{width:100%;height:100%}
.ballot{display:flex;align-items:center;justify-content:center;width:82%;min-height:56px;padding:10px 16px;border-radius:999px;border:2px solid rgba(160,200,255,.7);background:linear-gradient(#2f7bff,#1747d6);color:#fff;font-size:clamp(20px,6vw,26px);font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 0 24px rgba(60,130,255,.7),0 6px 0 #0d2d8f;text-align:center}
.ballot.done{background:linear-gradient(#1fc46a,#0f8f4a);border-color:#8ff0bd;box-shadow:0 0 24px rgba(37,211,102,.6),0 6px 0 #0a6233;font-size:18px}
.phone.busy .ballot{opacity:.85}
.phone.ok .ballot{background:linear-gradient(#1fc46a,#0f8f4a);border-color:#8ff0bd}
.phone.err .ballot{background:linear-gradient(#ef4444,#b91c1c)}
.home-ind{position:absolute;bottom:18px;width:34%;height:5px;border-radius:5px;background:rgba(255,255,255,.5)}
.flycard{position:fixed;z-index:60;width:64px;height:84px;border-radius:12px;background:linear-gradient(#ffffff,#e7ecf5);box-shadow:0 0 0 2px #fff,0 0 30px 8px rgba(37,211,102,.75),0 10px 20px rgba(0,0,0,.4);display:grid;place-items:center;pointer-events:none}
.flycard svg{width:40px;height:40px}
.crowd{position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;z-index:1}
.hrt{position:absolute;display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#ec4899;color:#fff;font-style:normal;font-size:22px;box-shadow:0 0 18px rgba(236,72,153,.7);opacity:.75;animation:float 5s ease-in-out infinite}
.h1{left:2%;bottom:150px;rotate:-12deg}.h2{left:6%;bottom:60px;animation-delay:1s;scale:.8}.h3{right:2%;bottom:170px;animation-delay:2s;rotate:10deg}.h4{right:5%;bottom:70px;background:#3b5bdb;animation-delay:3s;scale:.8}
@keyframes float{50%{translate:0 -10px}}
.soon{text-align:center;margin:40px 0;display:grid;gap:16px;justify-items:center}

/* ---------- inner pages ---------- */
.hdr{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;padding:max(10px,env(safe-area-inset-top)) 12px 10px;background:linear-gradient(rgba(4,5,12,.95),rgba(4,5,12,.75));backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr h1{flex:1;margin:0;font-size:19px;font-weight:800;text-align:center}
.iconbtn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);text-decoration:none}
.iconbtn svg{width:22px;height:22px}.iconbtn.ghost{visibility:hidden}
.page{max-width:520px;margin:0 auto;padding:16px 16px 120px}
.page.center{text-align:center;display:grid;gap:14px;justify-items:center;padding-top:40px}
.page h2{font-size:18px;margin:24px 0 10px}
.lead{font-size:17px;color:#dbe2ff;margin:4px 0 14px}
.muted{color:var(--mut)}.fine{color:var(--mut);font-size:13px;line-height:1.5}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:10px 0}
.card.soft{background:rgba(47,107,255,.12);border-color:rgba(120,160,255,.3);line-height:1.55}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.07);font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;text-align:center}
.btn svg{width:20px;height:20px}
.btn.pri{background:linear-gradient(#2f7bff,#1747d6);border-color:#7fb0ff;box-shadow:0 0 18px rgba(60,130,255,.45)}
.btn.pri.alt{background:linear-gradient(#f59e0b,#d97706);border-color:#ffd27a;box-shadow:0 0 18px rgba(245,158,11,.4)}
.btn.wa{background:linear-gradient(#25D366,#128C4B);border-color:#8ff0bd;color:#fff}
.btn.ghost{background:none}
.btn.sm{min-height:38px;padding:6px 12px;font-size:14px;border-radius:10px}
.btn.big{min-height:60px;font-size:20px}
.btn.block{display:flex;width:100%;margin-top:16px}
.stack{display:grid;gap:10px}
.mt{margin-top:12px}
.fld{display:grid;gap:6px;font-size:14px;color:#cbd3f0}
.fld input,.fld select,.fld textarea,.row-f input,select{width:100%;min-height:46px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(5,8,20,.8);font-size:16px}
.fld textarea{resize:vertical;min-height:60px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.4;min-height:32px}
.chk input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--wa)}
.cnt-c{color:var(--mut);font-size:12px}
.demo-tag{font-size:12px;color:#fbbf24;text-align:center}
.how{display:grid;gap:12px;padding-inline-start:22px;line-height:1.6;font-size:16px}

/* board */
.board{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.board li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.board li.me{border-color:var(--wa);box-shadow:0 0 0 1px var(--wa),0 0 18px rgba(37,211,102,.3)}
.board li.out{opacity:.7}
.board .pl{width:28px;text-align:center;font-weight:900;font-size:18px;color:var(--mut)}
.board .top1 .pl{color:#ffd34d}.board .top2 .pl{color:#d7dde8}.board .top3 .pl{color:#f0a35e}
.ring.sm{--sz:48px;padding:2.5px;box-shadow:0 0 0 1px rgba(255,255,255,.5) inset,0 0 10px var(--ring)}
.ring.big{--sz:130px}.ring.huge{--sz:min(56vw,220px);padding:6px}
.who{flex:1;display:grid;min-width:0}.who b{font-size:17px}.who small{color:var(--mut);font-size:12.5px}
.vt{display:grid;text-align:center}.vt b{font-size:20px}.vt small{font-size:11px;color:var(--mut)}
.upd{font-size:12px;color:var(--mut);text-align:center;margin:8px 0}
.res-hd{text-align:center;display:grid;justify-items:center;gap:6px;margin-bottom:14px}
.res-hd h1{margin:0;font-size:26px;font-weight:900}
.ok-badge{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--wa);font-size:26px;box-shadow:0 0 24px rgba(37,211,102,.6)}
.chosen{display:flex;align-items:center;gap:10px;font-size:20px}.chosen .ring{--sz:56px}
.roles{display:grid;gap:10px;margin-top:6px}
.roles-h{text-align:center;margin:22px 0 8px}
.role{min-height:56px;font-size:18px;border-radius:16px}
.role.r1{background:linear-gradient(#25D366,#128C4B);border-color:#8ff0bd}
.role.r2{background:linear-gradient(#f59e0b,#c2410c);border-color:#ffd27a}
.role.r3{background:linear-gradient(#7c3aed,#4c1d95);border-color:#c4b5fd}

/* share */
.preview{position:relative;width:min(62vw,250px);aspect-ratio:9/16;margin:6px auto 12px;border-radius:18px;overflow:hidden;background:#0b0f22;border:1px solid var(--line);box-shadow:0 10px 40px rgba(0,0,0,.5)}
.preview img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:.3s}
.preview.ready img{opacity:1}.preview.ready .pv-load{display:none}
.pv-load{position:absolute;inset:0;display:grid;place-items:center;color:var(--mut);font-size:14px}
.linkbox{display:grid;gap:4px;padding:10px 14px;border-radius:14px;background:rgba(37,211,102,.1);border:1px dashed rgba(37,211,102,.6);margin:8px 0}
.lb-l{font-size:12px;color:var(--mut)}.linkbox a{font-weight:700;word-break:break-all;color:#8ff0bd}
.acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.acts .wa{grid-column:1/-1}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.stats>div{display:grid;text-align:center;padding:12px 6px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.stats b{font-size:24px}.stats small{font-size:12px;color:var(--mut)}
.mini-rank{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.mini-rank li{display:flex;gap:10px;align-items:center;padding:8px 12px;border-radius:12px;background:var(--card)}
.mini-rank li.me{outline:1px solid var(--wa)}.mini-rank b{flex:1}.mini-rank em{font-style:normal;color:var(--mut);font-size:14px}
.picklist{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pk{display:grid;justify-items:center;gap:6px;text-decoration:none}.pk .ring{--sz:76px}
.ph-pv{width:90px;height:90px;border-radius:50%;object-fit:cover}
.cand-card{display:flex;gap:14px;align-items:center;padding:14px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.cand-card .ring{--sz:84px}.cand-card div{display:grid;gap:2px}.cand-card b{font-size:22px}.cand-card small{color:var(--mut)}
.okline{color:#8ff0bd}

/* landing */
.land{display:grid;gap:12px;text-align:center}
.land h1{font-size:22px;margin:4px 0}
.rec{font-size:17px;margin:0}
.duo{display:flex;justify-content:center;align-items:center;gap:0;margin:8px 0}.duo>.ring:first-child{--sz:80px;margin-inline-end:-18px;z-index:1}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cand-hero{display:grid;justify-items:center;gap:10px;margin:8px 0}.cand-hero b{font-size:30px;font-weight:900}

/* admin */
.atabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;scrollbar-width:none}
.tab{flex:none;padding:8px 14px;min-height:40px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);text-decoration:none;font-size:14px;font-weight:600;cursor:pointer}
.tab.on{background:#2f6bff;border-color:#7fb0ff}
.tabs{display:flex;gap:8px;margin:6px 0 12px}
.alist{display:grid;gap:8px}
.arow{display:flex;gap:10px;align-items:center;padding:10px;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.arow .grow{flex:1;display:grid;min-width:0}.arow small{color:var(--mut);font-size:12.5px}
.arow select{width:auto;min-height:40px;font-size:14px}
.stats.four{grid-template-columns:repeat(2,1fr)}
.tree,.tree ul{list-style:none;padding-inline-start:16px;margin:6px 0;border-inline-start:1px dashed var(--line);line-height:2}
.tag{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px;background:rgba(255,255,255,.1)}
.tag.manager{background:#b45309}.tag.promoter{background:#15803d}.tag.candidate{background:#6d28d9}
.lnk{background:none;border:0;color:#7cc4ff;text-decoration:underline;font-size:13px;cursor:pointer}
.row-f{display:flex;gap:8px}
.chain{margin:8px 0;line-height:2}

/* sheet & toast */
#sheet .backdrop,#nui-sheet .backdrop{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.6)}
.sheet{position:fixed;z-index:71;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);max-height:90vh;overflow:auto;padding:20px 18px max(20px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#0d1124;border:1px solid var(--line);display:grid;gap:10px;animation:up .25s ease-out}
.sheet h2{margin:0;font-size:21px}.sheet p{margin:0;line-height:1.55}
.sheet.plain{background:transparent;border:0;top:0;bottom:0;max-height:none;border-radius:0;place-items:center}
@keyframes up{from{transform:translate(-50%,40px);opacity:0}}
.gbtn b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:#4285f4;font-weight:900}
.mini-stage{display:grid;justify-items:center;gap:30px}
.mini-phone{position:relative;width:240px;height:200px;border-radius:36px 36px 0 0;padding:10px 10px 0;background:linear-gradient(135deg,#3a3f4b,#0c0e13 30%,#2a2e37);box-shadow:0 0 0 2px #50576a inset}
.mini-phone .screen{height:100%;border-radius:28px 28px 0 0;background:radial-gradient(ellipse at 50% 30%,#123a8c,#040a1e);display:grid;justify-items:center;align-content:center;gap:8px;padding-top:24px}
.mini-phone .slot{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:58%;height:16px;border-radius:10px;background:#02040a;box-shadow:0 0 0 2px #1fd17a,0 0 18px 4px rgba(37,211,102,.55)}
.mini-phone .wa-big{width:56px;height:56px}.mini-phone .ballot{font-size:18px;min-height:46px}
#toast{position:fixed;z-index:90;left:50%;bottom:90px;transform:translate(-50%,20px);max-width:90vw;padding:12px 18px;border-radius:14px;background:#f3f5ff;color:#0b1020;font-weight:600;opacity:0;pointer-events:none;transition:.25s;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}

/* notes (demo) */
.nui-fab,.demo-fab{position:fixed;z-index:80;bottom:max(14px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:6px;min-height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(124,58,237,.92);color:#fff;font-weight:700;font-size:14px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.4)}
.nui-fab{left:12px;padding:8px 14px}.nui-fab.on{background:#f59e0b;color:#111}
.nui-fab .cnt{font-style:normal;background:#fff;color:#7c3aed;border-radius:999px;padding:0 7px;font-size:12px}
.demo-fab{left:auto;right:12px;width:44px;justify-content:center;background:rgba(20,24,40,.9)}
.demo-fab svg{width:22px;height:22px}
body.on-home .nui-fab,body.on-home .demo-fab{opacity:.8}
body.on-home .nui-fab span{display:none}
.nui-bar{position:fixed;z-index:80;top:0;left:0;right:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:#f59e0b;color:#111;font-weight:700;font-size:14px}
.nui-bar span{flex:1}.nui-bar .btn{color:#111;border-color:rgba(0,0,0,.3);min-height:34px}
.notes-on [data-n]{outline:1.5px dashed rgba(245,158,11,.7);outline-offset:2px;cursor:crosshair}
.notes-on .note-pick{outline:3px solid #f59e0b}
.notes-on .has-note{outline:2px solid #ef4444}
.ninfo{font-size:13px;color:var(--mut);display:grid;gap:3px;padding:10px;border-radius:12px;background:rgba(255,255,255,.05)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (min-width:700px){.entry{max-width:520px}}

.blink{animation:blink 1.4s ease-in-out infinite}
@keyframes blink{0%,100%{box-shadow:0 0 18px rgba(60,130,255,.45);filter:brightness(1)}50%{box-shadow:0 0 0 4px rgba(127,176,255,.55),0 0 34px 8px rgba(60,130,255,.85);filter:brightness(1.3)}}

/* production additions */
.hdr .me-i{display:grid;place-items:center;width:100%;height:100%;font-size:15px;font-weight:800;color:#fff}
.gbtn-wrap{display:flex;justify-content:center;min-height:48px;margin:6px 0}
.tag{display:inline-block;padding:1px 8px;border-radius:8px;font-size:12px;background:rgba(255,255,255,.12)}
