*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:#0b0f0d;color:#f4f1e8;font-family:system-ui,sans-serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body.duel{overflow:hidden;overscroll-behavior:none}input{user-select:text;-webkit-user-select:text}.settings-toggle{position:fixed;right:10px;bottom:10px;z-index:2;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#00000073;color:#f4f1e8;font-size:20px;line-height:1;cursor:pointer;touch-action:manipulation}.menu-toggle{position:fixed;left:10px;top:clamp(52px,13.4vh,78px);z-index:2;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#00000073;color:#f4f1e8;font-size:18px;line-height:1;text-decoration:none;touch-action:manipulation}.round-end{position:fixed;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000059;font-family:Inter,Segoe UI,system-ui,sans-serif;animation:round-end-fade .25s ease-out}.round-end-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:min(320px,80vw);padding:22px 32px 20px;text-align:center;background:#0a0c0feb;border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 24px 60px #0009;animation:round-end-pop .45s cubic-bezier(.2,1.4,.4,1)}.round-end-title{margin:0;font-family:Russo One,Arial Black,sans-serif;font-size:clamp(34px,7vw,56px);font-weight:400;letter-spacing:.04em;line-height:1.1}.round-end.is-win .round-end-title{color:#e8825a;text-shadow:0 0 18px rgba(232,130,90,.9),0 0 48px rgba(232,130,90,.45);animation:round-end-glow 1.2s ease-in-out infinite alternate}.round-end.is-loss .round-end-title{color:#f4f1e8b3}.round-end.is-draw .round-end-title{color:#cfcfcf}.round-end-subtitle{margin:0;font-size:16px;font-weight:600}.round-end-score{display:flex;align-items:baseline;gap:10px;margin-top:6px;font-family:Russo One,Arial Black,sans-serif;font-size:34px}.round-end-score-mine{color:#e8825a}.round-end-score-theirs,.round-end-score-colon{opacity:.6}.round-end-reason{margin:0;font-size:13px;color:#f4f1e899}.round-end-buttons{display:flex;gap:10px;margin-top:12px}.round-end-fight,.round-end-menu{padding:11px 24px;font-family:inherit;font-size:15px;font-weight:700;text-decoration:none;border-radius:10px;cursor:pointer;touch-action:manipulation}.round-end-fight{color:#0b0f0d;background:#4cc27a;border:0}.round-end-fight:hover{background:#62d48c}.round-end-menu{color:#f4f1e8;background:#ffffff1a;border:1px solid rgba(255,255,255,.25)}.round-end-menu:hover{background:#ffffff29}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti-piece{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;opacity:.95;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes round-end-fade{0%{opacity:0}}@keyframes round-end-pop{0%{transform:scale(.6);opacity:0}}@keyframes round-end-glow{to{text-shadow:0 0 28px rgba(232,130,90,1),0 0 70px rgba(232,130,90,.6)}}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(720deg);opacity:.7}}.autofire-toggle{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:0;width:52px;height:52px;border:2px solid rgba(255,255,255,.3);border-radius:50%;background:#00000073;color:#f4f1e8;font-size:12px;font-weight:700;letter-spacing:.05em;cursor:pointer;touch-action:manipulation}.autofire-toggle.is-active{background:#e8825ad9;border-color:#ffd1b8;color:#0b0f0d}.settings{position:fixed;top:0;right:0;bottom:0;z-index:1;width:min(300px,70vw);padding:12px 14px 60px;overflow-y:auto;background:#08090ceb;border-left:1px solid rgba(255,255,255,.15);font-size:13px;touch-action:pan-y}.settings-title{font-size:16px;font-weight:700;margin-bottom:10px}.settings-row{display:block;margin-bottom:12px}.settings-head{display:flex;justify-content:space-between;font-weight:600}.settings-value{color:#e8825a;font-family:ui-monospace,monospace}.settings-hint{font-size:11px;opacity:.6;margin:2px 0 4px}.settings-row input[type=range]{width:100%;margin:0}.settings-modes{display:flex;gap:6px;margin-top:6px}.settings-mode{flex:1;padding:7px 4px;font-size:12px;color:#f4f1e8;background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer}.settings-mode.is-active{background:#e8825a59;border-color:#e8825a}.settings-check{display:block;margin-bottom:12px}.style-picker{position:relative;margin-top:6px}.style-toggle,.style-option{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;width:100%;padding:8px 10px;text-align:left;font-family:inherit;font-size:13px;color:#f4f1e8;background:#ffffff0f;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer}.style-toggle:hover,.style-toggle.is-open{border-color:#e8825acc}.style-toggle .style-preview,.style-option .style-preview{grid-column:1 / -1;display:block;border-radius:3px;background:#1a1d22}.style-name{font-family:Russo One,Arial Black,sans-serif;font-size:13px;letter-spacing:.01em}.style-hint{grid-column:1 / -1;font-size:11px;line-height:1.3;opacity:.6}.style-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:3;display:flex;flex-direction:column;gap:4px;max-height:min(60vh,440px);padding:6px;overflow-y:auto;background:#0a0c0ff7;border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 16px 40px #0009}.style-option{background:transparent;border-color:transparent}.style-option:hover{background:#ffffff12}.style-option.is-selected{background:#e8825a24;border-color:#e8825a99}.settings-check .settings-head{justify-content:flex-start;align-items:center;gap:6px}.settings-check input{margin:0}.settings-group-title{margin:18px 0 8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f4f1e873}.settings-reset{padding:8px 12px;font-size:13px;color:#f4f1e8;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:8px;cursor:pointer}.lab{padding:16px;display:flex;flex-direction:column;gap:12px;font-size:13px}.lab-controls{display:flex;gap:8px;flex-wrap:wrap}.lab select{max-width:834px;padding:6px;font-size:14px}.fx-lab .lab-controls{align-items:center}.fx-stage-canvas{display:block;max-width:100%;border:1px solid rgba(255,255,255,.3)}.fx-params{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 16px;max-width:1280px}.fx-params button{grid-column:1 / -1;justify-self:start}.fx-param{display:grid;grid-template-columns:1fr 120px;align-items:center;gap:8px;font-size:12px;color:#f4f1e8b3}.fx-sheet{display:flex;flex-direction:column;gap:8px}.fx-sheet canvas{max-width:100%;border:1px solid rgba(255,255,255,.3)}.fx-download{color:#e8825a;align-self:flex-start}.fx-review h2{margin:0;font-family:Russo One,sans-serif;font-size:18px;font-weight:400}.fx-round-links{display:flex;gap:12px}.fx-round-links a,.fx-lab a{color:#f4f1e8b3}.fx-round-links a.is-selected{color:#e8825a}.fx-review button.is-selected,.fx-lightbox-bar button.is-selected{color:#0b0f0d;background:#e8825a;border-color:#e8825a}.fx-review-grid{display:flex;flex-direction:column;gap:20px}.fx-review-row{display:flex;flex-wrap:wrap;gap:12px}.fx-review-row h3{flex-basis:100%;margin:0;font-size:14px;font-weight:600;color:#f4f1e8cc}.fx-cell{margin:0;display:flex;flex-direction:column;gap:6px;cursor:zoom-in;border:1px solid rgba(255,255,255,.15);border-radius:4px;overflow:hidden;background:#0b0f0d}.fx-cell.is-pick{border-color:#e8825a}.fx-cell canvas{display:block}.fx-cell figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:6px;width:0;min-width:100%;padding:0 10px 8px;font-size:12px}.fx-cell-note{flex-basis:100%;color:#f4f1e88c}.fx-badge{padding:1px 6px;border-radius:3px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#0b0f0d;background:#f4f1e899}.fx-badge.is-pick{background:#e8825a}.fx-like{display:inline-flex;align-items:center;gap:4px;cursor:pointer;color:#f4f1e8b3}.fx-cell.is-liked{box-shadow:0 0 0 2px #5dffa0}.fx-picks-count{margin-left:auto;color:#f4f1e8b3}.fx-collect{padding:10px 18px;font-family:Russo One,sans-serif;font-size:15px;color:#0b0f0d;background:#e8825a;border:0;border-radius:6px;cursor:pointer}.fx-popup{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#050608cc}.fx-popup-box{display:flex;flex-direction:column;gap:12px;width:min(640px,90vw);padding:20px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#0b0f0d}.fx-popup-box h3{margin:0;font-family:Russo One,sans-serif;font-weight:400}.fx-popup-text{width:100%;padding:10px;font:13px/1.5 ui-monospace,monospace;color:#f4f1e8;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:4px;resize:vertical}.fx-popup-actions{display:flex;gap:8px}.fx-popup-copy{color:#0b0f0d;background:#e8825a;border-color:#e8825a}.fx-lightbox{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:#050608f5}.fx-lightbox-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.12);font-size:13px}.fx-lightbox-caption{flex:1;color:#f4f1e8cc}.fx-lightbox-viewport{flex:1;overflow:auto;display:grid;place-items:start;padding:16px}.fx-lightbox-canvas{display:block;margin:auto;border:1px solid rgba(255,255,255,.2)}.rotate-hint{position:fixed;z-index:100;top:12px;left:50%;transform:translate(-50%);padding:10px 18px;font-size:16px;font-weight:600;color:#0b0f0d;background:#e8825a;border-radius:999px;pointer-events:none}#stage{display:block;width:100vw;height:100vh;cursor:crosshair;touch-action:none}.overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.8)}.overlay-title{font-size:clamp(32px,8vw,96px);font-weight:700}.overlay-error{color:#ff6b57;font-size:clamp(18px,3vw,32px)}.overlay-hint{font-size:18px;opacity:.8}.overlay-link{pointer-events:auto;width:min(90vw,560px);padding:10px 14px;font-size:16px;font-family:ui-monospace,monospace;color:#f4f1e8;background:#ffffff14;border:1px solid rgba(255,255,255,.3);border-radius:8px}.overlay-buttons{display:flex;gap:12px;margin-top:4px}.overlay-button{pointer-events:auto;min-width:150px;padding:12px 20px;font-size:16px;font-weight:700;color:#0b0f0d;background:#e8825a;border:0;border-radius:10px;cursor:pointer}.open-app{position:fixed;top:10px;left:50%;transform:translate(-50%);z-index:2;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;background:#0009;border:1px solid rgba(255,255,255,.25);border-radius:999px;white-space:nowrap}.open-app-link{padding:8px 14px;font-size:14px;font-weight:700;color:#0b0f0d;background:#e8825a;border-radius:999px;text-decoration:none}.open-app-note{font-size:12px;opacity:.75}.open-app-close{width:32px;height:32px;border:0;border-radius:50%;background:#ffffff1a;color:#f4f1e8;font-size:14px;cursor:pointer}.privacy-note{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:2;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(440px,calc(100vw - 20px));box-sizing:border-box;padding:6px 6px 6px 14px;background:#0b0f0df0;border:1px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 8px 24px #00000080;font-family:Inter,Segoe UI,system-ui,sans-serif}body:has(.privacy-note:not([hidden])) .home{padding-bottom:96px}.privacy-note-text{font-size:12px;line-height:1.35;opacity:.75}.privacy-note-text a{color:#e8825a}.privacy-note .open-app-close{flex:none}.home{max-width:480px;margin:0 auto;padding:clamp(16px,6vh,64px) 20px 32px;display:flex;flex-direction:column;gap:16px;font-family:Inter,Segoe UI,system-ui,sans-serif}.home-lead,.home-more,.home-help{display:flex;flex-direction:column;gap:16px;min-width:0}.home-help{gap:10px}.home-help .help{margin:0}@media(min-width:720px){.home{max-width:920px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"title ." "lead more" "help more" "credits credits";column-gap:32px;row-gap:16px;align-items:start}.home h1{grid-area:title}.home-lead{grid-area:lead}.home-more{grid-area:more}.home-more>.stats{margin-top:0}.home-help{grid-area:help;padding-top:8px}.home-credits{grid-area:credits}}.home-credits{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:16px;font-size:11px;letter-spacing:.04em;text-align:center;opacity:.4}.home-credits a{color:#e8825a}.home h1{margin:0 0 8px;font-family:Russo One,Arial Black,sans-serif;font-size:40px;font-weight:400;letter-spacing:.02em}.home label{display:flex;flex-direction:column;gap:6px;font-size:14px;opacity:.9}.home input{padding:10px 12px;font-size:18px;font-family:inherit;color:#f4f1e8;background:#ffffff14;border:1px solid rgba(255,255,255,.3);border-radius:8px}.levels,.stats{display:flex;flex-direction:column;gap:10px;margin-top:8px}.stats-picker{display:flex;flex-direction:column;gap:10px}.stats-presets{display:flex;flex-wrap:wrap;gap:6px}.stats-preset{padding:6px 12px;font-family:inherit;font-size:13px;font-weight:600;color:#f4f1e8cc;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);border-radius:999px;cursor:pointer;touch-action:manipulation}.stats-preset.is-selected{color:#0b0f0d;background:#e8825a;border-color:#e8825a}.stats-rows{display:flex;flex-direction:column;gap:6px}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:12px}.stat-text{display:flex;flex-direction:column;gap:1px;min-width:0}.stat-name{font-family:Russo One,Arial Black,sans-serif;font-size:14px}.stat-effect{font-size:12px;opacity:.65}.stat-pips{flex:none;display:flex;gap:5px}.stat-pip{width:26px;height:26px;padding:0;background:#ffffff14;border:1px solid rgba(255,255,255,.2);border-radius:7px;cursor:pointer;touch-action:manipulation;transition:background-color .12s ease,opacity .12s ease}.stat-pip.is-filled{background:#e8825a;border-color:#e8825a}.stat-pip.is-disabled:not(.is-filled){opacity:.25}.stats-left{font-size:13px;color:#e8825a}.stats-left.is-complete{color:#f4f1e88c}.home .action:disabled{opacity:.4;cursor:not-allowed}.levels-title{margin:0;font-family:Russo One,Arial Black,sans-serif;font-size:18px;font-weight:400;letter-spacing:.02em;text-transform:uppercase;opacity:.85}.levels-row{position:relative;display:flex;align-items:center;gap:10px}.dropdown-toggle,.level{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:10px 12px;text-align:left;font-family:inherit;color:#f4f1e8;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:12px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.dropdown-toggle{flex:1}.dropdown-toggle:hover,.dropdown-toggle.is-open{border-color:#e8825acc}.dropdown-toggle:focus-visible,.level:focus-visible{outline:2px solid #e8825a;outline-offset:2px}.dropdown-chevron{flex:none;font-size:14px;opacity:.6;transition:transform .15s ease}.dropdown-toggle.is-open .dropdown-chevron{transform:rotate(180deg)}.dropdown-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:3;display:flex;flex-direction:column;gap:4px;max-height:min(60vh,440px);padding:6px;overflow-y:auto;background:#141917;border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 16px 40px #0009}.dropdown-list.is-up{top:auto;bottom:calc(100% + 6px)}.level{padding:8px 10px;background:transparent;border-color:transparent}.level:hover{background:#ffffff12}.level.is-selected{background:#e8825a24;border-color:#e8825a99}.level-badge{flex:none;min-width:34px;height:34px;padding:0 6px;display:grid;place-items:center;font-family:Russo One,Arial Black,sans-serif;font-size:16px;color:#0b0f0d;background:#e8825a;border-radius:9px}.level .level-badge{color:#f4f1e8;background:#ffffff1a}.level.is-selected .level-badge{color:#0b0f0d;background:#e8825a}.level-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.level-name{font-family:Russo One,Arial Black,sans-serif;font-size:15px;letter-spacing:.01em}.level-tagline{font-size:13px;line-height:1.3;opacity:.75}.level-hint{margin:-6px 4px 0;padding-top:8px;font-size:13px;line-height:1.45;color:#f4f1e899;border-top:1px dashed rgba(255,255,255,.12)}.level-info{flex:none;width:26px;height:26px;padding:0;font:italic 600 13px/1 Georgia,Times New Roman,serif;color:#f4f1e899;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:50%;cursor:pointer;transition:color .15s ease,border-color .15s ease}.level-info:hover,.level-info.is-open{color:#f4f1e8;border-color:#fff9}.home .action.secondary{color:#f4f1e8;background:#ffffff1a;border:1px solid rgba(255,255,255,.25)}.home .action{padding:14px;font-family:inherit;font-size:20px;font-weight:700;color:#0b0f0d;background:#e8825a;border:0;border-radius:10px;cursor:pointer;touch-action:manipulation;transition:transform .12s ease-out,filter .12s ease-out,opacity .15s ease-out}.home .action:not(:disabled):hover{filter:brightness(1.07)}.home .action:not(:disabled):active{transform:scale(.98);filter:brightness(.92)}.home .action:focus-visible{outline:2px solid #f4f1e8;outline-offset:2px}.ffa-entry{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding:14px 14px 16px;background:linear-gradient(180deg,#e8825a1a,#e8825a08);border:1px solid rgba(232,130,90,.35);border-radius:14px}.ffa-entry-row{display:flex;align-items:center;gap:10px}.ffa-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:26px}.ffa-size{position:relative}.ffa-size-toggle{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px 0 3px;font-family:inherit;font-size:13px;font-weight:600;color:#f4f1e8;background:#e8825a14;border:1px solid rgba(232,130,90,.45);border-radius:999px;cursor:pointer;touch-action:manipulation;transition:border-color .15s ease,background-color .15s ease}.ffa-size-toggle:hover,.ffa-size-toggle.is-open{background:#e8825a29;border-color:#e8825ae6}.ffa-size-toggle:focus-visible{outline:2px solid #e8825a;outline-offset:2px}.ffa-size-count{min-width:26px;padding:1px 6px;font-family:Russo One,Arial Black,sans-serif;font-size:13px;font-weight:400;line-height:18px;text-align:center;color:#0b0f0d;background:#e8825a;border-radius:999px}.ffa-size-toggle .dropdown-chevron{font-size:12px}.ffa-size-list{left:auto;width:min(340px,calc(100vw - 40px))}.ffa-size-list .level{padding:6px 10px}.ffa-size-list .level-badge{height:30px}.ffa-entry-row .action{flex:1}.ffa-locked{margin:-2px 2px 0;font-size:13px;font-weight:600;color:#e8825a}.ffa-hud{--ffa-accent: #e8825a;--ffa-enemy: #4fc3c9;--ffa-danger: #ff5a6a;--ffa-zone: #ff4d5e;--ffa-text: #f4f1e8;--ffa-muted: rgba(244, 241, 232, .62);--ffa-card: rgba(11, 13, 17, .9);--ffa-edge: rgba(255, 255, 255, .14);--ffa-ease: cubic-bezier(.2, .8, .2, 1);--ffa-top: max(10px, env(safe-area-inset-top));--ffa-feed-width: 26vw;--ffa-center-width: calc(100vw - 2 * (var(--ffa-feed-width) + 22px));position:fixed;inset:0;z-index:1;pointer-events:none;font-family:Inter,Segoe UI,system-ui,sans-serif;color:var(--ffa-text)}body.ffa .menu-toggle{top:max(10px,env(safe-area-inset-top))}.ffa-hud p,.ffa-hud h2{margin:0}.ffa-layer{opacity:0;visibility:hidden;transition:opacity .16s var(--ffa-ease),visibility 0s linear .16s}.ffa-layer.is-shown{opacity:1;visibility:visible;transition-delay:0s}.ffa-card{background:var(--ffa-card);border:1px solid var(--ffa-edge);border-radius:16px;box-shadow:0 18px 48px #0000008c;transform:scale(.96);transition:transform .18s var(--ffa-ease)}.ffa-layer.is-shown .ffa-card{transform:none}.ffa-title{font-family:Russo One,Arial Black,sans-serif;font-size:22px;font-weight:400;letter-spacing:.03em;line-height:1.1}.ffa-bot{margin-right:5px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--ffa-muted);vertical-align:.08em}.ffa-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:12px}.ffa-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.ffa-button{pointer-events:auto;min-height:38px;padding:9px 18px;font-family:inherit;font-size:14px;font-weight:700;color:var(--ffa-text);background:#ffffff14;border:1px solid rgba(255,255,255,.24);border-radius:10px;cursor:pointer;touch-action:manipulation;transition:transform .12s ease-out,filter .12s ease-out,background-color .12s ease-out,border-color .12s ease-out}.ffa-button.is-primary{color:#0b0f0d;background:var(--ffa-accent);border-color:var(--ffa-accent)}@media(hover:hover){.ffa-button:not(:disabled):hover{filter:brightness(1.08);border-color:#fff6}.ffa-button.is-primary:not(:disabled):hover{border-color:var(--ffa-accent)}}.ffa-button:not(:disabled):active{transform:scale(.97);filter:brightness(.9)}.ffa-button:focus-visible{outline:2px solid var(--ffa-text);outline-offset:2px}.ffa-button:disabled{opacity:.4;cursor:not-allowed}.ffa-spinner{flex:none;width:14px;height:14px;border:2px solid rgba(244,241,232,.22);border-top-color:var(--ffa-accent);border-radius:50%;animation:ffa-spin .9s cubic-bezier(.45,.1,.55,.9) infinite}.ffa-hint{position:relative;display:inline-flex;flex:none}.ffa-hint-toggle{pointer-events:auto;width:22px;height:22px;padding:0;font:italic 600 12px/1 Georgia,Times New Roman,serif;color:var(--ffa-muted);background:transparent;border:1px solid rgba(255,255,255,.28);border-radius:50%;cursor:pointer;touch-action:manipulation;transition:color .15s ease,border-color .15s ease}.ffa-hint.is-open .ffa-hint-toggle{color:var(--ffa-text);border-color:#fff9}@media(hover:hover){.ffa-hint-toggle:hover{color:var(--ffa-text);border-color:#fff9}}.ffa-hint-toggle:focus-visible{outline:2px solid var(--ffa-accent);outline-offset:2px}.ffa-hint-text{position:absolute;z-index:3;top:calc(100% + 6px);left:50%;width:230px;padding:8px 10px;font-family:Inter,sans-serif;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:normal;text-align:left;text-transform:none;white-space:normal;color:var(--ffa-muted);background:#0b0d11f7;border:1px solid var(--ffa-edge);border-radius:10px;box-shadow:0 10px 28px #00000080;opacity:0;visibility:hidden;transform:translate(-50%);transition:opacity .15s var(--ffa-ease),visibility 0s linear .15s}.ffa-hint.is-open .ffa-hint-text{opacity:1;visibility:visible;transition-delay:0s}.ffa-connecting{flex-direction:column;gap:12px;background:#0506088c}.ffa-connecting .ffa-spinner{width:22px;height:22px;border-width:3px}.ffa-connecting-text{font-family:Russo One,Arial Black,sans-serif;font-size:18px;letter-spacing:.04em}.ffa-lobby{background:#05060859}.ffa-lobby-card{display:flex;flex-direction:column;gap:10px;width:min(560px,calc(100vw - 120px));padding:16px 20px 18px;background:linear-gradient(180deg,#17130f,#0f1114 55%);border-color:#e8825a61}.ffa-lobby-head{display:flex;align-items:center;gap:10px}.ffa-lobby-count{margin-left:auto;font-family:Russo One,Arial Black,sans-serif;font-size:20px;color:var(--ffa-muted);white-space:nowrap}.ffa-lobby-players{font-size:32px;color:var(--ffa-accent)}.ffa-progress{position:relative;height:10px;margin-bottom:14px;background:#ffffff14;border-radius:999px}.ffa-progress-fill{height:100%;background:#e8825a8c;border-radius:inherit;transition:width .2s var(--ffa-ease),background-color .15s ease}.ffa-progress-fill.is-ready{background:var(--ffa-accent);box-shadow:0 0 12px #e8825a8c}.ffa-progress-mark{position:absolute;top:-4px;width:2px;height:18px;margin-left:-1px;background:var(--ffa-text);border-radius:1px}.ffa-progress-mark-label{position:absolute;top:19px;left:50%;font-size:11px;font-weight:600;color:var(--ffa-muted);transform:translate(-50%)}.ffa-lobby-status{font-family:Russo One,Arial Black,sans-serif;font-size:17px;letter-spacing:.01em}.ffa-roster{position:relative;display:flex;flex-wrap:wrap;gap:6px}.ffa-nick{padding:3px 10px;font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px}.ffa-nick.is-me{color:var(--ffa-accent);border-color:#e8825a99;background:#e8825a1f}.ffa-roster-more{color:var(--ffa-muted);background:transparent}.ffa-buttons .ffa-lobby-copied{font-size:12px;font-weight:600;color:var(--ffa-accent)}.ffa-countdown{position:absolute;top:max(6px,env(safe-area-inset-top));left:50%;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%)}.ffa-countdown-value{font-family:Russo One,Arial Black,sans-serif;font-size:58px;line-height:1;letter-spacing:.03em;text-shadow:0 0 22px rgba(232,130,90,.55),0 3px 14px rgba(0,0,0,.7)}.ffa-countdown-value.is-go{color:var(--ffa-accent)}.ffa-countdown-value[data-tick="0"]{animation:ffa-tick-a .42s cubic-bezier(.2,1.4,.4,1)}.ffa-countdown-value[data-tick="1"]{animation:ffa-tick-b .42s cubic-bezier(.2,1.4,.4,1)}.ffa-countdown-note{padding:3px 12px;font-size:12px;font-weight:600;color:var(--ffa-muted);background:var(--ffa-card);border-radius:999px}.ffa-scoreboard{position:absolute;inset:0 0 auto}.ffa-timer,.ffa-leader,.ffa-place{position:absolute;top:var(--ffa-top);background:#0b0d11bd;border:1px solid var(--ffa-edge)}.ffa-timer{left:50%;min-width:78px;padding:3px 14px 4px;font-family:Russo One,Arial Black,sans-serif;font-size:22px;letter-spacing:.05em;text-align:center;border-radius:12px;transform:translate(-50%);transition:color .12s ease,border-color .12s ease}.ffa-timer.is-final{color:var(--ffa-danger);border-color:#ff5a6a80}.ffa-leader{left:54px;display:flex;align-items:center;height:34px;max-width:28vw;padding:0 12px;font-size:12px;font-weight:600;white-space:nowrap;border-radius:999px}.ffa-leader-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.ffa-leader-kills{flex:none;white-space:pre}.ffa-leader.is-me{color:var(--ffa-accent);border-color:#e8825a99}.ffa-place{right:12px;padding:4px 12px 5px;text-align:right;border-radius:12px}.ffa-place-rank{font-family:Russo One,Arial Black,sans-serif;font-size:16px;line-height:1.15}.ffa-place-tally{font-size:11px;font-weight:600;color:var(--ffa-muted)}.ffa-feed{position:absolute;top:calc(var(--ffa-top) + 52px);right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ffa-feed-row{display:flex;align-items:center;gap:6px;max-width:var(--ffa-feed-width);padding:3px 10px;font-size:12px;font-weight:600;line-height:1.3;background:#0b0d11b3;border:1px solid transparent;border-radius:8px;animation:ffa-feed-in .18s var(--ffa-ease)}.ffa-feed-row.is-my-kill{background:#e8825a29;border-color:#e8825a99}.ffa-feed-row.is-my-death{background:#ff5a6a1f;border-color:#ff5a6a80}.ffa-feed-name{max-width:16ch;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ffa-feed-name.is-me{color:var(--ffa-accent)}.ffa-feed-note{font-weight:500;white-space:nowrap;color:var(--ffa-muted)}.ffa-feed-icon{flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;color:#f4f1e8d9}.ffa-feed-icon[data-cause=ricochet]{color:#ffd28c}.ffa-feed-icon[data-cause=self]{color:var(--ffa-danger)}.ffa-feed-icon[data-cause=zone]{color:var(--ffa-zone)}.ffa-death{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%)}.ffa-death-card{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:min(280px,var(--ffa-center-width));max-width:var(--ffa-center-width);padding:10px 24px 12px;text-align:center}.ffa-death-kicker{font-family:Russo One,Arial Black,sans-serif;font-size:13px;letter-spacing:.14em;color:var(--ffa-muted)}.ffa-death-title{max-width:100%;overflow:hidden;font-family:Russo One,Arial Black,sans-serif;font-size:30px;font-weight:400;line-height:1.12;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis}.ffa-death-card.is-enemy{border-color:#4fc3c966}.ffa-death-card.is-enemy .ffa-death-title{color:var(--ffa-enemy)}.ffa-death-card.is-danger{border-color:#ff5a6a73}.ffa-death-card.is-danger .ffa-death-title{color:var(--ffa-danger)}.ffa-death-card.is-zone{border-color:#ff4d5e73}.ffa-death-card.is-zone .ffa-death-title{color:var(--ffa-zone)}.ffa-death-note{font-size:13px;color:var(--ffa-muted)}.ffa-death-respawn{margin-top:4px;font-size:13px;font-weight:600;color:var(--ffa-muted)}.ffa-death-respawn-value{margin-left:2px;font-family:Russo One,Arial Black,sans-serif;font-size:22px;font-weight:400;color:var(--ffa-text);vertical-align:-2px}.ffa-spectator{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;padding:8px 20px 9px;text-align:center;background:var(--ffa-card);border:1px solid var(--ffa-edge);border-radius:14px;transform:translate(-50%)}.ffa-spectator-label{font-size:13px;color:var(--ffa-muted);white-space:nowrap}.ffa-spectator-name{font-family:Russo One,Arial Black,sans-serif;font-size:17px;font-weight:400;color:var(--ffa-enemy)}.ffa-spectator-hint{margin-top:1px;font-size:11px;color:var(--ffa-muted)}.ffa-pill{position:absolute;top:calc(var(--ffa-top) + 37px);left:50%;display:flex;align-items:center;gap:7px;width:max-content;max-width:var(--ffa-center-width);padding:2px 12px 3px;background:#0b0d11e6;border:1px solid var(--ffa-edge);border-radius:999px;box-shadow:0 8px 24px #00000073;transform:translate(-50%)}.ffa-pill-title{flex:none;font-family:Russo One,Arial Black,sans-serif;font-size:13px;letter-spacing:.04em;white-space:nowrap}.ffa-pill-note{min-width:0;overflow:hidden;font-size:11px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;color:var(--ffa-muted)}.ffa-pill .ffa-spinner{width:12px;height:12px}.ffa-final{border-color:#ff4d5e99}.ffa-final .ffa-pill-title{color:var(--ffa-zone)}.ffa-idle{border-color:#ff5a6a99}.ffa-idle .ffa-pill-title{color:var(--ffa-danger)}.ffa-final.is-started{background:#3a0c12eb;box-shadow:0 0 22px #ff4d5e59,0 8px 24px #00000073}.ffa-connection.is-returned .ffa-pill-title{color:var(--ffa-accent)}.ffa-invite{border-color:#e8825a99}.ffa-invite .ffa-pill-title{color:var(--ffa-accent)}.ffa-connection:not(.is-lost) .ffa-spinner{display:none}.ffa-results{background:#0506088c}.ffa-results-card{display:flex;align-items:stretch;gap:24px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:18px 22px 18px 24px}.ffa-results-side{display:flex;flex-direction:column;justify-content:center;gap:6px;width:230px}.ffa-results-title{font-family:Russo One,Arial Black,sans-serif;font-size:26px;font-weight:400;line-height:1.08;letter-spacing:.03em}.ffa-results-card.is-champion .ffa-results-title{color:var(--ffa-accent);text-shadow:0 0 18px rgba(232,130,90,.75),0 0 42px rgba(232,130,90,.35)}.ffa-results-card.is-podium .ffa-results-title{color:var(--ffa-accent)}.ffa-results-place{font-family:Russo One,Arial Black,sans-serif;font-size:17px}.ffa-results-survived{margin:4px 0 2px}.ffa-results-survived-badge{display:inline-block;padding:4px 11px 3px;font-family:Russo One,Arial Black,sans-serif;font-size:13px;letter-spacing:.06em;color:var(--ffa-accent);background:#e8825a29;border:1px solid var(--ffa-accent);border-radius:999px;box-shadow:0 0 16px #e8825a59;animation:ffa-survived-pop .42s cubic-bezier(.2,.9,.3,1.35) .25s both}.ffa-results-survived-note{margin-top:6px;font-size:13px;line-height:1.3;color:var(--ffa-text);animation:ffa-survived-note .2s var(--ffa-ease) .5s both}.ffa-results-next{font-size:13px;color:var(--ffa-muted)}.ffa-results-side .ffa-buttons{margin-top:10px}.ffa-results-table{align-self:center;border-collapse:separate;border-spacing:0;font-size:13px}.ffa-results-table th{padding:0 8px 6px;font-size:11px;font-weight:600;letter-spacing:.04em;text-align:left;white-space:nowrap;color:var(--ffa-muted)}.ffa-results-table th:nth-child(n+3){text-align:right}.ffa-results-table th .ffa-hint{margin-left:5px;vertical-align:middle}.ffa-results-table th .ffa-hint-toggle{width:18px;height:18px;font-size:11px}.ffa-results-table th .ffa-hint-text{right:-6px;left:auto;transform:none}.ffa-results-table td{padding:3px 8px;white-space:nowrap}.ffa-results-place-cell{font-family:Russo One,Arial Black,sans-serif;color:var(--ffa-muted)}.ffa-results-name{max-width:18ch;overflow:hidden;font-weight:600;text-overflow:ellipsis}.ffa-results-number{text-align:right;font-variant-numeric:tabular-nums}.ffa-results-row.is-me td{color:var(--ffa-accent);background:#e8825a24}.ffa-results-row.is-me td:first-child{border-radius:8px 0 0 8px}.ffa-results-row.is-me td:last-child{border-radius:0 8px 8px 0}.ffa-results-gap td{padding:0 8px;font-size:11px;line-height:10px;text-align:center;color:var(--ffa-muted)}.ffa-fatal{background:#050608b8}.ffa-fatal-card{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(460px,calc(100vw - 32px));padding:22px 28px;text-align:center}.ffa-fatal-text{margin-bottom:8px;font-size:14px;line-height:1.4;color:var(--ffa-muted)}.ffa-fatal .ffa-buttons{justify-content:center}@media(min-height:600px){.ffa-timer{font-size:28px}.ffa-place-rank{font-size:19px}.ffa-place-tally,.ffa-leader,.ffa-feed-row{font-size:13px}.ffa-feed{top:calc(var(--ffa-top) + 62px)}.ffa-pill{top:calc(var(--ffa-top) + 50px);gap:10px;padding:4px 16px 5px}.ffa-death{bottom:14vh}.ffa-pill-title{font-size:18px}.ffa-pill-note{font-size:13px}.ffa-countdown-value{font-size:96px}.ffa-death-title{font-size:38px}.ffa-lobby-card{width:min(620px,calc(100vw - 120px));gap:14px;padding:22px 26px 24px}.ffa-title{font-size:26px}.ffa-results-side{width:290px}.ffa-results-title{font-size:32px}.ffa-results-table{font-size:14px}.ffa-results-table td{padding:4px 10px}}@keyframes ffa-spin{to{transform:rotate(360deg)}}@keyframes ffa-survived-pop{0%{opacity:0;transform:scale(.6)}}@keyframes ffa-survived-note{0%{opacity:0;transform:translateY(4px)}}@keyframes ffa-feed-in{0%{opacity:0;transform:translate(10px)}}@keyframes ffa-tick-a{0%{opacity:0;transform:scale(1.6)}}@keyframes ffa-tick-b{0%{opacity:0;transform:scale(1.6)}}.help{font-size:14px;opacity:.7}.help a{color:#e8825a}.android{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:1px solid rgba(255,255,255,.15);border-radius:12px}.android h2{margin:0;font-size:18px}.android canvas{border-radius:8px}.watch-open{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:15px;font-weight:600;color:#f4f1e8d9;background:transparent;border:1px solid rgba(255,255,255,.18);border-radius:10px;cursor:pointer;touch-action:manipulation;transition:color .15s ease,border-color .15s ease,transform .12s ease-out}.watch-open svg{width:16px;height:16px;fill:#e8825a}.watch-open:hover{color:#f4f1e8;border-color:#e8825acc}.watch-open:active{transform:scale(.98)}.watch-open:focus-visible{outline:2px solid #f4f1e8;outline-offset:2px}body.watch{--watch-bar: var(--watch-bar-height, 56px);--watch-bar-under: env(safe-area-inset-bottom, 0px);font-family:Inter,Segoe UI,system-ui,sans-serif}body.watch #stage{height:calc(100vh - var(--watch-bar) - var(--watch-bar-under));height:calc(100dvh - var(--watch-bar) - var(--watch-bar-under));cursor:default}.watch-bar{position:fixed;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:8px;height:calc(var(--watch-bar) + var(--watch-bar-under));padding:0 max(12px,env(safe-area-inset-right)) var(--watch-bar-under) max(12px,env(safe-area-inset-left));background:linear-gradient(180deg,#101513,#0b0f0d);border-top:1px solid rgba(255,255,255,.08)}.watch-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;color:#f4f1e8;background:#ffffff0f;border:1px solid rgba(255,255,255,.18);border-radius:50%;cursor:pointer;touch-action:manipulation;text-decoration:none;transition:background-color var(--watch-transition, .16s) ease,border-color var(--watch-transition, .16s) ease,transform .12s ease-out}.watch-icon svg{grid-area:1 / 1;width:20px;height:20px;fill:currentColor}.watch-icon .watch-icon-stroke{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.watch-icon:hover{border-color:#e8825acc}.watch-icon:active{transform:scale(.92)}.watch-icon:focus-visible,.watch-speed:focus-visible{outline:2px solid #e8825a;outline-offset:2px}.watch-pause .watch-icon-play,.watch-pause.is-paused .watch-icon-pause{display:none}.watch-pause.is-paused .watch-icon-play{display:block}.watch-pause.is-paused{color:#0b0f0d;background:#e8825a;border-color:#e8825a}.watch-sound .watch-icon-cross,.watch-sound.is-muted .watch-icon-waves{display:none}.watch-sound.is-muted .watch-icon-cross{display:block}.watch-sound.is-muted{color:#f4f1e880}.watch-pick{position:relative;flex:0 1 220px;min-width:0}.watch-toggle{width:100%;min-height:44px;gap:8px;padding:5px 8px 5px 5px}.watch-toggle .level-badge{min-width:28px;height:28px;font-size:14px;border-radius:8px}.watch-toggle .level-name{flex:1;min-width:0;overflow:hidden;font-size:14px;white-space:nowrap;text-overflow:ellipsis}.watch-pick-right .watch-toggle .level-badge{background:var(--watch-right)}.watch-pick-right .watch-toggle:hover,.watch-pick-right .watch-toggle.is-open{border-color:#4fc3c9cc}.watch-pick-right .watch-toggle:focus-visible,.watch-pick-right .level:focus-visible{outline-color:var(--watch-right)}.watch-pick-right .level.is-selected{background:#4fc3c924;border-color:#4fc3c999}.watch-pick-right .level.is-selected .level-badge{background:var(--watch-right)}.watch-list{width:min(320px,calc(100vw - 24px));max-height:min(70vh,440px)}.watch-pick-right .watch-list{left:auto;right:0}.watch-list .level-tagline{font-size:12px}.watch-vs{flex:none;font-family:Russo One,Arial Black,sans-serif;font-size:13px;letter-spacing:.04em;color:#f4f1e873}.watch-speeds{flex:none;display:flex;padding:2px;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:999px}.watch-speed{min-width:44px;height:44px;padding:0 8px;font-family:Russo One,Arial Black,sans-serif;font-size:13px;color:#f4f1e8b3;background:transparent;border:0;border-radius:999px;cursor:pointer;touch-action:manipulation;transition:color var(--watch-transition, .16s) ease,background-color var(--watch-transition, .16s) ease}.watch-speed:hover{color:#f4f1e8}.watch-speed.is-selected{color:#0b0f0d;background:#e8825a}.watch-result{position:fixed;left:50%;top:calc((100vh - var(--watch-bar) - var(--watch-bar-under)) / 2);top:calc((100dvh - var(--watch-bar) - var(--watch-bar-under)) / 2);z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;width:max-content;max-width:calc(100vw - 32px);padding:12px 24px 14px;text-align:center;background:#0b0f0dd9;border:1px solid rgba(244,241,232,.25);border-radius:16px;box-shadow:0 16px 40px #0000008c;opacity:0;transform:translate(-50%,-50%) scale(.94);transition:opacity var(--watch-result, .2s) ease-out,transform var(--watch-result, .2s) ease-out;pointer-events:none}.watch-result.is-shown{opacity:1;transform:translate(-50%,-50%) scale(1)}.watch-result.is-left{border-color:var(--watch-left)}.watch-result.is-right{border-color:var(--watch-right)}.watch-result-title{font-family:Russo One,Arial Black,sans-serif;font-size:26px;line-height:1.15;color:#f4f1e8}.watch-result.is-left .watch-result-title{color:var(--watch-left)}.watch-result.is-right .watch-result-title{color:var(--watch-right)}.watch-result-note{font-size:13px;color:#f4f1e8a6}.watch-notice{position:fixed;left:50%;bottom:calc(var(--watch-bar) + var(--watch-bar-under) + 12px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;width:max-content;max-width:calc(100vw - 32px);padding:10px 20px 12px;text-align:center;background:#0b0f0de6;border:1px solid #e8825a;border-radius:16px;box-shadow:0 16px 40px #0000008c;opacity:0;transform:translate(-50%,8px);transition:opacity var(--watch-result, .2s) ease-out,transform var(--watch-result, .2s) ease-out;pointer-events:none}.watch-notice.is-shown{opacity:1;transform:translate(-50%)}.watch-notice-title{font-family:Russo One,Arial Black,sans-serif;font-size:18px;line-height:1.2;color:#f4f1e8}.watch-notice-note{font-size:13px;color:#f4f1e8a6}@media(min-width:1000px)and (min-height:600px){body.watch{--watch-bar: var(--watch-bar-wide-height, 64px)}.watch-bar{gap:12px}.watch-pick{flex-basis:260px}.watch-toggle{padding:6px 10px 6px 6px}.watch-toggle .level-name{font-size:15px}.watch-speed{font-size:14px}.watch-result-title{font-size:36px}.watch-result-note{font-size:15px}}
