body.chase-open{overflow:hidden}#chase-game{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#070b14;color:#eef4ff;overflow:auto;box-shadow:none;overscroll-behavior:contain;color-scheme:dark;font:14px/1.6 'DM Sans',sans-serif}#chase-game::backdrop{background:#070b14}.chase-shell{width:min(1450px,100%);margin:auto;padding:0 4% 22px;background:radial-gradient(ellipse at 55% 18%,#193e6f2e,transparent 60%)}#chase-game .chase-header{position:sticky;top:0;z-index:10;max-width:none;margin:0 -4.35%;padding:19px 4.35%;display:flex;align-items:center;gap:26px;border-bottom:1px solid #24334a;background:#070b14ed;backdrop-filter:blur(20px)}#chase-game .brand{color:#eef4ff;font-size:31px}.chase-edition{color:#7287a5;letter-spacing:.18em;font:10px monospace;display:flex;align-items:center;gap:12px}.chase-edition i{font-style:normal;padding:2px 6px;border:1px solid #344763;border-radius:4px;color:#9bb7de}#chase-game .chase-exit{margin-left:auto;background:#f0f5ff;color:#142540;border:1px solid #fff;border-radius:6px;padding:10px 16px;display:flex;gap:20px;align-items:center;font-size:13px;font-weight:650;white-space:nowrap;box-shadow:0 0 25px #adcaff12;transition:background .2s,transform .2s}.chase-exit:hover{background:#cfe1ff!important;transform:translateY(-1px)}.chase-intro{display:flex;justify-content:space-between;align-items:end;gap:50px;padding:28px 0 24px}.chase-kicker{font:10px monospace;letter-spacing:.16em;color:#89a9d4}.chase-intro h1{font:550 clamp(28px,3.1vw,45px)/1.13 'Manrope',sans-serif;letter-spacing:-1.8px;margin:10px 0 0;color:#edf4ff}.chase-intro h1 span{color:#a8cffd}.chase-intro>p{max-width:365px;color:#8fa2bf;font-size:14px;margin:0;line-height:1.8}.chase-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:24px;align-items:start}.chase-board-area{border:1px solid #2b4770;border-radius:11px;overflow:hidden;background:#091222;box-shadow:0 20px 65px #0004,0 0 45px #2453a31a}.chase-hud{display:flex;align-items:center;gap:18px;padding:12px 16px;background:#101d31;border-bottom:1px solid #253d60;font:12px monospace}.police-badge{display:flex;align-items:center;gap:8px;letter-spacing:.04em;color:#d0dced;font-size:10px}.police-badge i{height:6px;width:6px;background:#ff7b9b;box-shadow:0 0 12px #ff7b9b;border-radius:50%;animation:police-pulse 1.4s infinite}#chase-time{margin-left:auto;color:#a3bfdf;font-variant-numeric:tabular-nums}#chase-lives{color:#d7f985;letter-spacing:3px;font-size:12px;white-space:nowrap}.chase-hud button{width:25px;height:25px;display:grid;place-items:center;padding:0;background:#1b3150;border:1px solid #365276;border-radius:4px;color:#b2c9e8;font-size:15px}.chase-board{position:relative;min-width:0;background:#070e1d}#chase-canvas{display:block;width:100%;aspect-ratio:25/17;touch-action:none;outline-offset:-3px}#chase-canvas:focus-visible{outline:2px solid #83b7ff}.chase-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:22px;background:#050c1b95;backdrop-filter:blur(3px)}.chase-screen[hidden]{display:none}.chase-message{max-width:435px;width:100%;background:linear-gradient(130deg,#15263fed,#0c1729fa);border:1px solid #5276a6;border-radius:12px;padding:30px;box-shadow:0 20px 60px #0008}.chase-message h2{font:550 30px/1.2 'Manrope';letter-spacing:-1px;margin:14px 0;color:#ecf4ff}.chase-message p{font-size:14px;line-height:1.8;color:#a3b6d1;margin:0 0 23px}.chase-message>div{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.chase-primary{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:#bcec86;color:#152b21;border:1px solid #d5ffaa;border-radius:6px;font-weight:650;font-size:14px;padding:11px 17px;cursor:pointer;transition:.2s}.chase-primary:hover{background:#d7ffa9;box-shadow:0 0 24px #bcec8633}.chase-secondary{background:none;padding:8px 0;color:#afc9ef;font-size:13px;border:0}.chase-secondary:hover{color:white}.chase-message-hint{font:10px monospace;color:#7a94b7}.chase-board-footer{display:flex;justify-content:space-between;gap:18px;padding:11px 16px;min-height:42px;background:#101d31;border-top:1px solid #253d60;font-size:11px;color:#8faed3}#chase-status{flex:1}#chase-score{color:#c5dc9f;white-space:nowrap}.chase-guide{border:1px solid #293e5a;border-radius:10px;background:#0c1422;padding:19px 15px}.chase-guide-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#9db4d5}.chase-guide-top>span{font:9px monospace;letter-spacing:.09em}.chase-guide-top b{font:11px monospace;white-space:nowrap;color:#c1d6f4}.chase-guide>p{font-size:12px;color:#7e96b6;line-height:1.7;margin:11px 0 18px}.chase-destinations{display:flex;flex-direction:column;gap:6px}.chase-destinations button{display:flex;align-items:center;text-align:left;gap:9px;border:1px solid #293e5f;border-radius:5px;background:#132139;padding:8px 9px;color:#9eb8db;transition:background .2s,border-color .2s}.chase-destinations button>span{font:10px monospace;padding:3px 4px;background:#263f6c;border-radius:3px;color:#aecdfe;min-width:23px;text-align:center}.chase-destinations button strong{font-size:12px;font-weight:500}.chase-destinations button i{font-size:12px;font-style:normal;margin-left:auto}.chase-destinations button.selected{background:#1b3864;border-color:#5b8bcd;color:#e0efff}.chase-destinations button.visited>span{background:#245448;color:#b4e5cb}.chase-destinations button:hover{border-color:#6e98cf;background:#1d3251}.chase-help{border-top:1px solid #263c58;margin-top:17px;padding-top:16px}.chase-help>div{display:flex;align-items:center;gap:7px;font-size:11px;color:#9bafca}.player-key{height:9px;width:9px;border-radius:50%;background:#d7f985}.enemy-key{height:9px;width:9px;border-radius:4px 4px 1px 1px;background:#ff637f;margin-left:14px}.chase-help p{font-size:11px;color:#6f88ac;margin:10px 0 0}.chase-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:19px;color:#6f86a6;font-size:11px}.chase-bottom>span:first-child{color:#acc2df}.chase-mobile-controls{display:none}#chase-launcher{position:fixed;bottom:18px;left:18px;z-index:30;border:1px solid #507cad;background:#132239ef;color:#c8dfff;border-radius:30px;padding:10px 16px;font-size:12px;box-shadow:0 6px 25px #0003}#chase-launcher[hidden]{display:none}#chase-launcher:hover{background:#284572}html[data-theme=light] #chase-launcher{background:#edf4ff;color:#305884;border-color:#b0c8e7}@keyframes police-pulse{50%{background:#75aeff;box-shadow:0 0 12px #75aeff}}@media(min-width:1300px) and (max-height:850px){.chase-shell{max-width:1250px}.chase-intro{padding:20px 0}.chase-intro h1{font-size:35px}.chase-layout{grid-template-columns:minmax(0,1fr) 260px}.chase-guide{padding:14px}.chase-destinations button{padding:6px 9px}}@media(max-width:1000px){.chase-layout{grid-template-columns:minmax(0,1fr) 220px;gap:15px}.chase-intro{gap:25px}.chase-intro>p{font-size:12px;max-width:300px}.chase-message{padding:24px}.chase-message h2{font-size:26px}.chase-hud{gap:10px;padding:10px}.chase-edition{font-size:9px}.chase-destinations button strong{font-size:11px}}@media(max-width:760px){.chase-shell{padding:0 4% 20px}#chase-game .chase-header{padding:14px 4.35%;gap:14px}#chase-game .brand{font-size:26px}.chase-edition{display:none}#chase-game .chase-exit{padding:9px 11px;font-size:11px;gap:10px}.chase-intro{padding:20px 0 17px;display:block}.chase-intro h1{font-size:31px;letter-spacing:-1.1px}.chase-intro>p{font-size:12px;max-width:none;margin-top:12px;line-height:1.65}.chase-kicker{font-size:9px}.chase-layout{grid-template-columns:1fr;gap:15px}.chase-hud{gap:9px;padding:9px}.police-badge{font-size:8px;gap:5px}.police-badge i{width:5px;height:5px}#chase-lives{font-size:10px;letter-spacing:1px}#chase-time{font-size:10px}.chase-hud button{width:23px;height:23px}.chase-screen{padding:12px}.chase-message{padding:17px;max-width:350px}.chase-message h2{font-size:23px;margin:8px 0}.chase-message p{font-size:12px;line-height:1.6;margin-bottom:14px}.chase-message .chase-kicker{font-size:8px}.chase-primary{font-size:12px;padding:8px 12px}.chase-message>div{gap:9px}.chase-message-hint{font-size:8px}.chase-secondary{font-size:11px;padding:5px 0}.chase-board-footer{font-size:10px;padding:10px;gap:10px;min-height:47px}.chase-mobile-controls{display:flex;gap:9px;justify-content:center;align-items:center;padding:13px;background:#0c172a;border-top:1px solid #203c60}.chase-mobile-controls>div{display:flex;gap:9px}.chase-mobile-controls button{width:48px;height:40px;background:#1b3559;border:1px solid #446b9f;border-radius:7px;font:20px system-ui;color:#d6eaff;touch-action:manipulation;user-select:none}.chase-mobile-controls button:active{background:#4b79b5}.chase-guide{padding:16px}.chase-guide>p{margin:8px 0 12px}.chase-destinations{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chase-destinations button{padding:9px}.chase-help{margin-top:15px;padding-top:12px}.chase-help p{font-size:11px}.chase-bottom{flex-direction:column;gap:5px;font-size:10px}#chase-launcher{bottom:13px;left:10px;padding:8px 11px;font-size:10px}}@media(max-width:380px){.chase-message h2{font-size:20px}.chase-message p{font-size:11px}.chase-message-hint{display:none}.chase-intro h1{font-size:28px}.chase-exit span{display:none}.chase-hud{gap:6px}}@media(prefers-reduced-motion:reduce){.police-badge i{animation:none}#chase-game *{scroll-behavior:auto}}
/* Clearer navigation, slower exploration and section previews. */
.chase-language{color:#bfd5f4;border:1px solid #42618c;border-radius:5px;padding:5px 9px;font:12px monospace;margin-left:auto}.chase-language:hover{background:#243e65}#chase-game .chase-exit{margin-left:0}.chase-intro{align-items:center;gap:35px}.chase-intro h1{font-size:clamp(26px,2.8vw,41px);line-height:1.2;max-width:730px;letter-spacing:-1.3px}.chase-intro>p{font-size:15px;color:#acbed8;max-width:355px}.chase-quickstart{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:13px 17px;margin:0 0 20px;background:#101d30;border:1px solid #304a6c;border-radius:7px}.chase-quickstart>span{display:flex;align-items:center;gap:9px;font-size:13px;color:#c0d3ec}.chase-quickstart b{display:grid;place-items:center;min-width:24px;height:24px;background:#274876;border:1px solid #4f79ad;border-radius:50%;font:12px monospace;color:#e1efff}.chase-layout{grid-template-columns:minmax(0,1fr) 285px}.chase-guide-top>span{font-size:12px;letter-spacing:.06em}.chase-guide-top b{font-size:12px}.chase-guide>p{font-size:14px;color:#a3b8d4}.chase-destinations button{padding:10px 11px}.chase-destinations button strong{font-size:14px}.chase-destinations button>span{font-size:12px;min-width:26px}.chase-destinations button i{font-size:15px}.chase-help>div{flex-wrap:wrap;font-size:12px;color:#bed0e9}.chase-help p{font-size:12px;color:#94abcd}.chase-hud{gap:12px;flex-wrap:wrap}.chase-hud button{width:auto;min-height:30px;padding:4px 9px;display:inline-flex;gap:6px;font:12px 'DM Sans',sans-serif}.police-badge{font-size:10px}#chase-grace{font:11px monospace;color:#c6ef9e;background:#203b32;border:1px solid #3c6450;border-radius:4px;padding:3px 7px}.chase-board-footer{font-size:12px}.chase-message{max-width:465px}.chase-message p{font-size:15px}.chase-message-hint{font-size:11px}.chase-screen{background:#050c1b7d}.chase-help .enemy-key{margin-left:7px}#chase-launcher{font-size:14px;font-weight:600;padding:12px 19px;background:#244575;border-color:#8bb5eb;box-shadow:0 8px 32px #05112870}
#chase-section{position:fixed;inset:0;margin:auto;width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:34px;border:1px solid #779cca;border-radius:15px;background:linear-gradient(130deg,#1b304e,#0d1b30);color:#eef5ff;box-shadow:0 30px 100px #000a;overflow:auto;overscroll-behavior:contain;color-scheme:dark}#chase-section::backdrop{background:#030a17b8;backdrop-filter:blur(6px)}#chase-section .chase-kicker{font-size:12px;color:#9fbee6}#chase-section h2{font:600 33px/1.2 'Manrope',sans-serif;letter-spacing:-1px;color:#eef5ff;margin:17px 0 12px}#chase-section .chase-section-lead{font-size:16px;line-height:1.8;color:#b6cbe6;margin:0 0 22px}.chase-section-close{position:absolute;top:12px;right:14px;display:grid;place-items:center;width:34px;height:34px;background:#274362;border:1px solid #4b6e98;border-radius:50%;color:#e0ecff;font-size:24px}.chase-section-close:hover{background:#3f6490}.chase-section-preview{display:grid;gap:13px}.chase-section-preview article{padding:18px 20px;border:1px solid #38597f;background:#142842;border-radius:8px}#chase-section .chase-section-preview h3{color:#dfecff;font-size:17px;font-weight:550;margin:0 0 7px}#chase-section .chase-section-preview p{color:#a9c1df;font-size:15px;line-height:1.8;margin:0}.chase-section-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:25px}.chase-section-actions .chase-primary{font-size:15px}.chase-section-actions .chase-secondary{font-size:14px}#chase-section .chase-section-note{font-size:12px;line-height:1.7;color:#8faacd;margin:18px 0 0}#chase-section button:focus-visible,#chase-section a:focus-visible{outline:2px solid #d6f7a3;outline-offset:4px}@media(max-width:1150px){.chase-quickstart{gap:12px}.chase-quickstart>span{font-size:12px}.chase-layout{grid-template-columns:minmax(0,1fr) 250px}.chase-hud{gap:8px}.police-badge{font-size:9px}.chase-intro h1{font-size:32px}.chase-intro>p{font-size:14px;max-width:300px}.chase-destinations button strong{font-size:13px}}@media(max-width:760px){.chase-language{font-size:11px;padding:4px 6px}#chase-game .chase-header{gap:9px}.chase-intro h1{font-size:29px;letter-spacing:-1px}.chase-intro>p{font-size:14px;max-width:none}.chase-quickstart{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:13px;margin-bottom:15px}.chase-quickstart>span{font-size:13px}.chase-layout{grid-template-columns:1fr}.chase-guide-top>span{font-size:12px}.chase-destinations button strong{font-size:13px}.chase-guide>p{font-size:14px}.chase-hud{gap:8px;padding:10px}#chase-time{margin-left:auto}#chase-grace{order:3;margin-right:auto;font-size:11px}.chase-hud button{order:4;font-size:12px}.chase-hud .police-badge{font-size:9px}#chase-lives{font-size:11px}.chase-message h2{font-size:22px}.chase-message p{font-size:12px}.chase-message-hint{font-size:9px}.chase-board-footer{font-size:11px}.chase-help>div{font-size:12px}#chase-section{padding:27px 20px 24px;max-height:calc(100dvh - 24px)}#chase-section h2{font-size:28px}#chase-section .chase-section-lead{font-size:15px}.chase-section-preview article{padding:15px}#chase-section .chase-section-preview h3{font-size:16px}#chase-section .chase-section-preview p{font-size:14px}.chase-section-actions{gap:12px}.chase-section-actions .chase-primary,.chase-section-actions .chase-secondary{font-size:14px}#chase-launcher{font-size:12px;padding:10px 13px;bottom:12px}}@media(max-width:380px){.chase-intro h1{font-size:26px}#chase-game .brand{font-size:23px}#chase-game .chase-exit{font-size:10px;padding:8px}.chase-message{padding:14px}.chase-message h2{font-size:19px}.chase-message p{font-size:11px}}

/* Compact invitation, then a game-sized modal. */
#chase-invite{position:fixed;bottom:24px;right:24px;z-index:45;width:min(380px,calc(100vw - 32px));padding:26px 20px 18px;border:1px solid #8175ac;border-radius:16px;background:linear-gradient(120deg,#101c30,#20162e);color:#eef4ff;box-shadow:0 18px 60px #070c2340;font-family:'DM Sans',sans-serif}
#chase-invite[hidden]{display:none}
.invite-dismiss{position:absolute;top:3px;right:6px;border:0;background:transparent;color:inherit;width:32px;height:32px;font-size:24px;cursor:pointer;z-index:2}
.invite-accept{display:block;width:100%;text-align:left;background:none;border:0;padding:0;color:inherit;cursor:pointer}
.invite-track{display:block;position:relative;height:48px;overflow:hidden;padding-left:44px}
.invite-question{display:flex;align-items:center;height:44px;font-size:17px;font-weight:600;white-space:nowrap}
.invite-pacman{position:absolute;left:0;top:0;width:44px;height:44px}
.invite-hint{display:block;font-size:14px;color:#b7bcdb;margin-top:8px}
.eating .invite-question{clip-path:inset(0 0 0 var(--bite,0%))}
.eating .invite-pacman{left:var(--bite,0%)}
#chase-invite button:focus-visible{outline:2px solid #d7f985;outline-offset:3px;border-radius:6px}
html #chase-game{inset:0;margin:auto;width:min(880px,72vw);height:auto;max-height:84dvh;border:1px solid #626080aa;border-radius:18px;box-shadow:0 30px 100px #0009}
html #chase-game::backdrop{background:rgb(6 8 17 / 48%);backdrop-filter:blur(9px)}
#chase-game .chase-shell{padding:0 18px 16px;max-width:none}
#chase-game .chase-header{margin:0 -18px;padding:12px 18px;gap:12px}
#chase-game .brand{font-size:24px}
#chase-game .chase-edition,#chase-game .chase-intro>p,#chase-game .chase-kicker,#chase-game .chase-quickstart,#chase-game .chase-bottom,#chase-game .police-badge,#chase-game .chase-help,#chase-game .chase-guide>p{display:none}
#chase-game .chase-close{flex-shrink:0;width:34px;height:34px;border:1px solid #626080;border-radius:50%;background:#20253b;color:#fff;font-size:24px;cursor:pointer}
#chase-game .chase-exit{font-size:12px;padding:8px 10px;gap:6px}
#chase-game .chase-intro{padding:14px 0}
#chase-game .chase-intro h1{font-size:22px;letter-spacing:-.5px;margin:0;line-height:1.3}
#chase-game .chase-layout{grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:stretch}
#chase-game .chase-guide{min-height:0;position:relative;padding:10px;overflow:auto;max-height:440px}
#chase-game .chase-guide-top{margin-bottom:10px;gap:5px}
#chase-game .chase-guide-top>span{font-size:11px}
#chase-game .chase-destinations{display:flex;flex-direction:column;gap:5px}
#chase-game .chase-destinations button{padding:7px 6px;gap:6px;min-height:36px}
#chase-game .chase-destinations button strong{font-size:14px}
#chase-game .chase-destinations button>span{font-size:11px;min-width:21px;padding:2px}
#chase-game .chase-destinations button i{display:none}
#chase-game .chase-hud{padding:8px;gap:6px}
#chase-game #chase-time{margin-left:0}
#chase-game #chase-grace{order:0;margin-right:auto}
#chase-game .chase-hud button{font-size:12px;min-height:30px;padding:3px 7px}
#chase-game .chase-board-footer{font-size:12px;padding:8px;gap:8px}
#chase-game .chase-screen{padding:12px;overflow:auto}
#chase-game .chase-message{padding:18px}
#chase-game .chase-message h2{font-size:22px;margin:0 0 10px;letter-spacing:-.4px}
#chase-game .chase-message p{font-size:14px;line-height:1.5;margin-bottom:14px}
#chase-game .chase-primary{font-size:14px;padding:8px 12px}
#chase-game .chase-message-hint{display:none}
@media(max-width:900px){html #chase-game{width:min(700px,90vw)}#chase-game .chase-layout{grid-template-columns:minmax(0,1fr) 175px}}
@media(max-width:600px){html #chase-game{width:calc(100vw - 28px);max-height:82dvh}#chase-game .chase-shell{padding:0 12px 12px}#chase-game .chase-header{margin:0 -12px;padding:10px 12px;gap:7px}#chase-game .chase-layout{grid-template-columns:1fr}#chase-game .chase-intro h1{font-size:19px}#chase-game .chase-intro{padding:10px 0}#chase-game .chase-guide{max-height:170px}#chase-game .chase-destinations{display:grid;grid-template-columns:1fr 1fr}#chase-game .chase-message{padding:12px}#chase-game .chase-message h2{font-size:19px}#chase-game .chase-message p{font-size:14px}#chase-game .chase-mobile-controls{padding:7px}#chase-game .chase-exit{font-size:11px}#chase-game .chase-exit span{display:none}#chase-game .brand{font-size:20px}#chase-invite{right:16px;bottom:16px;padding-left:14px;padding-right:14px}.invite-question{font-size:15px}}
@media(max-height:720px) and (min-width:601px){html #chase-game{width:min(760px,80vw)}#chase-game .chase-intro h1{font-size:18px}#chase-game .chase-guide{max-height:350px}}
