@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fraunces-latin-BOz5zopO.woff2)format("woff2")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/static/nunito-sans-latin-DMs03jvk.woff2)format("woff2")}@font-face{font-family:Nunito Sans;font-style:italic;font-weight:200 1000;font-display:swap;src:url(/static/nunito-sans-italic-latin-BI68wxFC.woff2)format("woff2")}:root{--lo-table:#1e2a4a;--lo-table-raised:#28375e;--lo-table-line:#3a4c7a;--lo-tangerine:#f28c38;--lo-tangerine-light:#f7a865;--lo-tangerine-dark:#c86a1c;--lo-starlight:#f6c945;--lo-starlight-light:#fadb7a;--lo-starlight-dark:#a9820f;--lo-navy:#2e4478;--lo-navy-deep:#1a2342;--lo-cream:#f6efdf;--lo-cream-deep:#e8dcc2;--lo-ink:#1b1a2e;--lo-ink-soft:#4a4860;--lo-good:#2fa37a;--lo-good-dark:#1d7a58;--lo-costly:#d94a3a;--lo-costly-dark:#b0362a;--lo-stone:#c9c3b6;--lo-gary:#5cc6a6;--lo-coral:#f2867a;--lo-on-table:#f6efdf;--lo-on-table-soft:#aeb8d6;--lo-lapis:var(--lo-tangerine-dark);--lo-lapis-deep:#a8561a;--lo-gold:var(--lo-starlight);--lo-gold-light:var(--lo-starlight-light);--lo-gold-dark:var(--lo-starlight-dark);--lo-ivory:var(--lo-cream);--lo-ivory-deep:var(--lo-cream-deep);--lo-jade:var(--lo-good);--lo-jade-dark:var(--lo-good-dark);--lo-terracotta:var(--lo-costly);--lo-terracotta-dark:var(--lo-costly-dark);--lo-limestone:var(--lo-stone);--lo-sand:var(--lo-starlight);--lo-font-mark:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--lo-font-numeral:"Fraunces", Georgia, serif;--lo-font-ui:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--lo-shadow:0 1px 0 #00000026, 0 4px 10px #00000040;--lo-shadow-lg:0 2px 6px #00000040, 0 16px 40px #00000059;--lo-glow:0 0 0 3px var(--lo-starlight-light), 0 0 12px #f6c94599;--lo-radius-sm:8px;--lo-radius-md:14px;--lo-radius-lg:20px;--lo-radius-pill:999px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-flip:cubic-bezier(.3, 1.35, .5, 1);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{-webkit-text-size-adjust:100%;background:var(--lo-table)}body{background:var(--lo-table);color:var(--lo-on-table);font-family:var(--lo-font-ui);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-size:16px;line-height:1.4;overflow-x:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--lo-gold-light);outline-offset:2px}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.num{font-family:var(--lo-font-numeral);font-variant-numeric:lining-nums tabular-nums;font-weight:900}.mark{font-family:var(--lo-font-mark);letter-spacing:.08em;font-weight:700}.btn{border-radius:var(--lo-radius-pill);min-height:46px;transition:transform .12s var(--ease-out), filter .12s, background .15s, opacity .15s;-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:1.0625rem;font-weight:800;line-height:1.15;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)scale(.985)}.btn:disabled{opacity:.45}.btn-primary{background:var(--lo-lapis);color:var(--lo-ivory);box-shadow:inset 0 0 0 1.5px #f2c7668c, 0 3px 0 var(--lo-lapis-deep), 0 6px 14px #00000038}@media (hover:hover){.btn-primary:hover:not(:disabled){filter:brightness(1.1)}}.btn-gold{background:var(--lo-gold);color:var(--lo-ink);box-shadow:0 3px 0 var(--lo-gold-dark), 0 6px 14px #00000038}@media (hover:hover){.btn-gold:hover:not(:disabled){filter:brightness(1.06)}}.btn-quiet{color:var(--lo-on-table);background:0 0;box-shadow:inset 0 0 0 1.5px #f4ebd98c}@media (hover:hover){.btn-quiet:hover:not(:disabled){background:#f4ebd914}}.btn-ink{color:var(--lo-ink);box-shadow:inset 0 0 0 1.5px var(--lo-ink-soft);background:0 0}@media (hover:hover){.btn-ink:hover:not(:disabled){background:#1b1a2e0f}}.btn-big{min-height:56px;padding:14px 28px;font-size:1.15rem}.btn-sm{min-height:38px;padding:6px 14px;font-size:.95rem}.icon-btn{min-width:44px;min-height:44px;color:inherit;background:0 0;border:0;border-radius:12px;place-items:center;padding:0;font-size:1.1rem;font-weight:800;display:inline-grid}@media (hover:hover){.icon-btn:hover{background:#f4ebd91a}}.link-btn{color:var(--lo-on-table);text-underline-offset:4px;background:0 0;border:0;padding:8px 6px;font-weight:700;-webkit-text-decoration:underline #f4ebd966;text-decoration:underline #f4ebd966}.link-btn:hover{-webkit-text-decoration-color:var(--lo-gold);text-decoration-color:var(--lo-gold)}.link-btn.ink{color:var(--lo-ink-soft);text-decoration-color:#1b1a2e4d}.panel{background:var(--lo-ivory);color:var(--lo-ink);border-radius:var(--lo-radius-lg);box-shadow:var(--lo-shadow-lg)}.pill{border-radius:var(--lo-radius-pill);letter-spacing:.04em;white-space:nowrap;background:var(--lo-ivory-deep);color:var(--lo-ink-soft);align-items:center;gap:4px;padding:1px 9px;font-size:.72rem;font-weight:800;line-height:1.6;display:inline-flex}.seg{border-radius:var(--lo-radius-pill);background:var(--lo-ivory-deep);padding:3px;display:inline-flex}.seg-btn{border-radius:var(--lo-radius-pill);min-width:64px;min-height:40px;color:var(--lo-ink-soft);background:0 0;border:0;padding:6px 16px;font-weight:800}.seg-btn.on{background:var(--lo-lapis);color:var(--lo-ivory);box-shadow:0 1px 3px #00000040}.stepper{border-radius:var(--lo-radius-pill);background:var(--lo-ivory-deep);align-items:center;gap:4px;padding:3px;display:inline-flex}.stepper .icon-btn{background:var(--lo-ivory);min-width:40px;min-height:40px;color:var(--lo-ink);border-radius:50%}.stepper .icon-btn:disabled{opacity:.35}.stepper-val{text-align:center;min-width:2.2ch;color:var(--lo-ink);font-size:1.4rem}.switch{background:var(--lo-limestone);border-radius:14px;flex:none;width:46px;height:28px;transition:background .15s;position:relative}.switch:after{content:"";width:22px;height:22px;transition:transform .15s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch.on{background:var(--lo-jade)}.switch.on:after{transform:translate(18px)}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.shake{animation:.3s both shake}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}70%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid #f4ebd940;border-top-color:var(--lo-gold);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin;display:inline-block}.spinner.small{border-width:2px;width:14px;height:14px}.pmedal{width:var(--ms);height:var(--ms);background:var(--mc);color:#fff;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;box-shadow:inset 0 0 0 1.5px #ffffff40,0 1px 2px #0000004d}.pmedal.active:after{content:"";width:calc(var(--ms) * .32);height:calc(var(--ms) * .32);background:var(--lo-gold-light);min-width:8px;min-height:8px;box-shadow:0 0 0 2px var(--lo-table);border-radius:50%;animation:1.4s ease-in-out infinite dot-pulse;position:absolute;top:-2px;right:-2px}@keyframes dot-pulse{50%{opacity:.7;transform:scale(1.3)}}.wmedal{width:var(--ms);height:var(--ms);background:var(--wc);color:#fff;border-radius:50%;flex:none;place-items:center;display:inline-grid;overflow:hidden;box-shadow:inset 0 0 0 1.5px #ffffff4d}.wmedal img{object-fit:contain;width:100%;height:100%}.wmedal-n{font-family:var(--lo-font-mark);font-weight:700;font-size:calc(var(--ms) * .38);letter-spacing:0;line-height:1}.gary{flex:none;place-items:center;display:inline-grid}.gary img{object-fit:contain;width:100%;height:100%}.shield{flex:none;place-items:center;display:inline-grid}.shield img,.shield svg{object-fit:contain;width:100%;height:100%}.crest{width:var(--crest-w);max-width:100%}.crest-img{width:100%;height:auto}.crest-fallback{flex-direction:column;align-items:center;width:100%;display:flex;position:relative}.crest-loading{aspect-ratio:1/1.1}.crest-gary{margin-bottom:calc(var(--crest-w) * -.06);z-index:1}.crest-scroll{margin-top:calc(var(--crest-w) * -.07);padding:2px calc(var(--crest-w) * .08);background:var(--lo-ivory);color:var(--lo-ink);font-family:var(--lo-font-mark);letter-spacing:.12em;font-weight:700;font-size:calc(var(--crest-w) * .075);white-space:nowrap;box-shadow:0 0 0 2px var(--lo-ink);border-radius:4px}.flag-ic{color:var(--lo-on-table);flex:none}.flag-ic.outline{color:var(--lo-ivory)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.12s!important;animation-duration:.12s!important;animation-iteration-count:1!important}}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{transition-duration:.12s!important;animation-duration:.12s!important;animation-iteration-count:1!important}.home{min-height:100dvh;padding-bottom:calc(24px + var(--safe-b));background:var(--lo-table);flex-direction:column;align-items:center;display:flex;position:relative}.home-corner{top:calc(6px + var(--safe-t));right:calc(max(0px, (100% - 1400px) / 2) + 6px + var(--safe-r));z-index:5;color:var(--lo-ivory);display:flex;position:absolute}.home-corner .icon-btn{background:#1f4a3dc7;border-radius:50%;margin-left:4px}.hero{aspect-ratio:16/9;width:100%;max-width:1400px;max-height:64vh;position:relative;overflow:hidden}.hero-img img{object-fit:cover;object-position:50% 60%;width:100%;height:100%}.hero-img{object-fit:cover;object-position:50% 60%;width:100%;height:100%;position:absolute;inset:0}.hero-fallback{background:var(--lo-table);position:absolute;inset:0}.hero-crest{filter:drop-shadow(0 6px 14px #0000002e);place-items:center;width:min(46vw,230px);display:grid;position:absolute;top:6%;left:50%;transform:translate(-50%)}.hero-crest .crest{width:100%}@media (width<=640px),(orientation:portrait) and (width<=1100px){.hero{aspect-ratio:auto;height:min(125vw,100dvh - 262px);min-height:300px;max-height:none}.hero-img,.hero-img img{object-position:50% 35%}.hero-crest{width:clamp(116px,33vw,230px);top:calc(8px + var(--safe-t))}}.hero:has(.hero-fallback){aspect-ratio:auto;height:min(46vh,340px)}.hero:has(.hero-fallback) .hero-crest{top:50%;transform:translate(-50%,-50%)}.home-body{text-align:center;flex-direction:column;align-items:center;gap:12px;width:min(100%,380px);padding:18px 16px 0;display:flex}.tagline{color:var(--lo-ivory);letter-spacing:.01em;margin:0 0 6px;font-size:1.05rem;font-weight:600}.home-actions{flex-direction:column;gap:10px;width:100%;display:flex}.home-btn{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:56px;padding:8px 14px;line-height:1.2;display:flex}.home-btn.btn-big{min-height:64px}.home-btn-label{align-items:center;gap:6px;font-weight:700;display:inline-flex}.home-btn-sub{text-transform:none;letter-spacing:0;opacity:.82;white-space:normal;font-size:.78rem;font-weight:400}.home-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.home-pair .home-btn{padding-left:10px;padding-right:10px}.home-btn.offline{opacity:.6}.resume-hole{border-radius:var(--lo-radius-pill);background:#f4ebd926;margin-left:4px;padding:1px 8px;font-size:.85rem}.join-link{font-size:.95rem}.lobby,.center-screen{place-items:center;min-height:100dvh;padding:16px;display:grid}.lobby-card{text-align:center;width:min(100%,460px);box-shadow:inset 0 3px 0 var(--lo-gold), var(--lo-shadow-lg);padding:22px 20px 16px}.lobby-code{letter-spacing:.12em;color:var(--lo-ink);margin:0;font-size:clamp(3.2rem,18vw,4.4rem);line-height:1}.invite{justify-content:center;align-items:center;gap:6px;margin:12px 0 18px;display:flex}.share-btn{color:var(--lo-ink-soft)}.seats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.seat{background:#e6d8bc73;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-height:92px;padding:10px 4px 8px;display:flex;position:relative}.seat.me{box-shadow:inset 0 0 0 1.5px var(--lo-gold)}.seat.away{opacity:.55}.seat-name{max-width:100%;color:var(--lo-ink);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:800;overflow:hidden}.seat-tag{color:var(--lo-ink-soft);font-size:.72rem;font-weight:700}.seat-x{width:26px;height:26px;color:var(--lo-ink-soft);background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.seat-x:hover{background:#1b1a2e14}.seat.open{box-shadow:inset 0 0 0 1.5px var(--lo-ivory-deep);background:0 0;justify-content:center}.seat.open.pulse{animation:1.8s ease-in-out infinite seat-pulse}@keyframes seat-pulse{50%{box-shadow:inset 0 0 0 1.5px var(--lo-gold)}}.seat-add{border:1.5px dashed var(--lo-limestone);width:48px;height:48px;color:var(--lo-ink-soft);background:0 0;border-radius:50%;place-items:center;display:grid}.seat-add:hover:not(:disabled){border-color:var(--lo-gold-dark);color:var(--lo-ink)}.level-pop{z-index:10;min-width:120px;box-shadow:var(--lo-shadow-lg);animation:pop-in .16s var(--ease-out) both;background:#fff;border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% - 6px);left:50%;transform:translate(-50%)}.level-btn{min-height:40px;color:var(--lo-ink);background:0 0;border:0;border-radius:8px;font-weight:800}.level-btn:hover{background:var(--lo-ivory)}.lobby-holes{margin-bottom:14px}.lobby-wait{color:var(--lo-ink-soft);justify-content:center;align-items:center;gap:10px;margin:6px 0 4px;font-weight:700;display:flex}.lobby-wait .spinner{border-color:#1b1a2e26;border-top-color:var(--lo-gold-dark)}.lobby-foot{justify-content:center;gap:18px;margin-top:10px;display:flex}.gate{width:min(100%,400px);box-shadow:inset 0 3px 0 var(--lo-gold), var(--lo-shadow-lg)}.gate-inner{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 20px 18px;display:flex}.gate-inner .field{text-align:left;width:100%}.gate-title{font-family:var(--lo-font-mark);letter-spacing:.04em;color:var(--lo-ink);margin:0;font-size:1.5rem;font-weight:700}.gate-inner p{color:var(--lo-ink-soft);margin:0}.finding{flex-direction:column;align-items:center;gap:14px;font-weight:700;display:flex}.conn-bar{left:50%;bottom:calc(12px + var(--safe-b));z-index:90;border-radius:var(--lo-radius-pill);background:var(--lo-ink);color:var(--lo-ivory);box-shadow:var(--lo-shadow-lg);align-items:center;gap:8px;padding:10px 16px;font-weight:800;display:flex;position:fixed;transform:translate(-50%)}.playing-as{color:var(--lo-on-table-soft);margin:-4px 0 0;font-size:.9rem}.playing-as b{color:var(--lo-on-table);font-weight:700}.playing-as .link-btn{padding:6px 4px;font-size:.9rem}.name-why{margin:0 0 10px}.sheet-backdrop{z-index:80;background:#0c14118c;justify-content:center;align-items:flex-end;animation:.18s both fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;max-height:calc(100dvh - 24px - var(--safe-t));border-radius:var(--lo-radius-lg) var(--lo-radius-lg) 0 0;box-shadow:inset 0 3px 0 var(--lo-gold), var(--lo-shadow-lg);animation:rise-in .24s var(--ease-out) both;flex-direction:column;display:flex;position:relative;overflow:hidden}.sheet-head{flex:none;align-items:center;gap:8px;padding:14px 10px 2px 20px;display:flex}.sheet-title{font-family:var(--lo-font-mark);letter-spacing:.06em;color:var(--lo-ink);flex:1;margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.sheet-close{color:var(--lo-ink-soft)}.sheet-close:hover{background:#1b1a2e12}.sheet-body{overscroll-behavior:contain;padding:8px 20px calc(20px + var(--safe-b));overflow-y:auto}.sheet-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}@media (width>=700px){.sheet-backdrop{align-items:center;padding:24px}.sheet{border-radius:var(--lo-radius-lg);width:min(100%,480px);max-height:calc(100dvh - 48px)}.sheet.wide{width:min(100%,760px)}}.wide-btn{width:100%}.confirm-text{color:var(--lo-ink-soft);margin:4px 0 0}.field{flex-direction:column;gap:6px;margin:4px 0 14px;display:flex}.field span{color:var(--lo-ink-soft);font-size:.9rem;font-weight:700}.field input,.code-input{border:1.5px solid var(--lo-ivory-deep);min-height:48px;color:var(--lo-ink);background:#fffdf8;border-radius:12px;padding:10px 14px;font-size:1.05rem}.field input:focus,.code-input:focus{border-color:var(--lo-lapis);outline:none;box-shadow:0 0 0 3px #2b4c9b33}.join-row{gap:10px;display:flex}.code-input{text-align:center;letter-spacing:.3em;text-transform:uppercase;flex:1;min-width:0;font-size:1.6rem}.code-input::placeholder{color:var(--lo-limestone)}.field-error{color:var(--lo-terracotta-dark);margin:8px 2px 0;font-size:.9rem;font-weight:700}.settings{flex-direction:column;display:flex}.setting-row{border:0;border-bottom:1px solid var(--lo-ivory-deep);min-height:56px;color:var(--lo-ink);text-align:left;background:0 0;align-items:center;gap:12px;padding:6px 2px;font-weight:700;display:flex}.setting-row:last-child{border-bottom:0}.setting-ic{color:var(--lo-ink-soft);display:grid}.setting-label{flex:1}.setup-row{border-bottom:1px solid var(--lo-ivory-deep);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.setup-row:last-of-type{margin-bottom:18px}.setup-label{color:var(--lo-ink);font-weight:800}.setup-sheet .seg-btn{min-width:0;padding:6px 12px}.toasts{left:50%;top:calc(60px + var(--safe-t));z-index:260;pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(92vw,420px);display:flex;position:fixed;transform:translate(-50%)}.toast{border-radius:var(--lo-radius-pill);background:var(--lo-ink);color:var(--lo-ivory);text-align:center;box-shadow:var(--lo-shadow-lg);animation:pop-in .2s var(--ease-out) both;padding:10px 18px;font-size:.92rem;font-weight:700}.toast.error{background:var(--lo-terracotta-dark)}.menu-list{margin:0;padding:0;list-style:none}.menu-item{border:0;border-bottom:1px solid var(--lo-ivory-deep);width:100%;min-height:52px;color:var(--lo-ink);text-align:left;background:0 0;align-items:center;gap:12px;padding:8px 4px;font-weight:700;display:flex}.menu-list li:last-child .menu-item{border-bottom:0}.menu-item:hover{background:#1b1a2e0a}.menu-item.danger{color:var(--lo-terracotta-dark)}.menu-ic{width:46px;color:var(--lo-ink-soft);place-items:center;display:inline-grid}.help-glyph{font-family:var(--lo-font-numeral);font-size:1.2rem;font-weight:900;line-height:1}.confirm p{margin:0}.htp{flex-direction:column;gap:16px;display:flex}.htp-step{grid-template-columns:132px 1fr;align-items:center;gap:14px;display:grid}.htp-step p{color:var(--lo-ink);margin:0;font-size:.95rem;line-height:1.4}.htp-pic{place-items:center;min-height:72px;display:grid}.htp-grid{gap:3px;display:flex}.htp-col{--pf-r:5px;flex-direction:column;gap:3px;display:flex;position:relative}.htp-score{gap:4px}.htp-sc-row{align-items:center;gap:3px;display:flex}.htp-sc-row i{background:var(--lo-ivory-deep);width:22px;height:22px;font-style:normal;font-family:var(--lo-font-numeral);color:var(--lo-ink-soft);border-radius:4px;place-items:center;font-size:.8rem;font-weight:900;display:grid}.htp-sc-row b{text-align:right;min-width:32px;color:var(--lo-ink-soft);margin-left:4px}.htp-sc-row.win b{color:var(--lo-jade-dark)}.htp-sc-row.win b:after{content:" ★";font-family:var(--lo-font-ui);color:var(--lo-gold-dark);font-size:.75rem}.htp-turn{grid-template-columns:1fr}.htp-flow{justify-content:center;align-items:flex-end;gap:8px;display:flex}.htp-move{flex-direction:column;align-items:center;gap:4px;display:flex}.htp-move em{color:var(--lo-ink-soft);font-size:.78rem;font-style:normal;font-weight:800}.htp-pair{align-items:center;gap:3px;min-height:45px;display:flex}.htp-arrow,.htp-or{color:var(--lo-gold-dark);align-self:center;margin-bottom:18px;font-size:.85rem;font-weight:800}.htp-toss{width:30px;height:45px;color:var(--lo-ink-soft);place-items:center;display:grid}.htp-anim-swap{animation:2.4s ease-in-out infinite htp-swap}@keyframes htp-swap{0%,20%{transform:translateY(-10px)}45%,to{transform:none}}.htp-anim-flip{animation:2.4s ease-in-out infinite htp-flip}@keyframes htp-flip{0%,40%{transform:rotateY(0)}60%,to{transform:rotateY(180deg)}}.htp-values{grid-template-columns:1fr}.htp-strip{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.htp-more{border-top:1px solid var(--lo-ivory-deep);padding-top:8px}.htp-toggle{color:var(--lo-ink-soft);background:0 0;border:0;align-items:center;gap:6px;padding:6px 0;font-weight:800;display:inline-flex}.htp-keys{color:var(--lo-ink);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;margin:4px 0 0;padding:0;font-size:.9rem;list-style:none;display:grid}kbd{min-width:24px;box-shadow:inset 0 -2px 0 var(--lo-ivory-deep), 0 0 0 1px var(--lo-limestone);font-family:var(--lo-font-ui);text-align:center;background:#fff;border-radius:5px;padding:1px 6px;font-size:.8rem;font-weight:800;display:inline-block}.htp-foot{border-top:1px solid var(--lo-ivory-deep);justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}.htp-about{text-align:center;color:var(--lo-ink-soft);flex-direction:column;align-items:center;gap:4px;padding:12px 0 4px;display:flex}.htp-about p{margin:0}.htp-motto{color:var(--lo-gold-dark);letter-spacing:.14em;font-weight:600;margin-top:6px!important}.htp-tag{font-style:italic}.htp-ver{font-size:.8rem}@media (width<=420px){.htp-step{text-align:center;grid-template-columns:1fr;justify-items:center;gap:8px}}.holeend-sheet .sheet-body{padding-top:18px}.holeend-head{align-items:center;gap:12px;min-height:64px;margin-bottom:8px;display:flex}.holeend-title{letter-spacing:.08em;color:var(--lo-ink);flex:1;margin:0;font-size:1.6rem}.holeend-gary{animation:pop-in .35s .2s var(--ease-out) both}.he-rows{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.he-row{animation:rise-in .3s var(--ease-out) both;animation-delay:calc(var(--row) * 60ms);background:#e6d8bc73;border-radius:14px}.he-row.me{box-shadow:inset 0 0 0 1.5px var(--lo-gold)}.he-line{width:100%;min-height:54px;color:var(--lo-ink);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:8px 10px;display:flex}.he-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:800;overflow:hidden}.he-flag{color:var(--lo-ink);display:grid}.he-hole{text-align:right;min-width:2.2ch;font-size:1.7rem;line-height:1}.he-total{text-align:right;min-width:3ch;color:var(--lo-ink-soft);font-size:.95rem}.he-chev{color:var(--lo-ink-soft);opacity:.6;display:grid}.he-grid{flex-wrap:wrap;justify-content:center;gap:8px;padding:2px 10px 12px;display:flex}.he-col{flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.he-cards{--pf-r:6px;flex-direction:column;gap:3px;display:flex;position:relative}.he-chip.pair,.he-chip.minusFivePair{z-index:4;box-shadow:0 0 0 2px var(--lo-gold);margin-top:-1px;position:relative}.he-chip{border-radius:var(--lo-radius-pill);background:var(--lo-ivory-deep);min-width:30px;color:var(--lo-ink);font-family:var(--lo-font-numeral);text-align:center;margin-top:2px;padding:0 6px;font-size:.8rem;font-weight:900;line-height:1.5}.he-chip.pair{background:var(--lo-jade);color:#fff}.he-chip.minusFivePair{background:var(--lo-gold);color:var(--lo-ink)}.he-chip.bonus{outline:1.5px dashed var(--lo-gold-dark);outline-offset:2px}.he-bonuses{flex-basis:100%;justify-content:center;gap:6px;display:flex}.bonus-ribbon{background:var(--lo-gold);color:var(--lo-ink);white-space:nowrap;border-radius:4px;padding:1px 10px;font-size:.78rem;font-weight:800}.holeend-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.he-sc{color:var(--lo-ink-soft)}.he-next{flex:1;max-width:320px}.ready-wait{max-width:320px;min-height:52px;color:var(--lo-ink-soft);flex:1;justify-content:center;align-items:center;gap:10px;font-weight:700;display:inline-flex}.ready-wait .spinner{border-color:#1b1a2e26;border-top-color:var(--lo-gold-dark)}.sc-sheet .sheet-body{padding-left:12px;padding-right:12px}.scorecard-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.scorecard{border-collapse:separate;border-spacing:0;width:100%;color:var(--lo-ink);font-size:.95rem}.scorecard th,.scorecard td{text-align:center;white-space:nowrap;border-bottom:1px solid var(--lo-ivory-deep);padding:6px}.sc-hole{font-weight:400}.sc-hole .wmedal{margin:0 auto 2px;display:grid}.sc-hole .num{color:var(--lo-ink-soft);font-size:.75rem;display:block}.sc-hole.now .num{color:var(--lo-gold-dark)}.scorecard th.sc-name{z-index:1;background:var(--lo-ivory);text-align:left;width:1%;max-width:120px;font-weight:800;position:sticky;left:0}.sc-who{align-items:center;gap:6px;max-width:130px;display:flex}.sc-who>span:last-child{text-overflow:ellipsis;overflow:hidden}.scorecard tr.me th.sc-name{color:var(--lo-lapis)}.scorecard td.best{color:var(--lo-jade-dark);background:#2f8f6e1a}.sc-total{color:var(--lo-ink-soft);font-size:.8rem;font-weight:800}.scorecard td.sc-total{color:var(--lo-ink);font-size:1.1rem}.scorecard td.sc-total.leader{color:var(--lo-gold-dark)}.gameover{z-index:75;background:#0c141199;place-items:center;padding:16px;animation:.25s both fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.gameover-card{width:min(100%,440px);padding:20px 20px calc(18px + var(--safe-b));text-align:center;box-shadow:inset 0 3px 0 var(--lo-gold), var(--lo-shadow-lg);animation:rise-in .35s var(--ease-out) both;position:relative}.go-trophy{place-items:center;height:170px;display:grid}.go-trophy img{width:auto;max-height:170px}.go-trophy-fallback{align-items:flex-end;gap:4px;display:flex}.go-title{color:var(--lo-ink);margin:8px 0 0;font-size:clamp(2rem,9vw,2.6rem);line-height:1.05}.go-line{color:var(--lo-ink-soft);margin:4px 0 14px;font-weight:700}.go-table{text-align:left;margin:0 0 16px;padding:0;list-style:none}.go-row{border-bottom:1px solid var(--lo-ivory-deep);align-items:center;gap:10px;min-height:44px;padding:4px 10px;display:flex}.go-row:last-child{border-bottom:0}.go-row.win{background:#d9a33b24;border-radius:10px}.go-rank{width:1.5ch;color:var(--lo-ink-soft)}.go-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:800;overflow:hidden}.go-row.me .go-name{color:var(--lo-lapis)}.go-amph{width:24px;height:24px;display:grid}.go-amph img{object-fit:contain;width:100%;height:100%}.go-total{font-size:1.25rem}.go-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.go-actions>.btn{width:100%}.go-secondary{justify-content:center;align-items:center;gap:10px;display:flex}.go-sc{color:var(--lo-ink-soft)}.laurels{pointer-events:none;z-index:76;position:fixed;inset:0;overflow:hidden}.leaf{background:var(--lo-jade);border-radius:100% 0;animation:linear both leaf-fall;position:absolute;top:-20px}.leaf.gold{background:var(--lo-gold)}@keyframes leaf-fall{0%{transform:translateY(0) rotate(var(--r));opacity:1}85%{opacity:1}to{transform:translateY(105vh) rotate(calc(var(--r) + 300deg));opacity:0}}.gameover~.sheet-backdrop,.sheet-backdrop{z-index:85}.getapp-lede{color:var(--lo-ink-soft);margin:4px 0 14px}.getapp-guide{margin-top:14px}.getapp-label{letter-spacing:.06em;text-transform:uppercase;color:var(--lo-ink-soft);margin:0 0 6px;font-size:.8rem}.getapp-steps{gap:6px;margin:0;padding-left:1.3em;display:grid}.getapp-ic{vertical-align:-4px;background:#1b1a2e12;border-radius:6px;margin:0 2px;padding:2px 4px;display:inline-flex}.getapp-other{border-top:1px solid #1b1a2e1f;margin-top:16px;padding-top:10px}.getapp-other summary{cursor:pointer;padding:6px 0;font-weight:700}.he-gary,.go-gary{flex-direction:column;align-items:stretch;gap:6px;margin:0 0 10px;display:flex}.go-gary{margin:0 0 14px}.gary-btn{border-radius:var(--lo-radius-pill);min-height:46px;color:var(--lo-lapis-deep);background:#2b4c9b14;justify-content:center;align-items:center;gap:8px;padding:6px 16px;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1.5px #2b4c9b59}.gary-btn.tb-ceremony{color:var(--lo-gold-dark);box-shadow:inset 0 0 0 1.5px var(--lo-gold);background:#d9a33b29}.gary-btn.live{background:var(--lo-lapis);color:var(--lo-ivory);box-shadow:none}.gary-btn.tb-ceremony.live{background:var(--lo-gold-dark)}.gary-btn:disabled{opacity:1}.gary-btn .gary-btn-face{margin:-6px 0}.gary-stop{background:currentColor;border-radius:2px;width:12px;height:12px}.gary-caption{min-height:0;color:var(--lo-ink-soft);text-align:center;margin:0;font-style:italic;font-weight:600;line-height:1.35}.gary-caption.on span{animation:.25s both fade-in;display:block}.he-row.gary-on{animation:1.4s ease-in-out infinite gary-pulse}@keyframes gary-pulse{0%,to{box-shadow:inset 0 0 0 1.5px var(--lo-gold), 0 0 0 0 #f2c76600}50%{box-shadow:inset 0 0 0 2px var(--lo-gold), 0 0 0 4px #f2c76673}}@media (prefers-reduced-motion:reduce){.he-row.gary-on{box-shadow:inset 0 0 0 2px var(--lo-gold);animation:none}}.menu-gary .menu-slider{cursor:default}.menu-slider-label{white-space:nowrap}.menu-slider input[type=range]{min-width:0;accent-color:var(--lo-lapis);flex:1}.ceremony{z-index:80;background:#0c1411c7;place-items:center;padding:16px;animation:.6s both fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.cer-bg{opacity:.35;filter:saturate(.8);pointer-events:none;position:fixed;inset:0}.cer-bg img{object-fit:cover;width:100%;height:100%}.cer-panel{width:min(100%,440px);padding:18px 16px calc(16px + var(--safe-b));text-align:center;box-shadow:inset 0 3px 0 var(--lo-gold), var(--lo-shadow-lg);animation:rise-in .6s var(--ease-out) both;position:relative}.cer-x{color:var(--lo-ink-soft);position:absolute;top:8px;right:8px}.cer-kicker{color:var(--lo-ink);margin:4px 0 0;font-size:1.15rem}.cer-title{font-family:var(--lo-font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--lo-gold-dark);margin:2px 0 6px;font-size:.82rem;font-weight:800}.cer-crest{opacity:0;transition:opacity .6s, transform .6s var(--ease-out);place-items:center;margin:2px 0 4px;display:grid;transform:translateY(-8px)}.cer-crest.on{opacity:1;transform:none}.cer-highlight{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;min-height:40px;margin:4px 0 8px;display:flex}.cer-highlight.on>*{animation:pop-in .35s var(--ease-out) both}.cer-hl-name{color:var(--lo-ink);font-weight:800}.cer-chip{border-radius:var(--lo-radius-pill);color:var(--lo-gold-dark);background:#d9a33b2e;padding:3px 10px;font-size:.85rem;font-weight:800}.cer-podium{grid-template-columns:1fr 1.15fr 1fr;align-items:end;gap:6px;min-height:210px;margin:6px 0 10px;display:grid}.cer-podium.two{grid-template-columns:minmax(0,200px);justify-content:center}.cer-podium.pair{grid-template-columns:minmax(0,180px) minmax(0,200px);justify-content:center}.cer-step{flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0;display:flex}.cer-who{flex-direction:column;align-items:center;gap:4px;min-height:34px;margin-bottom:4px;display:flex}.cer-name{align-items:center;gap:5px;max-width:100%;display:inline-flex}.cer-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--lo-ink);font-size:.95rem;font-weight:800;overflow:hidden}.cer-name.on .cer-name-text{animation:pop-in .35s var(--ease-out) both}.cer-trophy{height:92px;animation:pop-in .5s var(--ease-flip) both;place-items:center;margin-bottom:4px;display:grid}.cer-trophy img{width:auto;max-height:92px}.cer-block{background:linear-gradient(180deg, #e9e1cf, var(--lo-limestone));height:0;transition:height .7s var(--ease-out);border-radius:6px 6px 0 0;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;overflow:hidden;box-shadow:inset 0 2px #fff9,inset 0 -3px #00000014}.cer-step.gold.up .cer-block{height:108px;box-shadow:inset 0 3px 0 var(--lo-gold), inset 0 -3px 0 #00000014}.cer-step.silver.up .cer-block{height:88px;box-shadow:inset 0 3px #b9bcc4,inset 0 -3px #00000014}.cer-step.bronze.up .cer-block{height:74px;box-shadow:inset 0 3px #b5763f,inset 0 -3px #00000014}.cer-place{color:var(--lo-ink-soft);font-size:1.5rem;line-height:1}.cer-prize{max-width:100%;font-family:var(--lo-font-ui);letter-spacing:.06em;text-align:center;text-transform:uppercase;color:var(--lo-ink-soft);padding:0 4px;font-size:.62rem;font-weight:800;line-height:1.15}.cer-total{color:var(--lo-ink);font-size:.95rem}.cer-last{opacity:.35;text-align:left;background:#e6d8bc73;border-radius:14px;align-items:center;gap:10px;min-height:56px;margin:0 0 8px;padding:6px 10px;transition:opacity .5s;display:flex}.cer-last.on{opacity:1}.cer-last-label{flex-direction:column;flex:1;min-width:0;display:flex}.cer-last-title{letter-spacing:.08em;text-transform:uppercase;color:var(--lo-terracotta-dark);font-size:.78rem;font-weight:800}.cer-last-name{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.cer-voice{justify-content:center;align-items:center;gap:8px;min-height:44px;display:flex}.cer-voice .gary-caption{text-align:left;flex:1}.cer-actions{flex-direction:column;align-items:center;gap:10px;margin-top:6px;animation:.5s both fade-in;display:flex}.cer-actions>.btn{width:100%}.name-hear{align-items:center;gap:6px;margin:0 0 12px;display:inline-flex}.gary{position:relative}.gary-happy img,.gary-celebrate img{animation:gary-bob 1.1s var(--ease-out) 2}@keyframes gary-bob{50%{transform:translateY(-4%)scale(1.04)}}.wordmark{width:var(--wm-w);max-width:100%}.wordmark-img{width:100%;height:auto}.wordmark-fallback{align-items:center;gap:calc(var(--wm-w) * .01);flex-direction:column;display:flex}.wordmark-text{font-family:var(--lo-font-mark);font-weight:900;font-size:calc(var(--wm-w) * .16);letter-spacing:.14em;color:var(--lo-cream);white-space:nowrap;text-shadow:0 2px #00000040;line-height:1}.topbar-lockup .mark{font-family:var(--lo-font-mark);letter-spacing:.14em;font-weight:900}.home-corner .icon-btn{background:#28375ed9}.lo-hero{aspect-ratio:auto;height:min(46vh,360px);min-height:260px;max-height:none;padding-top:calc(28px + var(--safe-t));flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.lo-hero .hero-crest{width:auto;position:relative;top:auto;left:auto;transform:none}.hero-gary{z-index:1;animation:4s ease-in-out infinite gary-float;position:relative;width:clamp(110px,32vw,170px)!important;height:clamp(110px,32vw,170px)!important}@keyframes gary-float{50%{transform:translateY(-6px)}}.hero-sky{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sky-star{background:var(--lo-starlight);opacity:.8;border-radius:50%;width:4px;height:4px;position:absolute}.sky-star.s1{top:22%;left:12%}.sky-star.s2{width:3px;height:3px;top:40%;left:82%}.sky-star.s3{opacity:.6;width:3px;height:3px;top:70%;left:24%}.sky-star.s4{top:14%;left:70%}.sky-planet{background:var(--lo-tangerine);opacity:.85;border-radius:50%;width:34px;height:34px;position:absolute;top:34%;left:9%;box-shadow:inset -8px -6px #0000001f}@media (prefers-reduced-motion:reduce){.hero-gary{animation:none}}.deck-layer{background:var(--lo-navy-deep);box-shadow:inset 0 0 0 1px #f6c94580}.deck-count{z-index:2;min-width:22px;color:var(--lo-on-table-soft);pointer-events:none;background:#1a2342d9;border-radius:9px;padding:1px 5px;font-size:.68rem;line-height:1.4;position:absolute;bottom:6px;right:6px}.discard .under{transform:rotate(var(--tilt,-5deg)) translate(-2px, 2px)}.mygrid{gap:10px}.slot.gone{width:var(--cw);height:calc(var(--cw) * 1.5);border-radius:calc(var(--cw) * .07);border:1.5px dashed #aeb8d647;display:block}.col.cleared .chip{visibility:hidden}.near-frame{border-radius:calc(var(--cw) * .07 + 4px);pointer-events:none;border:2px dashed #f6c945b3;position:absolute;inset:-4px}.col-cards:has(.slot.target) .near-frame{transform:translateY(-4px)}.chip.sum{color:var(--lo-on-table)}.table-screen.phone .col,.table-screen.phone .col-cards{gap:4px}.table-screen.phone .mygrid{gap:8px}.tile-grid,.tile-col{gap:2px}.tile-col.near{outline-offset:1px;border-radius:3px;outline:1px dashed #f6c945a6}.table-screen.phone .tile-head{height:22px}.table-screen.phone .tile-name{font-size:.8rem}.table-screen.phone .tile-total{font-size:.95rem}.table-screen.phone .tile.strip,.table-screen.side .tile.strip{width:var(--tile-w);height:var(--tile-h);flex-direction:row;justify-content:center;align-items:center;gap:6px;padding:5px}.table-screen.side .opponents{flex-wrap:wrap;place-content:center;gap:8px 6px;padding:8px;display:flex}.table-screen.side .tile.strip .tile-head{flex-direction:column;flex:none;justify-content:center;gap:2px;width:26px;height:auto}.tile.out-of-round{opacity:.5}.table-screen.wide .tile-grid,.table-screen.wide .tile-col{gap:3px}.postcard-screen{background:var(--lo-table);place-items:center;padding:24px 16px;display:grid}.postcard-screen .postcard{background:var(--lo-cream);width:min(92vw,560px);color:var(--lo-ink);box-shadow:var(--lo-shadow-lg);animation:postcard-in var(--dur) var(--ease-out) both;border-radius:14px;padding:12px 12px 14px;position:relative;transform:rotate(-1.5deg)}@keyframes postcard-in{0%{opacity:0;transform:translateY(30px)rotate(-6deg)scale(.94)}18%{opacity:1;transform:translateY(0)rotate(-1.5deg)}to{transform:rotate(-1.5deg)scale(1.02)}}.postcard-screen.still .postcard{animation:none}.postcard-scene{aspect-ratio:16/10;background:var(--lo-table-raised);border-radius:8px;position:relative;overflow:hidden}.postcard-img,.postcard-img img{object-fit:cover;width:100%;height:100%}.postcard-fallback{background:linear-gradient(180deg, var(--lo-table) 0%, var(--lo-table-raised) 100%);position:absolute;inset:0}.pc-planet{aspect-ratio:1;background:var(--wc);border-radius:50%;width:150%;position:absolute;bottom:-118%;left:50%;transform:translate(-50%);box-shadow:inset -18px -10px #00000024}.pc-gary{position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.pc-star{background:var(--lo-starlight);border-radius:50%;width:5px;height:5px;position:absolute}.pc-star.s1{top:18%;left:14%}.pc-star.s2{width:4px;height:4px;top:12%;left:76%}.pc-star.s3{width:3px;height:3px;top:44%;left:88%}.postcard-stamp{background:var(--lo-cream);border:2px dashed var(--lo-cream-deep);border-radius:4px;padding:5px;position:absolute;top:10px;right:10px;transform:rotate(4deg)}.postcard-band{background:var(--wc);color:var(--lo-cream);text-align:center;border-radius:8px;margin-top:10px;padding:10px 14px}.postcard-band .travel-name{font-family:var(--lo-font-mark);letter-spacing:.05em;text-shadow:0 1px #00000040;margin:0;font-size:clamp(1.6rem,7vw,2.6rem);font-weight:900;line-height:1.1}.postcard-band .travel-place{letter-spacing:.2em;text-transform:uppercase;margin:2px 0 0;font-size:.85rem;font-weight:900}.postcard-flavor{color:var(--lo-ink-soft);text-align:center;margin:10px 6px 0;font-size:1rem;font-style:italic;line-height:1.35}.roundend-head{align-items:center;gap:10px;padding:2px 4px 8px;display:flex}.roundend-title{font-family:var(--lo-font-mark);letter-spacing:.04em;flex:1;margin:0;font-size:1.5rem;font-weight:900}.roundend-gary{margin:-10px 0 -8px}.re-note{background:var(--lo-cream-deep);color:var(--lo-ink);border-radius:10px;margin:0 4px 8px;padding:8px 12px;font-size:.9rem;font-weight:700}.he-ender{background:var(--lo-navy);color:var(--lo-cream);letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border-radius:999px;flex:none;margin-left:-4px;padding:1px 7px;font-size:.68rem;font-weight:800}.he-hole.doubled{color:var(--lo-costly-dark)}.he-raw{opacity:.8;font-size:.78em}.he-cards{flex-direction:column;gap:3px}.he-gap{border:1.5px dashed var(--lo-cream-deep);border-radius:3px;display:block}.he-chip.cleared{background:var(--lo-good);color:#fff;font-size:.66rem}.roundend-actions{align-items:center;gap:10px;padding-top:12px;display:flex}.roundend-actions .he-next{flex:1}.sc-x2{color:var(--lo-costly-dark);margin-left:1px;font-size:.6em}.sc-goal{color:var(--lo-ink-soft);margin:10px 2px 0;font-size:.85rem}.house-rules{width:100%}.house-toggle{justify-content:space-between;width:100%}.house-state{color:var(--lo-ink-soft);margin-left:auto;margin-right:6px;font-weight:700}.rules-list{margin-top:4px}.rule-row .setting-label{text-align:left;flex-direction:column;display:flex}.rule-sub{color:var(--lo-ink-soft);font-size:.78rem;font-weight:600}.rules-reset{margin:6px auto 0}.lobby-target{width:100%}.htp-title{align-items:center;gap:8px;display:inline-flex}.htp-dbl{background:var(--lo-cream-deep);color:var(--lo-costly-dark);white-space:nowrap;border-radius:10px;padding:6px 14px;font-size:1.3rem;font-weight:900}.htp-dbl small{color:var(--lo-ink-soft);font-size:.8em}.htp-strip{flex-wrap:wrap;justify-content:center}.htp-val{flex-direction:column;align-items:center;gap:2px;width:52px;display:inline-flex}.htp-val-name{text-align:center;color:var(--lo-ink-soft);font-size:.6rem;font-weight:700;line-height:1.1}.htp-deck{color:var(--lo-ink-soft);margin:8px 0 0;font-size:.85rem}.tip-gary{position:absolute;bottom:0;left:2px}.coach-gary,.tut-gary{flex:none}.table-screen.phone .tile:not(.strip) .tile-head{gap:4px}.table-screen.phone .tile:not(.strip) .pmedal{--ms:18px!important}.table-screen.phone .tile:not(.strip) .tile-total{font-size:.85rem}.card-back.has-art{background:var(--lo-navy);box-shadow:none}.card-back-art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.topbar-lockup .lockup-img{width:auto;height:26px}@media (orientation:portrait){.postcard-scene{aspect-ratio:4/5;max-height:56vh;margin:0 auto}}.postcard-img img{display:block}.sc-save{align-items:center;gap:10px;margin-top:10px;display:flex}.sc-save-err{color:var(--lo-costly-dark);font-size:.85rem}.go-early{color:var(--lo-ink-soft);margin:-4px 0 8px;font-size:.9rem}.go-secondary{flex-wrap:wrap;justify-content:center}.htp-bay{display:block}.htp-pair{gap:10px;display:flex}.htp-tour{color:var(--lo-ink);align-items:center;gap:6px;font-weight:900;display:flex}.htp-tour i{background:linear-gradient(90deg, var(--lo-tangerine), var(--lo-starlight));border-radius:2px;width:56px;height:4px;display:block}.slider-row{grid-template-columns:1fr minmax(90px,1.2fr) 52px;align-items:center;gap:10px;display:grid}.slider-row input[type=range]{width:100%;accent-color:var(--lo-tangerine)}.slider-val{text-align:right;color:var(--lo-ink-soft);font-size:.85rem}.assist-head{align-self:flex-start;margin:6px 0 0}.play-screen{background:var(--lo-table);color:var(--lo-on-table);-webkit-user-select:none;user-select:none;touch-action:none;position:fixed;inset:0;overflow:hidden}.play-screen>*{position:absolute}.top-bar{align-items:center;gap:8px;display:flex}.tb-pause{color:var(--lo-on-table);flex:none}.tb-stop{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.tb-stop-text{flex-direction:column;min-width:0;line-height:1.05;display:flex}.tb-stop-name{font-family:var(--lo-font-mark);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:800;overflow:hidden}.tb-stop-n{letter-spacing:.12em;text-transform:uppercase;color:var(--lo-on-table-soft);font-size:.7rem;font-weight:700}.deep-medal{background:var(--lo-navy-deep);color:var(--lo-starlight);font-size:16px}.tb-wins{color:var(--lo-starlight);flex:none;padding:0 4px;font-size:1.15rem}.tb-stat{flex-direction:column;flex:none;align-items:flex-end;min-width:56px;line-height:1;display:flex}.tb-label{letter-spacing:.14em;text-transform:uppercase;color:var(--lo-on-table-soft);font-size:.62rem;font-weight:700}.tb-val{color:var(--lo-cream);font-size:1.25rem}.tb-lines{min-width:44px}.manifest{background:var(--lo-cream);color:var(--lo-ink);box-shadow:0 2px 0 var(--lo-cream-deep), 0 4px 10px #00000040;border-radius:10px;align-items:center;gap:10px;padding:6px 12px 6px 14px;display:flex}.manifest-clip{background:var(--lo-ink-soft);border-radius:5px;width:44px;height:10px;position:absolute;top:-5px;left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff40}.manifest-label{font-family:var(--lo-font-mark);letter-spacing:.14em;text-transform:uppercase;color:var(--lo-ink);flex:none;font-size:.8rem;font-weight:900}.manifest{justify-content:center;overflow:hidden}.manifest-next,.manifest-then{flex:none;align-items:center;min-width:0;display:flex}.manifest-next{gap:10px}.manifest-then{opacity:.8;gap:6px}.manifest-then-label{font-variant:small-caps;letter-spacing:.1em;color:var(--lo-ink-soft);opacity:.8;font-size:.62rem;font-weight:700}.manifest-divider{background:var(--lo-ink-soft);opacity:.3;flex:none;align-self:stretch;width:1px;margin:4px 0}.manifest .pod-icon{flex:none;display:block}.tb-score{line-height:1}.tb-wins{align-items:center;gap:4px;display:flex}.tb-pips{flex-direction:column;gap:3px;display:flex}.pip{border:1.5px solid var(--lo-starlight);box-sizing:border-box;border-radius:50%;width:7px;height:7px}.pip.on{background:var(--lo-starlight)}.junk-shot{z-index:3;pointer-events:none;transform:translate(var(--x0), var(--y0));animation:.45s linear both junk-fly;position:absolute;top:0;left:0}@keyframes junk-fly{0%{transform:translate(var(--x0), var(--y0))}to{transform:translate(var(--x1), var(--y1))}}.junk-shot-inner{background:var(--lo-slate,#4a5578);border:2px solid var(--lo-ink);color:var(--lo-cream);white-space:nowrap;border-radius:8px;padding:3px 8px;font-size:.85rem;font-weight:900;animation:.45s ease-out both junk-arc;display:block;transform:translate(-50%,-50%)}@keyframes junk-arc{0%{margin-top:0}50%{margin-top:-34px}to{margin-top:0}}.airlock{background:var(--lo-cream);box-shadow:0 2px 0 var(--lo-cream-deep), 0 4px 10px #00000040;color:var(--lo-ink);border:0;border-radius:50%;place-items:center;padding:0;display:grid}.airlock-ring{background:var(--lo-navy-deep);border-radius:50%;place-items:center;width:78%;height:78%;display:grid;box-shadow:inset 0 0 0 2px #1b1a2e59,inset 0 3px 8px #00000073}.airlock.used .pod-icon{opacity:.38;filter:saturate(.4)}.airlock-label{font-family:var(--lo-font-mark);letter-spacing:.12em;text-transform:uppercase;color:var(--lo-on-table-soft);font-size:.6rem;font-weight:900}.hold{filter:drop-shadow(0 6px 14px #00000059);display:block}.hold-canvas{display:block}.hold.dim{opacity:.6}.opp-info{flex-wrap:wrap;align-items:center;gap:2px 8px;padding:2px 2px 0;line-height:1.1;display:flex;overflow:hidden}.opp-name{font-family:var(--lo-font-mark);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.85rem;font-weight:800;overflow:hidden}.opp-lines{color:var(--lo-on-table-soft);white-space:nowrap;font-size:.78rem}.opp-junk{color:var(--lo-costly);white-space:nowrap;font-size:.72rem;font-weight:800}.porthole{background:var(--lo-cream);box-shadow:0 2px 0 var(--lo-cream-deep), 0 4px 10px #00000040;border-radius:50%;place-items:center;display:grid}.porthole-glass{background:radial-gradient(circle at 35% 30%, #3a4c7a 0%, var(--lo-navy-deep) 70%);border-radius:50%;place-items:center;width:84%;height:84%;display:grid;overflow:hidden;box-shadow:inset 0 0 0 2px #1b1a2e59,inset 0 3px 10px #00000073}.porthole-gary{transition:transform .3s var(--ease-out);transform:translateY(6%)}.porthole.mood-bad .porthole-gary{transform:translateY(14%)}.porthole.mood-celebrate .porthole-gary,.porthole.mood-happy .porthole-gary{animation:gary-bob .5s var(--ease-out) 2}.gary-caption{pointer-events:none;z-index:3;justify-content:flex-end;align-items:flex-start;display:flex}.gary-caption-text{background:var(--lo-cream);max-width:100%;color:var(--lo-ink);text-align:center;box-shadow:var(--lo-shadow);animation:caption-in .25s var(--ease-out) both;border-radius:10px;padding:6px 10px;font-size:.78rem;font-weight:700;line-height:1.25;display:inline-block}.play-screen.vs .gary-caption,.play-screen.landscape .gary-caption{justify-content:center}@keyframes caption-in{0%{opacity:0;transform:translateY(6px)}}.clear-label{pointer-events:none;z-index:2;animation:label-float 1s var(--ease-out) both;flex-direction:column;align-items:center;display:flex}.clear-main{font-family:var(--lo-font-mark);letter-spacing:.06em;color:var(--lo-starlight);text-shadow:0 2px 0 var(--lo-ink), 0 0 18px #f6c94573;font-size:clamp(1.2rem,6vw,1.9rem);font-weight:900}.clear-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--lo-cream);text-shadow:0 1px 0 var(--lo-ink);font-size:.85rem;font-weight:800}@keyframes label-float{0%{opacity:0;transform:translateY(8px)scale(.9)}15%{opacity:1;transform:translateY(0)scale(1.05)}70%{opacity:1;transform:translateY(-14px)scale(1)}to{opacity:0;transform:translateY(-30px)scale(1)}}.button-bar{touch-action:none;z-index:2;flex-direction:column;gap:6px;display:flex}.bb-row{flex:1;gap:6px;min-height:48px;display:flex}.bb-btn{background:var(--lo-table-raised);min-height:48px;color:var(--lo-cream);font-family:var(--lo-font-mark);box-shadow:inset 0 0 0 1.5px #f6efdf38, 0 3px 0 var(--lo-navy-deep);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:0;border-radius:14px;flex:1;padding:0;font-size:1.5rem;font-weight:900;line-height:1;transition:transform 60ms,background 60ms}.bb-btn.bb-text{letter-spacing:.02em;font-size:1rem}.bb-btn.bb-slam{background:var(--lo-tangerine-dark);color:var(--lo-cream);box-shadow:inset 0 0 0 1.5px #f6c94580, 0 3px 0 var(--lo-lapis-deep)}.bb-btn.pressed,.bb-btn:active{background:var(--lo-table-line);box-shadow:inset 0 0 0 1.5px #f6efdf59, 0 1px 0 var(--lo-navy-deep);transform:translateY(2px)}.bb-btn.bb-slam.pressed,.bb-btn.bb-slam:active{background:var(--lo-tangerine)}.bb-btn:disabled{opacity:.5}.countdown{pointer-events:none;z-index:3;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.countdown-n{color:var(--lo-starlight);text-shadow:0 3px 0 var(--lo-ink), 0 0 30px #f6c94580;animation:count-pop .5s var(--ease-out) both;font-size:clamp(3rem,22vw,7rem);line-height:1}@keyframes count-pop{0%{opacity:0;transform:scale(1.4)}}.countdown-sub{color:var(--lo-cream);text-shadow:0 1px 0 var(--lo-ink);font-weight:800}.travel{z-index:5;position:fixed;inset:0}.deep-space{background:var(--lo-navy-deep);place-items:center;padding:24px 16px;display:grid}.deep-card{background:var(--lo-cream);color:var(--lo-ink);box-shadow:var(--lo-shadow-lg);animation:caption-in .35s var(--ease-out) both;text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:24px 28px 28px;display:flex;position:relative}.deep-title{font-family:var(--lo-font-mark);letter-spacing:.06em;margin:4px 0 0;font-size:2.2rem;font-weight:900}.deep-sub{color:var(--lo-ink-soft);margin:0;font-weight:700}.pause-actions{flex-direction:column;gap:10px;margin:4px 0 14px;display:flex}.pause-settings{margin-bottom:8px}.pause-home{width:100%}.play-screen>.round-end{z-index:4;cursor:pointer;outline:none;inset:0}.re-vignette{pointer-events:none;background:radial-gradient(ellipse at center, transparent 30%, var(--rim) 100%);position:absolute;inset:0}.re-stage{box-sizing:border-box;pointer-events:none;place-items:center;padding:12px 16px;display:grid;position:absolute;inset:0}.round-card{pointer-events:auto;cursor:default;box-sizing:border-box;text-align:center;width:100%;max-width:380px;animation:re-rise .3s var(--ease-out) both;flex-direction:column;align-items:center;gap:6px;padding:14px 18px 16px;display:flex}.kind-game .round-card{cursor:pointer}.landscape .round-card{animation-name:re-pop}.reduced .round-card{animation:.4s linear both re-fade}@keyframes re-rise{0%{opacity:0;transform:translateY(80px)}}@keyframes re-pop{0%{opacity:0;transform:scale(.92)}}@keyframes re-fade{0%{opacity:0}}.re-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--lo-ink-soft);font-size:.72rem;font-weight:900}.re-title{font-family:var(--lo-font-mark);margin:0;font-size:1.3rem;font-weight:900;line-height:1.15}.match .re-title{font-size:1.55rem}.re-score{justify-content:center;align-items:flex-start;gap:18px;margin:4px 0 2px;display:flex}.re-side{flex-direction:column;align-items:center;gap:2px;min-width:70px;display:flex}.re-n{font-size:2.8rem;line-height:1}.match .re-n{font-size:3.4rem}.re-dash{color:var(--lo-ink-soft);font-size:2.8rem;line-height:1}.match .re-dash{font-size:3.4rem}.re-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.9rem;font-weight:800;overflow:hidden}.re-pips{gap:5px;margin-top:2px;display:flex}.re-pips i{width:10px;height:10px;box-shadow:inset 0 0 0 2px var(--lo-ink-soft);border-radius:50%}.re-pips i.on{background:var(--lo-starlight);box-shadow:inset 0 0 0 2px var(--lo-starlight-dark)}.re-sub{color:var(--lo-ink-soft);margin:0;font-size:.9rem;font-weight:700}.re-tally{grid-template-columns:1fr 1fr;gap:8px 12px;width:100%;margin:6px 0 0;display:grid}.re-tally>div{background:var(--lo-cream-deep);border-radius:10px;padding:8px 12px}.re-tally dt{letter-spacing:.12em;text-transform:uppercase;color:var(--lo-ink-soft);font-size:.7rem;font-weight:800}.re-tally dd{margin:2px 0 0;font-size:1.3rem;font-weight:900}.re-new{color:var(--lo-good-dark);margin:2px 0 0;font-weight:900}.re-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%;margin-top:8px;display:flex}.re-wait{color:var(--lo-ink-soft);margin:0;padding:14px 0;font-weight:800}.hold.ho-shake{animation:.45s linear ho-shake}@keyframes ho-shake{0%,to{transform:translate(0)}12%{transform:translate(-3px)}37%{transform:translate(3px)}62%{transform:translate(-3px)}87%{transform:translate(3px)}}.hold.ho-victory{box-shadow:0 0 0 3px var(--lo-starlight), 0 0 28px 6px #f6c945a6;border-radius:6px;transition:box-shadow .3s ease-out}.ho-sweep{pointer-events:none;position:absolute;overflow:hidden}.ho-sweep:before{content:"";background:linear-gradient(100deg,#0000,#f6c945bf,#0000);width:45%;animation:.7s ease-in-out both ho-sweep;position:absolute;top:-20%;bottom:-20%;left:0;transform:translate(-120%)skew(-18deg)}@keyframes ho-sweep{to{transform:translate(300%)skew(-18deg)}}.ho-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.ho-confetti i{top:-20px;left:var(--x);width:var(--s);height:calc(var(--s) * .6);animation:ho-fall var(--t) linear var(--d) 1 both;border-radius:1px;position:absolute}@keyframes ho-fall{0%{opacity:1;transform:translate(0)rotate(0)}80%{opacity:1}to{transform:translate(var(--dx), 110vh) rotate(540deg);opacity:0}}.travel.leaving{animation:.22s ease-in both travel-leave}@keyframes travel-leave{to{opacity:0;transform:translateY(10px)}}@media (prefers-reduced-motion:reduce){.travel.leaving{animation-name:travel-fade}}.reduce-motion .travel.leaving{animation-name:travel-fade}@keyframes travel-fade{to{opacity:0}}.tut-layer{z-index:60;pointer-events:none;position:fixed;inset:0}.tut-dots{left:50%;top:calc(env(safe-area-inset-top,0px) + 1px);gap:6px;display:flex;position:absolute;transform:translate(-50%)}.tut-dot{background:#f6efdf47;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 1px #1b1a2e80}.tut-dot.done{background:var(--lo-starlight)}.tut-dot.now{background:var(--lo-cream);box-shadow:0 0 0 1.5px var(--lo-tangerine)}.tut-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tut-skip{min-height:24px;color:var(--lo-ink-soft);font-family:var(--lo-font-ui);letter-spacing:.06em;text-transform:uppercase;pointer-events:auto;background:0 0;border:0;flex:none;padding:0 4px;font-size:.7rem;font-weight:800;text-decoration:underline}.tut-tap:disabled{pointer-events:none}.tut-tap{pointer-events:auto;cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.tut-bubble{background:var(--lo-cream);color:var(--lo-ink);box-shadow:0 0 0 2px var(--lo-ink), 0 6px 0 #1b1a2e8c, 0 12px 24px #00000059;transition:top .28s var(--ease-out,ease-out), opacity .25s;pointer-events:none;border-radius:18px;align-items:center;gap:10px;padding:10px 14px 10px 10px;display:flex;position:absolute}.tut-bubble.away{opacity:0}.tut-gary{flex:none}.tut-text{flex-direction:column;gap:2px;min-width:0;display:flex}.tut-kicker{font-family:var(--lo-font-mark);letter-spacing:.1em;text-transform:uppercase;color:var(--lo-tangerine-dark);font-size:.66rem;font-weight:900}.tut-line{margin:0;font-size:.92rem;font-weight:600;line-height:1.3}.tut-spot{z-index:1;animation:1.3s ease-in-out infinite tut-pulse;position:relative;box-shadow:0 0 0 3px var(--lo-starlight), 0 0 18px 4px #f6c945b3!important}@keyframes tut-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}.reduce-motion .tut-spot,.reduce-motion .tut-bubble{transition:none;animation:none}@media (prefers-reduced-motion:reduce){.tut-spot,.tut-bubble{transition:none;animation:none}}.tut-finish{z-index:70;background:#1e2a4ab8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.tut-card{text-align:center;flex-direction:column;align-items:center;gap:8px;width:min(100%,360px);padding:20px 20px 16px;display:flex}.tut-card-title{font-family:var(--lo-font-numeral);margin:0;font-size:1.6rem;font-weight:800}.tut-card-sub{color:var(--lo-ink-soft);margin:0 0 6px;line-height:1.35}.tut-card-actions{flex-direction:column;gap:8px;width:100%;display:flex}.htp{gap:14px}.htp-step{text-align:left;grid-template-columns:112px 1fr;place-items:center stretch;gap:14px}.htp-step.htp-wide{grid-template-columns:1fr;gap:8px}.htp-copy{min-width:0}.htp-copy p,.htp-copy .htp-list{color:var(--lo-ink);margin:0;font-size:.95rem;line-height:1.4}.htp-step .htp-pic{justify-self:center;min-height:0}.htp-bay{filter:drop-shadow(0 3px 5px #1b1a2e40);max-width:100%;height:auto;display:block}@media (width<=420px){.htp-step{text-align:left;grid-template-columns:112px 1fr;justify-items:stretch}.htp-step.htp-wide{grid-template-columns:1fr}}.htp-pods{grid-template-columns:repeat(7,1fr);gap:4px;width:100%;display:grid}.htp-pod{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0;margin:0;display:flex}.htp-pod .pod-icon{max-width:100%;height:auto}.htp-pod figcaption{color:var(--lo-ink-soft);letter-spacing:.01em;font-size:.64rem;font-weight:800}.htp-btns{flex-direction:column;gap:6px;width:100%;display:flex}.htp-btn-row{gap:6px;display:flex}.htp-btn-row .htp-btn{white-space:nowrap;flex:1 1 0;min-width:0}.htp-btn{background:var(--lo-table-raised);min-height:34px;color:var(--lo-cream);font-family:var(--lo-font-mark);box-shadow:inset 0 0 0 1.5px #f6efdf38, 0 2px 0 var(--lo-navy-deep);border-radius:10px;place-items:center;font-size:1.1rem;font-weight:900;display:grid}.htp-btn-text{letter-spacing:.02em;grid-column:span 1;font-size:.74rem}.htp-btn-slam{background:var(--lo-tangerine-dark)}.htp-list{flex-direction:column;gap:5px;padding:0;list-style:none;display:flex}.htp-hud{justify-content:center;align-items:center;gap:10px;display:flex}.htp-manifest{background:var(--lo-cream);box-shadow:0 0 0 1.5px var(--lo-ink), 0 2px 0 var(--lo-cream-deep);border-radius:10px;align-items:center;gap:10px;padding:8px 14px;display:flex;position:relative}.htp-manifest-label{font-family:var(--lo-font-mark);letter-spacing:.14em;text-transform:uppercase;color:var(--lo-ink-soft);font-size:.66rem;font-weight:900}.htp-airlock{background:var(--lo-cream);width:56px;height:56px;box-shadow:0 0 0 1.5px var(--lo-ink), 0 2px 0 var(--lo-cream-deep);border-radius:50%;place-items:center;display:grid}.htp-airlock-ring{background:var(--lo-navy-deep);border-radius:50%;place-items:center;width:78%;height:78%;display:grid;box-shadow:inset 0 3px 8px #00000073}.htp-step .htp-pair{justify-content:center;align-items:center;gap:12px;min-height:0;display:flex}.htp-then{color:var(--lo-tangerine-dark);font-size:1.4rem;font-weight:900}.htp-tags{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.htp-tag-chip{border:1.5px solid var(--lo-ink);font-family:var(--lo-font-mark);letter-spacing:.04em;color:var(--lo-ink);border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:900}.tone-gold{background:#f6c945}.tone-coral{background:#e0709a}.tone-mint{background:#7fd1ae}.tone-ice{background:#8fd3f0}.htp-versus{justify-content:center;align-items:flex-end;gap:14px;display:flex}.htp-junkbar{text-align:center;max-width:76px;color:var(--lo-ink-soft);flex-direction:column;align-items:center;gap:6px;font-size:.66rem;font-weight:800;line-height:1.2;display:flex}.htp-warn{background:var(--lo-terracotta,#d94a3a);width:8px;height:40px;box-shadow:0 0 0 1.5px var(--lo-ink);border-radius:4px}.htp-pips{gap:3px;display:flex}.htp-pips i{background:var(--lo-cream-deep);width:8px;height:8px;box-shadow:0 0 0 1.5px var(--lo-ink);border-radius:50%}.htp-pips i.on{background:#f6c945}.htp-tour{width:100%;max-width:320px;height:auto}.htp-step.htp-wide .htp-pic{justify-self:stretch;width:100%}
