/* Fortune Fairways Play: a quiet launcher and the course as the main screen. */
.arcade-film-hero{min-height:410px;display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,#061c14d9,#0d24155c 65%,#112d1722),url('/assets/golf-dusk.jpg') center 58%/cover;border-radius:12px;padding:46px 44px;margin-bottom:48px}.arcade-film-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#091a0c66,transparent 55%);pointer-events:none}.arcade-film-hero>div{position:relative;z-index:1}.arcade-film-hero>div>span{font:10px var(--mono);letter-spacing:.14em;color:#c2d6af}.arcade-film-hero h1{font:800 clamp(47px,6vw,75px)/.99 var(--sans);letter-spacing:-.055em;color:#fbfaf0;margin:25px 0 22px}.arcade-film-hero h1 em{font-style:italic;color:#d5e0ba}.arcade-film-hero p{font-size:17px;line-height:1.6;color:#d6dfc4;margin-bottom:26px}.arcade-film-hero .btn{min-height:52px;padding:15px 25px;background:#e9edda;color:#173d2b;border:0;border-radius:5px;font-size:15px}.arcade-selection-heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:22px}.arcade-selection h2{font-size:34px;letter-spacing:-.045em;color:#eef0df;line-height:1.1}.arcade-selection-heading>p{font-size:14px;color:#a8b79c;line-height:1.6}.arcade-selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.arcade-film-card{min-width:0}.arcade-film-poster{position:relative;display:block;width:100%;height:340px;overflow:hidden;border:1px solid #b2c5a343;border-radius:12px;padding:0;background:#264d35;text-align:left;color:#fffdf0;cursor:pointer}.arcade-film-poster canvas{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s;filter:saturate(.8)}.arcade-film-poster:hover canvas{transform:scale(1.025)}.poster-shade{position:absolute;inset:0;background:linear-gradient(0deg,#06190fea,transparent 65%,#09201465)}.poster-kind{position:absolute;top:22px;left:24px;font-size:12px;line-height:1.3;color:#eff1dd}.poster-title{position:absolute;bottom:71px;left:24px;right:20px;font-size:43px;font-weight:800;line-height:.98;letter-spacing:-.045em;text-shadow:0 2px 10px #091c1570}.poster-title em{display:block;color:#deedc8;font-style:italic}.poster-play{position:absolute;bottom:23px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:15px;font-weight:600;align-items:center}.poster-play b{font-size:26px;font-weight:400}.arcade-film-copy{padding:18px 2px 5px}.arcade-film-copy>p{font-size:15px;line-height:1.7;color:#bcc9ae;margin:0 0 13px}.arcade-film-copy>.subtle-link{font:12px/1.6 var(--sans);color:#e3e8d6;letter-spacing:0;text-transform:none}.arcade-quests,.arcade-garage-details{margin-top:34px;border-block:1px solid #92aa7a40}.arcade-quests>summary,.arcade-garage-details>summary{padding:23px 1px;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;color:#e0e8d2}.arcade-quests>summary::-webkit-details-marker,.arcade-garage-details>summary::-webkit-details-marker{display:none}.arcade-quests>summary>span,.arcade-garage-details>summary>span{font-size:18px;font-weight:500}.arcade-quests>summary>strong,.arcade-garage-details>summary>strong{font:12px var(--sans);font-weight:400;color:#b8c5aa;display:flex;align-items:center;gap:24px}.arcade-quests>summary b,.arcade-garage-details>summary b{font-size:21px;font-weight:400;color:#d9e7ca}.arcade-quests[open]>summary b,.arcade-garage-details[open]>summary b{transform:rotate(45deg)}.arcade-quests>div{padding-bottom:15px}.arcade-quests>div>button{display:flex;align-items:center;gap:18px;width:100%;min-height:82px;padding:16px 8px;border:0;border-top:1px solid #a9bc8e22;background:none;color:#d2ddc2;text-align:left}.arcade-quests button>span{font-size:22px;color:#a4c79b}.arcade-quests button>div{flex:1}.arcade-quests button strong{display:block;font-size:16px;font-weight:500}.arcade-quests button small{display:block;font-size:12px;color:#8fa782;margin-top:7px;line-height:1.6}.arcade-quests button>b{font:11px var(--mono);font-weight:400}.arcade-quests button.complete>span{color:#7fe3cf}.arcade-garage-details{margin-top:0;border-top:0}.arcade-garage-details .ball-garage{margin:0;padding:20px 0 30px;border:0}.arcade-fine-print{font-size:12px;line-height:1.8;color:#7e9672;margin-top:28px}.arcade-level-picker{max-width:620px;margin:auto;padding:20px 0}.arcade-level-picker h3{font-size:49px;line-height:1;letter-spacing:-.05em;margin:0 0 20px}.arcade-level-picker>p{font-size:17px;line-height:1.7;color:#b4c9a5;margin-bottom:26px}.arcade-level-picker>button{display:flex;align-items:center;gap:20px;width:100%;text-align:left;min-height:100px;padding:24px 5px;border:0;border-top:1px solid #acc3953b;background:none;color:#e9efdb}.arcade-level-picker>button>span{font:16px var(--mono);color:#8da77e}.arcade-level-picker>button>div{flex:1}.arcade-level-picker strong{display:block;font-size:23px;font-weight:500}.arcade-level-picker small{display:block;font-size:13px;line-height:1.7;margin-top:8px;color:#9db38d}.arcade-level-picker>button>b{font-size:14px;font-weight:400;color:#b1dca8}.arcade-level-picker button[aria-disabled=true]{opacity:.5}.arcade-level-picker>small{margin-top:27px}
/* Putting uses one full viewport, a small HUD, and a floating shot control. */
#modal.arcade-game-modal.gameplay-cinema[open]:has(#arcade-canvas){position:fixed;inset:0;width:var(--ff-play-width,100vw);height:var(--ff-play-height,100dvh);max-width:none;max-height:none;min-width:0;min-height:0;margin:0;padding:0!important;display:block!important;border:0;border-radius:0;background:#234b35;overflow:hidden;box-sizing:border-box}
#modal.gameplay-cinema>.modal-heading{position:absolute;z-index:20;right:max(20px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));margin:0;min-height:0;padding:0}#modal.gameplay-cinema>.modal-heading h2{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}#modal.gameplay-cinema>.modal-heading .icon-button{height:47px;width:47px;min-height:47px;border:1px solid #eff7e045;background:#0d261a99;color:#f2f6e8;border-radius:9px;backdrop-filter:blur(8px)}
#modal.arcade-game-modal.gameplay-cinema>.arcade-game-heading{position:absolute;z-index:7;left:max(25px,env(safe-area-inset-left));top:max(22px,env(safe-area-inset-top));padding:0;margin:0;display:block;max-width:230px}
#modal.gameplay-cinema .arcade-game-heading h3{position:static;width:auto;height:auto;clip-path:none;margin:0;line-height:1.05;font-size:30px;letter-spacing:-.045em;font-weight:750;color:#fbfaf0;text-shadow:0 2px 12px #0a231b80}
#modal.gameplay-cinema .arcade-game-heading>span{display:block!important;font:10px/1.5 var(--sans);margin:7px 0 0;max-width:none;text-align:left;color:#d9e6cd;text-shadow:0 1px 8px #0a231b}
#modal.arcade-game-modal.gameplay-cinema>.game-utility-bar{position:absolute;z-index:18;right:80px;top:max(20px,env(safe-area-inset-top));margin:0;display:flex;gap:8px;align-items:flex-start}
#modal.gameplay-cinema .game-utility-bar>button,#modal.gameplay-cinema .game-options>summary{height:47px;width:47px;min-height:47px;display:grid;place-items:center;list-style:none;font-size:24px;border:1px solid #eff7e045;background:#0d261a99;color:#f2f6e8;border-radius:9px;padding:0;backdrop-filter:blur(8px);cursor:pointer}#modal.gameplay-cinema .game-options>summary::-webkit-details-marker{display:none}#modal.gameplay-cinema .game-options{position:relative}#modal.gameplay-cinema .game-options>div{position:absolute;right:0;top:58px;width:230px;background:#142c20f5;padding:13px;border:1px solid #b7cd9e55;border-radius:10px;box-shadow:0 15px 45px #00170c88}#modal.gameplay-cinema .game-options>div>button{display:block;width:100%;text-align:left;min-height:45px;border:0;background:none;color:#e9f1dd;font-size:14px;padding:11px;border-radius:6px}#modal.gameplay-cinema .game-options>div>button:hover{background:#adc3941c}#modal.gameplay-cinema .game-instructions>summary{list-style:none;padding:12px;min-height:45px;display:block;width:100%;font-size:14px;background:none;border:0;color:#dbe9ce}#modal.gameplay-cinema .game-instructions>div{position:static;width:auto;max-height:230px;overflow:auto;padding:10px;background:none;border:0;box-shadow:none;color:#dce9ce}#modal.gameplay-cinema .game-instructions p{font-size:13px;line-height:1.7;margin:0 0 14px;color:#c1d5b2}
#modal.arcade-game-modal.gameplay-cinema>.arcade-play-layout{position:absolute;inset:0;margin:0;display:block;min-width:0;min-height:0;width:100%;height:100%}#modal.arcade-game-modal.gameplay-cinema .arcade-stage{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:none;box-shadow:none;display:block;overflow:hidden}
#modal.arcade-game-modal.gameplay-cinema .arcade-stage .arcade-canvas-wrap{position:absolute;inset:0;flex:none;width:100%;height:100%;max-width:none;margin:0;border:0;border-radius:0;background:#244e36;box-shadow:none}
#modal.arcade-game-modal.gameplay-cinema .arcade-canvas-wrap canvas{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:fill;touch-action:none;cursor:crosshair}
#modal.arcade-game-modal.gameplay-cinema .arcade-game-hud{position:absolute;z-index:6;top:29px;left:50%;right:auto;bottom:auto;transform:translateX(-50%);width:auto;min-width:235px;max-width:none;min-height:32px;height:auto;margin:0;padding:9px 18px;background:#122f1d80;border:1px solid #d3e1c128;border-radius:6px;display:flex;gap:28px;align-items:center;justify-content:space-between;font:11px/1.4 var(--mono);color:#f4f5e5;box-shadow:none;backdrop-filter:blur(6px)}
#modal.arcade-game-modal.gameplay-cinema .arcade-control-panel{position:absolute;z-index:8;bottom:max(24px,env(safe-area-inset-bottom));left:50%;right:auto;top:auto;transform:translateX(-50%);width:min(580px,calc(100% - 48px));height:auto;max-height:none;min-height:0;padding:14px 18px 12px;border:1px solid #edf4d829;border-radius:12px;background:#112c1bbd;box-shadow:0 12px 40px #061c1244;backdrop-filter:blur(12px);overflow:visible;display:block}
#modal.gameplay-cinema .arcade-control-panel .putt-aim-bar{position:absolute;left:-61px;bottom:32px;display:block;width:auto;margin:0;padding:0}#modal.gameplay-cinema .putt-aim-bar>span{display:none}#modal.gameplay-cinema .putt-aim-bar button{height:46px;width:46px;min-height:46px;padding:0;border:1px solid #e3efcd55;border-radius:50%;background:#112d1b99;color:#edf5dd;font-size:25px}
#modal.gameplay-cinema .arcade-control-panel .putt-controls{display:grid;grid-template-columns:minmax(0,1fr) 167px;gap:22px;align-items:center;margin:0;position:static;width:100%}#modal.gameplay-cinema .putt-controls>label>span{font-size:12px;line-height:1.4;color:#d5e5c7;display:flex;justify-content:space-between}#modal.gameplay-cinema .putt-controls>label strong{font:11px var(--mono);color:#f4f5e6;margin:0}#modal.gameplay-cinema .putt-controls input{display:block;appearance:none;background:transparent;width:100%;height:36px;min-height:36px;margin:4px 0 0;padding:0;border:0;touch-action:pan-y}#modal.gameplay-cinema .putt-controls input::-webkit-slider-runnable-track{height:6px;background:#c8df9b;border-radius:6px}#modal.gameplay-cinema .putt-controls input::-webkit-slider-thumb{appearance:none;height:29px;width:29px;margin-top:-11.5px;background:#edf3dc;border:2px solid #fffbea;border-radius:50%;box-shadow:0 2px 6px #001c0b88}#modal.gameplay-cinema .putt-controls input::-moz-range-track{height:6px;background:#c8df9b;border-radius:6px}#modal.gameplay-cinema .putt-controls input::-moz-range-thumb{height:26px;width:26px;background:#edf3dc;border:2px solid #fffbea;border-radius:50%}
#modal.gameplay-cinema .putt-controls .btn{display:flex;align-items:center;justify-content:center;min-height:57px;width:100%;margin:0;padding:14px 12px;font-size:16px;font-weight:650;line-height:1.2;background:#e5edd5;color:#173d28;border:0;border-radius:7px;box-shadow:none}#modal.gameplay-cinema .putt-controls .btn:disabled{background:#5e7b5b;color:#c7d7bc;opacity:.85}#modal.gameplay-cinema .putt-controls .btn>small{display:none}#modal.gameplay-cinema .putt-precision{margin:7px 0 0;padding:0;border:0;width:auto;max-width:none}#modal.gameplay-cinema .putt-precision>summary{display:block;min-height:18px;line-height:1.4;font-size:9px;color:#a9c49b;cursor:pointer}#modal.gameplay-cinema .putt-precision>summary>span{font-size:9px;color:#b9d6a5}#modal.gameplay-cinema .putt-precision[open]{position:absolute;bottom:0;left:0;right:0;margin:0;padding:15px;background:#183a26;border:1px solid #a4bc8b;border-radius:10px;z-index:15;box-shadow:none}#modal.gameplay-cinema .putt-precision[open]>summary{min-height:35px;font-size:13px}#modal.gameplay-cinema .putt-precision input{margin:0;min-height:40px;width:100%}#modal.gameplay-cinema .pin-room-status{display:none}
#modal.gameplay-cinema #arcade-game-message{z-index:7;bottom:150px;left:50%;right:auto;max-width:calc(100% - 36px);width:max-content;transform:translateX(-50%);background:#102b1c99;color:#ebf1dc;border:0;border-radius:4px;padding:7px 12px;font:12px/1.5 var(--sans);pointer-events:none}#modal.gameplay-cinema .game-pause-overlay{position:absolute;inset:0;background:#10281bb8;backdrop-filter:blur(5px);z-index:12;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center}#modal.gameplay-cinema .game-pause-overlay h4{font-size:43px;color:#f6f5e8;letter-spacing:-.04em;margin:0 0 30px}#modal.gameplay-cinema .game-pause-overlay .btn{min-height:61px;font-size:18px;border-radius:6px;padding:16px 30px}
/* Cart Run is a portrait, endless path, not a scorecard dashboard. */
#modal.arcade-game-modal.runner-game-modal[open]{position:fixed;inset:0;width:var(--ff-play-width,100vw);height:var(--ff-play-height,100dvh);max-width:none;max-height:none;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:linear-gradient(#071b12bd,#071b12e8),url('/assets/golf-dusk.jpg') center/cover}
#modal.runner-game-modal>.modal-heading{position:absolute;z-index:25;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));margin:0;padding:0;min-height:0}#modal.runner-game-modal>.modal-heading h2{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}#modal.runner-game-modal>.modal-heading .icon-button{width:45px;height:45px;min-height:45px;border-radius:8px;border:1px solid #dae8cb55;background:#0d291c99;color:#f8f6e8}.runner-screen{position:relative;height:100%;width:min(100%,480px);margin:auto;overflow:hidden;background:#446b3f;box-shadow:0 0 100px #001b1188}.runner-screen>canvas{display:block;width:100%;height:100%;touch-action:none}.runner-top{position:absolute;top:max(22px,env(safe-area-inset-top));left:23px;right:75px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;color:#faf7e9;pointer-events:none}.runner-top h3{font-size:31px;letter-spacing:-.045em;line-height:1;margin:0;color:#faf7e9;text-shadow:0 2px 8px #14291680}.runner-top h3 em{font-style:italic;color:#d8e9bd}.runner-top>div>span{font:9px var(--mono);letter-spacing:.08em;display:block;margin-top:9px;text-shadow:0 2px 6px #11291b;color:#e6edd6}.runner-top>button{width:45px;height:45px;min-height:45px;pointer-events:auto;border:1px solid #e2e8cd66;border-radius:8px;background:#102d1d99;color:#f6f4e6;font-size:23px}.runner-score{position:absolute;z-index:3;top:max(102px,calc(env(safe-area-inset-top) + 85px));left:50%;transform:translateX(-50%);color:#fffbe9;text-align:center;pointer-events:none;text-shadow:0 2px 10px #183720}.runner-score>strong{font-size:49px;font-weight:800;letter-spacing:-.055em;line-height:1;display:block}.runner-score>span{font:10px var(--mono);letter-spacing:.06em;display:block;margin-top:9px}.runner-controls{position:absolute;z-index:5;bottom:max(22px,env(safe-area-inset-bottom));left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:18px;pointer-events:none}.runner-controls>button{pointer-events:auto;touch-action:none;user-select:none;height:69px;min-height:69px;width:83px;border:1px solid #edf3da88;border-radius:12px;background:#12301f99;color:#f7fae9;font-size:35px;backdrop-filter:blur(8px)}.runner-controls>button:active{background:#e7efd7;color:#214d33}.runner-controls>span{font:9px var(--mono);letter-spacing:.1em;color:#ecf1dc;text-shadow:0 1px 6px #132e1d;text-align:center}.runner-overlay,.runner-pause{position:absolute;z-index:10;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;padding:38px 28px;background:linear-gradient(0deg,#0b2419ef,#102b1cb8 65%,#13331c66);backdrop-filter:blur(2px);color:#f8f7e8}.runner-overlay[hidden],.runner-pause[hidden]{display:none!important}.runner-overlay>span{font:9px var(--mono);letter-spacing:.14em;color:#b9d2aa}.runner-overlay h4{font-size:clamp(53px,12vw,83px);line-height:.95;letter-spacing:-.055em;color:#fbf8eb;margin:24px 0}.runner-overlay h4>small{font:14px var(--mono);letter-spacing:.04em;display:block;margin-top:14px;color:#c4d4b4}.runner-overlay>p{font-size:17px;line-height:1.7;color:#d3dfc6;margin:0 0 28px}.runner-overlay>.btn,.runner-pause>.btn{display:flex;align-items:center;justify-content:center;min-height:59px;width:min(100%,290px);padding:16px 20px;border-radius:7px;font-size:17px;font-weight:650;background:#e6edd5;color:#1a412b;border:0;margin-bottom:13px}.runner-overlay>.btn.outline{background:transparent;border:1px solid #c5d8b38a;color:#f2f5e4;font-size:14px;min-height:54px}.runner-overlay>small{font-size:11px;line-height:1.6;color:#a4bd96;max-width:270px;margin:5px 0 16px}.runner-quiet{border:0;background:none;color:#c3d9b4;min-height:43px;padding:11px;font-size:13px;cursor:pointer}.runner-pause{background:#102c1eac;z-index:15}.runner-pause h4{font-size:39px;letter-spacing:-.04em;margin:0 0 29px;color:#fbf6e6}#runner-post-status{font-size:12px;line-height:1.6;color:#dbebc8;max-width:280px;margin-top:14px}.runner-leaderboard{padding:18px 0;max-width:650px;margin:auto}.runner-leaderboard>span{font:10px var(--mono);color:#a8c099;letter-spacing:.07em}.runner-leaderboard h3{font-size:47px;line-height:1.02;letter-spacing:-.05em;color:#f5f5e4;margin:22px 0}.runner-leaderboard>p{font-size:16px;line-height:1.7;color:#b0c59f;margin-bottom:26px}.runner-leaderboard ol{list-style:none;margin:0;padding:0}.runner-leaderboard li{display:flex;align-items:center;gap:18px;padding:19px 6px;border-top:1px solid #b1c49735}.runner-leaderboard li>strong{font:13px var(--mono);color:#8fac7b;min-width:26px}.runner-leaderboard li>span{font-size:17px;line-height:1.3;flex:1;overflow-wrap:anywhere}.runner-leaderboard li small{display:block;font:10px var(--mono);color:#8dab79;margin-top:8px}.runner-leaderboard li>b{font-size:24px;color:#d6edc2;font-weight:600}.runner-leaderboard li.you{background:#a6c58c14}.runner-leaderboard>.btn{margin-top:28px;min-height:52px;font-size:15px}.runner-board-empty{padding:24px 0;color:#a4be93}.runner-board-empty h4{font-size:26px;line-height:1.2;letter-spacing:-.03em;color:#d5e5c5;margin:10px 0 14px}.runner-board-empty p{font-size:16px;line-height:1.7;margin:0}
@media(max-width:700px){.arcade-film-hero{min-height:355px;padding:35px 25px;border-radius:9px;margin-bottom:36px;background-position:63% center}.arcade-film-hero h1{font-size:53px;margin:22px 0}.arcade-film-hero p{font-size:16px;max-width:230px}.arcade-film-hero .btn{min-height:54px;width:auto}.arcade-selection-heading{display:block;margin-bottom:23px}.arcade-selection h2{font-size:31px}.arcade-selection-heading>p{margin-top:12px;font-size:14px}.arcade-selection-grid{grid-template-columns:1fr;gap:28px}.arcade-film-poster{height:360px}.poster-title{font-size:49px;bottom:75px;left:25px}.poster-kind{font-size:13px;top:23px}.poster-play{font-size:16px;bottom:25px}.arcade-film-copy{padding-top:16px}.arcade-film-copy>p{font-size:16px}.arcade-film-copy .subtle-link{font-size:13px}.arcade-quests>summary>span,.arcade-garage-details>summary>span{font-size:17px}.arcade-quests>summary>strong,.arcade-garage-details>summary>strong{font-size:12px;gap:17px}.arcade-garage-details .ball-garage{padding-top:12px}.arcade-level-picker h3{font-size:42px}.arcade-level-picker>button{gap:14px;padding:23px 0}.arcade-level-picker strong{font-size:20px}.arcade-level-picker>button>b{font-size:12px}
 #modal.arcade-game-modal.gameplay-cinema>.arcade-game-heading{left:max(17px,env(safe-area-inset-left));top:max(21px,env(safe-area-inset-top));max-width:150px}
 #modal.gameplay-cinema .arcade-game-heading h3{font-size:25px}#modal.gameplay-cinema .arcade-game-heading>span{font-size:9px;margin-top:6px;max-width:150px}
 #modal.gameplay-cinema>.modal-heading{right:max(15px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top))}
 #modal.arcade-game-modal.gameplay-cinema>.game-utility-bar{right:72px;top:max(18px,env(safe-area-inset-top));gap:7px}
 #modal.gameplay-cinema .game-utility-bar>button,#modal.gameplay-cinema .game-options>summary,#modal.gameplay-cinema>.modal-heading .icon-button{width:45px;height:45px;min-height:45px}
 #modal.arcade-game-modal.gameplay-cinema .arcade-game-hud{top:max(88px,calc(env(safe-area-inset-top) + 70px));padding:8px 14px;font-size:10px;min-width:210px;gap:26px;min-height:31px}
 #modal.arcade-game-modal.gameplay-cinema .arcade-control-panel{bottom:max(18px,env(safe-area-inset-bottom));width:calc(100% - 30px);padding:13px 14px 10px;border-radius:11px}
 #modal.gameplay-cinema .arcade-control-panel .putt-controls{grid-template-columns:minmax(0,1fr) 143px;gap:17px}
 #modal.gameplay-cinema .putt-controls .btn{min-height:63px;font-size:16px;padding:12px 10px;border-radius:8px}
 #modal.gameplay-cinema .putt-controls input{height:42px;min-height:42px}
 #modal.gameplay-cinema .putt-controls input::-webkit-slider-thumb{width:34px;height:34px;margin-top:-14px}
 #modal.gameplay-cinema .putt-controls input::-moz-range-thumb{width:30px;height:30px}
 #modal.gameplay-cinema .arcade-control-panel .putt-aim-bar{left:auto;right:0;bottom:calc(100% + 14px)}
 #modal.gameplay-cinema .putt-aim-bar button{width:44px;height:44px;min-height:44px}
 #modal.gameplay-cinema #arcade-game-message{bottom:162px;max-width:calc(100% - 78px);font-size:11px;padding:6px 10px}
 #modal.gameplay-cinema .game-pause-overlay h4{font-size:36px}
 .runner-screen{width:100%}.runner-top{left:19px;right:75px;top:max(22px,env(safe-area-inset-top))}.runner-top h3{font-size:30px}.runner-score>strong{font-size:45px}.runner-overlay{padding:35px 24px}.runner-overlay h4{font-size:76px}.runner-overlay>p{font-size:17px}.runner-leaderboard h3{font-size:39px}
}
@media(max-height:600px) and (orientation:landscape){#modal.arcade-game-modal.gameplay-cinema .arcade-game-hud{top:24px;min-width:190px;font-size:10px;padding:8px 13px}#modal.arcade-game-modal.gameplay-cinema .arcade-control-panel{width:440px;left:auto;right:20px;transform:none;bottom:15px;padding:10px 14px 8px}#modal.gameplay-cinema .putt-controls .btn{min-height:52px}#modal.gameplay-cinema .putt-precision{margin-top:3px}#modal.gameplay-cinema .arcade-control-panel .putt-aim-bar{left:-56px;right:auto;bottom:23px}#modal.gameplay-cinema #arcade-game-message{bottom:125px}.runner-screen{width:min(100%,360px)}.runner-top{top:12px}.runner-top h3{font-size:24px}.runner-top>div>span{font-size:8px;margin-top:6px}.runner-score{top:68px}.runner-score>strong{font-size:32px}.runner-score>span{font-size:8px}.runner-overlay{padding:25px 20px}.runner-overlay h4{font-size:47px;margin:14px 0}.runner-overlay>p{font-size:14px;margin-bottom:15px}.runner-overlay>.btn,.runner-pause>.btn{min-height:47px;font-size:15px;margin-bottom:8px}.runner-overlay>small{font-size:9px;margin:0 0 6px}.runner-overlay>span{font-size:8px}.runner-controls>button{height:52px;min-height:52px;width:65px;font-size:27px}.runner-controls{bottom:12px}.runner-quiet{font-size:12px;min-height:35px;padding:8px}.runner-pause h4{font-size:29px}}
@media(prefers-reduced-motion:reduce){.arcade-film-poster canvas{transition:none}.arcade-film-poster:hover canvas{transform:none}}

.runner-screen>canvas,#modal.gameplay-cinema .arcade-canvas-wrap canvas{outline:none}
#clubhouse-caddie .caddie-avatar-grid .ff-caddie-avatar{width:104px;height:104px;border-radius:13px}
/* Bespoke game wordmarks, shared by posters, level selection and in-game HUDs. */
.ff-game-logo{display:inline-flex;width:100%;max-width:310px;line-height:0;vertical-align:middle;filter:drop-shadow(0 5px 12px #041c1380)}.ff-game-logo>img{display:block;width:100%;height:auto;object-fit:contain}.ff-game-logo--compact{width:125px;max-width:100%}.arcade-film-poster .poster-title{left:22px;right:22px;bottom:69px;width:auto;line-height:0;display:flex;justify-content:center}.poster-title .ff-game-logo{max-width:290px;width:100%}.arcade-level-picker h3 .ff-game-logo{width:245px}#modal.gameplay-cinema .arcade-game-heading h3{line-height:0}#modal.gameplay-cinema .arcade-game-heading>span{margin-top:3px}#modal.gameplay-cinema .arcade-game-heading .ff-game-logo{width:118px}#modal.runner-game-modal .runner-top .ff-game-logo{width:110px}.runner-overlay>.ff-game-logo{width:210px;max-height:145px;margin:19px 0 0}.runner-overlay:has(>.ff-game-logo) h4{font-size:46px;margin:18px 0}.runner-top>div>span{margin-top:3px}
/* A golfer's own Caddie peeks in after the ball has dropped, above shot controls. */
#modal.gameplay-cinema .cup-caddie{position:absolute;left:max(0px,env(safe-area-inset-left));bottom:195px;z-index:10;display:flex;align-items:center;gap:12px;width:min(390px,calc(100% - 24px));padding:0 12px 0 0;pointer-events:none;animation:caddie-peek .45s cubic-bezier(.18,.85,.24,1) both;filter:drop-shadow(0 8px 20px #04160d50)}
#modal.gameplay-cinema .cup-caddie[hidden]{display:none!important}.cup-caddie-portrait{position:relative;flex:0 0 105px;transform:rotate(-7deg) translateX(-10px)}#modal .cup-caddie .ff-caddie-avatar{display:block;width:114px;height:114px;border-radius:23px;border-width:3px;background:#a9b99b}.cup-caddie .cup-thumbs-up{position:absolute;right:-14px;bottom:-9px;width:51px;height:51px;display:block;transform:rotate(11deg);filter:drop-shadow(0 3px 5px #09211466);animation:caddie-approval .6s .25s both}.cup-thumbs-up svg{width:100%;height:100%}.cup-caddie-bubble{position:relative;flex:1;background:#f2efe2;color:#193f2a;border:1px solid #fff9e8b3;border-radius:17px 17px 17px 4px;padding:17px 19px 20px;box-shadow:0 8px 25px #0b281b38;min-width:0}.cup-caddie-bubble>span{display:block;font:9px/1.4 var(--sans);font-weight:750;letter-spacing:.09em;color:#54705a;margin:0 0 8px;overflow-wrap:anywhere}.cup-caddie-bubble>strong{display:block;font:650 20px/1.25 var(--sans);letter-spacing:-.025em;color:#1d432d}.cup-caddie-bubble>i{position:absolute;right:11px;bottom:6px;font-size:14px;color:#b39552;font-style:normal}.cup-caddie.is-leaving{animation:caddie-leave .3s ease-in both}
@keyframes caddie-peek{from{opacity:0;transform:translateX(-110%) rotate(-3deg)}to{opacity:1;transform:translateX(0) rotate(0)}}@keyframes caddie-leave{to{opacity:0;transform:translateX(-110%)}}@keyframes caddie-approval{0%{transform:rotate(-14deg) scale(.65)}65%{transform:rotate(15deg) scale(1.08)}100%{transform:rotate(11deg) scale(1)}}
@media(max-width:700px){.poster-title .ff-game-logo{max-width:260px}#modal.gameplay-cinema .arcade-game-heading .ff-game-logo{width:107px}#modal.gameplay-cinema .arcade-game-heading>span{font-size:9px}#modal.gameplay-cinema .cup-caddie{bottom:200px;width:min(355px,calc(100% - 20px));gap:9px}.cup-caddie-portrait{flex-basis:91px}#modal .cup-caddie .ff-caddie-avatar{width:100px;height:100px;border-radius:19px}.cup-caddie-bubble{padding:15px 16px 19px}.cup-caddie-bubble>strong{font-size:19px}.cup-caddie .cup-thumbs-up{width:46px;height:46px}}
@media(max-height:600px) and (orientation:landscape){#modal.gameplay-cinema .cup-caddie{bottom:30px;width:300px}.cup-caddie-portrait{flex-basis:75px}#modal .cup-caddie .ff-caddie-avatar{width:83px;height:83px}.cup-caddie-bubble>strong{font-size:16px}.cup-caddie-bubble{padding:12px 13px 15px}#modal.gameplay-cinema .arcade-game-heading .ff-game-logo{width:95px}.runner-overlay>.ff-game-logo{width:130px;margin:8px 0 0}.runner-overlay:has(>.ff-game-logo) h4{font-size:30px;margin:10px 0}}
@media(prefers-reduced-motion:reduce){#modal.gameplay-cinema .cup-caddie,.cup-caddie .cup-thumbs-up,.cup-caddie.is-leaving{animation:none!important;transform:none}}
/* Older mobile HUD rules use !important flex; keep this logo lock-up stacked. */
#modal.arcade-game-modal.gameplay-cinema>.arcade-game-heading{display:block!important;width:150px!important;gap:0!important;align-items:initial!important}
#modal.gameplay-cinema .arcade-game-heading>span{width:auto!important;white-space:normal;overflow-wrap:normal;position:static!important}
#modal.gameplay-cinema .arcade-game-heading h3{width:100%!important;flex:none!important}
#modal.arcade-game-modal.gameplay-cinema>.arcade-game-heading{padding:0!important;box-sizing:border-box!important}
@media(max-width:700px) and (orientation:portrait){#modal.arcade-game-modal.gameplay-cinema .arcade-game-hud{top:max(126px,calc(env(safe-area-inset-top) + 108px));font-size:11px}#modal.gameplay-cinema .arcade-game-heading>span{font-size:11px}}
.runner-score>.runner-coin-total{display:flex;align-items:center;justify-content:center;gap:7px;margin:15px auto 0;width:max-content;padding:6px 10px;border-radius:20px;border:1px solid #f7df9a66;background:#18321dcc;font:9px var(--mono);color:#f1dba5;letter-spacing:.04em;text-shadow:none}.runner-coin-total>i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;border:1px solid #f7df9a;background:linear-gradient(135deg,#ffedb1,#bb9143);font:italic 850 9px Arial;color:#73542a;box-shadow:0 1px 3px #122a1470}.runner-coin-total>b{font-size:15px;color:#fff1bd;min-width:9px}.runner-top .ff-game-logo>img{object-fit:contain}
@media(max-height:600px) and (orientation:landscape){.runner-score>.runner-coin-total{margin-top:8px;padding:3px 8px;font-size:8px}.runner-coin-total>i{width:15px;height:15px;font-size:7px}.runner-coin-total>b{font-size:12px}}
/* Profile presets retain the same square portrait treatment as uploaded photos. */
.profile-preset-picker{border:0;padding:0;margin:25px 0 30px;min-width:0}.profile-preset-picker>legend{font-size:23px;font-weight:650;letter-spacing:-.035em;color:#e9eedc}.profile-preset-picker>p{font-size:14px;line-height:1.65;color:#a4ba98;margin:10px 0 20px}.profile-preset-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.profile-preset-option{position:relative;cursor:pointer;min-width:0}.profile-preset-option>input{position:absolute;top:10px;right:10px;z-index:2;width:19px;height:19px;min-height:0;accent-color:#7fe3cf}.profile-preset-option>span{display:block;padding:5px 5px 11px;border:2px solid #73896b55;border-radius:12px;background:#263e2c;transition:border-color .15s}.profile-preset-option img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.profile-preset-option strong{display:block;font-size:14px;line-height:1.4;margin:10px 4px 0;color:#e9eedb}.profile-preset-option:has(input:checked)>span{border-color:#7fe3cf;background:#355740;box-shadow:0 0 0 2px #7fe3cf17}.profile-preset-option:has(input:focus-visible)>span{outline:2px solid #e8e9ce;outline-offset:3px}.shared-player-portraits{display:flex;gap:12px;flex-wrap:wrap;margin:17px 0 24px}.shared-player-portraits>span{display:flex;align-items:center;gap:8px;color:#e4e7d2;font-size:13px}.shared-player-portraits .member-portrait{width:35px;height:35px;min-width:35px;border-radius:50%}
@media(max-width:500px){.profile-preset-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-preset-picker>legend{font-size:22px}.profile-preset-option strong{font-size:14px}.profile-preset-picker>p{font-size:15px}}
@media(max-width:700px) and (orientation:portrait){#modal.arcade-game-modal.gameplay-cinema .arcade-game-hud{top:max(82px,calc(env(safe-area-inset-top) + 72px));right:16px;left:auto;transform:none;min-width:185px;gap:16px;font-size:10px;padding:8px 12px}}@media(max-width:360px) and (orientation:portrait){#modal.arcade-game-modal.gameplay-cinema .arcade-game-hud{min-width:165px;font-size:9px;gap:12px;padding:8px 10px}}
