.golf-shell{max-width:1120px;margin:auto}.golf-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.golf-heading h1{font-size:clamp(32px,5vw,60px);margin:0}.golf-start{background:#edf4ef;border:1px solid #ccddd0;border-radius:24px;padding:30px;margin-bottom:24px}.golf-start h2{font-size:30px}.golf-start p{max-width:620px}.golf-start label{display:grid;gap:8px;margin:20px 0;max-width:460px}.golf-start select{min-height:48px}.golf-packs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.golf-pack{border:1px solid #ccd8d2;border-radius:16px;padding:20px;text-align:left;background:#fff;cursor:pointer;color:#183c36;min-height:130px;box-shadow:0 5px 0 #dee8df;transition:transform .2s,box-shadow .2s}.golf-pack:hover{transform:translateY(-3px);box-shadow:0 8px 0 #dee8df}.golf-pack b{display:block;font-size:20px;margin-bottom:6px}.golf-pack span{font-size:13px;display:block;line-height:1.5}.golf-pack[data-theme=halloween]{background:#eee4fc}.golf-pack[data-theme=christmas]{background:#e1f2f5}.golf-pack[data-theme=harvest]{background:#fff0d2}.golf-table{background:#143d37;border:1px solid #4b7062;border-radius:24px;color:#fff5df;overflow:hidden;box-shadow:0 20px 60px #23433625}.golf-hud{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 26px;background:#143d37}.golf-hud h2{font-size:24px;color:inherit;margin:3px 0 0}.golf-hud small{color:#bcd9c9}.golf-hud strong{font-size:16px;text-align:right}.golf-surface{height:580px;position:relative;touch-action:none;background:#dae8df;outline-offset:-4px}.golf-surface:focus-visible{outline:4px solid #edc578}.golf-surface canvas{width:100%;height:100%;display:block;object-fit:contain}.golf-message{text-align:center;font-size:15px;margin:16px 18px;min-height:24px;color:#f8e7bf}.golf-controls{display:flex;gap:24px;align-items:center;justify-content:center;padding:0 26px 18px}.golf-controls label{display:grid;grid-template-columns:auto minmax(90px,1fr) 42px;gap:14px;align-items:center;width:390px;font-size:14px}.golf-controls input{width:100%;min-height:44px;accent-color:#eac17c}.golf-putt{border:0;background:#f2cc86;color:#173b34;font-size:18px;font-weight:800;border-radius:12px;padding:13px 34px;min-height:48px;cursor:pointer}.golf-putt:disabled{opacity:.45;cursor:default}.golf-tools{padding:0 26px 18px;display:flex;gap:30px;align-items:start;font-size:13px}.golf-tools>label{display:flex;gap:16px;align-items:center;min-width:220px}.golf-tools input{width:150px;min-height:44px;accent-color:#9cd6c9}.golf-tools details{flex:1}.golf-tools summary{padding:12px 0;cursor:pointer}.golf-tools p{font-size:13px;color:#ccded1;margin:8px 0}.golf-scorecard{overflow-x:auto;border-top:1px solid #ffffff25;padding:12px 20px}.golf-scorecard table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.golf-scorecard th,.golf-scorecard td{text-align:center;padding:8px;border-bottom:1px solid #ffffff15}.golf-scorecard th:first-child{text-align:left}.golf-scorecard thead{color:#f1cc83}.golf-finish{text-align:center;padding:18px}.golf-finish h3{font-size:28px;color:#f6d58d}.golf-finish:empty{display:none}.golf-room-stage{padding:0!important;border:0!important;background:transparent!important}.golf-hero-art{border-radius:30px;overflow:hidden;aspect-ratio:1.15;background:#dce9df;min-width:0}.golf-hero-art img{width:100%;height:100%;object-fit:cover}.golf-landing{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.golf-landing h1{font-size:clamp(46px,6vw,76px);line-height:1.03}.golf-landing p{max-width:520px}.golf-details{max-width:1000px;margin:auto}.golf-details details{padding:20px 0;border-bottom:1px solid #dedce4}.golf-details summary{font-weight:700;cursor:pointer}.golf-pack-status{font-size:14px;min-height:24px}.golf-after{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.golf-table [hidden]{display:none!important}@media(max-width:650px){.golf-shell{padding:24px 10px}.golf-heading{align-items:start}.golf-heading a{font-size:14px}.golf-start{padding:20px}.golf-packs{grid-template-columns:1fr 1fr;gap:10px}.golf-pack{padding:15px}.golf-pack b{font-size:17px}.golf-surface{height:420px}.golf-table{border-radius:18px}.golf-hud{padding:16px}.golf-hud h2{font-size:19px}.golf-hud strong{font-size:12px;max-width:95px}.golf-controls{gap:12px;padding:0 16px 14px}.golf-controls label{grid-template-columns:minmax(70px,1fr) 32px;gap:8px;font-size:0;width:auto;flex:1}.golf-controls output{font-size:13px}.golf-putt{padding:12px 25px;font-size:17px}.golf-tools{padding:0 16px 16px;display:block}.golf-tools>label{width:100%;justify-content:space-between}.golf-tools input{width:75%}.golf-message{font-size:13px}.golf-landing{grid-template-columns:1fr;gap:25px}.golf-hero-art{aspect-ratio:1.2}.golf-scorecard{padding:10px}.golf-start h2{font-size:25px}}@media(max-width:360px){.golf-packs{grid-template-columns:1fr}.golf-surface{height:380px}.golf-controls{gap:8px}}@media(prefers-reduced-motion:reduce){.golf-pack{transition:none}}

.room-is-live .golf-details{display:none}.spades-hero>img{width:100%;height:100%;object-fit:cover}

@media(max-width:650px){.golf-heading{flex-wrap:wrap;gap:12px}.golf-heading h1{flex:1}.golf-heading>a{flex-basis:100%}.golf-heading button{min-height:44px}}
.golf-scorecard th{background:transparent;color:#f1cc83}.golf-scorecard tbody th{color:#fff5df}.golf-shell .club-gate{padding:30px;border:1px solid #d5dacc;border-radius:22px;background:#fbf6e9;margin:24px 0}.golf-shell .club-gate h2{font-size:30px}.golf-shell .club-gate>a,.golf-shell .club-gate>button{display:inline-flex;margin:10px 15px 0 0;min-height:44px;align-items:center}.golf-shell .club-gate>span{font-size:12px;letter-spacing:.08em}

@media(max-width:650px){.golf-controls label>span{display:none}.golf-controls label{font-size:13px;grid-template-columns:minmax(60px,1fr) 34px}.golf-controls label input{min-width:0}}
.golf-scorecard table{min-width:0}.golf-scorecard th:first-child{max-width:130px;overflow:hidden;text-overflow:ellipsis}@media(max-width:650px){.golf-scorecard table{font-size:12px}.golf-scorecard th,.golf-scorecard td{padding:8px 5px}.golf-scorecard th:first-child{max-width:90px}}

.golf-surface{height:clamp(320px,52svh,580px)}@media(max-width:650px){.golf-surface{height:clamp(280px,48svh,420px)}}
