@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/plus-jakarta-sans.woff2) format("woff2");font-style:normal;font-weight:400 800;font-display:swap}:root{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.45;font-weight:500;color-scheme:dark;color:#f4f7f5;background:#07110d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--cg-font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--cg-bg: #07110d;--cg-panel: rgba(10, 24, 17, .82);--cg-panel-strong: rgba(9, 22, 15, .94);--cg-panel-soft: rgba(247, 255, 250, .055);--cg-line: rgba(224, 248, 232, .13);--cg-line-strong: rgba(224, 248, 232, .24);--cg-text: #f4f7f5;--cg-text-soft: #b9c6be;--cg-text-muted: #7f9186;--cg-green: #67d58a;--cg-mint: #b7f1c8;--cg-gold: #efc66b;--cg-blue: #73b8ff;--cg-danger: #ff7a72;--cg-warning: #f2b75f;--cg-radius-sm: 8px;--cg-radius-md: 12px;--cg-radius-lg: 18px;--cg-radius-xl: 24px;--cg-blur: blur(18px) saturate(140%);--cg-shadow-sm: 0 6px 18px rgba(0, 0, 0, .22);--cg-shadow-md: 0 18px 48px rgba(0, 0, 0, .34);--cg-shadow-lg: 0 28px 90px rgba(0, 0, 0, .48);--cg-focus: 0 0 0 3px rgba(103, 213, 138, .28);--cg-ease: cubic-bezier(.2, .8, .2, 1);--cg-text-primary: var(--cg-text);--cg-text-secondary: var(--cg-text-soft);--cg-text-tertiary: var(--cg-text-muted);--cg-text-disabled: rgba(185, 198, 190, .32);--cg-accent: var(--cg-green);--cg-accent-hover: #7ade98;--cg-accent-ink: #07120b;--cg-border: var(--cg-line);--cg-border-strong: var(--cg-line-strong);--cg-glass: var(--cg-panel);--cg-glass-strong: var(--cg-panel-strong)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;background:var(--cg-bg)}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--cg-focus)}::selection{color:#06120b;background:var(--cg-mint)}*{scrollbar-width:thin;scrollbar-color:rgba(183,241,200,.25) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#b7f1c838;border:2px solid transparent;border-radius:999px;background-clip:padding-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.auth-modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-modal{background:#14141ed9;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:3rem 2.5rem;max-width:440px;width:90%;position:relative;box-shadow:0 8px 32px #0000005e,0 0 0 1px #ffffff0d inset;animation:slideUp .3s ease-out}.auth-modal-close{position:absolute;top:1.25rem;right:1.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50%;font-size:1.5rem;cursor:pointer;color:#fff9;line-height:1;padding:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.auth-modal-close:hover{background:#ffffff1a;color:#ffffffe6;transform:rotate(90deg)}.auth-modal-title{font-size:2rem;margin:0 0 .5rem;color:#fffffff2;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-modal-subtitle{margin:0;color:#ffffff80;font-size:.95rem;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.auth-form-group{display:flex;flex-direction:column;gap:.625rem}.auth-form-group label{font-weight:600;color:#fffc;font-size:.875rem;letter-spacing:.02em;text-transform:uppercase}.auth-form-group input{padding:1rem 1.125rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:1rem;color:#fffffff2;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-form-group input::placeholder{color:#ffffff4d}.auth-form-group input:focus{outline:none;background:#ffffff14;border-color:#4caf5080;box-shadow:0 0 0 3px #4caf501a}.auth-error{padding:1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:12px;color:#fca5a5f2;font-size:.875rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-submit-button{padding:1rem;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem;box-shadow:0 4px 15px #4caf504d;position:relative;overflow:hidden}.auth-submit-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.auth-submit-button:hover:not(:disabled):before{left:100%}.auth-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.auth-submit-button:active:not(:disabled){transform:translateY(0)}.auth-submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-toggle{margin-top:2rem;text-align:center;color:#fff9;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.auth-toggle p{margin:0;font-size:.9rem}.auth-toggle button{background:none;border:none;color:#4caf50;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:color .2s ease;position:relative}.auth-toggle button:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:#4caf50;transform:scaleX(0);transition:transform .2s ease}.auth-toggle button:hover{color:#5ec761}.auth-toggle button:hover:after{transform:scaleX(1)}.require-auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#fffc}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-top-color:#4caf50;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.main-menu{position:relative;width:100vw;height:100dvh;min-height:620px;overflow:hidden;color:var(--cg-text);background:radial-gradient(circle at 78% 8%,rgba(81,173,118,.12),transparent 35%),linear-gradient(145deg,#07110d,#0a1710 48%,#050b08);isolation:isolate}.main-menu:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.menu-title-screen{min-height:480px;background:#0a100c}.menu-title-screen:after{display:none}.menu-cinematic-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;background:#0a100c}.menu-cinematic-backdrop>div:first-child{transform:scale(1.015)}.menu-cinematic-grade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(4,8,6,.72) 0%,rgba(4,8,6,.27) 28%,transparent 58%),linear-gradient(180deg,rgba(2,5,3,.26),transparent 40%,rgba(2,5,3,.24));box-shadow:inset 0 0 180px #0000002e}.menu-minimal-nav{position:absolute;top:clamp(68px,11vh,128px);left:clamp(42px,6.6vw,112px);z-index:3;display:flex;flex-direction:column;align-items:flex-start;color:#fff;text-align:left;filter:drop-shadow(0 2px 12px rgba(0,0,0,.48))}.menu-minimal-nav h1{margin:0 0 clamp(32px,5vh,54px);color:#fff;font-size:clamp(28px,3vw,48px);font-weight:540;line-height:1;letter-spacing:-.045em}.menu-minimal-nav nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.menu-minimal-nav button{position:relative;min-width:132px;padding:3px 0;border:0;background:transparent;color:#ffffffc7;font:inherit;font-size:clamp(19px,1.65vw,27px);font-weight:430;line-height:1.24;letter-spacing:-.03em;text-align:left;cursor:pointer;transition:color .14s ease,transform .18s ease}.menu-minimal-nav button:before{content:"";position:absolute;left:-17px;top:50%;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:0;transform:translate(5px,-50%);transition:opacity .14s ease,transform .18s ease}.menu-minimal-nav button:hover:not(:disabled),.menu-minimal-nav button:focus-visible{color:#fff;transform:translate(5px);outline:none}.menu-minimal-nav button:hover:not(:disabled):before,.menu-minimal-nav button:focus-visible:before{opacity:1;transform:translateY(-50%)}.menu-minimal-nav button:disabled{opacity:.52;cursor:wait}@media (max-width: 680px){.menu-minimal-nav{top:72px;left:36px}.menu-cinematic-grade{background:linear-gradient(90deg,rgba(4,8,6,.66),transparent 82%),linear-gradient(180deg,rgba(2,5,3,.2),transparent 55%,rgba(2,5,3,.26))}}.menu-title-glow{position:absolute;top:-30%;right:-10%;width:70vw;height:80vw;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(74,183,111,.13),transparent 66%);animation:menuGlowDrift 10s ease-in-out infinite alternate}@keyframes menuGlowDrift{to{transform:translate3d(-4vw,3vh,0) scale(1.08)}}.menu-topbar{position:relative;z-index:10;height:78px;padding:0 clamp(24px,4.2vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(224,248,232,.09);background:linear-gradient(180deg,rgba(5,13,8,.55),transparent)}.menu-brand{display:flex;align-items:center;gap:12px;color:#edf6f0;font-size:11px;font-weight:740;letter-spacing:.15em;white-space:nowrap}.menu-brand b{color:var(--cg-green);font-weight:800}.menu-brand-mark{position:relative;width:29px;height:29px;display:block;border:1px solid rgba(183,241,200,.34);border-radius:50%;background:#b7f1c80f;box-shadow:inset 0 1px #ffffff14}.menu-brand-mark:before{content:"";position:absolute;left:13px;top:6px;width:1px;height:14px;background:var(--cg-green)}.menu-brand-mark:after{content:"";position:absolute;left:14px;top:6px;width:7px;height:5px;clip-path:polygon(0 0,100% 50%,0 100%);background:var(--cg-green)}.menu-brand-mark i{position:absolute;left:8px;bottom:5px;width:12px;height:4px;border:1px solid rgba(183,241,200,.42);border-radius:50%}.menu-account,.menu-sign-in{height:36px;border:1px solid var(--cg-line);border-radius:999px;background:#ffffff09;backdrop-filter:var(--cg-blur);-webkit-backdrop-filter:var(--cg-blur);color:var(--cg-text-soft)}.menu-sign-in{min-width:84px;padding:0 18px;font-size:10px;font-weight:750;cursor:pointer;transition:.16s var(--cg-ease)}.menu-sign-in:hover{border-color:var(--cg-line-strong);background:#ffffff12;color:#fff}.menu-account{padding:0 7px 0 13px;display:flex;align-items:center;gap:8px;font-size:9px}.menu-account-dot{width:6px;height:6px;border-radius:50%;background:var(--cg-green);box-shadow:0 0 10px #67d58ab3}.menu-account button{height:25px;padding:0 10px;border:0;border-radius:999px;background:#fff1;color:var(--cg-text-muted);font-size:8px;cursor:pointer}.menu-account button:hover{color:#fff;background:#ffffff1c}.menu-title-content{width:min(1520px,calc(100vw - clamp(48px,8.4vw,144px)));height:calc(100dvh - 144px);min-height:500px;margin:0 auto;padding:clamp(30px,5vh,70px) 0 clamp(46px,7vh,80px);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(620px,1.7fr);align-items:center;gap:clamp(30px,4.4vw,78px)}.menu-hero-copy{align-self:center}.menu-eyebrow{display:block;color:var(--cg-green);font-size:9px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.menu-hero-copy h1{margin:15px 0 20px;color:#f4f8f5;font-size:clamp(64px,6.4vw,116px);font-weight:790;line-height:.81;letter-spacing:-.082em;text-wrap:balance}.menu-hero-copy h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1.4px rgba(183,241,200,.68);text-shadow:0 0 36px rgba(103,213,138,.08)}.menu-hero-copy p{margin:0;color:var(--cg-text-muted);font-size:clamp(12px,1vw,15px);font-weight:580;letter-spacing:-.015em}.menu-action-grid{position:relative;height:min(58vh,590px);min-height:420px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.5vw,24px)}.menu-action-card{position:relative;min-width:0;padding:0;overflow:hidden;border:1px solid rgba(225,246,232,.14);border-radius:clamp(20px,1.8vw,28px);background:#102018;box-shadow:0 28px 70px #00000059,inset 0 1px #ffffff14;color:#fff;text-align:left;cursor:pointer;transform:translateZ(0);transition:transform .35s var(--cg-ease),border-color .25s ease,box-shadow .35s var(--cg-ease)}.menu-action-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;filter:saturate(.82) brightness(.68);transform:scale(1.035);transition:transform .7s var(--cg-ease),filter .45s ease}.menu-action-card.design>img{object-position:61% center}.menu-action-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#040c070d,#040c0721 35%,#040c07ed),linear-gradient(115deg,rgba(4,12,7,.62),transparent 56%);transition:opacity .3s ease}.menu-action-card:before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;background:linear-gradient(120deg,transparent 34%,rgba(202,255,220,.12) 48%,transparent 62%);transform:translate(-120%);transition:transform .65s var(--cg-ease);pointer-events:none}.menu-action-card:hover:not(:disabled){transform:translateY(-8px);border-color:#b7f1c86b;box-shadow:0 38px 90px #00000075,0 0 0 1px #67d58a14}.menu-action-card:hover:not(:disabled)>img{transform:scale(1.095);filter:saturate(1.02) brightness(.82)}.menu-action-card:hover:not(:disabled):before{transform:translate(120%)}.menu-action-card:active:not(:disabled){transform:translateY(-3px) scale(.995)}.menu-action-card:disabled{cursor:wait;opacity:.72}.menu-action-copy{position:absolute;left:clamp(22px,2.2vw,35px);right:clamp(22px,2.2vw,35px);bottom:clamp(25px,3vw,43px);z-index:3;display:flex;flex-direction:column;align-items:flex-start}.menu-action-copy small{margin-bottom:8px;color:var(--cg-mint);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.menu-action-copy strong{font-size:clamp(44px,4.3vw,76px);font-weight:790;line-height:.94;letter-spacing:-.065em}.menu-action-copy>span{max-width:270px;margin-top:12px;color:#eef6f1ab;font-size:10px;line-height:1.5}.menu-action-arrow,.menu-card-arrow{display:grid;place-items:center;border:1px solid rgba(224,248,232,.24);border-radius:50%;background:#05100947;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.menu-action-arrow{position:absolute;z-index:4;top:25px;right:25px;width:45px;height:45px;transition:.25s var(--cg-ease)}.menu-action-arrow svg,.menu-card-arrow svg,.menu-primary-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.menu-action-card:hover .menu-action-arrow{border-color:var(--cg-green);background:var(--cg-green);color:#07120b;transform:rotate(-8deg)}.menu-launch-monitor-link{position:absolute;right:0;bottom:-34px;border:0;background:transparent;color:var(--cg-text-muted);font-size:9px;cursor:pointer}.menu-credit{position:fixed;z-index:12;left:50%;bottom:18px;transform:translate(-50%);color:#b9c6be70;font-size:8px;font-weight:580;letter-spacing:.035em;white-space:nowrap}.menu-credit a{color:#e1efe6a8;text-decoration:none;transition:color .14s ease}.menu-credit a:hover{color:var(--cg-green);text-decoration:underline;text-underline-offset:3px}.menu-library-screen{overflow-y:auto}.menu-backdrop-art{position:fixed;inset:0;z-index:-2}.menu-backdrop-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) brightness(.28);transform:scale(1.03)}.menu-backdrop-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#050d08b3,#07110d 62%,#07110d),linear-gradient(90deg,rgba(5,13,8,.9),transparent 70%)}.menu-library-shell{width:min(1180px,calc(100vw - 48px));min-height:calc(100dvh - 78px);margin:0 auto;padding:32px 0 76px}.menu-back{min-height:34px;padding:0 13px;border:1px solid var(--cg-line);border-radius:999px;background:#ffffff09;color:var(--cg-text-soft);font-size:9px;font-weight:700;cursor:pointer}.menu-back:hover{border-color:var(--cg-line-strong);background:#fff1;color:#fff}.menu-library-heading{margin:clamp(28px,5vh,54px) 0 25px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.menu-library-heading h1{margin:8px 0 0;font-size:clamp(38px,4.6vw,70px);font-weight:770;line-height:1;letter-spacing:-.06em}.menu-library-heading p{max-width:280px;margin:0 0 5px;color:var(--cg-text-muted);font-size:10px;text-align:right}.course-selection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.course-selection-card{position:relative;min-height:240px;padding:0;overflow:hidden;border:1px solid var(--cg-line);border-radius:var(--cg-radius-xl);background:#0b1710;color:#fff;text-align:left;cursor:pointer;box-shadow:var(--cg-shadow-md);transition:.22s var(--cg-ease)}.course-selection-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.65);transition:.5s var(--cg-ease)}.course-card-shade{position:absolute;inset:0;background:linear-gradient(180deg,#050e080f,#050e08ed)}.course-selection-card:hover:not(:disabled){transform:translateY(-5px);border-color:#67d58a73;box-shadow:var(--cg-shadow-lg)}.course-selection-card:hover:not(:disabled)>img{transform:scale(1.06);filter:brightness(.7) saturate(.9)}.course-selection-card:disabled{opacity:.6;cursor:wait}.course-card-index{position:absolute;top:18px;left:18px;z-index:2;color:#ffffffa6;font-size:9px;font-weight:800;letter-spacing:.12em}.course-card-copy{position:absolute;left:20px;right:60px;bottom:21px;z-index:2;display:flex;flex-direction:column;align-items:flex-start}.course-card-copy small{margin-bottom:6px;color:var(--cg-green);font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.course-card-copy strong{width:100%;overflow:hidden;font-size:20px;font-weight:730;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.course-card-copy>span{margin-top:5px;color:#ffffff7a;font-size:8px}.menu-card-arrow{width:35px;height:35px;color:var(--cg-text-soft)}.course-selection-card>.menu-card-arrow{position:absolute;right:18px;bottom:19px;z-index:2}.course-selection-card:hover .menu-card-arrow,.hole-selection-card:hover .menu-card-arrow{border-color:var(--cg-green);background:var(--cg-green);color:#07120b}.hole-selection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.hole-selection-card{min-height:108px;padding:16px;display:grid;grid-template-columns:36px 1fr 35px;align-items:center;gap:12px;border:1px solid var(--cg-line);border-radius:var(--cg-radius-lg);background:#08160ea6;backdrop-filter:var(--cg-blur);-webkit-backdrop-filter:var(--cg-blur);color:var(--cg-text);text-align:left;cursor:pointer;transition:.18s var(--cg-ease)}.hole-selection-card:hover{transform:translateY(-3px);border-color:#67d58a61;background:#0d2115d1}.hole-selection-number{color:var(--cg-green);font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.hole-selection-card>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.hole-selection-card small{color:var(--cg-text-muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.hole-selection-card strong{font-size:15px}.menu-empty-state{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--cg-line);border-radius:var(--cg-radius-xl);background:#08160ea3;backdrop-filter:var(--cg-blur);-webkit-backdrop-filter:var(--cg-blur);text-align:center}.menu-empty-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--cg-line-strong);border-radius:16px;color:var(--cg-green);font-size:24px}.menu-empty-state h2{margin:18px 0 5px;font-size:20px}.menu-empty-state p{margin:0 0 22px;color:var(--cg-text-muted);font-size:10px}.menu-primary-button{min-height:42px;padding:0 16px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:var(--cg-green);color:#07120b;font-size:10px;font-weight:800;cursor:pointer}.menu-progress{position:fixed;left:50%;bottom:48px;z-index:15;min-height:38px;padding:0 18px;display:flex;align-items:center;transform:translate(-50%);border:1px solid var(--cg-line-strong);border-radius:999px;background:#06110aeb;color:var(--cg-text-soft);font-size:9px;box-shadow:var(--cg-shadow-md)}.menu-loading-screen{display:grid;place-items:center}.menu-loading-screen .menu-brand{position:absolute;top:26px;left:36px}.menu-loading-ring{width:34px;height:34px;border:2px solid rgba(103,213,138,.15);border-top-color:var(--cg-green);border-radius:50%;animation:menuSpin .7s linear infinite}@keyframes menuSpin{to{transform:rotate(360deg)}}@media (max-width: 1050px){.menu-title-content{grid-template-columns:1fr;align-content:center;gap:24px;padding-top:22px}.menu-hero-copy{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.menu-hero-copy .menu-eyebrow{display:none}.menu-hero-copy h1{margin:0;font-size:54px;line-height:.84}.menu-hero-copy p{margin-bottom:2px}.menu-action-grid{height:min(56vh,520px);min-height:360px}.course-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hole-selection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 700px){.main-menu{min-height:560px;overflow-y:auto}.menu-topbar{height:64px;padding:0 16px}.menu-brand{font-size:9px}.menu-account>span:not(.menu-account-dot){display:none}.menu-title-content{width:calc(100vw - 28px);height:auto;min-height:calc(100dvh - 64px);padding:25px 0 62px;display:block}.menu-hero-copy{display:block;margin-bottom:22px}.menu-hero-copy h1{font-size:48px}.menu-hero-copy p{margin-top:13px}.menu-action-grid{height:auto;min-height:0;grid-template-columns:1fr}.menu-action-card{min-height:230px}.menu-action-copy strong{font-size:44px}.menu-action-copy>span{display:none}.menu-library-shell{width:calc(100vw - 28px);padding-top:20px}.menu-library-heading{align-items:flex-start;flex-direction:column;gap:10px}.menu-library-heading p{text-align:left}.course-selection-grid,.hole-selection-grid{grid-template-columns:1fr}.course-selection-card{min-height:210px}}@media (max-height: 760px) and (min-width: 701px){.menu-topbar{height:64px}.menu-title-content{height:calc(100dvh - 112px);padding:24px 0 38px}.menu-action-grid{height:min(58vh,440px);min-height:350px}.menu-action-copy strong{font-size:clamp(42px,4vw,62px)}.menu-credit{bottom:10px}}@media (prefers-reduced-motion: reduce){.menu-title-glow{animation:none}}.control-panel{width:290px;min-width:290px;height:100%;display:flex;flex-direction:column;color:var(--cg-text);background:linear-gradient(180deg,#06110bf5,#040d08ed);border-right:1px solid var(--cg-line);box-shadow:18px 0 42px #0003;position:relative;z-index:20;animation:designerToolsReveal .22s var(--cg-ease)}@keyframes designerToolsReveal{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.designer-panel-header{min-height:58px;padding:0 15px;display:flex;align-items:center;border-bottom:1px solid var(--cg-line);background-color:#08160ee6;background-position:center;background-size:cover;flex:0 0 auto;position:relative;isolation:isolate}.designer-panel-header h2{margin:0;color:var(--cg-text);font-size:17px;font-weight:740;letter-spacing:-.03em;text-shadow:0 1px 10px rgba(0,0,0,.82)}.designer-panel-restart{margin-left:auto;padding:6px 12px;border:1px solid rgba(255,255,255,.85);border-radius:999px;background:#ffffffeb;color:#08160ef0;font-size:11px;font-weight:800;letter-spacing:.02em;cursor:pointer;box-shadow:0 1px 6px #00000059;transition:background .12s ease,transform .12s ease}.designer-panel-restart:hover{background:#fff;transform:translateY(-1px)}.designer-tool-list{min-height:0;padding:8px;display:flex;flex-direction:column;gap:7px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.designer-surfaces-group{order:1}.designer-terrain-group{order:2}.designer-nature-group{order:3}.designer-assets-group{order:4}.designer-tool-group{flex:0 0 auto;overflow:hidden;border:1px solid var(--cg-line);border-radius:var(--cg-radius-lg);background:#ffffff06;box-shadow:inset 0 1px #ffffff06}.designer-tool-group.open{border-color:#ffffff24}.designer-tool-group+.designer-tool-group{margin-top:0}.designer-tool-group-heading{width:100%;min-height:47px;padding:6px 8px;display:grid;grid-template-columns:18px 30px minmax(0,1fr) auto 16px;align-items:center;gap:7px;border:0;background:#ffffff05;color:var(--cg-text);font:inherit;text-align:left;cursor:pointer}.designer-tool-group.open .designer-tool-group-heading{border-bottom:1px solid var(--cg-line);background:#ffffff09}.designer-tool-group-heading:hover{background:#ffffff0b}.designer-tool-group-heading:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:-2px}.designer-tool-step{color:var(--cg-text-muted);font-size:11px;font-weight:750;text-align:center}.designer-tool-group-heading h3{margin:0;color:var(--cg-text);font-size:13px;font-weight:760;letter-spacing:-.01em}.designer-tool-group-icon{width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(103,213,138,.15);border-radius:8px;background:#67d58a11;color:var(--cg-mint)}.designer-tool-group-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.designer-tool-group-icon.asset-icon{font-size:17px;font-weight:400}.designer-tool-active-badge{padding:2px 6px;border-radius:999px;background:#efc66b1a;color:var(--cg-gold);font-size:10.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.designer-tool-chevron{grid-column:5;color:var(--cg-text-muted);font-size:16px;line-height:1;text-align:center;transform:rotate(-90deg);transition:transform .14s var(--cg-ease),color .14s var(--cg-ease)}.designer-tool-group.open .designer-tool-chevron{color:var(--cg-text-soft);transform:rotate(0)}.designer-tool-group-body{padding:8px}.designer-tool-group-body[hidden]{display:none}.designer-primary-button,.designer-text-button{border:0;font:inherit;cursor:pointer}.designer-primary-button{width:100%;min-height:40px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--cg-radius-md);background:linear-gradient(135deg,var(--cg-green),#52c77a);color:#07120b;font-size:12.5px;font-weight:800;box-shadow:0 8px 18px #3fb96a26,inset 0 1px #ffffff38}.designer-primary-button:hover{filter:brightness(1.07)}.designer-primary-button.active{box-shadow:0 0 0 3px #67d58a29}.designer-tool-grid,.designer-surface-grid,.designer-nature-grid,.designer-asset-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.designer-tool-grid button,.designer-surface-grid button,.designer-nature-grid button,.designer-asset-items button{min-width:0;min-height:38px;padding:0 8px;display:flex;align-items:center;justify-content:flex-start;gap:6px;border:1px solid var(--cg-line);border-radius:var(--cg-radius-sm);background:#ffffff08;color:var(--cg-text-soft);font:700 12px var(--cg-font);text-align:left;cursor:pointer;position:relative;transition:color var(--cg-ease),background var(--cg-ease),border-color var(--cg-ease)}.designer-tool-grid button:hover,.designer-surface-grid button:hover,.designer-nature-grid button:hover,.designer-asset-items button:hover{background:#fff1;color:var(--cg-text)}.designer-tool-grid button.active,.designer-surface-grid button.active,.designer-nature-grid button.active,.designer-asset-items button.active{border-color:#67d58a70;background:#67d58a1b;color:var(--cg-text);box-shadow:inset 0 0 0 1px #67d58a0a}.designer-tool-glyph{width:19px;height:19px;display:grid;place-items:center;border-radius:5px;background:#ffffff0f;color:var(--cg-mint);font-size:13px}.designer-selection-mark{margin-left:auto;color:var(--cg-green);font-size:12px;opacity:0}button.active>.designer-selection-mark{opacity:1}.designer-slider-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}.designer-slider-list.compact{margin-top:11px;gap:9px}.designer-slider{display:grid;grid-template-columns:58px minmax(0,1fr) 48px;align-items:center;gap:8px;color:var(--cg-text-soft);font-size:12px;font-weight:650}.designer-slider output{color:var(--cg-mint);font-size:11.5px;font-weight:750;text-align:right;font-variant-numeric:tabular-nums}.designer-slider input[type=range]{width:100%;height:3px;margin:0;appearance:none;-webkit-appearance:none;border-radius:4px;background:#ffffff1f;accent-color:var(--cg-green);cursor:pointer}.designer-slider input[type=range]::-webkit-slider-thumb{width:14px;height:14px;appearance:none;-webkit-appearance:none;border:3px solid #173424;border-radius:50%;background:var(--cg-green);box-shadow:0 0 0 1px #b7f1c842}.designer-slider input[type=range]::-moz-range-thumb{width:9px;height:9px;border:3px solid #173424;border-radius:50%;background:var(--cg-green)}.designer-surface-grid button,.designer-nature-grid button{min-height:40px}.designer-surface-swatch,.nature-swatch{width:13px;height:13px;flex:0 0 13px;border:1px solid rgba(255,255,255,.24);border-radius:4px;box-shadow:inset 0 1px #ffffff26}.designer-surface-swatch.tee{background:#6bb37b}.designer-surface-swatch.fairway{background:#4c9a61}.designer-surface-swatch.green{background:#8bcf86}.designer-surface-swatch.bunker{background:#d9c68b}.designer-surface-swatch.cart-path{background:#817b70}.designer-surface-swatch.rough{background:#274f35}.designer-nature-grid .nature-eraser .nature-swatch{background:linear-gradient(135deg,#5f2c2c 50%,#a55550 50%)}.designer-nature-grid button.nature-eraser.active{border-color:#ff7a7280;background:#ff7a7217}.designer-nature-grid button.nature-eraser.active .designer-selection-mark{color:var(--cg-danger)}.designer-brush-controls,.designer-active-controls{margin-top:10px;padding:10px;border:1px solid rgba(103,213,138,.16);border-radius:var(--cg-radius-md);background:#67d58a09}.designer-active-controls .designer-slider-list,.designer-brush-controls .designer-slider-list{margin-top:0}.designer-active-controls.eraser{border-color:#ff7a722e;background:#ff7a720a}.designer-inline-hint{margin:9px 0 0;color:var(--cg-text-muted);font-size:11.5px;line-height:1.4}.designer-text-button{width:100%;min-height:31px;margin-top:7px;border:1px solid transparent;border-radius:var(--cg-radius-sm);background:transparent;color:var(--cg-text-muted);font-size:11.5px;font-weight:700}.designer-text-button:hover{background:#ffffff0a;color:var(--cg-text-soft)}.designer-text-button.danger:hover{border-color:#ff7a722b;background:#ff7a720f;color:var(--cg-danger)}.designer-search-field{min-height:36px;padding:0 9px;display:flex;align-items:center;gap:7px;border:1px solid var(--cg-line);border-radius:var(--cg-radius-sm);background:#00000024;color:var(--cg-text-muted)}.designer-search-field:focus-within{border-color:#67d58a6b;box-shadow:0 0 0 3px #67d58a12}.designer-search-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--cg-text);font-size:12.5px}.designer-search-field input::placeholder{color:var(--cg-text-muted)}.designer-search-field button{width:24px;height:24px;border:0;background:transparent;color:var(--cg-text-muted);cursor:pointer}.designer-asset-list{margin-top:10px;display:flex;flex-direction:column;gap:11px;max-height:min(46vh,430px);overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.designer-asset-category-heading{margin-bottom:5px;padding:3px 2px;display:flex;align-items:center;justify-content:space-between;color:var(--cg-text-soft);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;position:sticky;top:0;z-index:1;background:#06110bf7}.designer-asset-category-heading span:last-child{color:var(--cg-text-muted);font-variant-numeric:tabular-nums}.designer-asset-items button{min-height:34px;padding:3px 8px;font-size:11.5px;line-height:1.3}.designer-empty-search{margin:14px 0;color:var(--cg-text-muted);font-size:12px;line-height:1.5;text-align:center}.measure-button{box-shadow:none}@media (max-width: 1100px){.control-panel{width:272px;min-width:272px}.designer-tool-list,.designer-tool-group-body{padding:7px}}@media (max-height: 760px){.designer-panel-header{min-height:50px}.designer-tool-group-heading{min-height:43px;padding-block:5px}.designer-tool-group-body{padding-top:9px;padding-bottom:9px}}@media (prefers-reduced-motion: reduce){.control-panel{animation:none}}.menu-bar{position:relative;z-index:1000;display:flex;align-items:center;justify-content:flex-start;width:100%;height:40px;flex:0 0 40px;padding:0 12px;color:var(--cg-text-primary, #f4f7f5);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--cg-glass-strong, rgba(10, 16, 14, .92));border-bottom:1px solid var(--cg-border, rgba(255, 255, 255, .1));box-shadow:0 8px 28px #00000038;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}.menu-bar-left,.menu-bar-right{display:flex;align-items:center;min-width:0}.menu-bar-left{gap:2px}.menu-bar-right{flex-shrink:0;gap:6px;margin-left:9px;padding-left:9px;border-left:1px solid var(--cg-border, rgba(255, 255, 255, .1))}.designer-brand{display:flex;align-items:center;min-width:148px;height:32px;gap:8px;padding-right:10px;-webkit-user-select:none;user-select:none}.designer-brand-mark{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;color:var(--cg-accent-ink, #102117);background:var(--cg-accent, #9bdf75);border-radius:7px;font-size:11px;font-weight:800;letter-spacing:-.02em;box-shadow:0 0 0 1px #ffffff26 inset}.designer-brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.05}.designer-brand-name{color:var(--cg-text-primary, #f4f7f5);font-size:13px;font-weight:750;letter-spacing:-.01em;white-space:nowrap}.designer-brand-mode{margin-top:2px;color:var(--cg-text-tertiary, rgba(228, 235, 231, .48));font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.designer-biome-badge{display:flex;align-items:center;height:28px;gap:7px;margin-right:7px;padding:0 9px 0 7px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff09;box-shadow:0 1px #ffffff09 inset;-webkit-user-select:none;user-select:none}.designer-biome-badge>span:last-child{display:flex;align-items:center;line-height:1}.designer-biome-badge small{color:var(--cg-text-tertiary, rgba(228, 235, 231, .48));font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.designer-biome-badge strong{color:var(--cg-text-secondary, rgba(238, 243, 240, .82));font-size:11.5px;font-weight:750}.designer-biome-glyph{width:15px;height:15px;flex:0 0 15px;border-radius:50%;background:linear-gradient(145deg,#73835a 48%,#9c956c 52%);box-shadow:0 0 0 2px #ffffff0e}.designer-biome-badge.parkland .designer-biome-glyph{background:linear-gradient(145deg,#31583a 48%,#82a35e 52%)}.designer-biome-badge.mountains .designer-biome-glyph{background:linear-gradient(145deg,#385347 48%,#a9b3ae 52%)}.designer-biome-badge.desert .designer-biome-glyph{background:linear-gradient(145deg,#835d3f 48%,#d3b17c 52%)}.menu-bar-separator{width:1px;height:18px;margin-right:5px;background:var(--cg-border, rgba(255, 255, 255, .1))}.menu-item{position:relative}.menu-button,.menu-icon-button,.menu-save-button,.menu-playtest-button{font:inherit}.menu-button{height:30px;padding:0 9px;color:var(--cg-text-secondary, rgba(238, 243, 240, .76));background:transparent;border:1px solid transparent;border-radius:7px;font-size:12.5px;font-weight:600;cursor:pointer;transition:color .14s ease,background .14s ease,border-color .14s ease}.menu-button:hover,.menu-button.active{color:var(--cg-text-primary, #f4f7f5);background:#fff1;border-color:#ffffff12}.menu-dropdown{position:absolute;top:calc(100% + 5px);left:0;z-index:1001;min-width:202px;padding:6px;overflow:hidden;color:var(--cg-text-primary, #f4f7f5);background:linear-gradient(145deg,rgba(255,255,255,.04),transparent 52%),var(--cg-glass-strong, rgba(12, 20, 17, .96));border:1px solid var(--cg-border-strong, rgba(255, 255, 255, .14));border-radius:11px;box-shadow:0 18px 44px #0000006b,0 1px #ffffff0a inset;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);transform-origin:top left;animation:menuFadeIn .13s ease-out}.course-menu-dropdown{min-width:232px;max-height:min(520px,calc(100vh - 54px));overflow-y:auto}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.menu-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px;padding:6px 9px;color:var(--cg-text-secondary, rgba(238, 243, 240, .8));background:transparent;border:0;border-radius:7px;font:inherit;font-size:12.5px;font-weight:550;text-align:left;cursor:pointer;transition:color .12s ease,background .12s ease}.menu-dropdown-item:hover:not(:disabled){color:var(--cg-text-primary, #f4f7f5);background:#9bdf751c}.menu-dropdown-item.danger{color:var(--cg-danger, #ff9a9a)}.menu-dropdown-item.danger:hover:not(:disabled){background:#ef5c5c1f}.menu-dropdown-item:disabled,.menu-dropdown-item.disabled{color:var(--cg-text-disabled, rgba(228, 235, 231, .28));cursor:not-allowed;opacity:1}.menu-shortcut,.menu-item-meta{margin-left:16px;color:var(--cg-text-tertiary, rgba(228, 235, 231, .46));font-size:11px;font-weight:600;letter-spacing:.01em;white-space:nowrap}.menu-shortcut{font-family:SFMono-Regular,Consolas,monospace}.menu-divider{height:1px;margin:5px 3px;background:var(--cg-border, rgba(255, 255, 255, .09))}.menu-dropdown-label{padding:7px 9px 5px;color:var(--cg-text-tertiary, rgba(228, 235, 231, .45));font-size:10.5px;font-weight:750;letter-spacing:.11em;text-transform:uppercase}.menu-history-actions{display:flex;align-items:center;gap:2px;padding-right:5px;margin-right:1px;border-right:1px solid var(--cg-border, rgba(255, 255, 255, .1))}.menu-icon-button{display:grid;place-items:center;width:28px;height:28px;padding:0;color:var(--cg-text-secondary, rgba(238, 243, 240, .72));background:transparent;border:1px solid transparent;border-radius:7px;font-size:17px;line-height:1;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.menu-icon-button:hover:not(:disabled){color:var(--cg-text-primary, #f4f7f5);background:#fff1;border-color:#ffffff12}.menu-icon-button:disabled{color:var(--cg-text-disabled, rgba(228, 235, 231, .24));cursor:not-allowed}.menu-save-button,.menu-playtest-button{display:inline-flex;align-items:center;justify-content:center;height:29px;border-radius:7px;font-size:12px;font-weight:750;cursor:pointer;transition:color .13s ease,background .13s ease,border-color .13s ease,box-shadow .13s ease}.menu-save-button{min-width:53px;padding:0 12px;color:var(--cg-text-primary, #f4f7f5);background:#ffffff0e;border:1px solid var(--cg-border-strong, rgba(255, 255, 255, .13))}.menu-save-button:hover{background:#ffffff1a;border-color:#fff3}.menu-save-button:disabled{color:var(--cg-text-muted);cursor:wait;opacity:.72}.menu-playtest-button{gap:6px;min-width:86px;padding:0 13px;color:var(--cg-accent-ink, #102117);background:var(--cg-accent, #9bdf75);border:1px solid rgba(255,255,255,.18);box-shadow:0 5px 16px #5aa85529}.menu-playtest-button:hover:not(:disabled){background:var(--cg-accent-hover, #ade98a);box-shadow:0 6px 20px #5aa8553d}.menu-playtest-button:disabled{color:var(--cg-text-disabled, rgba(228, 235, 231, .32));background:#ffffff0e;border-color:#ffffff12;box-shadow:none;cursor:not-allowed}.menu-play-icon{font-size:10px}.menu-button:focus-visible,.menu-dropdown-item:focus-visible,.menu-icon-button:focus-visible,.menu-save-button:focus-visible,.menu-playtest-button:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:1px}@media (max-width: 1120px){.designer-brand{min-width:116px}.designer-brand-name{display:none}.designer-brand-mode{margin-top:0;font-size:10.5px}.menu-button{padding-inline:7px}}@media (max-width: 900px){.designer-brand{min-width:29px;width:29px;padding-right:4px}.designer-brand-copy,.menu-bar-separator{display:none}.menu-button{padding-inline:6px}.menu-save-button{min-width:45px;padding-inline:9px}}@media (prefers-reduced-motion: reduce){.menu-dropdown{animation:none}.menu-button,.menu-dropdown-item,.menu-icon-button,.menu-save-button,.menu-playtest-button{transition:none}}.surface-context-menu{position:absolute;z-index:10000;min-width:188px;overflow:visible;color:var(--cg-text-primary, #f4f7f5);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 55%),var(--cg-glass-strong, rgba(11, 19, 16, .95));border:1px solid var(--cg-border-strong, rgba(255, 255, 255, .14));border-radius:12px;box-shadow:0 18px 44px #0000006b,0 1px #ffffff09 inset;backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);pointer-events:auto;transform:translate(-50%,calc(-100% - 12px));transform-origin:bottom center;animation:surfaceContextMenuIn .14s ease-out}.surface-context-menu:after{position:absolute;bottom:-5px;left:50%;width:9px;height:9px;content:"";background:var(--cg-glass-strong, rgba(11, 19, 16, .95));border-right:1px solid var(--cg-border-strong, rgba(255, 255, 255, .14));border-bottom:1px solid var(--cg-border-strong, rgba(255, 255, 255, .14));transform:translate(-50%) rotate(45deg)}@keyframes surfaceContextMenuIn{0%{opacity:0;transform:translate(-50%,calc(-100% - 7px)) scale(.985)}to{opacity:1;transform:translate(-50%,calc(-100% - 12px)) scale(1)}}.context-menu-header{display:flex;align-items:center;min-height:42px;gap:8px;padding:7px 8px 7px 11px;border-bottom:1px solid var(--cg-border, rgba(255, 255, 255, .09))}.context-menu-icon{display:grid;place-items:center;width:20px;flex:0 0 20px;font-size:13px;filter:saturate(.65)}.context-menu-title{min-width:0;flex:1;overflow:hidden;color:var(--cg-text-primary, #f4f7f5);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.context-menu-close{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;padding:0;color:var(--cg-text-tertiary, rgba(228, 235, 231, .48));background:transparent;border:1px solid transparent;border-radius:7px;font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.context-menu-close:hover{color:var(--cg-text-primary, #f4f7f5);background:#fff1;border-color:#ffffff12}.context-menu-actions{display:flex;flex-direction:column;padding:6px}.context-menu-action{display:flex;align-items:center;width:100%;min-height:34px;gap:8px;padding:7px 9px;color:var(--cg-text-secondary, rgba(238, 243, 240, .78));background:transparent;border:1px solid transparent;border-radius:7px;font:inherit;font-size:12px;font-weight:650;text-align:left;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.context-menu-action:hover{color:var(--cg-text-primary, #f4f7f5);background:#ffffff0f}.context-menu-action.delete{color:var(--cg-danger, #ff9a9a)}.context-menu-action.delete:hover{color:var(--cg-danger-strong, #ffb1b1);background:#ef5c5c1f;border-color:#ef5c5c1f}.context-menu-close:focus-visible,.context-menu-action:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:1px}@media (prefers-reduced-motion: reduce){.surface-context-menu{animation:none}.context-menu-close,.context-menu-action{transition:none}}.object-context-menu{position:absolute;z-index:10000;min-width:188px;overflow:visible;color:var(--cg-text-primary, #f4f7f5);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:linear-gradient(145deg,rgba(255,255,255,.045),transparent 55%),var(--cg-glass-strong, rgba(11, 19, 16, .95));border:1px solid var(--cg-border-strong, rgba(255, 255, 255, .14));border-radius:12px;box-shadow:0 18px 44px #0000006b,0 1px #ffffff09 inset;backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);pointer-events:auto;transform:translate(-50%,calc(-100% - 12px));transform-origin:bottom center;animation:objectContextMenuIn .14s ease-out}.object-context-menu:after{position:absolute;bottom:-5px;left:50%;width:9px;height:9px;content:"";background:var(--cg-glass-strong, rgba(11, 19, 16, .95));border-right:1px solid var(--cg-border-strong, rgba(255, 255, 255, .14));border-bottom:1px solid var(--cg-border-strong, rgba(255, 255, 255, .14));transform:translate(-50%) rotate(45deg)}@keyframes objectContextMenuIn{0%{opacity:0;transform:translate(-50%,calc(-100% - 7px)) scale(.985)}to{opacity:1;transform:translate(-50%,calc(-100% - 12px)) scale(1)}}.object-context-menu-header{display:flex;align-items:center;min-height:42px;gap:8px;padding:7px 8px 7px 11px;border-bottom:1px solid var(--cg-border, rgba(255, 255, 255, .09))}.object-context-menu-title{min-width:0;flex:1;overflow:hidden;color:var(--cg-text-primary, #f4f7f5);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.object-context-menu-close{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;padding:0;color:var(--cg-text-tertiary, rgba(228, 235, 231, .48));background:transparent;border:1px solid transparent;border-radius:7px;font:inherit;font-size:12px;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.object-context-menu-close:hover{color:var(--cg-text-primary, #f4f7f5);background:#fff1;border-color:#ffffff12}.object-context-menu-actions{display:flex;flex-direction:column;padding:6px}.object-context-menu-action{display:flex;align-items:center;width:100%;min-height:34px;gap:8px;padding:7px 9px;color:var(--cg-text-secondary, rgba(238, 243, 240, .78));background:transparent;border:1px solid transparent;border-radius:7px;font:inherit;font-size:12px;font-weight:650;text-align:left;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.object-context-menu-action:hover{color:var(--cg-text-primary, #f4f7f5);background:#ffffff0f}.object-context-menu-action.delete{color:var(--cg-danger, #ff9a9a)}.object-context-menu-action.delete:hover{color:var(--cg-danger-strong, #ffb1b1);background:#ef5c5c1f;border-color:#ef5c5c1f}.object-context-menu-close:focus-visible,.object-context-menu-action:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:1px}@media (prefers-reduced-motion: reduce){.object-context-menu{animation:none}.object-context-menu-close,.object-context-menu-action{transition:none}}.course-library-overlay{position:fixed;inset:0;z-index:11000;padding:24px;display:flex;align-items:center;justify-content:center;background:#020704c2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:courseLibraryFade .15s ease-out}@keyframes courseLibraryFade{0%{opacity:0}to{opacity:1}}.course-library-dialog{width:min(840px,100%);max-height:min(720px,92vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--cg-line-strong);border-radius:var(--cg-radius-xl);background:linear-gradient(145deg,#0c1d14fa,#050e09fa);color:var(--cg-text);box-shadow:var(--cg-shadow-lg),inset 0 1px #ffffff0d;animation:courseLibraryEnter .18s var(--cg-ease)}@keyframes courseLibraryEnter{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.course-library-header{padding:24px 25px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--cg-line)}.course-library-eyebrow{color:var(--cg-green);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.course-library-header h2{margin:5px 0 3px;color:var(--cg-text);font-size:24px;font-weight:730;letter-spacing:-.04em}.course-library-header p{margin:0;color:var(--cg-text-muted);font-size:12px}.course-library-close{width:36px;height:36px;flex:0 0 36px;border:1px solid var(--cg-line);border-radius:var(--cg-radius-sm);background:#ffffff09;color:var(--cg-text-muted);font-size:20px;cursor:pointer}.course-library-close:hover:not(:disabled){background:#ffffff12;color:var(--cg-text)}.course-library-body{min-height:240px;padding:18px 20px;overflow-y:auto}.course-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.course-library-card{min-width:0;min-height:102px;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:start;gap:8px 10px;border:1px solid var(--cg-line);border-radius:var(--cg-radius-lg);background:#ffffff07;color:var(--cg-text);text-align:left;cursor:pointer;position:relative;transition:background .14s var(--cg-ease),border-color .14s var(--cg-ease),box-shadow .14s var(--cg-ease)}.course-library-card:hover:not(:disabled){border-color:var(--cg-line-strong);background:#ffffff0d}.course-library-card.selected{border-color:#67d58a75;background:#67d58a16;box-shadow:inset 3px 0 var(--cg-green)}.course-library-card-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.course-library-card-copy strong{overflow:hidden;color:var(--cg-text);font-size:14px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.course-library-card-copy>span{color:var(--cg-text-muted);font-size:11.5px}.course-library-card-stats{grid-column:1 / 3;display:flex;gap:16px}.course-library-card-stats>span{color:var(--cg-text);font-size:12.5px;font-weight:750;font-variant-numeric:tabular-nums}.course-library-card-stats small{margin-right:6px;color:var(--cg-text-muted);font-size:11px;font-weight:650}.course-library-check{width:23px;height:23px;display:grid;place-items:center;border:1px solid var(--cg-line);border-radius:50%;color:transparent;font-size:11px}.course-library-card.selected .course-library-check{border-color:var(--cg-green);background:var(--cg-green);color:#07120b}.course-library-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.course-library-empty>span{width:42px;height:42px;margin-bottom:12px;display:grid;place-items:center;border:1px solid var(--cg-line);border-radius:13px;color:var(--cg-green);font-size:20px}.course-library-empty strong{font-size:15px}.course-library-empty p{margin:5px 0 0;color:var(--cg-text-muted);font-size:12px}.course-library-footer{min-height:70px;padding:13px 20px;display:flex;align-items:center;justify-content:flex-end;gap:16px;border-top:1px solid var(--cg-line);background:#0000001f}.course-library-footer>span{color:var(--cg-text-muted);font-size:11px}.course-library-footer>div{display:flex;gap:7px}.course-library-cancel,.course-library-open{min-height:39px;padding:0 14px;border-radius:var(--cg-radius-sm);font-size:12.5px;font-weight:750;cursor:pointer}.course-library-cancel{border:1px solid var(--cg-line);background:#ffffff09;color:var(--cg-text-soft)}.course-library-open{min-width:108px;border:1px solid rgba(255,255,255,.16);background:var(--cg-green);color:#07120b}.course-library-open:disabled{border-color:var(--cg-line);background:#ffffff0d;color:var(--cg-text-muted);cursor:not-allowed}@media (max-width: 720px){.course-library-overlay{padding:12px}.course-library-grid{grid-template-columns:1fr}.course-library-footer{align-items:stretch;flex-direction:column}.course-library-footer>div{justify-content:flex-end}}@media (prefers-reduced-motion: reduce){.course-library-overlay,.course-library-dialog{animation:none}}.course-progress-bar{position:relative;flex:0 0 50px;z-index:950;display:flex;align-items:center;height:50px;gap:10px;padding:0 14px;color:var(--cg-text-primary, #f4f7f5);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;background:linear-gradient(90deg,rgba(155,223,117,.025),transparent 28%),var(--cg-glass, rgba(13, 22, 19, .86));border-bottom:1px solid var(--cg-border, rgba(255, 255, 255, .1));box-shadow:0 10px 28px #0000002e;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.course-name-field{position:relative;display:flex;align-items:center;width:206px;flex:0 0 206px}.course-name-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.course-name-input-horizontal{width:100%;height:32px;padding:0 11px;color:var(--cg-text-primary, #f4f7f5);background:#ffffff0b;border:1px solid var(--cg-border, rgba(255, 255, 255, .1));border-radius:8px;outline:none;font:inherit;font-size:13px;font-weight:650;letter-spacing:-.01em;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.course-name-input-horizontal:hover{background:#ffffff12;border-color:var(--cg-border-strong, rgba(255, 255, 255, .15))}.course-name-input-horizontal:focus-visible{background:#ffffff13;border-color:var(--cg-accent, #9bdf75);box-shadow:0 0 0 3px #9bdf751f}.course-name-input-horizontal::placeholder{color:var(--cg-text-tertiary, rgba(228, 235, 231, .4));font-weight:550}.course-holes-label{color:var(--cg-text-tertiary, rgba(228, 235, 231, .43));font-size:10.5px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.holes-horizontal{display:flex;align-items:center;min-width:0;flex:0 1 auto;max-width:620px;gap:5px;overflow-x:auto;padding:4px 1px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}.route-workflow{min-width:0;flex:0 1 auto;display:flex;align-items:center;gap:10px;animation:routeWorkflowIn .16s ease-out}@keyframes routeWorkflowIn{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.route-workflow-title{min-width:152px;display:flex;flex-direction:column;gap:2px}.route-workflow-title strong{color:var(--cg-text-primary, #f4f7f5);font-size:13px;font-weight:780;white-space:nowrap}.route-workflow-title span{overflow:hidden;color:var(--cg-text-secondary, rgba(238, 243, 240, .72));font-size:11.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.route-par-choices{display:flex;align-items:center;gap:5px}.route-par-choices button,.route-workflow-actions button,.route-workflow-cancel,.route-workflow-done{min-width:60px;height:32px;padding:0 9px;border:1px solid var(--cg-border, rgba(255, 255, 255, .1));border-radius:8px;background:#ffffff0b;color:var(--cg-text-secondary, rgba(238, 243, 240, .8));font:700 12px var(--cg-font);cursor:pointer;white-space:nowrap}.route-par-choices button strong{color:inherit;font:inherit}.first-hole-setup .route-workflow-title{min-width:142px}.route-par-choices.emphasized button{min-width:74px;border-color:#9bdf7594;background:linear-gradient(145deg,#9bdf754d,#9bdf7521);color:var(--cg-text-primary, #f4f7f5);box-shadow:0 0 0 2px #9bdf750f,0 5px 14px #3d87481f;animation:parChoiceGlow 1.8s ease-in-out infinite}.route-par-choices.emphasized button:nth-child(2){animation-delay:.12s}.route-par-choices.emphasized button:nth-child(3){animation-delay:.24s}@keyframes parChoiceGlow{0%,to{border-color:#9bdf757a;box-shadow:0 0 0 2px #9bdf7512,0 5px 14px #3d87481f}50%{border-color:#cafaafdb;box-shadow:0 0 0 4px #9bdf7524,0 7px 18px #3d874838}}.route-par-choices button:hover{border-color:#9bdf756b;background:#9bdf751f;color:var(--cg-text-primary, #f4f7f5)}.route-hole-badge{min-width:66px;height:34px;padding:4px 9px;display:flex;flex-direction:column;justify-content:center;border:1px solid rgba(155,223,117,.2);border-radius:8px;background:#9bdf7512;line-height:1.05}.route-hole-badge span{color:var(--cg-text-tertiary, rgba(228, 235, 231, .52));font-size:9.5px;font-weight:700}.route-hole-badge strong{margin-top:2px;color:var(--cg-text-primary, #f4f7f5);font-size:12px;font-weight:800}.route-stage-copy{min-width:280px;display:flex;flex-direction:column;gap:2px}.route-stage-copy span{color:var(--cg-accent, #9bdf75);font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.route-stage-copy strong{overflow:hidden;color:var(--cg-text-primary, #f4f7f5);font-size:12px;font-weight:680;text-overflow:ellipsis;white-space:nowrap}.route-step-list{min-width:0;max-width:350px;margin:0;padding:0;flex:1;display:flex;align-items:center;list-style:none}.route-step-list li{min-width:0;flex:1;display:flex;align-items:center;gap:5px;color:var(--cg-text-tertiary, rgba(228, 235, 231, .42));position:relative}.route-step-list li:not(:last-child):after{height:1px;margin:0 6px;flex:1;content:"";background:#ffffff21}.route-step-list li.complete:not(:last-child):after{background:#9bdf7573}.route-step-list li>span{width:22px;height:22px;flex:0 0 22px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;font-size:10.5px;font-weight:800}.route-step-list li strong{font-size:11.5px;font-weight:700;white-space:nowrap}.route-step-list li.complete,.route-step-list li.current{color:var(--cg-text-primary, #f4f7f5)}.route-step-list li.complete>span{border-color:#9bdf7559;background:#9bdf751f;color:var(--cg-accent, #9bdf75)}.route-step-list li.current>span{border-color:var(--cg-accent, #9bdf75);background:var(--cg-accent, #9bdf75);color:var(--cg-accent-ink, #102117);box-shadow:0 0 0 3px #9bdf751a}.route-workflow-actions{margin-left:0;display:flex;gap:5px}.route-workflow-actions button,.route-workflow-cancel,.route-workflow-done{min-width:auto;color:var(--cg-text-secondary, rgba(238, 243, 240, .7))}.route-workflow-actions button:hover:not(:disabled),.route-workflow-cancel:hover,.route-workflow-done:hover{background:#ffffff14;color:var(--cg-text-primary, #f4f7f5)}.route-workflow-actions button:disabled{cursor:not-allowed;opacity:.35}.route-workflow-cancel,.route-workflow-done{margin-left:0}.route-workflow-done{border-color:#9bdf7547;color:var(--cg-accent, #9bdf75)}.route-par-choices button:focus-visible,.route-workflow-actions button:focus-visible,.route-workflow-cancel:focus-visible,.route-workflow-done:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:2px}.holes-empty-label{color:var(--cg-text-muted);font-size:11px;font-weight:600;white-space:nowrap}.course-add-hole-button{min-width:98px;height:32px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(103,213,138,.24);border-radius:8px;background:#67d58a14;color:var(--cg-mint);font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap;transition:background .13s ease,border-color .13s ease,color .13s ease}.course-add-hole-button:hover:not(:disabled){border-color:#67d58a66;background:#67d58a24;color:var(--cg-text)}.course-add-hole-button.first-hole-cta{border-color:#67d58a8c;background:linear-gradient(135deg,#67d58a3b,#67d58a1a);color:var(--cg-text);box-shadow:0 0 0 3px #67d58a14,0 7px 18px #257e4321;animation:firstHoleAttention 2.4s ease-in-out infinite}@keyframes firstHoleAttention{0%,to{box-shadow:0 0 0 3px #67d58a12,0 7px 18px #257e4321}50%{box-shadow:0 0 0 6px #67d58a1f,0 9px 24px #257e4333}}@media (prefers-reduced-motion: reduce){.course-add-hole-button.first-hole-cta{animation:none}}.course-add-hole-button small{color:var(--cg-text-muted);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.course-add-hole-button:disabled{border-color:var(--cg-line);background:#ffffff06;color:var(--cg-text-muted);cursor:not-allowed;opacity:.64}.holes-horizontal::-webkit-scrollbar{height:3px}.holes-horizontal::-webkit-scrollbar-track{background:transparent}.holes-horizontal::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}.hole-dot-horizontal{position:relative;display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;padding:0;border-radius:8px;outline:none;font:inherit;font-size:11.5px;font-weight:750;font-variant-numeric:tabular-nums;cursor:pointer;transition:color .13s ease,background .13s ease,border-color .13s ease,box-shadow .13s ease}.hole-dot-horizontal.empty{color:var(--cg-text-disabled, rgba(228, 235, 231, .24));background:#ffffff05;border:1px solid rgba(255,255,255,.075);cursor:not-allowed}.hole-dot-horizontal.routed{color:var(--cg-text-secondary, rgba(238, 243, 240, .72));background:#ffffff0c;border:1px solid rgba(255,255,255,.11)}.hole-dot-horizontal.routed:after{position:absolute;right:5px;bottom:3px;left:5px;height:2px;content:"";background:#9bdf758c;border-radius:999px}.hole-dot-horizontal.routed:hover{color:var(--cg-text-primary, #f4f7f5);background:#ffffff16;border-color:#ffffff2e}.hole-dot-horizontal.routing{color:var(--cg-text-primary, #f4f7f5);background:#9bdf7517;border:1px solid var(--cg-accent, #9bdf75);box-shadow:0 0 0 2px #9bdf7517}.hole-dot-horizontal:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:2px}@media (max-width: 1120px){.course-progress-bar{gap:9px;padding-inline:12px}.course-name-field{width:174px;flex-basis:174px}.course-holes-label{display:none}.holes-horizontal{gap:4px}.course-add-hole-button{min-width:82px}.course-add-hole-button small{display:none}.hole-dot-horizontal{width:28px;height:28px;flex-basis:28px;border-radius:7px;font-size:10.5px}.route-workflow{gap:9px}.route-workflow-title{min-width:132px}.route-stage-copy{min-width:220px}.route-step-list li strong{display:none}.route-step-list li:not(:last-child):after{margin-inline:5px}}@media (max-width: 760px){.course-name-field{width:148px;flex-basis:148px}.course-add-hole-button{min-width:34px;width:34px;padding:0;font-size:0}.course-add-hole-button>span{font-size:15px}.route-workflow-title span{display:none}.route-workflow-title{min-width:auto}.route-par-choices button{min-width:52px;padding-inline:7px}.route-workflow-actions button:first-child,.route-step-list{display:none}.route-stage-copy{min-width:0;max-width:260px}}@media (prefers-reduced-motion: reduce){.route-par-choices.emphasized button{animation:none}.course-name-input-horizontal,.hole-dot-horizontal{transition:none}}.course-setup-flow{position:fixed;inset:0;z-index:9000;display:grid;grid-template-rows:64px minmax(0,1fr);color:var(--cg-text);pointer-events:none}.course-setup-flow:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#030a06e6,#030a0685 42%,#030a060f 74%),linear-gradient(0deg,rgba(2,8,4,.34),transparent 45%);pointer-events:none}.course-setup-flow.identity:before{background:linear-gradient(180deg,#02080457,#0208049e),radial-gradient(circle at 70% 30%,rgba(103,213,138,.08),transparent 34%)}.course-setup-flow.terrain:before{background:transparent}.course-setup-image-backdrop{position:absolute;inset:-28px;z-index:-2;overflow:hidden;background:#0b1710}.course-setup-image-backdrop img{width:100%;height:100%;display:block;object-fit:cover;filter:blur(10px) brightness(.78) saturate(.94);transform:scale(1.075);animation:courseBiomeBackdropEnter .26s ease-out}@keyframes courseBiomeBackdropEnter{0%{opacity:.35;transform:scale(1.09)}to{opacity:1;transform:scale(1.075)}}.course-setup-topbar{min-width:0;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(255,255,255,.09);background:#040d08e0;box-shadow:0 12px 36px #00000029;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);pointer-events:auto}.course-setup-brand{display:flex;align-items:center;gap:11px}.course-setup-brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(103,213,138,.34);border-radius:10px;background:linear-gradient(145deg,#67d58a29,#67d58a0a);color:var(--cg-mint);font-size:12px;font-weight:900;letter-spacing:.05em}.course-setup-brand>span:last-child{display:flex;flex-direction:column;gap:2px}.course-setup-brand strong{font-size:14px;font-weight:760}.course-setup-brand small{color:var(--cg-text-muted);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.course-setup-progress{margin:0;padding:0;display:flex;align-items:center;list-style:none}.course-setup-progress li{min-width:92px;display:flex;align-items:center;gap:8px;color:var(--cg-text-muted);position:relative}.course-setup-progress li:not(:last-child):after{content:"";width:24px;height:1px;margin-left:auto;background:#ffffff1f}.course-setup-progress li>span{width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;font-size:11px;font-weight:800}.course-setup-progress strong{font-size:12px;font-weight:750}.course-setup-progress li.active,.course-setup-progress li.complete{color:var(--cg-text-soft)}.course-setup-progress li.active>span{border-color:#67d58a8a;background:var(--cg-green);color:#07130b;box-shadow:0 0 0 4px #67d58a1a}.course-setup-progress li.complete>span{border-color:#67d58a47;background:#67d58a1c;color:var(--cg-mint)}.course-setup-card{align-self:center;width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 110px);overflow-y:auto;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(150deg,#0b1c12f7,#040e08f5);box-shadow:0 30px 90px #00000070,inset 0 1px #ffffff0d;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);animation:courseSetupEnter .22s var(--cg-ease);pointer-events:auto}@keyframes courseSetupEnter{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}.course-setup-card.identity-card{width:min(760px,calc(100vw - 40px));justify-self:center;padding:24px}.course-setup-card.terrain-card{width:min(316px,calc(100vw - 32px));margin:16px 0 0 16px;padding:0;align-self:start;justify-self:start;border-radius:16px;background:linear-gradient(150deg,#091910f0,#040e08ed);box-shadow:0 18px 52px #00000057,inset 0 1px #ffffff0d;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%)}.course-setup-card>header{max-width:610px}.course-setup-kicker{color:var(--cg-green);font-size:10.5px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.course-setup-card h1{margin:7px 0 8px;color:var(--cg-text);font-size:27px;font-weight:740;letter-spacing:-.045em}.course-setup-card header p{margin:0;color:var(--cg-text-soft);font-size:14px;line-height:1.5}.terrain-card h1{margin:0;font-size:22px}.course-terrain-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.course-terrain-hero{height:82px;overflow:hidden;position:relative;background:#203526}.course-terrain-hero:after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,#040d0808 12%,#040e08f5),linear-gradient(90deg,rgba(3,11,6,.52),transparent 72%)}.course-terrain-hero img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.9) contrast(.96)}.course-terrain-hero strong{position:absolute;left:16px;top:50%;z-index:1;color:#fff;font-size:16px;font-weight:780;line-height:1.1;text-shadow:0 2px 9px rgba(0,0,0,.6);transform:translateY(-50%)}.course-terrain-card-body{padding:14px 16px 16px}.course-terrain-dice{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:0;border-radius:50%;background:#fffffff2;color:#102117;box-shadow:0 5px 15px #00000042,inset 0 0 0 1px #06140b14;cursor:pointer;transition:transform .14s var(--cg-ease),background .14s var(--cg-ease)}.course-terrain-dice:hover{background:#fff;transform:translateY(-1px) rotate(4deg)}.course-terrain-dice:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:3px}.course-terrain-dice svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}.course-terrain-dice circle{fill:currentColor;stroke:none}.course-terrain-biome{min-height:28px;padding:0 9px 0 7px;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff09;color:var(--cg-text-soft);font-size:12px;font-weight:750;white-space:nowrap}.course-terrain-biome i{width:11px;height:11px;border-radius:50%;background:linear-gradient(145deg,#a8ae78,#3e5e39);box-shadow:inset 0 1px #ffffff3d}.course-terrain-biome.parkland i{background:linear-gradient(145deg,#8ca86e,#315c38)}.course-terrain-biome.mountains i{background:linear-gradient(145deg,#9ba6a3,#3d5b53)}.course-terrain-biome.desert i{background:linear-gradient(145deg,#d09b62,#8a4d32)}.course-setup-name-field{margin-top:18px;display:block}.course-setup-name-field>span,.course-biome-picker legend{margin-bottom:8px;display:block;color:var(--cg-text-soft);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.course-setup-name-field>div{height:52px;display:flex;border:1px solid rgba(103,213,138,.26);border-radius:12px;background:#0003;box-shadow:inset 0 1px #ffffff08}.course-setup-name-field>div:focus-within{border-color:#67d58a94;box-shadow:0 0 0 4px #67d58a14}.course-setup-name-field input{min-width:0;flex:1;padding:0 16px;border:0;outline:0;background:transparent;color:var(--cg-text);font:650 16px var(--cg-font);letter-spacing:-.02em}.course-setup-name-field input::placeholder{color:var(--cg-text-muted)}.course-setup-name-field button,.course-terrain-reroll{border:0;background:transparent;color:var(--cg-text-soft);cursor:pointer}.course-setup-name-field button{width:52px;margin:5px;display:grid;place-items:center;border-radius:8px}.course-setup-name-field button:hover{background:#67d58a1a;color:var(--cg-mint)}.course-setup-name-field svg,.course-terrain-reroll svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.course-setup-name-field circle,.course-terrain-reroll circle{fill:currentColor;stroke:none}.course-biome-picker{min-width:0;margin:16px 0 0;padding:0;border:0}.course-biome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course-biome-option{min-width:0;min-height:152px;padding:0;display:flex;flex-direction:column;align-items:stretch;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#ffffff07;color:var(--cg-text);text-align:left;cursor:pointer;overflow:hidden;position:relative;transition:transform .15s var(--cg-ease),border-color .15s var(--cg-ease),background .15s var(--cg-ease)}.course-biome-option:hover{transform:translateY(-1px);border-color:#ffffff30;background:#ffffff0b}.course-biome-option.active{border-color:#67d58a80;background:#67d58a14;box-shadow:inset 0 0 0 1px #67d58a0d}.course-biome-art{width:100%;height:96px;flex:0 0 96px;overflow:hidden;position:relative;background:#263b2c}.course-biome-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,11,6,.52));pointer-events:none}.course-biome-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .32s var(--cg-ease),filter .18s var(--cg-ease)}.course-biome-option:hover .course-biome-art img{transform:scale(1.025)}.course-biome-option:not(.active) .course-biome-art img{filter:saturate(.88) brightness(.9)}.course-biome-copy{min-width:0;padding:10px 38px 10px 12px;display:flex;flex-direction:column;gap:3px}.course-biome-copy strong{font-size:14px;font-weight:780}.course-biome-copy>span{color:var(--cg-text-soft);font-size:12px;line-height:1.4}.course-biome-copy small{color:var(--cg-text-muted);font-size:10.5px}.course-biome-check{width:21px;height:21px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;position:absolute;top:10px;right:10px;z-index:2;background:#030b0694;color:transparent;font-size:9px;box-shadow:0 2px 8px #00000047;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.course-biome-option.active .course-biome-check{border-color:var(--cg-green);background:var(--cg-green);color:#07130b}.course-setup-actions{margin-top:18px;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.08)}.identity-card .course-setup-actions{justify-content:flex-end}.course-setup-actions>span{color:var(--cg-text-muted);font-size:10.5px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.course-setup-primary,.course-setup-back{min-height:40px;padding:0 14px;border-radius:9px;font:780 13px var(--cg-font);cursor:pointer}.course-setup-primary{display:inline-flex;align-items:center;gap:12px;border:0;background:linear-gradient(135deg,var(--cg-green),#53c77b);color:#06120a;box-shadow:0 10px 24px #3fb96a33}.course-setup-primary:hover{filter:brightness(1.08)}.course-setup-primary:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.45}.course-setup-back{border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--cg-text-soft)}.course-setup-back:hover{background:#ffffff14;color:var(--cg-text)}.course-setup-biome-summary{margin-top:18px;padding:11px;display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#ffffff09}.course-setup-biome-glyph{width:38px;height:38px;flex:0 0 38px;border-radius:9px;background:linear-gradient(145deg,#a8ae78,#3e5e39)}.course-setup-biome-summary.parkland .course-setup-biome-glyph{background:linear-gradient(145deg,#8ca86e,#315c38)}.course-setup-biome-summary.mountains .course-setup-biome-glyph{background:linear-gradient(145deg,#9ba6a3,#3d5b53)}.course-setup-biome-summary.desert .course-setup-biome-glyph{background:linear-gradient(145deg,#d09b62,#8a4d32)}.course-setup-biome-summary>span:last-child{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 8px}.course-setup-biome-summary small{grid-column:1 / -1;color:var(--cg-text-muted);font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.course-setup-biome-summary strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.course-setup-biome-summary em{color:var(--cg-mint);font-size:11px;font-style:normal;font-weight:750}.terrain-card .course-setup-biome-summary{margin-top:12px;padding:7px;gap:8px;border-radius:9px}.terrain-card .course-setup-biome-glyph{width:30px;height:30px;flex-basis:30px;border-radius:7px}.terrain-card .course-setup-biome-summary strong{font-size:13px}.terrain-card .course-setup-biome-summary em{font-size:11px}.course-terrain-sliders{margin-top:19px;display:flex;flex-direction:column;gap:15px}.course-terrain-sliders label{display:block}.course-terrain-slider-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.course-terrain-sliders strong{color:var(--cg-text-soft);font-size:13px;font-weight:720}.course-terrain-sliders output{color:var(--cg-mint);font-size:12px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.course-terrain-sliders input{width:100%;height:6px;margin:8px 0 0;appearance:none;-webkit-appearance:none;border-radius:6px;background:#ffffff26;accent-color:var(--cg-green);cursor:pointer}.course-terrain-sliders input::-webkit-slider-thumb{width:20px;height:20px;appearance:none;-webkit-appearance:none;border:4px solid #153422;border-radius:50%;background:var(--cg-green);box-shadow:0 0 0 1px #b7f1c84d,0 2px 8px #00000040}.course-terrain-sliders input::-moz-range-thumb{width:13px;height:13px;border:4px solid #153422;border-radius:50%;background:var(--cg-green);box-shadow:0 0 0 1px #b7f1c84d,0 2px 8px #00000040}.course-terrain-reroll{width:100%;min-height:38px;margin-top:18px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:#ffffff09;font:730 12px var(--cg-font)}.course-terrain-reroll:hover{border-color:#67d58a40;background:#67d58a0f;color:var(--cg-mint)}.course-terrain-reroll svg{width:16px;height:16px}.terrain-card .course-terrain-sliders{margin-top:14px;gap:11px}.terrain-card .course-terrain-reroll{min-height:36px;margin-top:15px;border-radius:9px;font-size:12px}.terrain-card .course-terrain-reroll svg{width:16px;height:16px}.terrain-card .course-setup-actions{margin-top:14px;padding-top:12px}.terrain-card .course-setup-primary,.terrain-card .course-setup-back{min-height:38px;padding-inline:12px;border-radius:8px;font-size:12px}.course-terrain-confirmation{display:flex;flex-direction:column;align-items:stretch;text-align:left;animation:courseSetupEnter .18s var(--cg-ease)}.course-terrain-confirmation header p{max-width:340px;margin:0;color:var(--cg-text-soft);font-size:13px;line-height:1.5}.course-setup-preview-label{position:fixed;right:22px;bottom:18px;padding:6px 9px;display:flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:#030c07b8;color:var(--cg-text-soft);font-size:11px;font-weight:750;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.course-setup-live-dot{width:6px;height:6px;border-radius:50%;background:var(--cg-green);box-shadow:0 0 0 4px #67d58a1a}@media (max-width: 760px){.course-setup-topbar{padding-inline:16px}.course-setup-progress strong,.course-setup-progress li:not(:last-child):after{display:none}.course-setup-progress li{min-width:36px}.course-setup-card.identity-card{padding:22px}.course-biome-grid{grid-template-columns:1fr}.course-biome-option{min-height:152px}.course-biome-art{height:96px;flex-basis:96px}.course-setup-card.terrain-card{margin:0 auto;justify-self:center}}@media (hover: none){.course-setup-card.terrain-card{opacity:1}}@media (max-height: 760px){.course-setup-flow{grid-template-rows:62px minmax(0,1fr)}.course-setup-card{max-height:calc(100vh - 82px)}.course-setup-card.identity-card{padding:22px 26px}.course-setup-card h1{font-size:24px}.course-setup-name-field{margin-top:16px}.course-biome-picker{margin-top:15px}.course-biome-option{min-height:146px}.course-biome-art{height:86px;flex-basis:86px}.course-biome-copy{padding-block:8px}.course-setup-actions{margin-top:16px;padding-top:14px}}.swing-meter{position:fixed;left:calc(50% + clamp(118px,12vw,176px));bottom:max(10px,env(safe-area-inset-bottom));z-index:1200;width:224px;height:224px;transform:translate(-50%);filter:drop-shadow(0 8px 22px rgba(0,0,0,.42));pointer-events:none;-webkit-user-select:none;user-select:none}.swing-meter svg{display:block;width:100%;height:100%;overflow:visible}.swing-meter.idle{opacity:.72}.meter-track{fill:none;stroke:#07120cd1;stroke-width:24;stroke-linecap:round}.meter-zone-power{fill:none;stroke:#f6f8f642;stroke-width:13;stroke-linecap:butt}.meter-zone-overswing{fill:none;stroke:#ff6b6be0;stroke-width:13;stroke-linecap:butt}.meter-zone-safe{fill:none;stroke:#bceb70eb;stroke-width:21;stroke-linecap:butt}.meter-tick{stroke:#f6f8f6a6;stroke-width:1.8}.meter-tick-label{fill:#f6f8f6c7;font-family:var(--play-font);font-size:12px;font-weight:700;text-anchor:middle;dominant-baseline:middle}.meter-sweet-spot{stroke:var(--play-text);stroke-width:4;stroke-linecap:round}.meter-fill{fill:none;stroke:var(--play-gold);stroke-width:13;stroke-linecap:round}.meter-fill.overshoot{stroke:var(--play-danger)}.meter-power-mark{stroke:var(--play-gold);stroke-width:4;stroke-linecap:round}.meter-needle{stroke:var(--play-text);stroke-width:3.5;stroke-linecap:round}.meter-center-label{fill:var(--play-text);font-family:var(--play-font);font-size:29px;font-weight:800;letter-spacing:-.04em;text-anchor:middle}.meter-center-hint{fill:#f6f8f6b8;font-family:var(--play-font);font-size:10px;font-weight:800;letter-spacing:1.3px;text-anchor:middle}.meter-suggest{stroke:var(--play-gold);stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(242,200,107,.72))}@media (max-width: 1100px),(max-height: 780px){.swing-meter{left:calc(50% + clamp(106px,12vw,132px));bottom:6px;width:198px;height:198px}}@media (max-width: 760px){.swing-meter{left:63%;width:184px;height:184px}}.play-hud{position:fixed;inset:max(14px,env(safe-area-inset-top)) 16px auto;z-index:1100;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;color:var(--play-text);font-family:var(--play-font);font-variant-numeric:tabular-nums lining-nums;pointer-events:none;-webkit-user-select:none;user-select:none}.play-broadcast-card{height:70px;box-sizing:border-box;display:flex;align-items:stretch;overflow:hidden;border:1px solid var(--play-stroke);border-radius:15px;background:linear-gradient(110deg,rgba(255,255,255,.045),transparent 42%),var(--play-glass);box-shadow:var(--play-shadow-sm),inset 0 1px #ffffff0e;backdrop-filter:blur(var(--play-blur));-webkit-backdrop-filter:blur(var(--play-blur));pointer-events:auto}.play-player-card{position:relative;width:clamp(300px,25vw,364px)}.play-broadcast-accent{width:5px;flex:0 0 5px;background:linear-gradient(180deg,#d7ff9a,#7dbb45);box-shadow:2px 0 12px #bceb7029}.play-condition-cell>span{color:var(--play-text-muted);font-size:8px;font-weight:800;letter-spacing:.14em;line-height:1;text-transform:uppercase}.play-player-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column}.play-player-nameband{flex:1 1 50%;min-width:0;padding:0 12px;display:flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,#ffffff0f,#ffffff05)}.play-player-flag{width:24px;height:17px;flex:0 0 24px;display:grid;place-items:center;border:1px solid rgba(188,235,112,.24);border-radius:4px;background:linear-gradient(135deg,#bceb7038,#7dbb451f);color:var(--play-accent)}.play-player-flag svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.play-player-nameband strong{min-width:0;overflow:hidden;color:var(--play-text);font-size:14px;font-weight:850;letter-spacing:-.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.play-player-holeband{flex:1 1 50%;min-width:0;padding:0 12px;display:flex;align-items:center;gap:10px}.play-player-holeord{color:var(--play-text-secondary);font-size:13px;font-weight:850;letter-spacing:.02em}.play-stroke-dots{display:flex;align-items:center;gap:4px}.play-stroke-dot{width:19px;height:19px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:var(--play-text-muted);font-size:9px;font-weight:800}.play-stroke-dot.done{border-color:transparent;background:#ffffff24;color:var(--play-text-secondary)}.play-stroke-dot.current{border-color:transparent;background:#f6f8f6;color:#10210f;box-shadow:0 0 0 3px #ffffff1f}.play-player-score{width:76px;flex:0 0 76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-left:1px solid rgba(255,255,255,.1);background:#ffffff0b}.play-player-score strong{color:var(--play-text);font-size:25px;font-weight:850;letter-spacing:-.045em;line-height:1}.play-player-score small{color:var(--play-text-muted);font-size:8px;font-weight:800;letter-spacing:.14em;line-height:1;text-transform:uppercase}.play-player-score.under strong{color:var(--play-accent)}.play-player-score.over strong{color:#ffd08a}.play-wind-pill{position:absolute;left:50%;top:13px;z-index:1;width:186px;height:34px;box-sizing:border-box;display:flex;align-items:center;border:1px solid var(--play-stroke);border-radius:999px;background:linear-gradient(110deg,rgba(255,255,255,.05),transparent 48%),var(--play-glass);box-shadow:var(--play-shadow-sm),inset 0 1px #ffffff0f;color:var(--play-text);backdrop-filter:blur(var(--play-blur));-webkit-backdrop-filter:blur(var(--play-blur));transform:translate(-50%);pointer-events:auto}.play-wind-speed,.play-wind-dir{flex:1 1 0;font-size:11px;font-weight:850;letter-spacing:.01em;text-align:center}.play-wind-speed{padding-right:20px}.play-wind-dir{padding-left:20px}.play-wind-puck{position:absolute;left:50%;top:50%;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--play-stroke-strong);border-radius:50%;background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.12),transparent 52%),var(--play-glass-strong);box-shadow:0 6px 16px #0000004d;transform:translate(-50%,-50%)}.play-wind-puck svg{width:20px;height:20px;fill:#fff;filter:drop-shadow(0 2px 3px rgba(0,0,0,.4));transition:transform var(--play-motion-fast) ease}.play-wind-pill.calm .play-wind-puck svg{opacity:.35}.play-conditions-card{width:clamp(330px,28vw,396px);padding-left:4px}.play-condition-cell{min-width:0;flex:1 1 0;padding:10px 10px 8px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.09)}.play-condition-cell.distance{flex-grow:1.08}.play-condition-cell.lie{flex-grow:1.1}.play-condition-cell.slope{flex-grow:1.08}.play-condition-cell strong{max-width:100%;margin-top:5px;overflow:hidden;color:var(--play-text);font-size:13px;font-weight:820;letter-spacing:-.025em;line-height:1;text-overflow:ellipsis;white-space:nowrap}.play-condition-cell small{max-width:100%;margin-top:5px;overflow:hidden;color:var(--play-text-muted);font-size:8px;font-weight:750;letter-spacing:.07em;line-height:1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.play-condition-cell.tracking strong{color:var(--play-info)}.play-condition-cell.slope strong{color:#ffe0a0}.play-hud-menu,.play-hud-live{width:48px;flex:0 0 48px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:0;background:#ffffff09;color:var(--play-text-secondary);cursor:pointer;transition:background var(--play-motion-fast) ease,color var(--play-motion-fast) ease}.play-hud-live{cursor:default}.play-hud-live>i{width:7px;height:7px;border-radius:50%;background:var(--play-accent);box-shadow:0 0 0 4px #bceb701a;animation:play-live-pulse 1.8s ease-in-out infinite}.play-hud-menu:hover{background:#bceb701a;color:var(--play-accent)}.play-hud-menu small,.play-hud-live small{font-size:8px;font-weight:800;letter-spacing:.1em;line-height:1;text-transform:uppercase}.play-hud-live small{color:var(--play-accent)}@keyframes play-live-pulse{0%,to{opacity:.55}50%{opacity:1}}.play-menu-lines{width:15px;display:grid;gap:3px}.play-menu-lines i{display:block;width:100%;height:1.5px;border-radius:999px;background:currentColor}.play-hud.phase-swinging .play-broadcast-card,.play-hud.phase-striking .play-broadcast-card{background-color:#07120ca8}@media (max-width: 1120px){.play-hud{inset-inline:12px;gap:10px}.play-broadcast-card{height:66px}.play-player-card{width:296px}.play-conditions-card{width:330px}.play-player-score{width:66px;flex-basis:66px}.play-player-nameband,.play-player-holeband{padding-inline:10px}.play-condition-cell{padding-inline:8px}.play-condition-cell strong{font-size:12px}}@media (max-width: 850px){.play-hud{gap:8px}.play-player-card{width:264px}.play-conditions-card{width:312px}.play-player-score{width:58px;flex-basis:58px}.play-player-nameband strong{font-size:12px}.play-stroke-dot{width:17px;height:17px;font-size:8px}.play-condition-cell{padding-inline:6px}.play-hud-menu,.play-hud-live{width:42px;flex-basis:42px}.play-wind-pill{top:74px}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.play-broadcast-card{background-color:var(--play-glass-solid)}}.play-dot-selector{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:1120;width:284px;height:104px;color:var(--play-text);font-family:var(--play-font);font-variant-numeric:tabular-nums lining-nums}.play-dot-triggers{position:absolute;inset:0}.play-selector-orb{position:absolute;width:74px;height:74px;flex:0 0 74px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:radial-gradient(circle at 38% 26%,rgba(255,255,255,.12),transparent 50%),#08160ef0;color:var(--play-text);box-shadow:0 12px 30px #00000057,inset 0 1px #ffffff14;cursor:pointer;transition:transform var(--play-motion-fast) ease,border-color var(--play-motion-fast) ease,box-shadow var(--play-motion-fast) ease}.play-selector-orb.club{left:0;bottom:0;z-index:3;width:104px;height:104px;flex-basis:104px}.play-selector-orb.shot{left:118px;bottom:15px;z-index:2}.play-selector-orb.spin{left:206px;bottom:15px;z-index:1}.play-selector-orb:hover,.play-selector-orb[aria-expanded=true]{z-index:5;border-color:#bceb70b3;box-shadow:0 14px 34px #0006,0 0 0 4px #bceb701f,inset 0 1px #ffffff1a;transform:translateY(-2px)}.play-selector-orb:active{transform:scale(.97)}.play-selector-orb span{color:var(--play-text-muted);font-size:9px;font-weight:800;letter-spacing:.12em;line-height:1;text-transform:uppercase}.play-selector-orb strong{margin-top:5px;color:var(--play-text);font-size:22px;font-weight:850;letter-spacing:-.045em;line-height:1}.play-selector-orb.club strong{font-size:29px}.play-selector-orb small{margin-top:5px;color:var(--play-accent);font-size:9px;font-weight:800;letter-spacing:.03em;line-height:1;text-transform:uppercase}.play-dot-column{position:absolute;z-index:-1;display:flex;flex-direction:column;align-items:center;gap:5px;width:78px}.play-dot-column.club{left:13px;bottom:126px}.play-dot-column.shot{left:116px;bottom:106px}.play-dot-column.spin{left:204px;bottom:106px}.play-dot-column:before{content:"";position:absolute;top:12px;bottom:-12px;left:50%;z-index:-1;width:1px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.17) 12%,rgba(255,255,255,.17) 88%,transparent)}.play-choice-dot{--dot-order: 0;width:46px;height:46px;flex:0 0 46px;padding:0;display:grid;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;background:#08170ef0;color:var(--play-text-secondary);box-shadow:0 7px 18px #0000004d,inset 0 1px #ffffff0d;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);font:800 12px/1 var(--play-font);letter-spacing:-.02em;cursor:pointer;animation:play-dot-rise .15s cubic-bezier(.2,.75,.3,1) both;animation-delay:calc(var(--dot-order) * 12ms);transition:border-color var(--play-motion-fast) ease,background var(--play-motion-fast) ease,color var(--play-motion-fast) ease,transform var(--play-motion-fast) ease}.play-choice-dot:hover{z-index:2;border-color:#bceb709e;background:#1f3927fa;color:var(--play-text);transform:scale(1.1)}.play-choice-dot.active{border-color:#bceb70db;background:var(--play-accent);color:var(--play-accent-ink);box-shadow:0 8px 20px #00000057,0 0 0 4px #bceb7021}.play-dot-column.shot .play-choice-dot.active{border-color:#f2c86bdb;background:var(--play-gold)}.play-dot-column.spin .spin-choice.active{border-color:#86c9ece0;background:var(--play-info);color:#081923;box-shadow:0 8px 20px #00000057,0 0 0 4px #86c9ec24}@keyframes play-dot-rise{0%{transform:translateY(7px) scale(.9)}to{transform:translateY(0) scale(1)}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.play-choice-dot,.play-selector-orb{background-color:var(--play-glass-solid)}}@media (max-width: 1100px),(max-height: 780px){.play-dot-selector{left:12px;bottom:12px;width:258px;height:94px}.play-selector-orb{width:68px;height:68px;flex-basis:68px}.play-selector-orb.club{width:94px;height:94px;flex-basis:94px}.play-selector-orb.shot{left:106px;bottom:13px}.play-selector-orb.spin{left:186px;bottom:13px}.play-dot-column{width:72px;gap:4px}.play-dot-column.club{left:11px;bottom:113px}.play-dot-column.shot{left:104px;bottom:97px}.play-dot-column.spin{left:184px;bottom:97px;width:72px}.play-choice-dot{width:42px;height:42px;flex-basis:42px;font-size:11px}}@media (max-height: 650px){.play-dot-selector{width:236px;height:86px}.play-selector-orb{width:62px;height:62px;flex-basis:62px}.play-selector-orb.club{width:86px;height:86px;flex-basis:86px}.play-selector-orb.shot{left:97px;bottom:12px}.play-selector-orb.spin{left:170px;bottom:12px}.play-selector-orb strong{font-size:23px}.play-selector-orb.club strong{font-size:27px}.play-dot-column{width:66px;gap:3px}.play-dot-column.club{left:10px;bottom:104px}.play-dot-column.shot{left:95px;bottom:89px}.play-dot-column.spin{left:168px;bottom:89px;width:66px}.play-choice-dot{width:38px;height:38px;flex-basis:38px;font-size:10px}}@media (prefers-reduced-motion: reduce){.play-choice-dot{animation:none}}.great-shot-flourish{position:fixed;inset:0;pointer-events:none;z-index:1250}.gsf-border{position:absolute;inset:0;box-shadow:inset 0 0 44px 8px #f2c86b5c,inset 0 0 110px 22px #f2aa3c24;animation:gsf-border-pulse 1.8s ease-out forwards}.gsf-border:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 72px 14px #ffebaa38;animation:gsf-border-shimmer 1.8s ease-in-out forwards}@keyframes gsf-border-pulse{0%{opacity:0}12%{opacity:1}70%{opacity:.9}to{opacity:0}}@keyframes gsf-border-shimmer{0%{opacity:0}30%{opacity:.4}55%{opacity:1}to{opacity:0}}.gsf-title{position:absolute;top:8%;left:50%;transform:translate(-50%);white-space:nowrap;font-family:var(--play-font);font-weight:800;font-stretch:condensed;font-size:clamp(42px,7vw,88px);line-height:1;letter-spacing:-.045em;text-transform:uppercase;background:linear-gradient(180deg,#fff6d8,#ffd76a 45%,#c98a1b);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px rgba(255,180,40,.45));animation:gsf-title-in 1.8s cubic-bezier(.16,1,.3,1) forwards}@keyframes gsf-title-in{0%{opacity:0;transform:translate(-50%) scale(1.6)}14%{opacity:1;transform:translate(-50%) scale(1)}80%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(1.04)}}.hole-map{position:relative;width:100%;padding:0;color:var(--play-text);font-family:var(--play-font);pointer-events:none;-webkit-user-select:none;user-select:none}.hole-map:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 16%);box-shadow:inset 0 0 0 1px #00000038,inset 0 -14px 22px #00000026;pointer-events:none}.hole-map-canvas{display:block;width:182px;height:255px;margin:0 auto;border-radius:12px;background:#132319}.hole-map.focus-green .hole-map-canvas{height:182px}@media (max-width: 1100px),(max-height: 780px){.hole-map-canvas{width:170px;height:238px}.hole-map.focus-green .hole-map-canvas{height:170px}}.swing-feedback{position:fixed;bottom:242px;left:calc(50% + clamp(118px,12vw,176px));text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1210;font-family:var(--play-font);animation:swing-feedback-pop 1.1s cubic-bezier(.16,1,.3,1) forwards}@media (max-width: 1100px),(max-height: 780px){.swing-feedback{left:calc(50% + clamp(106px,12vw,132px));bottom:210px}}@keyframes swing-feedback-pop{0%{opacity:0;transform:translate(-50%) scale(1.4)}15%{opacity:1;transform:translate(-50%) scale(1)}78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(1.03)}}.swing-feedback-label{font-weight:800;font-stretch:condensed;font-size:clamp(28px,4.2vw,46px);line-height:1;letter-spacing:-.035em;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 12px rgba(4,12,6,.65)}.swing-feedback-detail{margin-top:5px;font-family:var(--play-font);font-style:normal;font-size:14px;font-weight:700;letter-spacing:.6px;color:#ffffffd1;text-shadow:0 1px 8px rgba(4,12,6,.8);white-space:nowrap}.tone-perfect .swing-feedback-label{background:linear-gradient(180deg,#fff6d8,#ffd76a 45%,#c98a1b);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 3px 14px rgba(255,180,40,.55))}.tone-good .swing-feedback-label{color:#fff}.tone-early .swing-feedback-label,.tone-late .swing-feedback-label{color:#ffc24d}.tone-overswing .swing-feedback-label{color:#ff7043}.tone-duff .swing-feedback-label{color:#ef5350}.score-stinger{position:fixed;inset:0;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1260;font-family:var(--play-font)}.score-stinger-band{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);padding:26px 0 30px;text-align:center;background:linear-gradient(90deg,rgba(4,12,6,0) 0%,var(--band-tint) 22%,var(--band-tint) 78%,rgba(4,12,6,0) 100%);animation:score-band-in 1.7s ease-out forwards}@keyframes score-band-in{0%{opacity:0;transform:translateY(-50%) scaleY(.2)}10%{opacity:1;transform:translateY(-50%) scaleY(1)}82%{opacity:1}to{opacity:0}}.score-stinger-title{display:inline-block;white-space:nowrap;font-weight:800;font-stretch:condensed;font-size:clamp(44px,8vw,92px);line-height:1;letter-spacing:-.045em;text-transform:uppercase;background:var(--title-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px var(--title-glow));animation:score-title-in 1.7s cubic-bezier(.16,1,.3,1) forwards}@keyframes score-title-in{0%{opacity:0;transform:scale(1.6)}12%{opacity:1;transform:scale(1)}82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.score-stinger-glow{position:absolute;inset:0;box-shadow:inset 0 0 50px 8px var(--edge-glow),inset 0 0 120px 20px var(--edge-glow-soft);animation:score-glow-pulse 1.7s ease-out forwards}@keyframes score-glow-pulse{0%{opacity:0}14%{opacity:1}70%{opacity:.75}to{opacity:0}}.kind-birdie{--title-grad: linear-gradient(180deg, #fff6d8 0%, #ffd76a 45%, #c98a1b 100%);--title-glow: rgba(255, 180, 40, .45);--band-tint: rgba(30, 46, 16, .78);--edge-glow: rgba(255, 200, 80, .28);--edge-glow-soft: rgba(255, 170, 40, .12)}.kind-eagle{--title-grad: linear-gradient(180deg, #fffbe8 0%, #ffdf7e 42%, #d99b22 100%);--title-glow: rgba(255, 195, 60, .6);--band-tint: rgba(34, 50, 16, .82);--edge-glow: rgba(255, 205, 90, .38);--edge-glow-soft: rgba(255, 175, 45, .17)}.kind-albatross{--title-grad: linear-gradient(180deg, #ffffff 0%, #ffe792 40%, #e8ab2a 100%);--title-glow: rgba(255, 205, 80, .72);--band-tint: rgba(38, 54, 16, .85);--edge-glow: rgba(255, 212, 100, .46);--edge-glow-soft: rgba(255, 180, 50, .22)}.kind-holeinone{--title-grad: linear-gradient(180deg, #ffffff 0%, #fff1b8 34%, #ffd54f 62%, #e8a41f 100%);--title-glow: rgba(255, 215, 100, .85);--band-tint: rgba(42, 58, 16, .88);--edge-glow: rgba(255, 220, 110, .55);--edge-glow-soft: rgba(255, 185, 55, .26)}.kind-par{--title-grad: linear-gradient(180deg, #ffffff 0%, #dbe4ea 48%, #93a3ae 100%);--title-glow: rgba(190, 210, 225, .35);--band-tint: rgba(14, 26, 20, .78)}.kind-bogey{--title-grad: linear-gradient(180deg, #cfd8dc 0%, #a3b0b6 55%, #6d7a80 100%);--title-glow: rgba(120, 140, 150, .3);--band-tint: rgba(12, 22, 18, .78)}.kind-double,.kind-triple{--title-grad: linear-gradient(180deg, #e3c6c6 0%, #c98f8f 52%, #8f5252 100%);--title-glow: rgba(180, 90, 90, .35);--band-tint: rgba(26, 14, 12, .8)}.pause-menu{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:20px;background:#020805b3;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);font-family:var(--play-font)}.pause-panel{width:min(92vw,420px);max-height:min(90vh,680px);overflow-y:auto;box-sizing:border-box;padding:28px;border:1px solid var(--play-stroke);border-radius:20px;background:var(--play-glass-strong);box-shadow:var(--play-shadow-lg),inset 0 1px #ffffff0f;color:var(--play-text)}.pause-eyebrow{margin-bottom:5px;color:var(--play-accent);font-size:9px;font-weight:800;letter-spacing:.16em;text-align:center;text-transform:uppercase}.pause-title{margin:0 0 23px;color:var(--play-text);font-size:27px;font-weight:800;letter-spacing:-.035em;text-align:center}.pause-buttons{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.pause-button{min-height:45px;padding:0 22px;border:1px solid var(--play-stroke);border-radius:11px;background:#fff1;color:var(--play-text);font-size:12px;font-weight:750;cursor:pointer;transition:background var(--play-motion-fast) ease,border-color var(--play-motion-fast) ease,transform var(--play-motion-fast) ease}.pause-button:hover{border-color:var(--play-stroke-strong);background:#ffffff1c}.pause-button:active{transform:translateY(1px)}.pause-button.primary{border-color:#bceb708c;background:var(--play-accent);color:var(--play-accent-ink)}.pause-button.primary:hover{background:#cdf58c}.pause-button.danger{color:#ffc7c7}.pause-button.danger.confirm{border-color:#ff6b6b80;background:#ff6b6b29;color:#ffe4e4}.pause-cancel-quit{align-self:center;padding:4px 10px;border:0;background:transparent;color:var(--play-text-secondary);font-size:10px;font-weight:700;cursor:pointer}.pause-cancel-quit:hover{color:var(--play-text)}.pause-section{display:flex;flex-direction:column;gap:11px;margin-top:15px;padding-top:16px;border-top:1px solid rgba(255,255,255,.09)}.pause-section-label{color:var(--play-text-muted);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.pause-sound-row{display:flex;align-items:center;gap:12px}.pause-volume{flex:1;height:4px;accent-color:var(--play-accent);cursor:pointer}.pause-volume:disabled{opacity:.32;cursor:default}.pause-volume-readout{min-width:42px;color:var(--play-text-secondary);font-size:11px;font-weight:750;font-variant-numeric:tabular-nums;text-align:right}.pause-toggle{display:flex;align-items:center;gap:10px;min-height:28px;color:var(--play-text-secondary);font-size:12px;font-weight:650;cursor:pointer;-webkit-user-select:none;user-select:none}.pause-toggle.compact{gap:7px;font-size:10px}.pause-toggle input{position:absolute;width:1px;height:1px;opacity:0}.pause-toggle-track{position:relative;flex:0 0 auto;width:34px;height:19px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff17;transition:background var(--play-motion-fast) ease,border-color var(--play-motion-fast) ease}.pause-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:var(--play-text-secondary);transition:transform var(--play-motion-fast) ease,background var(--play-motion-fast) ease}.pause-toggle input:checked+.pause-toggle-track{border-color:#bceb7075;background:#bceb7038}.pause-toggle input:checked+.pause-toggle-track:after{background:var(--play-accent);transform:translate(15px)}.pause-toggle input:focus-visible+.pause-toggle-track{outline:2px solid var(--play-accent);outline-offset:3px}@media (max-height: 650px){.pause-panel{padding:22px}.pause-title{margin-bottom:17px;font-size:24px}.pause-buttons{margin-bottom:16px}}.round-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:7px;max-width:620px;margin:0 auto 20px;font-family:var(--play-font)}.round-summary-tile{padding:11px 8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff0b;text-align:center}.round-summary-label{margin-bottom:4px;color:var(--play-text-muted);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.round-summary-value{color:var(--play-text);font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.1}@media (max-height: 740px){.round-summary{margin-bottom:14px}.round-summary-tile{padding-block:8px}}.scorecard-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:20px;background:#020805b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-family:var(--play-font)}.scorecard-panel{width:min(94vw,760px);max-height:min(92vh,820px);overflow-y:auto;box-sizing:border-box;padding:30px 32px 28px;border:1px solid var(--play-stroke);border-radius:20px;background:var(--play-glass-strong);box-shadow:var(--play-shadow-lg),inset 0 1px #ffffff0f;color:var(--play-text);text-align:center}.scorecard-eyebrow{margin-bottom:6px;color:var(--play-accent);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.scorecard-title{margin:0 0 7px;color:var(--play-text);font-size:clamp(25px,3vw,34px);font-weight:800;letter-spacing:-.04em;line-height:1.05}.scorecard-subtitle{margin:0 0 22px;color:var(--play-text-secondary);font-size:12px;font-weight:650}.scorecard-subtitle span{margin-inline:5px;color:var(--play-text-muted)}.scorecard-tables{display:grid;gap:9px;margin:0 auto 22px}.scorecard-table{width:100%;border-spacing:3px;table-layout:fixed}.scorecard-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.scorecard-table th,.scorecard-table td{height:34px;padding:0 3px;border:0;border-radius:7px;background:#ffffff0b;color:var(--play-text-secondary);font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.scorecard-table th{height:28px;background:#ffffff13;color:var(--play-text-muted);font-size:9px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.scorecard-table th.current{background:#bceb702e;color:var(--play-accent)}.scorecard-table td:first-child,.scorecard-table th:first-child{width:76px;padding-left:10px;color:var(--play-text-secondary);font-weight:750;text-align:left}.scorecard-table .total-col{background:#ffffff17;color:var(--play-text);font-weight:800}.scorecard-table .total-col.grand{background:#bceb7021;color:var(--play-accent)}.scorecard-score-mark{display:inline-grid;place-items:center;width:24px;height:24px;box-sizing:border-box;font-weight:800}.scorecard-table td.under-par .scorecard-score-mark{border:1.5px solid #ff7d7d;border-radius:50%;color:#ffb1b1}.scorecard-table td.over-par .scorecard-score-mark{border:1.5px solid #8ccbf0;border-radius:4px;color:#b9e2fa}.scorecard-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px}.scorecard-button{min-width:132px;min-height:44px;padding:0 22px;border:1px solid var(--play-stroke);border-radius:11px;background:#fff1;color:var(--play-text);font-size:12px;font-weight:750;cursor:pointer;transition:background var(--play-motion-fast) ease,border-color var(--play-motion-fast) ease,transform var(--play-motion-fast) ease}.scorecard-button:hover{border-color:var(--play-stroke-strong);background:#ffffff1c}.scorecard-button:active{transform:translateY(1px)}.scorecard-button.primary{border-color:#bceb708c;background:var(--play-accent);color:var(--play-accent-ink)}.scorecard-button.primary:hover{background:#cdf58c}.scorecard-button.danger{color:#ffc7c7}.scorecard-button.danger.confirm{border-color:#ff6b6b80;background:#ff6b6b29}.scorecard-cancel-quit{flex-basis:100%;border:0;background:transparent;color:var(--play-text-secondary);font-size:10px;font-weight:700;cursor:pointer}@media (max-height: 740px){.scorecard-panel{padding:22px 24px}.scorecard-title{font-size:26px}.scorecard-subtitle{margin-bottom:14px}.scorecard-tables{margin-bottom:15px}.scorecard-table th,.scorecard-table td{height:29px}}@media (max-width: 680px){.scorecard-panel{padding-inline:16px}.scorecard-table{border-spacing:2px}.scorecard-table td:first-child,.scorecard-table th:first-child{width:55px;padding-left:6px}.scorecard-table th,.scorecard-table td{font-size:9px}}.playtest-complete-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:20px;background:#0208059e;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-family:var(--play-font)}.playtest-complete-panel{width:min(92vw,380px);box-sizing:border-box;padding:28px 30px 24px;border:1px solid var(--play-stroke);border-radius:20px;background:var(--play-glass-strong);box-shadow:var(--play-shadow-lg),inset 0 1px #ffffff0f;color:var(--play-text);text-align:center}.playtest-complete-eyebrow{margin-bottom:7px;color:var(--play-accent);font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.playtest-complete-title{margin:0 0 6px;color:var(--play-text);font-size:clamp(24px,3vw,31px);font-weight:800;letter-spacing:-.04em;line-height:1.05}.playtest-complete-subtitle{margin:0 0 20px;color:var(--play-text-secondary);font-size:12px;font-weight:650}.playtest-complete-subtitle span{margin-inline:5px;color:var(--play-text-muted)}.playtest-complete-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.playtest-complete-button{min-height:44px;padding:0 22px;border:1px solid var(--play-stroke);border-radius:11px;background:#fff1;color:var(--play-text);font-size:12.5px;font-weight:750;cursor:pointer;transition:background var(--play-motion-fast) ease,border-color var(--play-motion-fast) ease,transform var(--play-motion-fast) ease}.playtest-complete-button:hover{border-color:var(--play-stroke-strong);background:#ffffff1c}.playtest-complete-button:active{transform:translateY(1px)}.playtest-complete-button.primary{border-color:#bceb708c;background:var(--play-accent);color:var(--play-accent-ink)}.playtest-complete-button.primary:hover{background:#cdf58c}.playtest-complete-exit{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--play-text-secondary);font-size:11px;font-weight:700;cursor:pointer}.playtest-complete-exit:hover{color:var(--play-text)}.playtest-complete-exit kbd{display:inline-grid;place-items:center;min-width:24px;height:18px;padding:0 5px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:#ffffff12;font:700 9px/1 var(--play-font)}.play-app{--play-font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--play-text: #f6f8f6;--play-text-secondary: rgba(246, 248, 246, .76);--play-text-muted: rgba(246, 248, 246, .58);--play-glass: rgba(7, 18, 12, .74);--play-glass-soft: rgba(7, 18, 12, .62);--play-glass-strong: rgba(7, 18, 12, .92);--play-glass-solid: #0b1d13;--play-stroke: rgba(255, 255, 255, .14);--play-stroke-strong: rgba(255, 255, 255, .24);--play-accent: #bceb70;--play-accent-ink: #13210d;--play-gold: #f2c86b;--play-info: #86c9ec;--play-danger: #ff6b6b;--play-radius-sm: 9px;--play-radius-md: 12px;--play-radius-lg: 16px;--play-blur: 12px;--play-shadow-sm: 0 8px 24px rgba(0, 0, 0, .24);--play-shadow-lg: 0 24px 72px rgba(0, 0, 0, .48);--play-motion-fast: .14s;--play-motion: .22s;position:fixed;inset:0;overflow:hidden;background:#07110b;color:var(--play-text);font-family:var(--play-font)}.play-viewport{position:absolute;inset:0}.play-back-to-designer{position:fixed;top:max(18px,env(safe-area-inset-top));left:50%;z-index:10000;display:flex;align-items:center;gap:9px;min-height:42px;padding:0 14px;border:1px solid var(--play-stroke-strong);border-radius:999px;background:var(--play-glass-strong);box-shadow:var(--play-shadow-sm);color:var(--play-text);font-size:13px;font-weight:750;cursor:pointer;transform:translate(-50%);-webkit-backdrop-filter:blur(var(--play-blur));backdrop-filter:blur(var(--play-blur))}.play-app.playtest .play-player-card{visibility:hidden}.play-app.playtest .play-back-to-designer{top:calc(max(14px,env(safe-area-inset-top)) + 13px);left:16px;transform:none;height:34px;min-height:34px;padding:0 14px;gap:8px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#ffffff94;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 2px 12px #07120c38;color:#14231a;font-size:12px}.play-app.playtest .play-back-to-designer:hover{border-color:#ffffffd9;background:#ffffffc7}.play-app.playtest .play-back-to-designer kbd{border:1px solid rgba(20,35,26,.32);border-bottom-width:2px;background:#ffffffd9;color:inherit}.play-back-to-designer:hover{border-color:#bceb708c;background:#10271a}.play-back-to-designer kbd{padding:3px 6px;border:1px solid var(--play-stroke);border-radius:5px;background:#ffffff14;color:var(--play-text-muted);font:700 9px/1 var(--play-font);text-transform:uppercase}.play-app button,.play-app input{font-family:var(--play-font)}.play-app button:focus-visible,.play-app input:focus-visible,.play-app [tabindex]:focus-visible{outline:2px solid var(--play-accent);outline-offset:3px}.play-keycap{display:inline-grid;place-items:center;min-width:21px;height:19px;padding:0 5px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff14;color:var(--play-text-secondary);font:700 9px/1 var(--play-font);letter-spacing:0;box-sizing:border-box}.play-zoom-pill{position:fixed;left:0;top:0;z-index:900;display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:#ffffff94;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 2px 12px #07120c38;color:#14231a;cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--play-motion-fast) ease,background var(--play-motion-fast) ease}.play-zoom-pill.visible{opacity:1;pointer-events:auto}.play-zoom-pill:hover{background:#ffffffc7}.play-zoom-pill svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.play-zoom-pill kbd{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 5px;border:1px solid rgba(20,35,26,.32);border-bottom-width:2px;border-radius:5px;background:#ffffffd9;color:inherit;font:700 10px/1 var(--play-font);box-sizing:border-box}.play-course-console{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:1100;width:196px;padding:7px;border:1px solid var(--play-stroke);border-radius:var(--play-radius-lg);background:linear-gradient(110deg,rgba(255,255,255,.045),transparent 42%),var(--play-glass);box-shadow:var(--play-shadow-sm),inset 0 1px #ffffff0e;color:var(--play-text);backdrop-filter:blur(var(--play-blur));-webkit-backdrop-filter:blur(var(--play-blur));transition:width var(--play-motion) ease,background var(--play-motion-fast) ease}.play-course-console-header{min-height:40px;padding:1px 3px 7px;display:flex;align-items:center;justify-content:space-between;gap:8px}.play-course-console-identity{min-width:0;display:flex;align-items:center;gap:8px}.play-course-console-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid rgba(188,235,112,.2);border-radius:9px;background:radial-gradient(circle at 34% 26%,rgba(255,255,255,.1),transparent 52%),#bceb7017;color:var(--play-accent)}.play-course-console-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.play-course-console-title{min-width:0;display:flex;flex-direction:column;gap:1px}.play-course-console-title small{color:var(--play-text-muted);font-size:7.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.play-course-console-title strong{overflow:hidden;color:var(--play-text);font-size:14px;font-weight:800;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}.play-course-map-toggle{min-width:30px;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#ffffff0b;color:var(--play-text-secondary);font-size:8px;font-weight:750;cursor:pointer}.play-course-console.expanded .play-course-map-toggle kbd,.play-course-console.previewing .play-course-map-toggle kbd{display:none}.play-course-map-toggle:hover{border-color:#bceb7047;background:#bceb7014;color:var(--play-text)}.play-course-map-toggle kbd{min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:5px;background:#ffffff0f;color:var(--play-text-muted);font:700 8px/1 var(--play-font)}.play-course-map-toggle i{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(2px) rotate(225deg);transition:transform var(--play-motion-fast) ease}.play-course-map-toggle[aria-expanded=false] i{transform:translateY(-2px) rotate(45deg)}.play-course-console-divider{height:1px;margin:7px 2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 18%,rgba(255,255,255,.1) 82%,transparent)}.play-course-console-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.play-course-console:has(.play-course-tool:nth-child(4)) .play-course-console-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.play-course-tool{min-width:0;min-height:38px;padding:5px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#ffffff08;color:var(--play-text-muted);font-size:8px;font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase;cursor:pointer;transition:color var(--play-motion-fast) ease,background var(--play-motion-fast) ease,border-color var(--play-motion-fast) ease}.play-course-tool:hover{background:#ffffff0f;color:var(--play-text-secondary)}.play-course-tool.active,.play-course-tool[aria-expanded=true]{border-color:#bceb7042;background:#bceb701c;color:var(--play-accent);box-shadow:inset 0 1px #ffffff12}.play-course-tool.active .play-keycap,.play-course-tool[aria-expanded=true] .play-keycap{border-color:#bceb7047;color:var(--play-accent)}.play-course-tool .play-keycap{min-width:17px;height:16px;padding-inline:4px;font-size:7px}.play-course-console.collapsed{width:auto;padding:5px;display:flex;align-items:center;gap:3px}.play-course-console.previewing{width:196px;background:linear-gradient(110deg,rgba(134,201,236,.08),transparent 54%),var(--play-glass)}.play-course-console.previewing .play-course-console-icon{border-color:#86c9ec40;background:#86c9ec17;color:var(--play-info)}.play-course-console.collapsed .play-course-console-header{min-height:36px;padding:0}.play-course-console.collapsed .play-course-console-identity,.play-course-console.collapsed .play-course-console-divider,.play-course-console.collapsed .play-course-tool-label{display:none}.play-course-console.collapsed .play-course-map-toggle{min-width:38px;width:38px;height:36px;padding:0}.play-course-console.collapsed .play-course-map-toggle kbd{color:var(--play-accent)}.play-course-console.collapsed .play-course-console-tools,.play-course-console.collapsed:has(.play-course-tool:nth-child(4)) .play-course-console-tools{display:flex;gap:2px}.play-course-console.collapsed .play-course-tool{width:34px;min-height:36px;padding:0}.play-controls-panel{position:absolute;right:0;bottom:calc(100% + 9px);width:310px;padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border:1px solid var(--play-stroke);border-radius:var(--play-radius-lg);background:var(--play-glass-strong);box-shadow:var(--play-shadow-lg),inset 0 1px #ffffff0d;backdrop-filter:blur(var(--play-blur));-webkit-backdrop-filter:blur(var(--play-blur))}.play-controls-heading{grid-column:1 / -1;min-height:32px;padding:0 7px 7px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09);color:var(--play-text);font-size:11px;font-weight:800}.play-controls-row{min-width:0;min-height:39px;padding:6px 7px;display:flex;flex-direction:column;justify-content:center;gap:2px;border-radius:7px;background:#ffffff09;color:var(--play-text-secondary);font-size:8px;font-weight:600}.play-controls-key{color:var(--play-gold);font-size:8px;font-weight:800}.play-shot-calls{position:fixed;left:calc(50% + clamp(118px,12vw,176px));bottom:238px;z-index:1110;display:flex;gap:6px;transform:translate(-50%);pointer-events:none}.play-shot-call{padding:5px 10px;border:1px solid rgba(242,200,107,.3);border-radius:999px;background:var(--play-glass-strong);color:#ffe4a3;box-shadow:var(--play-shadow-sm);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.play-shot-banner{position:fixed;left:50%;bottom:76px;z-index:1150;max-width:min(84vw,440px);padding:11px 18px;border:1px solid var(--play-stroke);border-radius:var(--play-radius-md);background:var(--play-glass-strong);box-shadow:var(--play-shadow-sm);color:var(--play-text);font-size:13px;font-weight:750;letter-spacing:-.01em;text-align:center;transform:translate(-50%);pointer-events:none;-webkit-user-select:none;user-select:none}.play-shot-banner.penalty{border-color:#ff6b6b66;background:#441112eb;color:#ffd7d7}.play-flight-skip{position:fixed;left:50%;bottom:30px;z-index:1110;display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#07120c94;color:var(--play-text-secondary);box-shadow:var(--play-shadow-sm);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:8px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;transform:translate(-50%);pointer-events:none;animation:play-flight-hint-in .18s .7s ease both}.play-mouse-mark{position:relative;width:11px;height:15px;border:1px solid currentColor;border-radius:6px}.play-mouse-mark i{position:absolute;left:50%;top:2px;width:1px;height:4px;border-radius:99px;background:currentColor;transform:translate(-50%)}@keyframes play-flight-hint-in{0%{opacity:0;transform:translate(-50%,5px)}to{opacity:.82;transform:translate(-50%)}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.play-course-console,.play-controls-panel{background:var(--play-glass-solid)}}@media (max-width: 1100px),(max-height: 780px){.play-course-console{right:12px;bottom:12px;width:184px}.play-course-console.previewing{width:184px}.play-shot-calls{left:calc(50% + clamp(106px,12vw,132px));bottom:208px}}@media (prefers-reduced-motion: reduce){.play-app *,.play-app *:before,.play-app *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 74% 20%,rgba(47,113,72,.12),transparent 36%),linear-gradient(145deg,#07110d,#040a07);color:var(--cg-text);font-family:var(--cg-font)}.app-content{min-width:0;min-height:0;flex:1;display:flex;overflow:hidden;position:relative}.app.course-setup-active>.menu-bar,.app.course-setup-active>.course-progress-bar,.app.course-setup-active .app-content>.control-panel,.app.course-setup-active .active-tool-indicator{display:none}.viewport-container{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#13251a}.viewport-container:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 80px #02080529}.app.course-setup-terrain .viewport-container:after{box-shadow:none}.viewport-container canvas{position:relative}.viewport-container.routing-cursor,.viewport-container.routing-cursor canvas{cursor:crosshair!important}.persistent-measure-button{width:42px;height:42px;display:grid;place-items:center;position:absolute;right:16px;bottom:16px;z-index:90;border:1px solid rgba(240,217,138,.5);border-radius:10px;background:#f0d98ae6;color:#2b2918;box-shadow:0 8px 24px #11140c42,inset 0 1px #fff6;cursor:pointer;transition:transform .14s var(--cg-ease),background .14s var(--cg-ease),box-shadow .14s var(--cg-ease)}.persistent-measure-button:hover{background:#f6e6a6;transform:translateY(-1px)}.persistent-measure-button.active{background:#f8e9a8;box-shadow:0 0 0 3px #f0d98a2e,0 8px 24px #11140c47}.persistent-measure-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.persistent-measure-button:focus-visible{outline:2px solid var(--cg-focus, #b9f39a);outline-offset:3px}.first-hole-celebration{position:fixed;inset:0;z-index:10500;display:grid;place-items:center;padding:24px;background:#02090570;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:celebrationBackdropIn .18s ease-out}@keyframes celebrationBackdropIn{0%{opacity:0}to{opacity:1}}.first-hole-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.first-hole-confetti i{width:8px;height:15px;position:absolute;top:-24px;border-radius:2px;opacity:0;animation:firstHoleConfettiFall 1s cubic-bezier(.18,.72,.32,1) forwards}.first-hole-confetti i:nth-child(3n){width:11px;height:11px;border-radius:50%}.first-hole-confetti i:nth-child(2n){transform:rotate(32deg)}@keyframes firstHoleConfettiFall{0%{opacity:0;transform:translateY(-20px) rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(72vh) rotate(420deg)}}.first-hole-celebration-card{width:min(430px,100%);padding:28px;position:relative;z-index:1;border:1px solid rgba(155,223,117,.28);border-radius:18px;background:linear-gradient(145deg,#0c1d14fa,#050f09fa);color:var(--cg-text);text-align:center;box-shadow:0 28px 80px #00000080,inset 0 1px #ffffff0f;animation:celebrationCardIn .3s var(--cg-ease)}@keyframes celebrationCardIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.first-hole-celebration-mark{width:42px;height:42px;margin:0 auto 12px;display:grid;place-items:center;border-radius:50%;background:var(--cg-green);color:#07130b;font-size:20px;font-weight:900;box-shadow:0 0 0 7px #67d58a1a}.first-hole-celebration-card p{margin:0;color:var(--cg-mint);font-size:10.5px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.first-hole-celebration-card h2{margin:7px 0 8px;color:var(--cg-text);font-size:24px;line-height:1.2;letter-spacing:-.035em}.first-hole-celebration-card>span:not(.first-hole-celebration-mark){color:var(--cg-text-soft);font-size:13px}.first-hole-celebration-card button{min-height:40px;margin-top:20px;padding:0 18px;border:0;border-radius:9px;background:var(--cg-green);color:#07130b;font:800 13px var(--cg-font);cursor:pointer}.first-hole-celebration-card button:hover{filter:brightness(1.08)}@media (prefers-reduced-motion: reduce){.first-hole-celebration,.first-hole-celebration-card,.first-hole-confetti i{animation:none}.first-hole-confetti{display:none}}.active-tool-indicator{max-width:min(680px,calc(100% - 32px));min-height:52px;padding:9px 10px 9px 14px;display:flex;align-items:center;gap:12px;position:absolute;left:50%;bottom:18px;transform:translate(-50%);border:1px solid var(--cg-line-strong);border-radius:15px;background:#06110bde;color:var(--cg-text);box-shadow:var(--cg-shadow-md),inset 0 1px #ffffff0b;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);z-index:80;pointer-events:auto;animation:activeToolEnter .18s var(--cg-ease)}@keyframes activeToolEnter{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.active-tool-accent{width:3px;height:34px;flex:0 0 3px;border-radius:99px;background:linear-gradient(var(--cg-green),var(--cg-gold));box-shadow:0 0 16px #67d58a4d}.active-tool-copy{min-width:154px;display:grid;grid-template-columns:max-content 1fr;align-items:baseline;column-gap:8px}.active-tool-copy .active-tool-eyebrow{grid-column:1 / -1;margin-bottom:1px;color:var(--cg-green);font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.active-tool-copy strong{color:var(--cg-text);font-size:13px;font-weight:750;white-space:nowrap}.active-tool-copy>span:last-child{min-width:0;overflow:hidden;color:var(--cg-text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.active-tool-details{display:flex;align-items:center;gap:5px}.active-tool-details span{padding:5px 7px;border:1px solid var(--cg-line);border-radius:6px;background:#ffffff0a;color:var(--cg-text-soft);font-size:11px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.active-tool-indicator .cancel-tool-button{min-width:42px;height:38px;margin-left:auto;display:grid;place-items:center;border:1px solid var(--cg-line);border-radius:var(--cg-radius-sm);background:#ffffff0b;color:var(--cg-text-soft);cursor:pointer;transition:background .14s var(--cg-ease),border-color .14s var(--cg-ease),color .14s var(--cg-ease)}.active-tool-indicator .cancel-tool-button:hover{border-color:var(--cg-line-strong);background:#ffffff14;color:var(--cg-text)}.cancel-tool-button kbd{border:0;background:transparent;color:inherit;font-family:var(--cg-font);font-size:11px;font-weight:800}.designer-notice{width:min(390px,calc(100vw - 32px));min-height:68px;padding:13px 42px 13px 14px;display:grid;grid-template-columns:4px 1fr;gap:12px;align-items:center;position:fixed;right:18px;bottom:18px;z-index:12000;border:1px solid var(--cg-line-strong);border-radius:var(--cg-radius-lg);background:var(--cg-panel-strong);box-shadow:var(--cg-shadow-md);backdrop-filter:var(--cg-blur);-webkit-backdrop-filter:var(--cg-blur);animation:noticeEnter .18s var(--cg-ease)}@keyframes noticeEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.designer-notice-mark{width:4px;height:34px;border-radius:99px;background:var(--cg-blue)}.designer-notice.success .designer-notice-mark{background:var(--cg-green)}.designer-notice.warning .designer-notice-mark{background:var(--cg-warning)}.designer-notice.error .designer-notice-mark{background:var(--cg-danger)}.designer-notice strong{display:block;color:var(--cg-text);font-size:13px;font-weight:750}.designer-notice p{margin:3px 0 0;color:var(--cg-text-soft);font-size:12px;line-height:1.45}.designer-notice>button{width:28px;height:28px;position:absolute;top:9px;right:9px;border:0;border-radius:7px;background:transparent;color:var(--cg-text-muted);font-size:17px;cursor:pointer}.designer-notice>button:hover{background:#ffffff0f;color:var(--cg-text)}.designer-modal-overlay{position:fixed;inset:0;padding:20px;display:flex;align-items:center;justify-content:center;z-index:10000;background:#020704c2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:designerFadeIn .15s ease-out}@keyframes designerFadeIn{0%{opacity:0}to{opacity:1}}.designer-modal{width:min(540px,100%);max-width:540px;padding:25px;border:1px solid var(--cg-line-strong);border-radius:var(--cg-radius-xl);background:linear-gradient(145deg,#0c1d14fa,#06110bfa);box-shadow:var(--cg-shadow-lg),inset 0 1px #ffffff0d;color:var(--cg-text);animation:designerModalEnter .18s var(--cg-ease)}@keyframes designerModalEnter{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.designer-modal-eyebrow{color:var(--cg-warning);font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.designer-modal h2{margin:6px 0 13px;color:var(--cg-text);font-size:23px;font-weight:730;letter-spacing:-.035em}.designer-modal p{margin:0 0 12px;color:var(--cg-text-soft);font-size:14px;line-height:1.5}.designer-modal p strong{color:var(--cg-text)}.designer-modal .modal-buttons{margin-top:21px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.designer-modal .modal-button{min-height:40px;padding:0 14px;border:1px solid var(--cg-line);border-radius:var(--cg-radius-sm);background:#ffffff0b;color:var(--cg-text-soft);font-size:12.5px;font-weight:750;cursor:pointer}.designer-modal .modal-button:hover{background:#ffffff14;color:var(--cg-text)}.designer-modal .modal-button.warn{border-color:#efc66b40;color:var(--cg-gold)}.designer-modal .modal-button.confirm{border-color:#ff7a723d;background:#ff7a721a;color:var(--cg-danger)}.designer-modal .modal-button.confirm:hover{background:#ff7a7229}.playtest-overlay{position:fixed;inset:0;z-index:20000}@media (max-width: 1100px){.active-tool-indicator{max-width:calc(100% - 24px);bottom:12px}.active-tool-copy{min-width:132px}.active-tool-copy>span:last-child{max-width:180px}}@media (max-width: 820px){.active-tool-details{display:none}}@media (max-height: 700px){.active-tool-indicator{min-height:52px;bottom:10px}}.game-hud{position:fixed;top:0;left:0;right:0;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:20px;background:#0f0f14;border-bottom:2px solid rgba(76,175,80,.3);color:#fff;box-shadow:0 2px 16px #0006;z-index:200;pointer-events:none}.hud-button{padding:8px 16px;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;pointer-events:auto;transition:all .2s ease;color:#fff;flex-shrink:0}.hud-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.hud-button:active{transform:translateY(0)}.hud-button-exit{background:#ff5050e6}.hud-button-exit:hover{background:#ff6464}.hud-button-settings{background:#2196f3e6;font-size:18px;padding:8px 14px}.hud-button-settings:hover{background:#2196f3}.hud-left{display:flex;align-items:center;gap:16px}.hud-hole-name{font-size:16px;font-weight:600;color:#fffffff2;letter-spacing:.5px}.hud-par{font-size:13px;color:#fff9;padding:4px 10px;background:#4caf5033;border-radius:4px;border:1px solid rgba(76,175,80,.3)}.hud-center{display:flex;align-items:center;gap:10px}.hud-right{display:flex;align-items:center;gap:16px}.hud-strokes{display:flex;gap:8px;align-items:center}.hud-value{font-size:20px;font-weight:700;color:#fff}.hud-score{font-size:18px;font-weight:700;padding:4px 12px;border-radius:6px;min-width:42px;text-align:center}.hud-score.under-par{background:#50c87840;color:#50ff50;border:1px solid rgba(80,255,80,.5)}.hud-score.even-par{background:#64646440;color:#fff;border:1px solid rgba(255,255,255,.3)}.hud-score.over-par{background:#ff646440;color:#ff5050;border:1px solid rgba(255,80,80,.5)}.hud-distance-icon{font-size:20px}.hud-distance-value{font-size:20px;font-weight:700;color:gold;text-shadow:0 1px 3px rgba(0,0,0,.5)}.hud-debug{position:fixed;bottom:20px;left:20px;padding:12px 16px;font-size:11px;font-family:monospace;background:#000000d9;border:1px solid rgba(255,255,0,.4);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:150;pointer-events:none}.hud-debug-label{color:#ffff00e6;margin-bottom:4px}.hud-debug-coords{color:#fffc}.club-selector{position:fixed;top:80px;left:20px;z-index:100;pointer-events:auto}.club-selector-toggle{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#64b4ff26,#4caf5026);border:2px solid rgba(100,180,255,.4);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0006,0 0 20px #64b4ff33}.club-selector-toggle:hover:not(:disabled){transform:scale(1.1);border-color:#64b4ff99;box-shadow:0 6px 20px #00000080,0 0 30px #64b4ff66}.club-selector-toggle:active:not(:disabled){transform:scale(.95)}.club-abbr{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;letter-spacing:.5px;text-transform:uppercase}.club-list{display:flex;flex-direction:column;gap:8px;margin-top:12px;animation:expandDown .2s ease-out}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.club-circle{width:50px;height:50px;border-radius:50%;background:#ffffff14;border:2px solid rgba(255,255,255,.15);color:#fffc;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.club-circle:hover:not(:disabled){background:#64b4ff33;border-color:#64b4ff66;transform:translate(4px) scale(1.05);color:#fff}.club-circle.selected{background:#64b4ff4d;border-color:#64b4ff;color:#fff;box-shadow:0 0 12px #64b4ff80}.club-circle.recommended{border-color:#ffd70080;box-shadow:0 0 8px #ffd7004d}.club-circle.recommended.selected{border-color:#64b4ff;box-shadow:0 0 12px #64b4ff80,0 0 8px #ffd7004d}@media (max-width: 768px){.club-selector{top:70px;left:15px}.club-selector-toggle{width:50px;height:50px;font-size:14px}.club-circle{width:45px;height:45px;font-size:12px}}.input-mode-selector-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.input-mode-selector{background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:12px;padding:32px;max-width:600px;width:90%;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1)}.input-mode-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.input-mode-header h2{color:#fff;font-size:24px;font-weight:600;margin:0}.close-button{background:transparent;border:none;color:#999;font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.close-button:hover{color:#fff}.input-mode-content{display:flex;flex-direction:column;gap:24px}.setting-group{display:flex;flex-direction:column;gap:12px}.setting-group h3{color:#fff;font-size:16px;font-weight:500;margin:0}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s}.radio-option:hover{background:#ffffff14;border-color:#4caf5080}.radio-option.selected{background:#4caf5026;border-color:#4caf50}.radio-option input[type=radio]{margin-top:2px;cursor:pointer;accent-color:#4caf50}.radio-content{flex:1}.radio-title{color:#fff;font-size:16px;font-weight:500;margin-bottom:4px}.radio-description{color:#aaa;font-size:14px;line-height:1.4}.info-box{background:#2196f31a;border:1px solid rgba(33,150,243,.3);border-radius:8px;padding:16px;color:#ccc;font-size:14px;line-height:1.6}.info-box strong{color:#fff;display:block;margin-bottom:8px;font-size:15px}.info-box p{margin:0 0 12px}.info-box p:last-child{margin-bottom:0}.info-box kbd{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:2px 8px;font-family:monospace;font-size:13px;color:#fff}.input-mode-footer{margin-top:24px;display:flex;justify-content:flex-end}.primary-button{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:12px 32px;font-size:15px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #4caf504d}.primary-button:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 16px #4caf5066;transform:translateY(-1px)}.primary-button:active{transform:translateY(0);box-shadow:0 2px 8px #4caf504d}@media (max-width: 600px){.input-mode-selector{padding:24px;width:95%}.input-mode-header h2{font-size:20px}.radio-option{padding:12px}.radio-title{font-size:15px}.radio-description{font-size:13px}}.launch-monitor-sidebar{position:fixed;top:60px;right:0;bottom:0;width:380px;background:#0f0f14;border-left:2px solid rgba(76,175,80,.3);box-shadow:-8px 0 32px #0009;z-index:100;display:flex;flex-direction:column;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.lms-header{padding:20px;border-bottom:1px solid rgba(76,175,80,.2);background:#0003;flex-shrink:0}.lms-title{font-size:13px;font-weight:700;letter-spacing:1.5px;color:#4caf50;text-transform:uppercase;margin-bottom:8px}.lms-shot-shape{font-size:18px;font-weight:700;letter-spacing:1px;padding:8px 16px;background:#ffffff0d;border-radius:6px;text-transform:uppercase;text-align:center}.lms-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px}.lms-content::-webkit-scrollbar{width:8px}.lms-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.lms-content::-webkit-scrollbar-thumb{background:#4caf504d;border-radius:4px}.lms-content::-webkit-scrollbar-thumb:hover{background:#4caf5080}.lms-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666;text-align:center;padding:40px 20px}.lms-empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.lms-empty-text{font-size:18px;font-weight:600;color:#888;margin-bottom:8px}.lms-empty-hint{font-size:14px;color:#666;font-style:italic}.lms-section{margin-bottom:24px}.lms-section:last-child{margin-bottom:0}.lms-section-title{font-size:11px;font-weight:700;letter-spacing:1.2px;color:#999;text-transform:uppercase;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.lms-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lms-metric{background:#ffffff08;padding:12px;border-radius:6px;border:1px solid rgba(255,255,255,.05);transition:all .2s}.lms-metric:hover{background:#ffffff0f;border-color:#4caf504d}.lms-metric.highlight{background:#4caf501a;border-color:#4caf504d}.lms-metric-label{font-size:10px;font-weight:500;color:#aaa;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.lms-metric-value{font-size:20px;font-weight:700;color:#fff;font-family:Courier New,monospace;line-height:1}.lms-unit{font-size:12px;font-weight:500;color:#888;margin-left:2px}.lms-footer{padding:16px 20px;border-top:1px solid rgba(76,175,80,.2);background:#0003;flex-shrink:0;display:flex;flex-direction:column;gap:10px}.lms-footer-text{font-size:11px;color:#999;text-align:center;font-weight:600;margin-bottom:4px}.lms-download-btn,.lms-clear-btn{padding:10px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.lms-download-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 2px 8px #4caf504d}.lms-download-btn:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.lms-download-btn:disabled{background:#4caf5033;color:#666;cursor:not-allowed;box-shadow:none}.lms-clear-btn{background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.3)}.lms-clear-btn:hover{background:#f4433633;border-color:#f4433680;transform:translateY(-1px)}@media (max-width: 1200px){.launch-monitor-sidebar{width:320px}.lms-metric-value{font-size:18px}}@media (max-height: 700px){.lms-header{padding:12px 16px}.lms-content{padding:12px}.lms-section{margin-bottom:16px}}
