.playful-game.tank-fortress-app{--play-accent:#d9822b;--play-shadow:#8a6a3a;--play-soft:#fff1d6;--play-ink:#2f2a22;--tf-olive:#4c6a3c;--tf-gold:#ffc93c;position:fixed;inset:0;height:100dvh;background:#2f4a3a;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overflow:hidden;overflow:clip}.tank-fortress-app .tf-scene{position:absolute;inset:0;width:100%;height:100dvh;display:block;touch-action:none}.tank-fortress-app .tf-dpad{position:absolute;z-index:4;display:none;width:156px;height:156px;border-radius:50%;left:calc(env(safe-area-inset-left, 0px) + 16px);bottom:calc(env(safe-area-inset-bottom, 0px) + 18px);background:radial-gradient(circle,rgba(255,255,255,.18) 0 22%,rgba(20,30,20,.38) 23% 100%);border:3px solid rgba(255,255,255,.75);touch-action:none}.tank-fortress-app .tf-arrow{position:absolute;width:0;height:0;border:17px solid transparent;opacity:.8}.tank-fortress-app .tf-arrow.up{left:50%;top:10px;margin-left:-17px;border-bottom:24px solid #fff;border-top:0}.tank-fortress-app .tf-arrow.down{left:50%;bottom:10px;margin-left:-17px;border-top:24px solid #fff;border-bottom:0}.tank-fortress-app .tf-arrow.left{top:50%;left:10px;margin-top:-17px;border-right:24px solid #fff;border-left:0}.tank-fortress-app .tf-arrow.right{top:50%;right:10px;margin-top:-17px;border-left:24px solid #fff;border-right:0}.tank-fortress-app .tf-dpad[data-dir="0"] .up,.tank-fortress-app .tf-dpad[data-dir="1"] .right,.tank-fortress-app .tf-dpad[data-dir="2"] .down,.tank-fortress-app .tf-dpad[data-dir="3"] .left{opacity:1;filter:drop-shadow(0 0 8px var(--tf-gold)) drop-shadow(0 0 2px var(--tf-gold))}.tank-fortress-app .tf-fire{position:absolute;z-index:4;display:none;align-items:center;justify-content:center;width:104px;height:104px;border-radius:50%;right:calc(env(safe-area-inset-right, 0px) + 18px);bottom:calc(env(safe-area-inset-bottom, 0px) + 30px);border:4px solid #fff;color:#fff;font:800 20px/1 Playful,Avenir Next,sans-serif;letter-spacing:.05em;background:radial-gradient(circle at 35% 30%,#ff8a4a,#c2401f 70%);box-shadow:0 6px 0 rgba(0,0,0,.3);touch-action:none;transition:transform .08s}.tank-fortress-app .tf-fire.on{transform:translateY(4px) scale(.96);box-shadow:0 2px 0 rgba(0,0,0,.3)}@media (hover:none),(pointer:coarse){.tank-fortress-app[data-phase=play] :is(.tf-dpad,.tf-fire){display:flex}.tank-fortress-app[data-phase=play] .tf-dpad{display:block}.tank-fortress-app .tf-keys{display:none}}.tank-fortress-app .tf-hud{position:absolute;z-index:5;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top, 0px) + 10px);display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 16px);pointer-events:none}.tank-fortress-app:is([data-phase=menu],[data-phase=loading],[data-phase=party],[data-phase=results]) :is(.tf-hud,.tf-powers,.tf-keys){visibility:hidden}.tank-fortress-app.tf-online[data-phase=party] .tf-hud{visibility:visible}.tank-fortress-app[data-phase=party] :is(.tf-stage,.tf-seats,.tf-foes){display:none}.tank-fortress-app .tf-foes,.tank-fortress-app .tf-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:92px;min-height:44px;padding:3px 12px;border:3px solid #fff;border-radius:14px;background:rgba(255,248,232,.95);box-shadow:0 4px 0 var(--play-shadow)}.tank-fortress-app .tf-stage span{font-size:11px;font-weight:800;color:#7a6a4a;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.tank-fortress-app .tf-stage b{font-size:16px;line-height:1.1;color:var(--tf-olive);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tank-fortress-app .tf-foes{flex-direction:row;gap:5px;font-weight:800}.tank-fortress-app .tf-foes b{font-size:20px;color:#c2401f;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tank-fortress-app .tf-foes small{font-size:11px;color:#7a6a4a;text-transform:uppercase}.tank-fortress-app .tf-foe-ico{width:16px;height:13px;border-radius:3px;background:#8e9aa4;box-shadow:inset 0 -3px 0 #3b3f46,6px -5px 0 -3px #3b3f46}.tank-fortress-app .tf-pool{margin-left:4px;color:#d0346a;font-size:14px}.tank-fortress-app .tf-team{font-size:20px;min-width:22px;text-align:center}.tank-fortress-app .tf-team.t0{color:#d98a10}.tank-fortress-app .tf-team.t1{color:#2b7ad6}.tank-fortress-app .tf-bases{display:flex;flex-direction:column;gap:3px}.tank-fortress-app .tf-bases i{display:block;width:40px;height:6px;border-radius:3px;background:linear-gradient(90deg,currentColor calc(var(--hp) * 100%),#ddd 0)}.tank-fortress-app .tf-bases i.t0{color:#ffb02e}.tank-fortress-app .tf-bases i.t1{color:#3d8bff}.tank-fortress-app.tf-frozen .tf-foes{background:#e4f3ff}.tank-fortress-app .tf-seats{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;max-width:min(46vw,520px)}.tank-fortress-app .tf-seat{display:flex;align-items:center;gap:4px;padding:3px 8px 3px 4px;border:2px solid #fff;border-radius:12px;background:rgba(255,248,232,.93);font-size:12px;font-weight:800;color:var(--play-ink);box-shadow:0 3px 0 rgba(0,0,0,.18)}.tank-fortress-app .tf-seat i{width:14px;height:14px;border-radius:4px;background:var(--c);box-shadow:0 0 0 2px rgba(0,0,0,.25)}.tank-fortress-app .tf-seat.me{background:#fff2b8}.tank-fortress-app .tf-seat.ko{opacity:.6}.tank-fortress-app .tf-seat.out{opacity:.4;text-decoration:line-through}.tank-fortress-app .tf-seat-name{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tank-fortress-app .tf-lives{color:#d0346a}.tank-fortress-app .tf-stars{color:#e0a000;letter-spacing:-1px}.tank-fortress-app .tf-frags{color:#c2401f}.tank-fortress-app .tf-hud-btns{display:flex;gap:6px;pointer-events:auto}.tank-fortress-app .tf-icon-btn{display:grid;place-items:center;width:44px;height:44px;border:3px solid #fff;border-radius:14px;background:#fff8e8;color:var(--play-ink);box-shadow:0 4px 0 var(--play-shadow);cursor:pointer}.tank-fortress-app .tf-icon-btn .off,.tank-fortress-app .tf-icon-btn[aria-pressed=true] .on{display:none}.tank-fortress-app .tf-icon-btn[aria-pressed=true] .off{display:inline}.tank-fortress-app .tf-only-online{display:none}.tank-fortress-app.tf-online .tf-only-online{display:grid}.tank-fortress-app.tf-online p.tf-only-online{display:block}.tank-fortress-app .tf-powers{position:absolute;z-index:5;right:calc(env(safe-area-inset-right, 0px) + 12px);top:calc(env(safe-area-inset-top, 0px) + 66px);display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}.tank-fortress-app .tf-pow{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 3px;border-radius:12px;background:rgba(255,248,232,.93);border:2px solid #fff;font-size:13px;font-weight:800}.tank-fortress-app .tf-stun{background:#dff2ff;color:#1f5a8a;padding:3px 10px}.tank-fortress-app .tf-keys{position:absolute;z-index:4;bottom:calc(env(safe-area-inset-bottom, 0px) + 10px);left:50%;transform:translateX(-50%);margin:0;padding:3px 10px;border-radius:10px;background:rgba(255,248,232,.78);font-size:13px;font-weight:700;color:rgba(40,34,24,.8);white-space:nowrap}.tank-fortress-app .tf-net{position:absolute;z-index:30;left:6px;bottom:50px;max-width:70vw;margin:0;white-space:pre-wrap;font:11px/1.3 ui-monospace,monospace;color:#fff;background:rgba(0,0,0,.55);padding:4px 6px;border-radius:6px;pointer-events:none}.tank-fortress-app .tf-net:empty{display:none}.tank-fortress-app .tf-banner{position:absolute;z-index:8;left:50%;top:34%;transform:translate(-50%,-50%) scale(.6);opacity:0;pointer-events:none;padding:10px 26px;border:4px solid #fff;border-radius:22px;background:var(--tf-gold);color:#4a3208;font:800 clamp(20px,min(5.6vw,7.5vh),48px)/1.1 Playful,Avenir Next,sans-serif;text-align:center;white-space:nowrap;box-shadow:0 6px 0 #a87a1e;transition:opacity .2s,transform .2s;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis}.tank-fortress-app .tf-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.tank-fortress-app .tf-banner.pop{animation:tf-pop .35s ease-out}.tank-fortress-app .tf-banner.win{background:#84e06b;color:#1f4a14;box-shadow:0 6px 0 #3e8f3a}.tank-fortress-app .tf-banner.lose{background:#ff7b6b;color:#fff;box-shadow:0 6px 0 #b2402f}.tank-fortress-app .tf-toast{position:absolute;z-index:8;left:50%;top:calc(env(safe-area-inset-top, 0px) + 70px);transform:translateX(-50%) translateY(-6px);opacity:0;padding:6px 16px;border-radius:14px;background:rgba(30,28,22,.86);color:#fff;font-size:15px;font-weight:800;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap}.tank-fortress-app .tf-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@keyframes tf-pop{0%{transform:translate(-50%,-50%) scale(.5)}70%{transform:translate(-50%,-50%) scale(1.12)}to{transform:translate(-50%,-50%) scale(1)}}.tank-fortress-app .overlay{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.tank-fortress-app .tf-menu{justify-content:center;align-items:flex-end;padding:20px max(24px,env(safe-area-inset-right,0px)) 20px 20px}.tank-fortress-app .tf-panel{width:min(440px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;padding:22px 24px;touch-action:pan-y}.tank-fortress-app .tf-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.12em;color:#8a6a3a}.tank-fortress-app .tf-logo{margin:2px 0 6px;font:800 clamp(40px,5vw,54px)/1 Playful,Avenir Next,sans-serif;color:var(--tf-olive);letter-spacing:-1px;transform:rotate(-2deg);text-shadow:0 4px 0 #ffd27a}.tank-fortress-app .tf-sub{margin:0 0 12px;font-size:15px;line-height:1.4}.tank-fortress-app .tf-label{margin:10px 0 6px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#7a6a4a}.tank-fortress-app .tf-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.tank-fortress-app .tf-card{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:96px;padding:8px 6px;border:3px solid #eadcc0;border-radius:16px;background:#fffdf5;color:var(--play-ink);cursor:pointer;text-align:center;transition:transform .12s,border-color .12s}.tank-fortress-app .tf-card b{font-size:15px}.tank-fortress-app .tf-card small{font-size:11px;line-height:1.2;color:#7a6a5a}.tank-fortress-app .tf-card-icon{font-size:24px}.tank-fortress-app .tf-card[aria-checked=true]{border-color:var(--play-accent);background:var(--play-soft);transform:translateY(-2px)}.tank-fortress-app .tf-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:4px}.tank-fortress-app .tf-row .tf-label{margin:8px 0 0}.tank-fortress-app .tf-chips,.tank-fortress-app .tf-stepper{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;align-items:center}.tank-fortress-app .tf-chip,.tank-fortress-app .tf-toggle{min-width:44px;min-height:44px;padding:6px 10px;border:2px solid #e4d2b0;border-radius:12px;background:#fffdf5;color:var(--play-ink);font-weight:800;font-size:14px;cursor:pointer}.tank-fortress-app .tf-toggle{flex:1 1 40%;margin-top:6px}.tank-fortress-app .tf-toggle[aria-pressed=true]{border-color:var(--play-accent);background:var(--play-soft);color:#9a4e10}.tank-fortress-app .tf-toggle[aria-pressed=false]{opacity:.6}.tank-fortress-app .tf-chip[aria-checked=true]{border-color:var(--play-accent);background:var(--play-soft);color:#9a4e10}.tank-fortress-app .tf-chip:disabled{opacity:.3;cursor:not-allowed}.tank-fortress-app .tf-stage-val{min-width:150px;text-align:center;font-weight:800;font-size:14px}.tank-fortress-app:not([data-variant=base]) .tf-only-base,.tank-fortress-app:not([data-variant=coop]) .tf-only-coop,.tank-fortress-app:not([data-variant=ffa]) .tf-only-ffa,.tank-fortress-app[data-variant=coop] .tf-not-coop{display:none}.tank-fortress-app .tf-start{margin-top:14px}.tank-fortress-app .tf-online-btn{width:100%}.tank-fortress-app .tf-best-line{margin:10px 0 0;text-align:center;font-size:13px;color:#7a6a5a}.tank-fortress-app .tf-howto{margin:8px 0 0;font-size:13px;line-height:1.45;color:#6a5a4a}.tank-fortress-app .tf-settings{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tank-fortress-app .tf-setting{flex:1 1 auto;min-height:44px;padding:6px 10px;border:2px solid #e4d2b0;border-radius:12px;background:#fffdf5;font-weight:800;font-size:13px;color:var(--play-ink);cursor:pointer}.tank-fortress-app .tf-setting[aria-pressed=false]{opacity:.5;text-decoration:line-through}.tank-fortress-app .tf-pause,.tank-fortress-app .tf-results{background:rgba(20,24,18,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:20px}.tank-fortress-app .tf-panel-small{width:min(340px,100%);text-align:center}.tank-fortress-app .tf-panel-small h2{margin:0 0 12px}.tank-fortress-app .tf-panel-results{width:min(460px,100%)}.tank-fortress-app .tf-r-title{margin:4px 0;font-size:30px;line-height:1.1;color:var(--tf-olive)}.tank-fortress-app .tf-r-sub{margin:0 0 10px;font-size:15px}.tank-fortress-app .tf-r-scorebox{display:flex;align-items:baseline;justify-content:space-between;padding:8px 14px;margin-bottom:10px;border-radius:14px;background:var(--play-soft)}.tank-fortress-app .tf-r-scorebox[hidden]{display:none}.tank-fortress-app .tf-r-scorebox b{font-size:30px;color:var(--play-accent);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tank-fortress-app .tf-r-table{width:100%;border-collapse:collapse;margin-bottom:10px;font-size:15px}.tank-fortress-app .tf-r-table th{text-align:left;font-size:12px;text-transform:uppercase;color:#7a6a4a;padding:4px 6px}.tank-fortress-app .tf-r-table td{padding:6px;border-top:1px solid #eadcc0;font-weight:700}.tank-fortress-app .tf-r-table tr.me td{background:#fff2b8}.tank-fortress-app .tf-dot{display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:3px;background:var(--c);vertical-align:-1px}.tank-fortress-app .tf-pause .big,.tank-fortress-app .tf-results .big{width:100%;margin-top:8px}.tank-fortress-app .tf-pause .a-secondary,.tank-fortress-app .tf-results .a-secondary{width:100%}.tank-fortress-app .tf-loading{background:#2f4a3a}.tank-fortress-app .backlink{position:absolute;z-index:11;top:calc(env(safe-area-inset-top, 0px) + 14px);left:calc(env(safe-area-inset-left, 0px) + 14px)}@media (max-aspect-ratio:4/5),(max-width:700px){.tank-fortress-app .tf-menu{align-items:stretch;justify-content:flex-end;padding:0}.tank-fortress-app .tf-menu .tf-panel{width:100%;max-height:64dvh;border-radius:26px 26px 0 0;border-bottom:0;padding:16px 16px calc(env(safe-area-inset-bottom, 0px) + 16px)}.tank-fortress-app .tf-logo{font-size:36px}.tank-fortress-app .tf-howto,.tank-fortress-app .tf-sub{font-size:13px}.tank-fortress-app .tf-hud{gap:5px}.tank-fortress-app .tf-foes,.tank-fortress-app .tf-stage{min-width:74px;padding:2px 8px}.tank-fortress-app .tf-stage b{font-size:13px;max-width:110px}}@media (max-width:560px) and (orientation:portrait){.tank-fortress-app .tf-hud{flex-wrap:wrap;justify-content:center;row-gap:6px;width:calc(100vw - 16px)}.tank-fortress-app .tf-seats{order:3;flex-basis:100%;justify-content:center;max-width:none;gap:3px}.tank-fortress-app .tf-seat{padding:2px 6px 2px 3px;font-size:11px}.tank-fortress-app .tf-seat-name{max-width:46px}.tank-fortress-app .tf-powers{top:auto;bottom:calc(env(safe-area-inset-bottom, 0px) + 190px);flex-direction:row;right:50%;transform:translateX(50%)}.tank-fortress-app .tf-toast{top:auto;bottom:calc(env(safe-area-inset-bottom, 0px) + 222px)}}@media (max-height:500px) and (orientation:landscape){.tank-fortress-app .tf-hud{left:calc(env(safe-area-inset-left, 0px) + 8px);transform:none;flex-direction:column;align-items:stretch;width:150px;top:calc(env(safe-area-inset-top, 0px) + 6px)}.tank-fortress-app .tf-hud-btns{order:-1;justify-content:space-between}.tank-fortress-app .tf-hud .tf-icon-btn{width:44px;height:44px}.tank-fortress-app .tf-seats{flex-direction:column;max-width:none}.tank-fortress-app .tf-seat:nth-child(n+3){display:none}.tank-fortress-app .tf-dpad{width:140px;height:140px}.tank-fortress-app .tf-fire{width:92px;height:92px}.tank-fortress-app .tf-powers{top:calc(env(safe-area-inset-top, 0px) + 8px)}.tank-fortress-app .tf-menu{align-items:flex-end;justify-content:center;padding:8px}.tank-fortress-app .tf-menu .tf-panel{width:min(400px,56vw);max-height:calc(100dvh - 16px);border-radius:22px;padding:12px 14px}.tank-fortress-app .tf-logo{font-size:30px}.tank-fortress-app .tf-howto,.tank-fortress-app .tf-sub{display:none}.tank-fortress-app .tf-card{min-height:60px}.tank-fortress-app .backlink,.tank-fortress-app .tf-card small{display:none}}@media (prefers-reduced-motion:reduce){.tank-fortress-app .tf-banner.pop{animation:none}}