:root{font-family:DM Sans,sans-serif;color:#fff;background:#090b13;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.loading{min-height:100vh;display:grid;place-items:center;background:#0d0d17}.scene{width:100%;aspect-ratio:9/16;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 12%,#39162f,#17111f 35%,#090b13 78%);container-type:inline-size;color:#fff}.scene:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,#ffffff04 50%,transparent 100%);pointer-events:none}.scene-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;flex-direction:column;padding:6.2% 7% 4%;z-index:1}.ambient{position:absolute;border-radius:50%;filter:blur(65px);opacity:.35}.ambient-a{width:60%;height:23%;top:15%;left:-30%;background:#e0267d}.ambient-b{width:60%;height:25%;top:50%;right:-36%;background:#8069cd}.eyebrow{display:flex;align-items:center;gap:7px;font-size:2.25cqw;letter-spacing:.28em;color:#ffc6dd;font-weight:800}.scene h1{font-family:Outfit,sans-serif;font-size:9.6cqw;text-align:center;line-height:.97;letter-spacing:-.06em;margin:3% 0 0;font-weight:900;text-shadow:0 3px 25px #0007}.scene h1 em{font-style:normal;color:#ff65aa}.hero-sub{font-size:2.65cqw;color:#d4c4d4;margin:2.4% 0 6%}.cards{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:3%;height:25.5%}.candidate{border:1px solid #ffffff26;border-radius:5cqw;background:linear-gradient(145deg,#ffffff17,#ffffff07 55%,#ffffff04);box-shadow:inset 0 1px #ffffff23,0 12px 32px #0006;display:flex;flex-direction:column;align-items:center;position:relative;padding:5% 3% 3%;overflow:hidden}.pink-card{border-color:#ff8fa580;background:linear-gradient(180deg,#1d0c1959,#1b0b1778 43%,#120811d9),url(/gifts/rosa-vermelha-fundo.png) 52% 38%/cover;box-shadow:inset 0 0 0 1px #ffffff26,0 12px 32px #0008}.pink-card .flower-halo{position:absolute;top:4%;right:4%;width:11cqw;height:11cqw;z-index:1;background:#180c19a8}.pink-card .candidate-name{margin-top:auto}.pink-card .candidate-name,.pink-card .candidate-code,.pink-card .candidate-votes,.pink-card .candidate-pct{text-shadow:0 2px 9px #000,0 0 15px #000b}.white-card{border-color:#ffffff8a;background:linear-gradient(180deg,#17202c26,#151b2880 44%,#10121ae8),url(/gifts/rosa-branca-fundo.png) 32% center/cover;box-shadow:inset 0 0 0 1px #ffffff40,0 12px 32px #0008}.white-card .flower-halo{position:absolute;top:4%;right:4%;width:11cqw;height:11cqw;z-index:1;background:#111925a8}.white-card .candidate-name{margin-top:auto}.white-card .candidate-name,.white-card .candidate-code,.white-card .candidate-votes,.white-card .candidate-pct{text-shadow:0 2px 9px #000,0 0 15px #000b}.flower-halo{width:17cqw;height:17cqw;border-radius:50%;display:grid;place-items:center;background:#ffffff0e;box-shadow:0 0 30px #f45a9c42,inset 0 0 22px #fff1;flex:none}.flower-halo svg,.flower-halo img{width:80%;height:80%;object-fit:contain;filter:drop-shadow(0 5px 8px #0005)}.candidate-name{font-family:Outfit,sans-serif;font-size:3.9cqw;font-weight:800;margin-top:3%;white-space:nowrap}.candidate-code{font-family:Outfit,sans-serif;font-weight:900;font-size:9.2cqw;line-height:1.1;letter-spacing:-.05em}.pink-card .candidate-code{color:#ff4f79}.candidate-line{width:80%;height:1px;background:#ffffff2c;margin:2% 0 2.5%}.candidate-votes{font-weight:800;font-size:5cqw}.candidate-votes span{font-size:2.4cqw;font-weight:600;color:#c9c4ce}.candidate-pct{font-size:2.6cqw;color:#f8b3d0;font-weight:700}.white-card .candidate-pct{color:#fff}.score-track{display:flex;width:100%;height:1.3%;margin-top:4%;border-radius:30px;background:#fff;overflow:hidden;box-shadow:0 0 18px #ff77aa7a}.score-pink{background:linear-gradient(90deg,#f4f0e9,#fff);transition:width .7s}.score-white{flex:1;background:linear-gradient(90deg,#e93869,#ff6a88)}.total-line{display:flex;justify-content:space-between;width:100%;font-size:2.1cqw;color:#cfc6d4;margin-top:1.7%}.total-line strong{color:#fff;letter-spacing:.12em}.ballot-title{font-size:2.4cqw;font-weight:800;letter-spacing:.17em;color:#f5bfda;display:flex;gap:10px;align-items:center;margin:7% 0 3.5%}.ballot-title span{color:#ff6eae}.machine-wrap{width:100%;height:33%;position:relative}.machine{position:relative;width:100%;height:100%;border:1.5cqw solid #34333b;border-radius:4cqw;background:linear-gradient(145deg,#f5f1eb,#c5c3c3 70%,#8d8993);box-shadow:0 2cqw #5b5861,0 3cqw #2d2d35,0 4cqw 5cqw #000b,inset 0 1cqw 1cqw #fff;overflow:hidden;padding:2.2%}.machine-top{height:11%;display:flex;justify-content:space-between;align-items:center;color:#34313a;padding:0 2%}.machine-brand{display:flex;gap:1cqw;align-items:center;font-size:2.35cqw;font-weight:800;line-height:.8;letter-spacing:.04em}.machine-brand b{font-size:3cqw;color:#d32978}.brand-icon{font-size:6.2cqw;color:#e23a85}.machine-led{font-size:1.65cqw;font-weight:900;letter-spacing:.1em}.machine-led i{display:inline-block;width:1.8cqw;height:1.8cqw;background:#56d49e;border-radius:50%;box-shadow:0 0 9px #39ffa9;margin-right:3px}.machine-body{display:grid;grid-template-columns:52% 45%;gap:3%;height:76%}.screen-bezel{background:linear-gradient(135deg,#42434b,#12141e);padding:2.7%;border-radius:2.3cqw;box-shadow:inset 0 0 9px #0009,0 1px 3px #fff}.screen{height:100%;background:radial-gradient(circle at 50% 30%,#263438,#131d25 75%);border:1px solid #6d8a89;border-radius:1cqw;color:#eafff7;display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 0 0 25px #65b1aa24}.screen-top,.screen-bottom{padding:3%;display:flex;justify-content:space-between;font-size:1.65cqw;letter-spacing:.1em;color:#9ac5c5;font-weight:800}.screen-live{color:#74e0a4}.screen-main{flex:1;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center}.screen-main small{font-size:1.7cqw;letter-spacing:.15em;color:#96acb3}.screen-main h2{font-family:Outfit;font-size:3.8cqw;margin:2% 0;color:#fff;min-height:5cqw}.screen-flower{height:17%;display:grid;place-items:center}.screen-flower img{width:12cqw;height:12cqw;object-fit:contain}.screen-flower span{font-size:8cqw;color:#7da9a8}.digits{display:flex;gap:1cqw;margin:3% 0}.digits span{display:grid;place-items:center;width:6.7cqw;height:8cqw;border:1px solid #a7cac0;background:#cee4d714;color:#fff;font-family:Outfit;font-weight:900;font-size:5.5cqw}.screen-main p{font-size:1.55cqw;letter-spacing:.08em;color:#9fb8b7;margin:0}.keypad{display:flex;flex-direction:column;min-width:0}.keypad-label{font-size:1.6cqw;font-weight:900;color:#4d4850;text-align:center;height:11%;letter-spacing:.08em}.num-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:3%;height:65%}.number-key{border:0;border-radius:1.2cqw;background:linear-gradient(#2d2e36,#15161d);color:#fff;font-family:Outfit;font-size:4.7cqw;font-weight:800;box-shadow:0 .8cqw #0b0d12,0 1cqw 1cqw #0007,inset 0 1px #ffffff40;transition:transform .12s,box-shadow .12s,background .12s}.number-key.pressed{transform:translateY(.65cqw);box-shadow:0 .15cqw #0b0d12,inset 0 0 2cqw #ff89b3;background:#d84388}.action-row{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:2%;height:19%;margin-top:6%}.action-key{border:0;border-radius:.8cqw;padding:0 1px;font-size:1.4cqw;font-weight:900;box-shadow:0 .6cqw #777,inset 0 1px #ffffff9c;color:#29212a;transition:transform .12s}.action-key.pressed{transform:translateY(.5cqw);box-shadow:0 .1cqw #666}.branco{background:#fff}.corrige{background:#f7a453}.confirma{background:#54c994;color:#093a26;box-shadow:0 .6cqw #287654,inset 0 1px #ffffff9c}.machine-foot{height:13%;display:flex;align-items:center;justify-content:space-between;font-size:1.5cqw;color:#65616a;font-weight:800;letter-spacing:.07em;padding:0 3%}.under-machine{display:flex;flex-direction:column;align-items:center;margin-top:7%;gap:.8cqw;font-size:3cqw;letter-spacing:.08em;font-weight:900}.under-machine b{color:#ff67a5}.under-machine small{font-size:1.65cqw;letter-spacing:.15em;color:#b5a8b9}.hand{position:absolute;z-index:5;width:19cqw;height:31cqw;transform:translate(-32%);opacity:0;transition:left .36s cubic-bezier(.2,.8,.2,1),top .36s cubic-bezier(.2,.8,.2,1),transform .14s,opacity .18s;pointer-events:none;filter:drop-shadow(2cqw 3cqw 1.5cqw #000a)}.hand.show{opacity:1}.hand.down{transform:translate(-32%,.6cqw) scale(.96)}.finger{position:absolute;top:0;left:6cqw;width:6cqw;height:19cqw;border-radius:3cqw;background:linear-gradient(90deg,#b87464,#f5c4a9 30%,#f7d0b9 64%,#b77768);box-shadow:inset -.5cqw 0 .7cqw #8c514b66;z-index:2;transform:rotate(-6deg);transform-origin:bottom}.nail{position:absolute;top:1.2cqw;left:1.05cqw;width:3.7cqw;height:4.3cqw;border-radius:2.1cqw;background:linear-gradient(#ffdfd9,#eeb5af);box-shadow:inset 0 0 .4cqw #fff8}.palm{position:absolute;top:14cqw;left:2.5cqw;width:13cqw;height:16cqw;border-radius:7cqw 7cqw 3cqw 3cqw;transform:rotate(-15deg);background:linear-gradient(110deg,#a76357,#e6ad92 35%,#eec0a6 67%,#ae6f60)}.thumb{position:absolute;top:15cqw;left:-.5cqw;width:6cqw;height:12cqw;border-radius:4cqw;transform:rotate(-35deg);background:linear-gradient(90deg,#ae6f62,#edb69c)}.ranking-panel{position:absolute;z-index:6;width:36%;padding:2.1cqw;border:1px solid #ffb4d477;border-radius:2.8cqw;background:linear-gradient(145deg,#1a1427eb,#21111feb);box-shadow:0 1cqw 3cqw #000a,0 0 3cqw #f65a9c31;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:none}.ranking-heading{font-family:Outfit,sans-serif;font-size:2.6cqw;font-weight:900;letter-spacing:.05em;color:#ffbcd8;margin-bottom:1cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-row{display:flex;align-items:center;gap:1cqw;border-top:1px solid #ffffff1a;padding:1cqw 0;font-size:2.15cqw}.ranking-row strong{color:#ff9cc8}.ranking-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-row b{white-space:nowrap;color:#ffe1ee}.ranking-empty{font-size:2.1cqw;color:#d9c9d4;padding:1cqw 0}.vote-notice{position:absolute;z-index:9;bottom:9%;left:8%;width:84%;border:1px solid #ffc2dc69;background:linear-gradient(100deg,#5b203fdd,#2b2635ef);border-radius:3cqw;box-shadow:0 1cqw 4cqw #0008;padding:3%;font-size:2.7cqw;font-weight:800;display:flex;gap:2cqw;align-items:center;animation:notice-in .25s ease-out}.vote-notice svg{color:#ff93bb;flex:none}.queue-note{position:absolute;right:8%;bottom:4%;font-size:2cqw;color:#f7d7e5}.scene-flash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;pointer-events:none;animation:flash .8s forwards}.pink-flash:after{background:#ff4d9c}.white-flash:after{background:#fff}@keyframes flash{0%{opacity:.33}to{opacity:0}}@keyframes notice-in{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.petals i{position:absolute;z-index:8;top:58%;left:calc(12% + var(--i)*5%);color:#ff99c4;font-style:normal;font-size:4cqw;animation:petal 1.2s ease-out forwards;animation-delay:calc(var(--i)*35ms)}@keyframes petal{to{transform:translate(calc((var(--i) - 8)*2cqw),-25cqw) rotate(160deg);opacity:0}}.preview-page{min-height:100vh;background:radial-gradient(circle at 50% 0%,#392035,#11121a 50%);padding:28px 20px 55px;display:flex;align-items:center;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;width:min(440px,100%);margin-bottom:20px}.preview-header div{display:flex;flex-direction:column}.preview-header b{font-family:Outfit;font-size:20px}.preview-header span{font-size:12px;color:#a9a2af}.preview-header a{font-size:12px;color:#ff90ba}.preview-frame{width:min(440px,calc(100vw - 40px));box-shadow:0 25px 90px #000d;border:1px solid #ffffff24;border-radius:14px;overflow:hidden}.admin-page{display:flex;min-height:100vh;background:#10111a;color:#f8f7fb}.sidebar{width:230px;flex:none;background:#171821;border-right:1px solid #ffffff0f;display:flex;flex-direction:column;padding:27px 18px;position:sticky;top:0;height:100vh}.sidebar-logo{display:flex;align-items:center;gap:10px;font-family:Outfit;font-size:20px;font-weight:800}.sidebar-logo>span{font-size:37px;color:#f961a5}.sidebar-logo b{color:#f961a5}.sidebar-logo small{display:block;font:700 9px DM Sans;letter-spacing:.18em;color:#aaa2af}.side-nav{display:flex;flex-direction:column;gap:8px;margin-top:50px}.side-nav>*{padding:12px 13px;border-radius:10px;color:#a8a6b2;font-size:13px}.side-nav .active{background:#f6539c1c;color:#ff8cba;font-weight:800}.side-nav a:hover{background:#ffffff0a}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:10px}.demo-pill{font-size:10px;font-weight:800;color:#ff96bf;background:#ed3c8521;border:1px solid #ed3c8535;padding:9px;border-radius:8px}.sidebar-bottom small{color:#777885;font-size:10px}.admin-main{flex:1;min-width:0;max-width:1420px;margin:auto;padding:32px 38px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.mini-label{font-size:10px;letter-spacing:.2em;font-weight:900;color:#f782b3}.admin-header h2{font:800 31px Outfit;margin:7px 0}.admin-header h2 span{color:#f95fa3}.admin-header p,.muted{color:#999aa8;font-size:13px;margin:0}.status-pill{border:1px solid #f175aa50;background:#f175aa12;border-radius:30px;padding:9px 15px;font-size:11px;font-weight:900;color:#efa1c0}.status-pill i{display:inline-block;width:7px;height:7px;background:#fa6ba6;border-radius:50%;margin-right:7px}.status-pill i.online{background:#55d5a4}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.8fr);gap:20px}.left-col,.right-col{display:flex;flex-direction:column;gap:19px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-card{height:197px;border-radius:15px;padding:17px 20px;border:1px solid #ffffff20;overflow:hidden}.stat-pink{background:radial-gradient(circle at 15% 5%,#ff69b037,#241827 70%);border-color:#f667a442}.stat-white{background:radial-gradient(circle at 15% 5%,#ffffff32,#24252d 70%)}.stat-top{display:flex;justify-content:space-between;align-items:start}.stat-top span{font:800 23px Outfit;color:#ff8cbb}.stat-white .stat-top span{color:#fff}.stat-name{font-size:14px;font-weight:700;margin-top:0}.stat-number{font:900 42px Outfit;line-height:1.15}.stat-bottom{display:flex;justify-content:space-between;color:#aaa9b4;font-size:10px;letter-spacing:.1em}.stat-bottom strong{font-size:15px;color:#ff88b8}.stat-white .stat-bottom strong{color:#fff}.section-card{background:#1a1b25;border:1px solid #ffffff12;border-radius:15px;padding:21px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-heading h3{font:800 18px Outfit;margin:4px 0 0}.section-heading>svg{color:#e578ac;cursor:pointer}.sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.sim{border:1px solid #ffffff20;background:#292a35;color:#e9e6ee;border-radius:9px;padding:11px 9px;font-size:12px;font-weight:800}.sim:hover{filter:brightness(1.2)}.sim.primary{background:#e94792;border-color:#ee6fa9;color:#fff}.sim.light{background:#eeeaf0;color:#24212a}.sim.wide{grid-column:span 2}.sim.reset{display:flex;justify-content:center;align-items:center;gap:8px;background:#3a1f2d;border-color:#f582ab88;color:#ffcfdf}.sim.reset:hover{background:#62304a}.event-list{min-height:165px}.event-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff0d;font-size:12px;color:#d4d2dc}.event-item i{width:7px;height:7px;background:#f66aa6;border-radius:50%;flex:none}.event-item i.pending{background:#f3a65e}.event-item small{margin-left:auto;color:#777985}.mini-preview{width:170px;max-height:300px;overflow:hidden;margin:0 auto 14px;border:1px solid #ffffff20;box-shadow:0 12px 35px #0008}.mini-preview .scene{width:100%}.preview-links{display:flex;justify-content:space-between;gap:8px;align-items:center}.preview-links button,.preview-links a,.text-button{background:none;border:0;color:#ee92bc;font-size:11px;font-weight:800;display:flex;align-items:center;gap:5px}.field-label{display:block;color:#aaaab7;font-size:11px;font-weight:700;margin:12px 0 6px}.connect-row{display:flex;gap:7px}.connect-row input{min-width:0;flex:1}.connect-row button{border:0;border-radius:7px;background:#e84b93;color:#fff;padding:0 11px;font-size:11px;font-weight:800}.text-button{margin-top:10px;padding:0}.ranking-admin-list{margin:12px 0}.ranking-admin-list>div{display:flex;gap:8px;align-items:center;border-bottom:1px solid #ffffff17;padding:7px 0;font-size:12px}.ranking-admin-list b{color:#ff8abb}.ranking-admin-list span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-settings input[type=range]{display:block;width:100%;accent-color:#e94792;margin-top:8px}.text-editor-card .muted{font-size:12px;line-height:1.5}.edit-texts-trigger,.text-editor-actions button{border:1px solid #f58ab47a;background:#493044;color:#fff;border-radius:8px;padding:8px 11px;font-size:11px;font-weight:800}.edit-texts-trigger:hover,.text-editor-actions button:hover{background:#70405e}.text-fields .field-label{margin:10px 0 0}.text-fields .field-label input{margin-top:6px}.text-fields small{display:block;color:#aba7b4;line-height:1.45;margin-top:12px}.text-editor-actions{display:flex;gap:8px;margin-top:14px}.text-editor-actions button:first-child{background:#e94792;border-color:#e94792}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px}.section-card input:not([type=checkbox]):not([type=color]):not([type=file]),.section-card select{width:100%;background:#11121a;color:#fff;border:1px solid #ffffff1d;border-radius:7px;padding:9px;outline:none;font-size:12px}.candidate-editor{display:grid;grid-template-columns:1fr 50px 36px 55px;gap:6px;align-items:center;margin:12px 0}.candidate-editor strong{grid-column:span 4;font-size:12px}.candidate-editor input[type=color]{width:36px;height:36px;background:none;border:0}.upload{font-size:10px;background:#2d2d38;border-radius:5px;padding:9px;cursor:pointer}.upload input{display:none}.toggle-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff0d;padding:10px 0;font-size:12px;color:#d8d4df}.toggle-row input{accent-color:#ef559a}.bottom-actions{display:flex;justify-content:space-between;gap:20px;background:#1a1b25;border:1px solid #ffffff12;border-radius:15px;padding:18px 20px;margin-top:20px;font-size:12px}.pending-row{margin-top:9px;color:#afaab7}.pending-row button,.admin-buttons button,.admin-buttons a{border:1px solid #ffffff1d;background:#2a2b35;color:#fff;padding:9px 12px;border-radius:8px;font-size:11px;font-weight:800}.pending-row button{margin-left:5px}.admin-buttons{display:flex;align-items:start;gap:8px;flex-wrap:wrap}.admin-buttons>*{display:flex;align-items:center;gap:5px}.admin-buttons .danger{color:#ffa2bf;border-color:#b8416860}.error-banner{background:#8b293c;color:#fff;padding:12px;border-radius:8px;margin-bottom:15px;font-size:12px;cursor:pointer}@media(max-width:900px){.sidebar{display:none}.admin-main{padding:20px}.dashboard-grid{grid-template-columns:1fr 270px}.settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.dashboard-grid,.settings-grid{grid-template-columns:1fr}.admin-header h2{font-size:25px}.right-col{order:-1}.mini-preview{width:150px}.bottom-actions{flex-direction:column}.scene{min-height:100vh;aspect-ratio:9/16}}.overlay-scene{background:radial-gradient(ellipse at 50% 43%,#160f1de8 0%,#130e1ad8 52%,#0a0b13ba 75%,transparent 100%)}.audio-unlock{position:absolute;z-index:20;left:50%;bottom:1.5%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:1.2cqw;width:75%;min-height:7cqw;padding:1.2cqw 2cqw;border:1px solid #ffabd6;border-radius:2cqw;background:#bc1f6a;color:#fff;box-shadow:0 .5cqw 2.5cqw #000b;font:800 2.4cqw Outfit,sans-serif;cursor:pointer}.audio-unlock:hover{background:#e43588}.audio-unlock svg{width:3.2cqw;height:3.2cqw;flex:none}
