@font-face{font-family:Bowling;src:url(/games/bowling/assets/montserrat-onay-CvsRPKz6.woff2) format("woff2");font-display:swap;font-weight:100 900}:root{font-family:Bowling,system-ui,sans-serif;color:#f4eee0;background:#0e1c20;font-synthesis:none;--gold:#dfc38a;--muted:#a5b6b4;--mint:#a4d7c3;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}body{margin:0;overscroll-behavior:none;overflow:hidden}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.55}button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#app{position:relative;width:100%;height:100svh;height:100dvh;min-height:0;overflow:hidden;isolation:isolate}#scene,.vignette{position:absolute;inset:0}#scene canvas{display:block;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(180deg,#0b202bf5 0%,#0b202bbb 13%,transparent 35%,transparent 62%,#091d22b3 84%,#0b202b 100%)}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + var(--safe-top)) 20px 12px;z-index:4}.icon-button{display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;border:1px solid #b2d0c225;border-radius:50%;background:#132c2d8c;color:#ede8dc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.icon-button:active{background:#365052}.icon-button.small{min-width:40px;min-height:40px;border:none;background:transparent}.brand{text-align:center}.brand span{display:block;font-size:8px;font-weight:600;letter-spacing:.23em;color:var(--gold);margin-bottom:3px}.brand strong{font-size:23px;letter-spacing:-.6px;font-weight:600}.muted-line{display:none}.is-muted .muted-line{display:initial}#hud{position:absolute;top:calc(88px + var(--safe-top));left:20px;right:20px;z-index:3}.session-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:12px}.session-bar span{font-size:10px;letter-spacing:.09em;color:var(--muted)}.session-bar strong{font-size:22px;font-variant-numeric:tabular-nums;margin-left:7px;font-weight:600}.session-bar .muted{font-size:13px;letter-spacing:0}.score-link{color:var(--gold);background:none;border:0;padding:4px 8px;display:flex;align-items:center;gap:3px;min-height:44px}.score-link svg{width:15px;height:15px;margin-left:5px}.frame-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #e4dbc122;border-radius:10px;overflow:hidden;background:#10292adc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.frame-cell{text-align:center;position:relative;border-right:1px solid #e4dbc119;padding:5px 0 7px;font-variant-numeric:tabular-nums}.frame-cell:last-child{border:0}.frame-cell.active{background:#dfc38a15;box-shadow:inset 0 2px var(--gold)}.frame-cell>span{display:block;color:#9eb3af;font-size:9px;margin-bottom:3px}.frame-cell .marks{font-size:12px;color:var(--gold);min-height:17px;letter-spacing:3px}.frame-cell b{font-size:16px;display:block;min-height:20px;font-weight:600}.frame-cell.active>span{color:var(--gold)}.welcome{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:70px 28px calc(14px + var(--safe-bottom));background:linear-gradient(transparent,#102629e8 23%,#102629 65%);z-index:3}.welcome-top{display:flex;align-items:center;justify-content:center;gap:9px;font-size:9px;letter-spacing:.15em;color:var(--gold)}.club-seal{border:1px solid #b69e6a73;border-radius:50%;width:27px;height:27px;display:grid;place-items:center;letter-spacing:0;font-size:11px}.welcome h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,8.8vw,43px);letter-spacing:-.025em;line-height:1.07;margin:16px 0 13px}.welcome p{font-size:12px;color:#bbc7be;margin:0}.welcome-facts{display:flex;justify-content:center;align-items:center;gap:11px;margin:23px 0;font-size:10px;color:#a4b8ae}.welcome-facts i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.primary-button{width:100%;border:1px solid #eed9a8;border-radius:12px;background:linear-gradient(125deg,#eed7a2,#cfaf71);box-shadow:0 4px 22px #0003,inset 0 1px #fff6;color:#25302a;font-weight:600;padding:17px 22px;min-height:54px;font-size:15px;letter-spacing:.01em}.primary-button:active{transform:translateY(1px);filter:brightness(.92)}.text-button{padding:12px 16px;min-height:44px;border:0;background:transparent;color:#b7c7bb;font-size:11px}.welcome .text-button{margin-top:2px}#gesture{position:absolute;inset:31% 0 138px;touch-action:none;z-index:2;cursor:grab;outline-offset:-5px}.controls{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:25px 24px calc(7px + var(--safe-bottom));pointer-events:none;background:linear-gradient(transparent,#10272ce8 26%,#10272c 80%)}.controls button{pointer-events:auto}.throw-line{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;color:var(--gold);margin:0 0 16px}.throw-line span:last-child{letter-spacing:0;color:var(--muted)}.swipe-hint{display:flex;align-items:center;justify-content:center;gap:12px;text-align:left}.swipe-hint>svg{width:22px;height:32px;stroke:var(--gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.swipe-hint strong{font-size:15px;font-weight:600}.swipe-hint p{font-size:10px;color:var(--muted);margin:4px 0 0}.power-track{height:2px;margin:16px auto 2px;width:118px;background:#e2d8b62b;border-radius:3px;overflow:hidden}.power-track>div{height:100%;width:0;background:var(--gold);transition:width .05s}.controls>.text-button{display:block;margin:auto;padding:9px;min-height:36px}.pin-map{position:absolute;top:calc(225px + var(--safe-top));right:23px;display:grid;grid-template-columns:repeat(7,5px);gap:4px;z-index:3;opacity:.85}.pin-map i{width:5px;height:5px;border-radius:50%;background:#e4d9ba;box-shadow:0 0 5px #f5e8b333}.pin-map i.down{background:#4b6765;box-shadow:none}.announcement{position:absolute;top:43%;width:100%;text-align:center;z-index:4;pointer-events:none;color:#fff2c8;text-shadow:0 2px 30px #000b;font-size:46px;font-family:Georgia,serif;line-height:1.1}.announcement small{display:block;font:10px Bowling,system-ui,sans-serif;letter-spacing:.18em;margin-top:10px;color:#e6e8d4}.announcement:empty{display:none}.sheet{border:1px solid #c5d4b82b;border-radius:23px 23px 0 0;background:linear-gradient(150deg,#203b3c,#112a2f);color:#eee9dc;padding:28px 26px calc(25px + var(--safe-bottom));width:100%;max-width:520px;max-height:90dvh;margin:auto auto 0;box-shadow:0 -12px 100px #0005;overflow-y:auto}.sheet::backdrop{background:#031316a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet:before{content:"";position:absolute;top:10px;left:calc(50% - 18px);width:36px;height:3px;background:#b0c4b94d;border-radius:3px}.sheet .eyebrow{font-size:9px;letter-spacing:.18em;color:var(--gold);text-align:center;margin:8px 0 12px}.sheet h2{font-family:Georgia,serif;font-size:31px;font-weight:400;line-height:1.12;margin:0 0 20px;text-align:center}.sheet p{font-size:13px;line-height:1.55;color:#b5c6bd}.sheet ol{list-style:none;padding:0;margin:20px 0 25px;counter-reset:rules}.sheet li{position:relative;padding:0 0 18px 41px;counter-increment:rules}.sheet li:before{content:"0" counter(rules);position:absolute;left:0;top:0;color:var(--gold);font-size:14px}.sheet li b{font-size:14px;font-weight:600}.sheet li p{margin:5px 0 0;font-size:12px}.sheet .text-button{display:block;margin:auto}.rules-note{padding:13px 15px;border:1px solid #c1d3ba20;border-radius:10px;font-size:11px!important;margin-bottom:22px}.rules-note strong{color:#ecdfbe}.result-score{text-align:center;font-size:76px;line-height:1.1;color:var(--gold);font-weight:600;letter-spacing:-4px;margin:20px 0 2px;font-variant-numeric:tabular-nums}.result-score small{font-size:18px;letter-spacing:0;color:#90aaa4;margin-left:9px;font-weight:400}.result-stats{display:flex;justify-content:center;gap:40px;margin:22px 0}.result-stats div{text-align:center;font-size:11px;color:#a4bcb2}.result-stats b{display:block;font-size:23px;color:#f1e7cf;font-weight:600;margin-bottom:4px}.all-frames{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #c1d3ba20;border-radius:9px;overflow:hidden;margin:20px 0}.all-frames .frame-cell{border-bottom:1px solid #c1d3ba20}.pending-note{font-size:11px!important;text-align:center}.fatal{position:absolute;inset:0;z-index:10;background:#11292d;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;text-align:center}.fatal h1{font-family:Georgia,serif;font-weight:400;font-size:32px}.fatal p{font-size:14px;line-height:1.6;color:var(--muted);max-width:350px}.fatal .primary-button{max-width:350px;margin-top:20px}@media(min-width:600px)and (orientation:portrait){.topbar,#hud{max-width:500px;margin:auto}.welcome{padding-left:calc((100% - 440px)/2);padding-right:calc((100% - 440px)/2)}.controls{padding-left:calc((100% - 460px)/2);padding-right:calc((100% - 460px)/2)}}@media(max-height:680px)and (orientation:portrait){.topbar{padding-top:calc(8px + var(--safe-top))}.brand strong{font-size:20px}#hud{top:calc(72px + var(--safe-top))}.session-bar{padding-bottom:4px}.frame-cell{padding:3px 0 4px}.welcome{padding-top:50px}.welcome h1{font-size:32px;margin:11px 0}.welcome-facts{margin:16px 0}.welcome p{font-size:10px}.welcome .text-button{padding:8px}.controls{padding-top:18px}.throw-line{margin-bottom:10px}.pin-map{top:calc(190px + var(--safe-top))}.announcement{font-size:36px}}@media(orientation:landscape)and (max-height:600px){.topbar{width:220px;padding:12px}.brand span{font-size:7px}.brand strong{font-size:18px}.topbar .icon-button{min-width:36px;min-height:36px}.welcome{left:auto;width:300px;height:100%;padding:25px 24px 10px;background:linear-gradient(90deg,transparent,#102629f5 20%);display:flex;flex-direction:column;justify-content:center}.welcome h1{font-size:30px}.welcome-top{font-size:8px}.welcome-facts{gap:7px;margin:14px 0;font-size:9px}.welcome p{font-size:10px}#hud{top:75px;left:14px;right:auto;width:195px}.session-bar{gap:1px}.session-bar span{font-size:8px}.session-bar strong{font-size:18px}.frame-strip{grid-template-columns:repeat(5,1fr)}.controls{left:auto;width:245px;padding:15px;bottom:0;border-radius:12px 0 0}.controls .throw-line{font-size:8px}.swipe-hint strong{font-size:13px}.swipe-hint p{font-size:9px}#gesture{inset:25% 245px 0 220px}.pin-map{top:195px;left:95px;right:auto}.announcement{width:45%;left:27%;font-size:32px}.sheet{border-radius:20px;margin:auto;max-height:94dvh;max-width:480px}.sheet li{padding-bottom:10px}.sheet h2{font-size:26px;margin-bottom:10px}.sheet ol{margin:12px 0}.result-score{font-size:55px;margin:10px 0}.result-stats{margin:12px 0}.all-frames{margin:10px 0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(orientation:landscape)and (max-width:650px){.topbar{width:180px}.brand span{font-size:6px;letter-spacing:.1em}.brand strong{font-size:15px}#hud{width:166px;left:8px}.controls{width:195px;padding:12px 9px}.swipe-hint{gap:6px}.swipe-hint p{font-size:8px}.swipe-hint strong{font-size:11px}#gesture{inset:25% 195px 0 180px}.welcome{width:275px;padding-top:16px}.welcome h1{font-size:26px}.welcome-top{display:none}.welcome .text-button{padding:6px}.welcome-facts{font-size:8px}}.session-bar>div{white-space:nowrap}@media(orientation:landscape)and (max-height:600px){.pin-map{display:none}}
