:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f3f0e7;font-synthesis:none;text-rendering:optimizelegibility;--ink:#0a0e0d;--ink-2:#101615;--ink-3:#18201e;--line:#f0f2e724;--muted:#8b9690;--paper:#f3f0e7;--acid:#d9ff45;--copper:#c89464;--safe-top:env(safe-area-inset-top,0px);background:#0a0e0d;font-family:Manrope,sans-serif}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{background:var(--ink);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.app-shell{background:radial-gradient(circle at 18% 20%, #19211e 0, transparent 35%), var(--ink);min-height:100vh;overflow:hidden}.topbar{height:calc(72px + var(--safe-top));border-bottom:1px solid var(--line);padding:var(--safe-top) 26px 0;z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0e0de6;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.brand{color:inherit;align-items:center;gap:13px;width:max-content;text-decoration:none;display:inline-flex}.brand__mark{border:1px solid #d9ff457a;place-items:center;width:40px;height:40px;display:grid;position:relative;transform:rotate(45deg)}.brand__mark span{font:500 12px DM Mono;transform:rotate(-45deg)}.brand__mark i{background:var(--acid);color:var(--ink);padding:2px 4px;font:500 8px DM Mono;position:absolute;bottom:-7px;right:-8px;transform:rotate(-45deg)}.brand__text{letter-spacing:-.02em;text-transform:uppercase;font-size:13px}.brand__text b{color:var(--acid);font-weight:700}.topbar__status{text-transform:uppercase;letter-spacing:.11em;color:var(--muted);align-items:center;gap:8px;font:400 10px DM Mono;display:flex}.live-dot{background:var(--acid);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 5px #d9ff4514,0 0 16px #d9ff45b8}.topbar__actions{justify-self:end;gap:8px;display:flex}.mode-switch{border:1px solid var(--line);background:#080d0c;grid-template-columns:1fr 1fr;justify-self:center;padding:3px;display:grid}.mode-switch button{min-height:32px;color:var(--muted);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 13px;font:500 8px DM Mono;transition:color .2s,background .2s;display:flex}.mode-switch button[aria-pressed=true]{background:var(--acid);color:var(--ink)}.icon-button,.save-button,.full-button{border:1px solid var(--line);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;background:0 0;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font:500 10px DM Mono;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.icon-button:hover{background:#ffffff0a;border-color:#f3f0e759}.save-button,.full-button{background:var(--acid);color:var(--ink);border-color:var(--acid);font-weight:500}.save-button:hover,.full-button:hover{background:#e5ff7c}.studio{grid-template-columns:minmax(0,1fr) 372px;display:grid;position:relative}.stage{min-width:0;height:calc(100vh - 72px - var(--safe-top));border-right:1px solid var(--line);background:#0b100f;min-height:690px;position:sticky;top:0;overflow:hidden}.stage:before{content:"";pointer-events:none;z-index:3;background:linear-gradient(90deg,#080c0b6b,#0000 32%),linear-gradient(#0000 75%,#080c0b8c);position:absolute;inset:0}.stage__intro{z-index:5;pointer-events:none;position:absolute;top:31px;left:28px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--acid);font:500 9px DM Mono}.stage__intro h1{letter-spacing:-.035em;margin:11px 0 7px;font:400 clamp(38px,4vw,66px)/.88 Instrument Serif,serif}.stage__intro h1 em{color:var(--acid);font-weight:400}.stage__intro p{letter-spacing:.04em;color:#f3f0e79e;font:300 10px DM Mono}.simulator-canvas{position:absolute;inset:0}.simulator-canvas canvas{display:block}.dimension-strip{z-index:5;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.06em;background:#0a0e0db8;align-items:center;gap:12px;padding:10px 13px;font:400 10px DM Mono;display:flex;position:absolute;top:29px;right:26px}.dimension-strip span{align-items:center;gap:6px;display:flex}.dimension-strip i{background:var(--line);width:1px;height:12px}.stage__hint{z-index:5;color:#f3f0e78c;text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:7px;font:400 9px DM Mono;display:flex;position:absolute;bottom:106px;right:26px}.course-title{z-index:5;pointer-events:none;position:absolute;bottom:104px;left:28px}.course-title>span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font:400 9px DM Mono}.course-title h2{margin:4px 0 2px;font:400 27px Instrument Serif}.course-title p{color:var(--acid);text-transform:uppercase;letter-spacing:.08em;margin:0;font:400 9px DM Mono}.metric-bar{z-index:5;bottom:0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080c0bdb;grid-template-columns:repeat(4,1fr);height:77px;display:grid;position:absolute;inset-inline:0}.metric-bar div{border-right:1px solid var(--line);padding:16px 20px}.metric-bar span,.metric-bar strong{display:block}.metric-bar span{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:7px;font:400 8px DM Mono}.metric-bar strong{font:400 15px DM Mono}.app-shell--play .stage:before{background:linear-gradient(90deg,#080c0b80,#0000 30%),linear-gradient(#0000 73%,#080c0ba3)}.app-shell--play .stage__intro h1{font-size:clamp(35px,3.3vw,57px)}.play-strip{border-color:#d9ff4540}.play-metrics strong{color:var(--acid)}.control-dock{background:#111615;flex-direction:column;min-height:calc(100vh - 72px);display:flex}.control-dock__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:91px;padding:20px 22px 17px;display:flex}.control-dock__head h2{margin:5px 0 0;font:400 24px Instrument Serif}.model-pill{color:var(--acid);border:1px solid #d9ff4547;align-items:center;gap:5px;padding:6px 8px;font:500 8px DM Mono;display:flex}.control-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.control-tabs button{border:0;border-right:1px solid var(--line);cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;background:0 0;justify-content:center;align-items:center;gap:7px;padding:13px 5px;font:500 9px DM Mono;display:flex;position:relative}.control-tabs button[aria-selected=true]{color:var(--paper);background:#ffffff06}.control-tabs button[aria-selected=true]:after{content:"";background:var(--acid);height:2px;position:absolute;bottom:-1px;left:13px;right:13px}.control-dock__body{flex:1;padding:2px 22px 24px}.control-section{border-bottom:1px solid var(--line);padding:19px 0 21px}.section-title{align-items:center;gap:9px;margin-bottom:18px;display:flex}.section-title span{color:var(--acid);font:500 8px DM Mono}.section-title h3{text-transform:uppercase;letter-spacing:.1em;margin:0;font:500 11px DM Mono}.range-control{margin:17px 0;display:block}.range-control__top{color:var(--muted);justify-content:space-between;align-items:baseline;font-size:11px;display:flex}.range-control output{color:var(--paper);font:500 11px DM Mono}.range-control input{appearance:none;background:linear-gradient(90deg, var(--acid), #ffffff26);cursor:pointer;width:100%;height:2px;margin:13px 0 0;display:block}.range-control input::-webkit-slider-thumb{appearance:none;background:var(--acid);width:11px;height:11px;box-shadow:0 0 0 1px var(--acid);border:2px solid #172019;transform:rotate(45deg)}.range-control__ticks{justify-content:space-between;margin-top:7px;display:flex}.range-control__ticks i{color:#56605b;font:7px DM Mono}.choice-field{border:0;margin:0;padding:0}.choice-field legend{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.choice-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.choice{border:1px solid var(--line);text-align:left;cursor:pointer;background:#151c1a;flex-direction:column;justify-content:center;min-height:55px;padding:8px 5px;transition:border-color .2s,background .2s;display:flex}.choice>span{font-size:9px;font-weight:600}.choice small{color:var(--muted);margin-top:4px;font:400 7px DM Mono}.choice[aria-pressed=true]{border-color:var(--acid);background:#d9ff4512}.choice[aria-pressed=true]>span{color:var(--acid)}.switch-row{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;padding:15px 0;display:flex}.switch-row>span{align-items:center;gap:11px;display:flex}.switch-row i{flex-direction:column;font-style:normal;display:flex}.switch-row b{font-size:10px}.switch-row small{color:var(--muted);margin-top:3px;font:400 7px DM Mono}.switch-row input{appearance:none;cursor:pointer;border:1px solid #3c4843;border-radius:16px;width:30px;height:16px;transition:all .2s;position:relative}.switch-row input:after{content:"";background:#69736e;border-radius:50%;width:10px;height:10px;transition:all .2s;position:absolute;top:2px;left:3px}.switch-row input:checked{border-color:var(--acid);background:#d9ff451f}.switch-row input:checked:after{background:var(--acid);left:15px}.control-dock__footer{border-top:1px solid var(--line);background:#0e1312;padding:17px 22px 22px}.clearance-note{color:#aeb7b2;gap:8px;margin:0 0 15px;font:400 8px/1.55 DM Mono;display:flex}.clearance-note svg{color:var(--copper);flex:none}.allowance{justify-content:space-between;align-items:flex-end;margin-bottom:14px;display:flex}.allowance>span{text-transform:uppercase;letter-spacing:.08em;font:500 9px DM Mono}.allowance small{color:var(--muted);margin-top:5px;font-size:7px;display:block}.allowance strong{color:var(--acid);font:400 25px Instrument Serif}.full-button{justify-content:space-between;width:100%;min-height:45px}.full-button:disabled{opacity:.5;cursor:wait}.play-dock{background:#0d1311}.play-dock__head{min-height:84px}.play-dock__head h2{font-size:27px}.hole-scoreline{border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;min-height:45px;color:var(--muted);background:#090e0d;grid-template-columns:auto auto 1fr;align-items:center;gap:13px;padding:0 22px;font:500 8px DM Mono;display:grid}.hole-scoreline span+span{border-left:1px solid var(--line);padding-left:13px}.hole-scoreline strong{color:var(--acid);justify-self:end;font-weight:500}.play-dock__body{padding-top:0}.club-section{padding-top:16px}.club-grid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.club-grid button{border:1px solid var(--line);cursor:pointer;background:#131a18;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:55px;padding:7px 3px;display:flex}.club-grid button b{font:500 13px DM Mono}.club-grid button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--muted);text-transform:uppercase;font:400 6px DM Mono;overflow:hidden}.club-grid button[aria-pressed=true]{color:var(--ink);background:var(--acid);border-color:var(--acid)}.club-grid button[aria-pressed=true] span{color:#0a0e0db8}.shot-setup{padding-bottom:16px}.play-range{margin:13px 0 17px;display:block}.play-range>span{justify-content:space-between;align-items:baseline;display:flex}.play-range i{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:400 9px DM Mono}.play-range output{color:var(--paper);font:500 10px DM Mono}.play-range input{appearance:none;background:linear-gradient(90deg, var(--acid) 0 60%, #ffffff24 60%);cursor:pointer;border-radius:0;width:100%;height:3px;margin-top:11px;display:block}.play-range input::-webkit-slider-thumb{appearance:none;background:var(--acid);width:14px;height:14px;box-shadow:0 0 0 1px var(--acid);border:2px solid #172019;transform:rotate(45deg)}.aim-range input{background:linear-gradient(90deg,#ffffff24,#ffffff24)}.shape-control{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.shape-control button{border:0;border-right:1px solid var(--line);height:32px;color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;font:500 8px DM Mono}.shape-control button:last-child{border-right:0}.shape-control button[aria-pressed=true]{color:var(--acid);background:#d9ff451a}.wind-readout{background:#d9ff4509;border:1px solid #d9ff4530;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:48px;padding:0 10px;display:grid}.wind-readout>svg{color:var(--acid)}.wind-readout span{flex-direction:column;gap:3px;display:flex}.wind-readout small,.wind-readout b{text-transform:uppercase;font:500 7px DM Mono}.wind-readout small{color:var(--muted)}.wind-readout i{background:var(--acid);color:var(--ink);text-transform:uppercase;padding:3px 5px;font:600 6px DM Mono}.shot-result{background:#121a17;border:1px solid #d9ff4540;margin-top:12px;padding:13px}.shot-result--penalty{border-color:#c894648c}.shot-result h3{margin:7px 0 12px;font:400 19px Instrument Serif}.shot-result>div{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.shot-result>div span{flex-direction:column;gap:4px;display:flex}.shot-result small{color:var(--muted);text-transform:uppercase;font:400 6px DM Mono}.shot-result b{color:var(--acid);font:500 9px DM Mono}.play-footer{padding-top:13px}.physics-note{color:var(--acid);align-items:center;gap:9px;margin-bottom:12px;display:flex}.physics-note span{flex-direction:column;gap:3px;display:flex}.physics-note b{color:var(--paper);text-transform:uppercase;font:500 8px DM Mono}.physics-note small{color:var(--muted);font:400 6px DM Mono}.swing-button{background:var(--acid);width:100%;min-height:49px;color:var(--ink);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;border:0;justify-content:space-between;align-items:center;padding:0 12px 0 15px;font:600 10px DM Mono;display:flex}.swing-button>span{align-items:center;gap:8px;display:flex}.swing-button kbd{background:#0a0e0d14;border:1px solid #0a0e0d4d;padding:4px 6px;font:500 7px DM Mono}.swing-button:disabled{cursor:default;opacity:.55}.play-actions{grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;display:grid}.play-actions button{border:1px solid var(--line);min-height:33px;color:var(--muted);cursor:pointer;text-transform:uppercase;background:0 0;justify-content:center;align-items:center;gap:6px;font:500 7px DM Mono;display:flex}.play-actions button:hover:not(:disabled){color:var(--paper);border-color:#f3f0e757}.play-actions button:disabled{opacity:.35;cursor:default}.course-rail{color:#101514;background:#e8e4d7;border-top:1px solid #bbb9ad;grid-column:1/-1;grid-template-columns:258px 1fr;gap:30px;padding:48px 26px 44px;display:grid}.course-rail .eyebrow{color:#526619}.course-rail__heading h2{margin:9px 0 12px;font:400 43px/.92 Instrument Serif}.course-rail__heading p{color:#5d625f;max-width:230px;font-size:10px;line-height:1.6}.course-list{scroll-snap-type:x mandatory;grid-auto-columns:minmax(210px,1fr);grid-auto-flow:column;gap:8px;padding-bottom:12px;display:grid;overflow-x:auto}.course-card{text-align:left;cursor:pointer;scroll-snap-align:start;background:#d8d4c7;border:1px solid #10151429;flex-direction:column;min-height:232px;padding:0;display:flex;position:relative;overflow:hidden}.course-card[aria-pressed=true]{outline-offset:-2px;outline:2px solid #1c2918}.course-card__index{z-index:2;color:#fff;background:#080d0c8c;padding:4px 5px;font:500 8px DM Mono;position:absolute;top:11px;left:12px}.course-card__landscape{background:linear-gradient(var(--course-a), #dfe5d2 62%);height:132px;display:block;position:relative;overflow:hidden}.course-card__landscape:before{content:"";background:var(--course-b);border-radius:50% 50% 0 0;height:88%;position:absolute;bottom:-38%;left:-15%;right:-15%;transform:rotate(-3deg)}.course-card__landscape:after{content:"";background:#9fac71;border-radius:50% 50% 0 0;width:38%;height:68%;position:absolute;bottom:-18%;left:45%;transform:rotate(7deg);box-shadow:-58px 8px 0 -42px #d7c087}.course-card__landscape i{z-index:1;border-bottom:48px solid #314b35;border-left:14px solid #0000;border-right:14px solid #0000;width:0;height:0;position:absolute;bottom:38px}.course-card__landscape i:first-child{left:12%;transform:scale(.8)}.course-card__landscape i:nth-child(2){left:24%}.course-card__landscape i:nth-child(3){right:10%;transform:scale(.7)}.course-card__copy{flex-direction:column;padding:14px 13px;display:flex}.course-card__copy small{text-transform:uppercase;letter-spacing:.08em;color:#66706a;font:500 7px DM Mono}.course-card__copy b{margin:4px 0 7px;font:400 18px Instrument Serif}.course-card__copy span{color:#526619;text-transform:uppercase;font:500 7px DM Mono}.course-card__arrow{opacity:.4;position:absolute;bottom:15px;right:12px}.course-card:hover .course-card__arrow{opacity:1}.site-footer{border-top:1px solid var(--line);min-height:60px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;grid-column:1/-1;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:20px;padding:0 26px;font:400 7px DM Mono;display:grid}.site-footer span:nth-child(2){text-align:center}.site-footer span:last-child{text-align:right;color:var(--acid)}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:#030706c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.save-modal{background:#111816;border:1px solid #f3f0e73d;width:min(480px,100%);padding:34px;position:relative;box-shadow:0 28px 90px #0000007a}.save-modal h2{margin:10px 0 7px;font:400 35px Instrument Serif}.save-modal>p{color:var(--muted);font-size:11px;line-height:1.65}.modal-close{border:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:14px;right:14px}.text-field{flex-direction:column;gap:7px;margin:23px 0 17px;display:flex}.text-field span{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font:500 8px DM Mono}.text-field input{border:1px solid var(--line);height:47px;color:var(--paper);background:#0b100f;padding:0 13px}.share-result{border:1px solid #d9ff4561;grid-template-columns:1fr auto;align-items:center;min-width:0;padding-left:12px;display:grid}.share-result span{white-space:nowrap;text-overflow:ellipsis;color:var(--acid);font:400 9px DM Mono;overflow:hidden}.share-result button{cursor:pointer;background:#d9ff4514;border:0;border-left:1px solid #d9ff4561;align-items:center;gap:6px;height:42px;font:500 8px DM Mono;display:flex}.notice{color:var(--acid);margin-top:13px;font:400 9px DM Mono}.toast{z-index:40;background:var(--acid);color:var(--ink);padding:12px 15px;font:500 9px DM Mono;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 40px #00000052}@media (max-width:1100px){.studio{grid-template-columns:1fr 336px}.metric-bar div{padding-inline:12px}.metric-bar strong{font-size:12px}.course-rail{grid-template-columns:220px 1fr}}@media (max-width:820px){.topbar{grid-template-columns:auto 1fr auto;padding-inline:17px}.topbar__status{display:none}.mode-switch{justify-self:center}.icon-button span{display:none}.studio{display:block}.stage{border-right:0;height:70svh;min-height:570px;position:relative}.control-dock{border-top:1px solid var(--line);min-height:auto}.control-dock__body{min-height:450px}.course-rail{padding:36px 18px;display:block}.course-rail__heading{margin-bottom:25px}.course-list{grid-auto-columns:235px}.site-footer{grid-template-columns:1fr;gap:8px;padding:20px 18px}.site-footer span,.site-footer span:nth-child(2),.site-footer span:last-child{text-align:left}}@media (max-width:540px){.topbar{height:calc(64px + var(--safe-top))}.brand__text{display:none}.mode-switch button{width:35px;padding:0}.mode-switch button span{display:none}.save-button{padding-inline:11px}.stage{height:72svh;min-height:540px}.stage__intro{top:22px;left:16px}.stage__intro h1{font-size:40px}.stage__intro p{max-width:220px;line-height:1.5}.dimension-strip{inset:auto auto 142px 16px}.stage__hint{display:none}.course-title{bottom:91px;left:16px}.metric-bar{grid-template-columns:repeat(2,1fr);height:70px}.metric-bar div{padding:11px 12px}.metric-bar div:nth-child(n+3){display:none}.control-dock__head,.control-dock__body,.control-dock__footer,.hole-scoreline{padding-inline:17px}.club-grid{grid-template-columns:repeat(4,1fr)}.choice-grid{grid-template-columns:repeat(2,1fr)}.save-modal{padding:28px 20px 22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
