:root{--azul: #0b5bd3;--azul-2: #2f7bf0;--azul-d: #08306e;--verm: #d32f2f;--verm-2: #ef5350;--verm-d: #6e1414;--gold: #f4c430;--gold-d: #b8860b;--verde: #0f9d58;--fundo: #1e1e2f;--fundo-2: #151523;--fundo-3: #262640;--texto: #ececec;--muted: #a3a3bd;--line: rgba(255, 255, 255, .09);--panel: rgba(20, 20, 36, .86);--panel-2: rgba(32, 32, 56, .92);--good: #3ddc84;--warn: #ffb020;--bad: #ff5252;--influ: #ff7a2f;--power: #b38cff;--op: #4fc3f7;--radius: 12px;--display: "Lilita One", "Rubik", system-ui, sans-serif;--ui: "Rubik", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--fundo-2);color:var(--texto);font-family:var(--ui);overflow:hidden;-webkit-font-smoothing:antialiased}body{user-select:none;-webkit-user-select:none}input,textarea{user-select:text;-webkit-user-select:text}button{font-family:inherit}#app{position:fixed;inset:0}a{color:var(--gold)}#boot{position:fixed;inset:0;display:grid;place-content:center;gap:24px;justify-items:center;background:radial-gradient(ellipse at center,#2a2a4a 0%,var(--fundo-2) 70%);z-index:50;transition:opacity .5s}#boot img{max-width:min(420px,80vw);height:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6))}.boot-bar{width:min(320px,70vw);height:8px;border-radius:99px;background:#ffffff14;overflow:hidden}.boot-bar i{display:block;height:100%;width:30%;background:linear-gradient(90deg,var(--verde),var(--gold));animation:boot 1.2s ease-in-out infinite alternate;border-radius:99px}@keyframes boot{0%{margin-left:0}to{margin-left:70%}}canvas.game{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}.btn{appearance:none;border:0;cursor:pointer;font-family:var(--display);letter-spacing:.5px;font-size:18px;color:#fff;padding:12px 22px;border-radius:12px;background:linear-gradient(180deg,#3a3a5e,#26263f);box-shadow:inset 0 1px #ffffff1f,0 4px #11111d,0 8px 20px #00000059;transition:transform .08s,filter .15s;text-shadow:0 2px 0 rgba(0,0,0,.35);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{filter:brightness(1.12)}.btn:active{transform:translateY(2px);box-shadow:inset 0 1px #ffffff1f,0 2px #11111d}.btn:disabled{filter:grayscale(.8) brightness(.7);cursor:not-allowed}.btn.gold{background:linear-gradient(180deg,#ffd85a,#e0a800);color:#3a2400;text-shadow:0 1px 0 rgba(255,255,255,.4);box-shadow:inset 0 1px #ffffff80,0 4px #8a6400,0 8px 20px #00000059}.btn.green{background:linear-gradient(180deg,#22c271,#0f9d58);box-shadow:inset 0 1px #ffffff4d,0 4px #075f35,0 8px 20px #00000059}.btn.blue{background:linear-gradient(180deg,#2f7bf0,#0b5bd3);box-shadow:inset 0 1px #ffffff4d,0 4px #063a8a,0 8px 20px #00000059}.btn.red{background:linear-gradient(180deg,#ef5350,#c62828);box-shadow:inset 0 1px #ffffff4d,0 4px #7f1414,0 8px 20px #00000059}.btn.ghost{background:#ffffff0f;box-shadow:none;font-family:var(--ui);font-weight:600;font-size:14px}.btn.sm{font-size:14px;padding:8px 14px;border-radius:10px}.btn.xs{font-size:12px;padding:5px 9px;border-radius:8px;font-family:var(--ui);font-weight:700}.btn.block{width:100%}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 40px #00000059}.title{font-family:var(--display);letter-spacing:.5px}.muted{color:var(--muted)}.row{display:flex;gap:8px;align-items:center}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1}.center{display:grid;place-items:center}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;background:#ffffff14;text-transform:uppercase;letter-spacing:.4px}.tag.blue{background:#0b5bd359;color:#bcd6ff}.tag.red{background:#d32f2f59;color:#ffc9c9}.tag.gold{background:#f4c43040;color:var(--gold)}.tag.green{background:#0f9d584d;color:#a6f0c8}input.field,select.field{width:100%;background:#00000059;border:1px solid var(--line);color:var(--texto);padding:12px 14px;border-radius:10px;font-size:15px;font-family:var(--ui);outline:none;transition:border-color .15s}input.field:focus{border-color:var(--gold)}label.lbl{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}.err{color:#ff8a8a;font-size:14px;min-height:18px}.ok{color:#9ff0c3;font-size:14px}.screen{position:fixed;inset:0;overflow:auto}.landing{background:#0d0d18 url(/assets/ui/keyart.webp) center top / cover no-repeat}@media(max-aspect-ratio:1/1){.landing{background-image:url(/assets/ui/keyart_mobile.webp)}}.landing:after{content:"";position:fixed;inset:0;background:linear-gradient(180deg,#0d0d1826,#0d0d188c 55%,#0d0d18f2);pointer-events:none}.landing-inner{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:24px 16px 40px;gap:18px}.landing-logo{width:min(520px,86vw);filter:drop-shadow(0 16px 40px rgba(0,0,0,.7))}.tagline{font-family:var(--display);font-size:clamp(18px,3vw,26px);text-shadow:0 3px 0 rgba(0,0,0,.5);text-align:center}.auth-card{width:min(420px,100%);padding:22px}.auth-tabs{display:flex;gap:6px;margin-bottom:14px}.auth-tabs button{flex:1}.pill-tabs{display:flex;gap:4px;background:#0000004d;padding:4px;border-radius:12px}.pill-tabs button{flex:1;background:none;border:0;color:var(--muted);padding:9px 10px;border-radius:9px;cursor:pointer;font-weight:700;font-size:14px}.pill-tabs button.on{background:var(--fundo-3);color:#fff;box-shadow:0 2px 8px #0000004d}.code-input{letter-spacing:12px;font-size:26px!important;text-align:center;font-family:var(--display)!important}.footer-legal{position:relative;z-index:1;font-size:12px;color:var(--muted);text-align:center;padding:0 16px 16px;max-width:760px;margin:0 auto}.menu{background:radial-gradient(ellipse at 20% 0%,rgba(11,91,211,.25),transparent 50%),radial-gradient(ellipse at 80% 0%,rgba(211,47,47,.22),transparent 50%),url(/assets/ui/bg_brasilia.webp) center / cover,var(--fundo-2)}.menu:before{content:"";position:fixed;inset:0;background:#0e0e1ac7}.menu-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr minmax(300px,360px);gap:18px;padding:18px;min-height:100%;max-width:1400px;margin:0 auto}@media(max-width:900px){.menu-wrap{grid-template-columns:1fr}}.menu-top{grid-column:1 / -1;display:flex;align-items:center;gap:14px}.menu-top img{height:54px}.play-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;align-content:start}.mode-card{position:relative;padding:18px;min-height:140px;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;transition:transform .12s,border-color .12s;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#282846e6,#141424f2)}.mode-card:hover{transform:translateY(-3px);border-color:#f4c43080}.mode-card h3{margin:0;font-family:var(--display);font-size:24px;letter-spacing:.5px}.mode-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.35}.mode-card .emoji{position:absolute;top:12px;right:14px;font-size:38px;opacity:.9}.mode-card.featured{grid-column:span 2;min-height:180px;background:linear-gradient(120deg,#0b5bd38c,#d32f2f80),url(/assets/ui/loading_1.webp) center / cover}@media(max-width:560px){.mode-card.featured{grid-column:span 1}}.side{display:flex;flex-direction:column;gap:14px}.profile-card{padding:16px;display:flex;gap:12px;align-items:center}.avatar{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,var(--verde),var(--gold));display:grid;place-items:center;font-family:var(--display);font-size:24px;color:#1e1e2f;flex:none}.rank-badge{font-family:var(--display);color:var(--gold)}.progress{height:8px;border-radius:99px;background:#ffffff14;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--verde),var(--gold))}.chat{display:flex;flex-direction:column;min-height:240px;max-height:420px}.chat-log{flex:1;overflow-y:auto;padding:10px 12px;font-size:13px;line-height:1.45;display:flex;flex-direction:column;gap:3px}.chat-log .m b{font-weight:700}.chat-log .m.sys{color:var(--gold);font-style:italic}.chat-form{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line)}.chat-form input{flex:1;background:#00000059;border:1px solid var(--line);color:var(--texto);padding:9px 10px;border-radius:9px;font-size:13px;outline:none}.room-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow:auto}.room{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:#ffffff0a;border:1px solid var(--line)}.slots{display:grid;grid-template-columns:1fr 1fr;gap:14px}.slot{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;background:#ffffff0d;min-height:44px;font-size:14px}.slot.blue{border-left:4px solid var(--azul)}.slot.red{border-left:4px solid var(--verm)}.slot.empty{opacity:.6}.modal-back{position:fixed;inset:0;background:#05050c99;display:grid;place-items:center;z-index:40;padding:16px;animation:fade .15s}.modal{width:min(560px,100%);max-height:90vh;overflow:auto;padding:20px}@keyframes fade{0%{opacity:0}}.hud{position:fixed;inset:0;pointer-events:none;z-index:10;font-size:13px}.hud>*{pointer-events:auto}.hud .pe-none{pointer-events:none}.topbar{position:absolute;top:8px;left:50%;transform:translate(-50%);display:grid;grid-template-columns:minmax(150px,280px) auto minmax(150px,280px);gap:10px;align-items:center;width:min(900px,calc(100vw - 16px));pointer-events:none}.anc{padding:8px 10px}.anc .lbl2{display:flex;justify-content:space-between;font-family:var(--display);font-size:14px;letter-spacing:.5px;margin-bottom:4px}.bar{height:12px;border-radius:99px;background:#00000073;overflow:hidden;position:relative}.bar>i{position:absolute;inset:0 auto 0 0;transition:width .35s ease;border-radius:99px}.bar.blue>i{background:linear-gradient(90deg,#3d8bff,var(--azul))}.bar.red>i{background:linear-gradient(90deg,var(--verm),#ff6b6b);right:0;left:auto}.bar.op>i{background:var(--op)}.bar.thin{height:5px;margin-top:4px}.wavebox{text-align:center;padding:6px 16px 8px;min-width:170px}.wavebox .wn{font-family:var(--display);font-size:26px;line-height:1}.wavebox .wname{font-size:12px;color:var(--gold);font-weight:700;white-space:nowrap}.wavebox .timer{font-family:var(--display);font-size:20px}.wavebox .phase{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:800}.teamstat{position:absolute;top:90px;left:8px;width:210px;padding:8px;display:flex;flex-direction:column;gap:6px}.tp{display:flex;align-items:center;gap:6px;font-size:12px;padding:3px 4px;border-radius:7px;cursor:pointer}.tp:hover{background:#ffffff0f}.tp .dot{width:9px;height:9px;border-radius:50%;flex:none}.tp .nm{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:600}.tp.me .nm{color:var(--gold)}.bottom{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:min(980px,calc(100vw - 16px));display:flex;flex-direction:column;gap:6px}.res{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.res .r{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-weight:800;font-size:15px;min-width:92px;justify-content:center}.res .r small{font-weight:600;color:var(--muted);font-size:11px}.res .r .ic{width:18px;height:18px}.tabs{display:flex;gap:4px}.tabs button{flex:1;appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-family:var(--display);font-size:15px;padding:8px 6px;border-radius:10px 10px 4px 4px;cursor:pointer;letter-spacing:.5px;position:relative}.tabs button.on{color:#fff;background:var(--panel-2);border-color:#f4c43073}.tabs button .badge{position:absolute;top:-6px;right:6px;background:var(--bad);color:#fff;font-family:var(--ui);font-size:11px;font-weight:800;border-radius:99px;padding:1px 6px}.dock{padding:10px;min-height:118px}.cards{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.card{position:relative;flex:none;width:92px;border-radius:10px;background:linear-gradient(180deg,#ffffff12,#ffffff05);border:1px solid var(--line);cursor:pointer;padding:6px;text-align:center;transition:transform .08s,border-color .1s}.card:hover{transform:translateY(-2px);border-color:#ffffff4d}.card.sel{border-color:var(--gold);box-shadow:0 0 0 2px #f4c43059}.card.off{opacity:.45}.card img{width:64px;height:64px;object-fit:contain;display:block;margin:0 auto 2px}.card .nm{font-size:11px;font-weight:700;line-height:1.15;height:26px;overflow:hidden}.card .cost{font-weight:800;font-size:13px;margin-top:2px}.card .hk{position:absolute;top:4px;left:6px;font-size:10px;font-weight:800;color:var(--muted)}.card .role{position:absolute;top:4px;right:5px;font-size:12px}.gold-t{color:var(--gold)}.inf-t{color:var(--influ)}.pow-t{color:var(--power)}.op-t{color:var(--op)}.unitpanel{position:absolute;right:8px;bottom:8px;width:270px;padding:10px}.unitpanel .head{display:flex;gap:10px;align-items:center}.unitpanel img{width:58px;height:58px;object-fit:contain;background:#00000040;border-radius:10px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:3px 10px;font-size:12px;margin:8px 0}.stats span{color:var(--muted)}.ability{font-size:12px;padding:6px 8px;border-radius:8px;background:#ffffff0d;margin-top:4px;line-height:1.35}.ability b{color:var(--gold)}.waveinfo{position:absolute;top:90px;right:8px;width:250px;padding:10px;font-size:12px}.waveinfo h4{margin:0 0 4px;font-family:var(--display);font-size:16px;letter-spacing:.4px}.announce{position:absolute;top:120px;left:50%;transform:translate(-50%);text-align:center;pointer-events:none}.announce .big{font-family:var(--display);font-size:clamp(26px,4.5vw,48px);text-shadow:0 4px 0 rgba(0,0,0,.45),0 0 30px rgba(0,0,0,.5);animation:pop .35s cubic-bezier(.2,1.6,.4,1);letter-spacing:1px}.announce .small{font-weight:700;font-size:15px;text-shadow:0 2px 6px rgba(0,0,0,.8);margin-top:4px}@keyframes pop{0%{transform:scale(.6);opacity:0}}.toasts{position:absolute;top:200px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;align-items:center;pointer-events:none}.toast{padding:6px 12px;border-radius:99px;background:#0a0a14d9;font-weight:600;font-size:13px;animation:fade .2s;border:1px solid var(--line)}.toast.bad{border-color:#ff525280;color:#ffb3b3}.toast.good{border-color:#3ddc8480;color:#b7ffd6}.toast.politics{border-color:#b38cff99;color:#e2d4ff}.gamechat{position:absolute;left:8px;bottom:8px;width:300px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;gap:4px}.gamechat .log{max-height:170px;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;font-size:12.5px;text-shadow:0 1px 3px #000;pointer-events:none}.gamechat .log .m{background:#00000059;padding:2px 6px;border-radius:6px;width:fit-content;max-width:100%}.gamechat form{display:flex;gap:4px}.gamechat input{flex:1;background:#0009;border:1px solid var(--line);color:#fff;border-radius:8px;padding:7px 9px;font-size:13px;outline:none}.votebox{position:absolute;top:90px;left:50%;transform:translate(-50%);width:min(420px,calc(100vw - 16px));display:flex;flex-direction:column;gap:6px}.vote{padding:10px 12px;border-left:4px solid var(--power)}.vote .q{font-weight:700;margin-bottom:6px}.endscreen{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:16px;background:#05050c8c}.endcard{width:min(760px,100%);max-height:92vh;overflow:auto;padding:22px;text-align:center}.endcard h1{font-family:var(--display);font-size:clamp(32px,6vw,56px);margin:6px 0;letter-spacing:1px}table.st{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px}table.st th,table.st td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right}table.st th:first-child,table.st td:first-child{text-align:left}.bras{width:min(1100px,100%);max-height:92vh;overflow:auto;padding:0}.bras-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(180deg,#1e1e34fa,#18182af2);border-bottom:1px solid var(--line)}.bras-body{padding:16px;display:grid;gap:14px}.bras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.inst{padding:12px;border-radius:12px;background:#ffffff0a;border:1px solid var(--line);display:flex;flex-direction:column;gap:6px}.inst.owned-blue{border-color:#2f7bf0b3;background:#0b5bd326}.inst.owned-red{border-color:#ef5350b3;background:#d32f2f26}.inst h5{margin:0;font-size:14px;font-weight:800}.inst p{margin:0;font-size:12px;color:var(--muted);line-height:1.35}.seats{display:flex;flex-wrap:wrap;gap:4px}.seat{width:18px;height:18px;border-radius:50%}.seat.b{background:var(--azul-2)}.seat.r{background:var(--verm-2)}.seat.c{background:var(--gold)}.seat.n{background:#ffffff2e}.stf-arc{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.stf-seat{width:96px;text-align:center;font-size:11px}.stf-seat .pic{width:72px;height:72px;border-radius:50%;margin:0 auto 4px;background:#ffffff0f center / cover;border:3px solid rgba(255,255,255,.15);display:grid;place-items:center;font-size:26px}.stf-seat.b .pic{border-color:var(--azul-2)}.stf-seat.r .pic{border-color:var(--verm-2)}.stf-seat.open .pic{border-style:dashed;border-color:var(--gold)}.hint{position:absolute;bottom:210px;left:50%;transform:translate(-50%);background:#000000a6;padding:6px 12px;border-radius:99px;font-size:12px;pointer-events:none}.minimap{position:absolute;right:8px;top:8px;width:150px;padding:6px;display:flex;flex-wrap:wrap;gap:3px;justify-content:center}.minimap button{width:30px;height:22px;border-radius:5px;border:1px solid var(--line);cursor:pointer;font-size:10px;font-weight:800;color:#fff}.floaty{position:fixed;pointer-events:none;font-weight:800;font-size:14px;text-shadow:0 2px 0 rgba(0,0,0,.6);z-index:9;will-change:transform,opacity}@media(max-width:760px){.teamstat,.waveinfo{display:none}.unitpanel{bottom:200px;width:230px}.gamechat{bottom:210px;width:240px}.topbar{grid-template-columns:1fr auto 1fr}}
