@import"https://fonts.googleapis.com/css2?family=Lilita+One&family=Nunito:wght@400;600;700;800;900&display=swap";.golf-lobby{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;overflow:auto;background:linear-gradient(180deg,#243d3110,#243d3138),url(/assets/golf/menu-background.webp) center / cover no-repeat,#3b5248;color:#20382e;font:700 16px/1.45 Nunito,sans-serif;padding:32px 18px;box-sizing:border-box}.golf-lobby *{box-sizing:border-box}.golf-lobby-card{width:clamp(650px,50vw,810px);max-width:100%;margin:auto;padding:30px 38px;background:#fffaf073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:2px solid #fff4dc;border-radius:30px;box-shadow:0 18px 55px #18231c70}.golf-lobby header{display:flex;align-items:center;justify-content:center;gap:25px}.golf-lead{width:155px;height:195px;object-fit:contain;filter:drop-shadow(0 9px 4px #bd95582a)}.golf-lobby h1{font:clamp(30px,5vw,48px)/1.03 "Lilita One",sans-serif;color:#254337;margin:7px 0}.golf-lobby h1 span{color:#83391e;font-size:1.3em}.golf-lobby header p{margin:8px 0}.golf-eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#62391e}.golf-lobby h2{font:24px Lilita One,sans-serif;margin:23px 0 12px}.golf-name{display:flex;align-items:center;gap:18px;margin-top:15px}.golf-lobby input:not([type=checkbox]),.golf-lobby select{border:2px solid #dcccb2;border-radius:12px;background:#fff;padding:11px 14px;font:800 16px Nunito,sans-serif;color:#384b48;min-width:0}.golf-name input{flex:1}.golf-lobby button{font:20px Lilita One,sans-serif;cursor:pointer;border:2px solid #b85430;border-radius:14px;background:#b85430;color:#fff;padding:13px 20px;box-shadow:0 4px #88401f;transition:transform .12s,background .12s}.golf-lobby button:hover{transform:translateY(-2px)}.golf-lobby button:active{transform:translateY(2px)}.golf-lobby button:disabled{filter:saturate(.45);cursor:default;transform:none}.golf-lobby :focus-visible{outline:3px solid #267cad;outline-offset:4px}.golf-lobby .secondary{background:#fff5dc;color:#795a38;border-color:#d8bd8c;box-shadow:0 4px #bea67a}.golf-fin-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}.golf-fin-grid button{padding:7px 3px 9px;border:2px solid #e7ddc9;background:#f2eddc;box-shadow:none;color:#4c6154;border-radius:14px}.golf-fin-grid button[aria-pressed=true]{border-color:#d87544;background:#ffe1b8;box-shadow:0 0 0 2px #efb983}.golf-fin-grid img{display:block;width:100%;height:77px;object-fit:contain;border-radius:8px}.golf-fin-grid span{display:block;font:800 11px Nunito,sans-serif;margin-top:6px}.golf-options{border:1px solid #e2d8bf;border-radius:16px;margin:22px 0 0;padding:15px 18px;background:#f5f4e7}.golf-options legend{padding:0 8px;font:21px Lilita One,sans-serif;color:#4a735d}.golf-options>label:first-of-type{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.golf-options select{font-size:14px;padding:7px 9px}.golf-toggle{display:flex;align-items:center;gap:12px;margin:10px 0}.golf-toggle input{width:21px;height:21px;accent-color:#618c71;flex-shrink:0}.golf-toggle small{display:block;color:#626958;font-size:12px;font-weight:600}.golf-status{min-height:24px;font-size:14px;color:#20382e;text-align:center;margin:18px 0}.golf-actions{display:flex;flex-wrap:wrap;gap:13px;justify-content:center}.golf-join{display:flex;gap:8px}.golf-join input{width:112px;text-transform:uppercase;letter-spacing:2px;text-align:center}.golf-footnote{text-align:center;font-size:11px;letter-spacing:1px;color:#20382e;margin:21px 0 0}.golf-room-code{text-align:center;border-radius:15px;padding:12px;background:#f8e7c9;margin-top:15px}.golf-room-code strong{font:30px Lilita One,sans-serif;letter-spacing:5px;display:block;color:#a85536}.golf-room-code>span{display:block;font-size:12px}.golf-code-row{display:flex;align-items:center;justify-content:center;gap:12px}.golf-room-code .golf-copy{padding:7px 8px;line-height:0;border-radius:11px;box-shadow:0 3px #bea67a}.golf-players{padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none}.golf-players li{display:flex;align-items:center;gap:10px;border-radius:12px;background:#f1efe0;padding:8px;overflow-wrap:anywhere}.golf-players img{width:42px;height:43px;object-fit:contain}.golf-players small{display:block;font-size:11px;color:#7f816e}@media(min-width:821px)and (max-height:950px){.golf-lobby,.golf-lobby-card{padding-block:22px}.golf-lead{height:clamp(114px,calc(30vh - 120px),156px)}.golf-lobby h2,.golf-options{margin-top:18px}.golf-status{margin-block:12px}}@media(max-width:820px){.golf-lobby{background:linear-gradient(180deg,transparent 38vw,#3b5248 59vw),url(/assets/golf/menu-background.webp) center top / 100% auto no-repeat,#3b5248;padding:clamp(150px,44vw,320px) 12px 18px}}@media(max-width:600px){.golf-lobby{padding-inline:8px}.golf-lobby-card{padding:20px 16px;border-radius:22px}.golf-lobby header{gap:10px}.golf-lead{width:90px;height:140px}.golf-eyebrow{font-size:9px;letter-spacing:1px}.golf-lobby header p:last-child{font-size:12px}.golf-fin-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.golf-fin-grid img{height:68px}.golf-name{gap:10px}.golf-name input{width:60%}.golf-actions>button{flex:1}.golf-join{width:100%}.golf-join input{flex:1}.golf-players{grid-template-columns:1fr}.golf-options{padding:12px}}.golf-hub-link{color:#713216;font:800 13px Nunito,sans-serif;letter-spacing:0;text-decoration:none}.golf-hub-link:hover{text-decoration:underline}:root{--golf-ink: #2a1d3a;--golf-cream: #fff7e8;--golf-orange: #ff8a1f;--golf-gold: #ffd23f;--golf-panel: rgba(255, 247, 232, .94)}html,body{margin:0;height:100%;overflow:hidden;background:#1b1430}#golf{position:fixed;top:0;right:0;bottom:0;left:0}#golf canvas{display:block;width:100%;height:100%;touch-action:none}#golf-loading{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:50;background:radial-gradient(circle at 50% 40%,#3b2a5c,#1b1430 70%);color:var(--golf-cream);font:900 28px Lilita One,Nunito,sans-serif;letter-spacing:.02em;transition:opacity .4s}#golf-loading.gone{opacity:0;pointer-events:none}.golf-hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;font-family:Nunito,sans-serif;color:var(--golf-ink);z-index:10}.golf-hud button,.golf-hud select,.golf-hud input,.golf-card,.golf-menu{pointer-events:auto}.golf-hole{position:absolute;left:16px;top:16px;padding:10px 16px 12px;border-radius:16px;background:var(--golf-panel);box-shadow:0 6px 18px #140a2840}.golf-hole-name{font:400 24px Lilita One,sans-serif;color:var(--golf-orange);line-height:1.1}.golf-hole-info{font-weight:800;font-size:14px;opacity:.8}.golf-stroke{font-weight:900;font-size:17px;margin-top:2px}.golf-turn{position:absolute;top:18px;left:50%;transform:translate(-50%);padding:8px 18px;border-radius:999px;background:var(--golf-panel);font-weight:900;font-size:17px;opacity:0;transition:opacity .3s}.golf-turn.show{opacity:1}.golf-fps{position:absolute;right:70px;top:22px;font-weight:900;color:var(--golf-cream);text-shadow:0 1px 3px #000}.golf-gear{position:absolute;right:16px;top:14px;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;background:var(--golf-panel);font-size:22px;box-shadow:0 4px 12px #140a2840}.golf-meter{position:absolute;left:50%;bottom:74px;width:min(420px,70vw);height:22px;transform:translate(-50%);border-radius:999px;background:#1e14328c;border:3px solid var(--golf-cream);overflow:hidden;opacity:0;transition:opacity .15s}.golf-meter.show{opacity:1}.golf-meter-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;transform:scaleX(0)}.golf-meter-label{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;font:900 13px/22px Nunito,sans-serif;color:#fff;text-shadow:0 1px 2px #000;letter-spacing:.08em;text-transform:uppercase}.golf-hint{position:absolute;left:50%;bottom:22px;transform:translate(-50%);max-width:calc(100vw - 32px);text-align:center;font-weight:800;font-size:15px;color:var(--golf-cream);text-shadow:0 1px 3px rgba(0,0,0,.8)}.golf-party{position:absolute;left:16px;bottom:18px;max-width:calc(100vw - 32px);padding:9px 12px;border-radius:16px;background:var(--golf-panel);box-shadow:0 4px 16px #140a2842}.golf-party-status{font-size:13px;font-weight:900;margin-bottom:6px}.golf-party-buttons{display:flex;gap:6px;flex-wrap:wrap}.golf-party-button{border:0;padding:7px 9px;border-radius:9px;cursor:pointer;background:#833e8f;color:#fff;font:900 13px Nunito,sans-serif}.golf-party-button:disabled{background:#e3d3e5;color:#644968;cursor:default}.golf-party-button kbd{margin-left:5px;font-size:11px}.golf-party-count{display:inline-grid;place-items:center;min-width:18px;margin-left:5px;padding:1px 3px;border-radius:5px;background:var(--power-color);color:#281739;font-size:11px}@media(max-width:700px){.golf-party{bottom:55px}}.golf-banner{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%) scale(.8);text-align:center;opacity:0;transition:opacity .25s,transform .35s cubic-bezier(.2,1.6,.4,1)}.golf-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.golf-banner-main{font:400 clamp(40px,7vw,76px) "Lilita One",sans-serif;color:var(--golf-gold);-webkit-text-stroke:3px var(--golf-ink);paint-order:stroke fill;text-shadow:0 6px 0 rgba(42,29,58,.5)}.golf-banner.bad .golf-banner-main{color:#ffb3a1}.golf-banner.plain .golf-banner-main{color:var(--golf-cream)}.golf-banner-sub{font-weight:900;font-size:20px;color:var(--golf-cream);text-shadow:0 2px 4px rgba(0,0,0,.8)}.golf-card,.golf-menu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:20px 24px;border-radius:22px;background:var(--golf-panel);box-shadow:0 12px 40px #140a2873;display:none;max-width:calc(100vw - 32px);box-sizing:border-box}.golf-card.show,.golf-menu.show{display:block}.golf-card-title,.golf-menu-title{font:400 30px Lilita One,sans-serif;color:var(--golf-orange);text-align:center;margin-bottom:12px}.golf-card-table{border-collapse:collapse;margin:0 auto 16px;font-weight:800;font-size:16px}.golf-card-table th,.golf-card-table td{padding:6px 10px;text-align:center;border-bottom:2px solid rgba(42,29,58,.1)}.golf-card-table .who{text-align:left;white-space:nowrap}.golf-card-table .par td{opacity:.6}.golf-card-table .me{background:#ffd23f4d}.golf-card-table .under{color:#1f8a3a}.golf-card-table .over{color:#c0392b}.golf-card-table .total{font-weight:900}.golf-card-table .dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:-1px;box-shadow:inset 0 0 0 2px #fff9}.golf-card-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.golf-button{border:0;border-radius:999px;padding:12px 26px;cursor:pointer;font:900 17px Nunito,sans-serif;background:var(--golf-orange);color:#fff;box-shadow:0 4px #c45f05;transition:transform .1s}.golf-button:hover{transform:translateY(-1px)}.golf-button:active{transform:translateY(2px);box-shadow:0 2px #c45f05}.golf-button.quiet{background:#e9dcc5;color:var(--golf-ink);box-shadow:0 4px #bfae90}.golf-menu{width:380px;max-height:calc(100dvh - 24px);overflow-y:auto}.golf-menu-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;font-weight:800}.golf-menu-row select{font:800 15px Nunito,sans-serif;padding:4px 8px;border-radius:10px;border:2px solid #e2d3b8;background:#fff}.golf-menu .golf-button{display:block;margin:16px auto 0}.golf-pickup{position:absolute;right:16px;bottom:64px;display:none}.golf-pickup.show{display:block}.golf-status-line{position:absolute;top:70px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#2a1d3acc;color:var(--golf-cream);font-weight:800;font-size:14px;display:none}.golf-status-line.show{display:block}
