.ff-game{color:#edf6fc;box-sizing:border-box;background:linear-gradient(150deg,#173d43,#141b31);border:1px solid #b19c71;border-radius:24px;width:100%;max-width:560px;margin:auto;padding:12px;font-family:system-ui,sans-serif;position:relative;overflow:hidden}.ff-game *{box-sizing:border-box}.ff-game [hidden]{display:none!important}.ff-game button,.ff-game a{font:inherit;border-radius:12px;min-height:44px}.ff-game button{color:#f2f7fb;cursor:pointer;background:linear-gradient(135deg,#315361,#16283d);border:1px solid #a3b4b866;padding:11px 13px}.ff-game button:disabled{opacity:.38;cursor:not-allowed}.ff-game button:hover:not(:disabled){border-color:#ffde93}.ff-game button:focus-visible,.ff-game a:focus-visible,.ff-game canvas:focus-visible{outline-offset:2px;outline:3px solid #fbbf24}.ff-game a{color:#baf2fc;justify-content:center;align-items:center;display:flex}.ff-game img{object-fit:contain;max-width:100%}.ff-game .ff-primary{background:linear-gradient(105deg,#b52dbc,#6441ae);border-color:#f3b2e9;font-weight:750}.ff-toolbar{flex-shrink:0;justify-content:space-between;align-items:center;gap:5px;margin-bottom:9px;display:flex}.ff-toolbar>strong{letter-spacing:.07em;color:#ffe9bd;font-size:11px}.ff-toolbar small{letter-spacing:.08em;color:#a8c4ce;margin-top:4px;font-size:7px;display:block}.ff-toolbar .game-toolbar-actions{gap:4px}.ff-toolbar .game-icon-button{border-radius:11px;width:44px;min-width:44px;height:44px;padding:10px}.ff-menu{background:#112b3e;border-radius:15px;overflow:hidden}.ff-menu>img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.ff-menu>div{text-align:center;gap:9px;padding:14px 18px 20px;display:grid}.ff-menu p{color:#d5e8e8;margin:5px 0 10px;font-size:14px}.ff-menu [data-menu-progress]{color:#f7d48a;margin-left:8px;font-size:10px}.ff-eyebrow{letter-spacing:.13em;font-weight:800;color:#f9d793!important;font-size:9px!important}.ff-panel{text-align:center;padding:20px 8px}.ff-panel h2{margin:8px 0 18px;font-size:clamp(23px,5vw,32px)}.ff-panel p{color:#c5d6e0;font-size:14px;line-height:1.65}.ff-panel>button{margin:5px}.ff-tables{gap:12px;margin:20px 0;display:grid}.ff-tables button{text-align:left;grid-template-columns:70px 1fr;align-items:center;gap:8px 15px;display:grid}.ff-tables img{border-radius:8px;grid-row:1/4;width:70px;height:116px}.ff-tables span{color:#bed8dd;font-size:12px;line-height:1.5}.ff-tables small{color:#f9d793;font-size:11px}.ff-missions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0;display:grid}.ff-missions button{flex-direction:column;align-items:center;gap:8px;min-height:140px;padding:12px 5px;display:flex}.ff-missions b{color:#a5f3fc;font-size:25px}.ff-missions strong{font-size:11px}.ff-missions small{color:#bdd3da;font-size:9px;line-height:1.5}.ff-missions span{color:#fbbf24;font-size:10px}.ff-missions [data-theme=harbor]{background:linear-gradient(140deg,#62452f,#263949)}.ff-missions [data-theme=observatory]{background:linear-gradient(140deg,#403259,#18374b)}.ff-guide ol{text-align:left;padding-left:25px;font-size:14px;line-height:1.7}.ff-guide li{margin-bottom:12px}.ff-ready-goals{color:#f9e0a5;gap:7px;margin:22px 0;display:grid}.ff-ready{background:linear-gradient(160deg,#153b43,#17273e);border:1px solid #9c8c70;border-radius:20px}.ff-stage{flex-direction:column;flex:1;gap:7px;min-height:0;display:flex}.ff-hud{flex-shrink:0;grid-template-columns:1.4fr 1.4fr .7fr .8fr;gap:5px;display:grid}.ff-hud>div{text-align:center;background:#10283b;border:1px solid #b9c4bc55;border-radius:9px;padding:6px 3px}.ff-hud span{color:#bad2dc;font-size:8px;display:block}.ff-hud strong{color:#f9dd8e;white-space:nowrap;font-size:clamp(13px,3vw,20px)}.ff-hud [data-balls],.ff-hud [data-combo]{color:#9ceefb}.ff-objectives{text-align:center;flex-shrink:0}.ff-objectives>strong{color:#f5e3bb;margin-bottom:4px;font-size:11px;display:block}.ff-objectives [data-goals]{color:#c4dce2;flex-wrap:wrap;justify-content:center;gap:3px 10px;font-size:10px;line-height:1.5;display:flex}.ff-objectives .done{color:#9af1ba}.ff-flight{background:#101a2c;border:1px solid #a8b7b9;border-radius:12px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.ff-flight canvas{touch-action:none;width:100%;height:100%;display:block}.ff-game .ff-scene-pause{background:#10263ee8;width:44px;height:44px;padding:10px;position:absolute;top:6px;right:6px}.ff-meter-row{letter-spacing:.04em;color:#bcdce6;flex-shrink:0;justify-content:space-between;align-items:center;gap:7px;min-height:16px;font-size:8px;display:flex}.ff-meter-row meter{accent-color:#fbbf24;width:25%;height:13px}.ff-meter-row [data-feature]{text-align:right;max-width:35%;font-size:8px}.ff-controls{flex-shrink:0;grid-template-columns:1fr 90px 1fr;gap:8px;display:grid}.ff-controls button{touch-action:none;user-select:none;min-height:52px;padding:8px 5px;font-weight:750}.ff-controls .ff-plunger{background:linear-gradient(145deg,#986831,#583454);border-color:#e3c68b;font-size:12px}.ff-controls small{font-size:9px}.ff-controls [aria-pressed=true]{background:linear-gradient(140deg,#078997,#486297);box-shadow:inset 0 0 14px #0b172d}.ff-description{text-align:center;color:#bad1da;flex-shrink:0;margin:0;font-size:10px;line-height:1.4}.ff-status{text-align:center;color:#d6e6df;margin:9px 2px 0;font-size:11px;line-height:1.5}.ff-game:is([data-phase=LAUNCHING],[data-phase=PLAYING],[data-phase=BALL_LOST],[data-phase=PAUSED]){height:max(260px, calc(100dvh - 100px - env(safe-area-inset-bottom,0px)));flex-direction:column;max-height:950px;display:flex}.ff-game:is([data-phase=LAUNCHING],[data-phase=PLAYING],[data-phase=BALL_LOST],[data-phase=PAUSED]) .ff-status{flex-shrink:0;min-height:16px;max-height:33px;overflow:hidden}.ff-dialog{color:#eef4fa;text-align:center;background:#142d43;border:1px solid #b7d5de;border-radius:20px;width:min(92vw,390px);max-height:88dvh;padding:24px;overflow:auto}.ff-dialog::backdrop{background:#061022cc}.ff-dialog h2{margin-top:0;font-size:28px}.ff-dialog p{color:#c3d7de;font-size:14px;line-height:1.6}.ff-dialog [data-modal-actions]{gap:9px;display:grid}.ff-dialog button{width:100%}.ff-stars{justify-content:center;gap:9px;margin:24px 0;display:flex}.ff-stars img{width:58px;height:58px}.ff-final-score{color:#fbbf24;font-size:56px;line-height:1.2;display:block}.ff-record{letter-spacing:.12em;font-weight:800;color:#fbbf24!important;font-size:11px!important}.ff-result-actions{gap:9px;margin-top:23px;display:grid}.ff-results [data-result-title]:focus{outline:none}.ff-game[data-phase=GAME_OVER] .ff-results{background:linear-gradient(150deg,#35203b,#122c3e);border-radius:16px;animation:.3s ease-out ff-fade}.ff-game:is([data-phase=LEVEL_COMPLETE],[data-phase=CAMPAIGN_COMPLETE]) .ff-stars{animation:.6s ease-out ff-stars}.fable-flippers-page .play-layout{grid-template-columns:minmax(0,1fr);max-width:none}.fable-flippers-page .instructions{width:100%;max-width:900px;margin:auto}.ff-game{scroll-margin-top:0}.ff-game[data-phase=PAUSED] .ff-scene-pause{pointer-events:none}@keyframes ff-stars{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes ff-fade{0%{opacity:.4}to{opacity:1}}@media (width<=360px){.ff-game{border-radius:17px;padding:8px}.ff-toolbar>strong{letter-spacing:.02em;font-size:9px}.ff-toolbar small{display:none}.ff-toolbar .game-toolbar-actions{gap:3px}.ff-missions{gap:5px}.ff-missions strong{font-size:10px}.ff-controls{grid-template-columns:1fr 78px 1fr;gap:6px}.ff-controls button{font-size:12px}.ff-description{font-size:9px}}@media (orientation:landscape) and (width>=600px){.ff-game{max-width:900px}.ff-menu{grid-template-columns:1.3fr 1fr;display:grid}.ff-menu>img{object-fit:cover;height:100%}.ff-missions{grid-template-columns:repeat(4,minmax(0,1fr))}.ff-stage{grid-template-rows:auto auto 1fr auto auto auto;grid-template-columns:minmax(0,1fr) 220px;gap:9px;display:grid}.ff-flight{grid-area:1/1/7;height:100%}.ff-hud{grid-area:1/2}.ff-objectives{grid-area:2/2}.ff-objectives [data-goals]{gap:5px;display:grid}.ff-meter-row{flex-wrap:wrap;grid-area:4/2}.ff-controls{grid-area:5/2;grid-template-columns:1fr 75px 1fr;gap:4px}.ff-controls button{font-size:11px}.ff-description{grid-area:6/2}.ff-game:is([data-phase=LAUNCHING],[data-phase=PLAYING],[data-phase=BALL_LOST],[data-phase=PAUSED]){min-height:260px}.ff-scene-pause{display:none}}@media (prefers-reduced-motion:reduce){.ff-game *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-contrast:more){.ff-game button,.ff-hud>div{border-color:#f8fafc}}@media (orientation:landscape) and (width>=600px){.ff-hud strong{font-size:14px}}@media (orientation:landscape) and (width>=600px) and (height<=600px){.ff-game:is([data-phase=LAUNCHING],[data-phase=PLAYING],[data-phase=BALL_LOST],[data-phase=PAUSED]) .ff-description{display:none}.ff-stage{grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:5px}.ff-objectives [data-goals]{gap:2px 7px;font-size:9px;display:flex}.ff-objectives>strong{font-size:10px}.ff-meter-row{min-height:12px;font-size:7px}.ff-controls button{min-height:48px}}.ff-combo-active [data-combo]{color:#f4c5ff;text-shadow:0 0 9px #a855f799}@media (height<=700px){.ff-game:is([data-phase=LAUNCHING],[data-phase=PLAYING],[data-phase=BALL_LOST],[data-phase=PAUSED]) .ff-description{display:none}.ff-game:is([data-phase=LAUNCHING],[data-phase=PLAYING],[data-phase=BALL_LOST],[data-phase=PAUSED]) .ff-status{clip-path:inset(50%);width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.ff-hud>div{padding-block:4px}.ff-objectives>strong{margin-bottom:2px}}
