:root{--gspc-green:#5bba6f;--gspc-gold:#c8a84b;--gspc-ink:#071009;--gspc-card:#111b13;--gspc-line:rgba(255,255,255,.11)}
.gspc-overlay{position:fixed;top:0;left:0;right:0;bottom:var(--gs-nav-h,0px);z-index:15000;display:none;background:#071009;color:#f6f5ef;overscroll-behavior:none}.gspc-overlay.open{display:block}.gspc-shell{height:100%;max-width:620px;margin:0 auto;display:flex;flex-direction:column;background:radial-gradient(100% 46% at 50% 0,rgba(40,90,48,.22),transparent 70%),linear-gradient(180deg,#09150c,#070d08)}
.gspc-top{display:flex;align-items:center;gap:9px;min-height:62px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid rgba(255,255,255,.06);flex:0 0 auto}.gspc-back,.gspc-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#fff;font-size:20px;display:grid;place-items:center;cursor:pointer}.gspc-topcopy{flex:1;min-width:0}.gspc-brand{font-size:9px;font-weight:800;letter-spacing:1.9px;color:var(--gspc-gold);text-transform:uppercase}.gspc-progress{font-size:11px;color:rgba(255,255,255,.48);margin-top:2px}
.gspc-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:24px 16px calc(28px + env(safe-area-inset-bottom));scrollbar-width:none}.gspc-scroll::-webkit-scrollbar{display:none}.gspc-stage{animation:gspcIn .24s ease both}@keyframes gspcIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.gspc-eyebrow{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#73d487;margin-bottom:9px}.gspc-title{font-size:clamp(27px,7vw,38px);line-height:1.08;letter-spacing:-.7px;margin:0;max-width:500px}.gspc-lead{font-size:14px;line-height:1.55;color:rgba(255,255,255,.62);margin:11px 0 22px;max-width:510px}.gspc-small{font-size:11px;line-height:1.5;color:rgba(255,255,255,.42)}
.gspc-player-intro{text-align:center;max-width:520px;margin:0 auto}.gspc-player-intro .gspc-eyebrow{margin-bottom:7px}.gspc-player-intro .gspc-title{margin-inline:auto}.gspc-player-intro .gspc-lead{max-width:430px;margin:9px auto 10px}
.gspc-player{position:relative;width:min(100%,480px);aspect-ratio:1122/1402;margin:0 auto 34px;isolation:isolate;contain:layout;overflow:visible}.gspc-player::before{content:"";position:absolute;inset:8% 11% 1%;border-radius:50%;background:radial-gradient(ellipse at 50% 46%,rgba(78,208,96,.12),rgba(4,17,8,0) 67%);filter:blur(8px);z-index:-1;pointer-events:none}.gspc-player-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-select:none;pointer-events:none;transform-origin:50% 64%;animation:gspcReady 5.2s ease-in-out infinite;filter:drop-shadow(0 20px 32px rgba(0,0,0,.3))}.gspc-player.image-failed{aspect-ratio:auto;min-height:400px}.gspc-player.image-failed .gspc-player-img,.gspc-player.image-failed .gspc-hotspot{display:none}
.gspc-hotspot{--size:40px;--hit-size:48px;position:absolute;left:var(--x);top:var(--y);width:var(--hit-size);height:var(--hit-size);transform:translate(-50%,-50%);border:0;border-radius:50%;padding:0;background:transparent;color:#fff;font:inherit;cursor:pointer;z-index:2;transition:opacity .2s ease,transform .2s ease,filter .2s ease}.gspc-hotspot::before{content:"";position:absolute;left:50%;top:50%;width:calc(var(--size) - 6px);height:calc(var(--size) - 6px);transform:translate(-50%,-50%);border-radius:inherit;border:1px solid rgba(115,212,135,.46);background:rgba(3,17,8,.62);box-shadow:0 0 0 3px rgba(76,198,99,.06),0 0 14px rgba(76,198,99,.12)}.gspc-hotspot::after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--size) - 22px);height:calc(var(--size) - 22px);transform:translate(-50%,-50%);border-radius:inherit;background:#edf7ed;border:2px solid #4fbd65;box-shadow:0 0 0 1px rgba(255,255,255,.5),0 0 9px rgba(85,220,110,.35);animation:gspcPulse 2.8s ease-in-out infinite}.gspc-hotspot:hover,.gspc-hotspot:focus-visible{outline:none;transform:translate(-50%,-50%) scale(1.06);filter:brightness(1.14)}.gspc-hotspot:focus-visible::before{box-shadow:0 0 0 3px #c8a84b,0 0 18px rgba(200,168,75,.35)}.gspc-hotspot.selected{transform:translate(-50%,-50%) scale(1.08);filter:brightness(1.2)}.gspc-hotspot.selected::before{border-color:#89ed9b;box-shadow:0 0 0 5px rgba(91,220,116,.14),0 0 20px rgba(91,220,116,.38)}.gspc-hotspot.dimmed{opacity:.28;filter:saturate(.45)}
.gspc-hotspot-line{position:absolute;left:50%;top:50%;width:22px;height:1px;background:linear-gradient(90deg,rgba(143,214,154,.58),rgba(143,214,154,.14));transform-origin:0 50%;transform:rotate(var(--line-angle,0deg)) translateX(25px);pointer-events:none;z-index:-1}
.gspc-hotspot-label{--label-nudge-x:0px;--label-nudge-y:0px;position:absolute;top:50%;width:max-content;max-width:105px;text-align:left;pointer-events:none;text-shadow:0 2px 6px #000}.gspc-hotspot-label.right{left:calc(100% + 8px);transform:translate(var(--label-nudge-x),calc(-50% + var(--label-nudge-y)))}.gspc-hotspot-label.left{right:calc(100% + 8px);transform:translate(var(--label-nudge-x),calc(-50% + var(--label-nudge-y)));text-align:right}.gspc-hotspot-label.below{top:calc(100% + 7px);left:50%;transform:translate(calc(-50% + var(--label-nudge-x)),var(--label-nudge-y));text-align:center}.gspc-hotspot-label b{display:block;font-size:10px;line-height:1.1;letter-spacing:.55px;text-transform:uppercase;color:#f6f5ef}.gspc-hotspot-label small{display:block;margin-top:2px;font-size:8px;line-height:1.15;color:rgba(255,255,255,.54)}.gspc-hotspot.dimmed .gspc-hotspot-label small{display:none}.gspc-hotspot.selected .gspc-hotspot-label b{color:#8df0a1}
.gspc-hotspot-footwork{--travel:92px;width:calc(var(--size) + (var(--travel) * 2));border-radius:999px}.gspc-hotspot-footwork::before,.gspc-hotspot-footwork::after{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}.gspc-hotspot-footwork::before{width:calc(var(--size) - 8px);height:calc(var(--size) - 8px);animation:gspcFootworkShuttle 7.2s ease-in-out infinite}.gspc-hotspot-footwork::after{width:calc(var(--size) - 24px);height:calc(var(--size) - 24px);animation:gspcFootworkShuttleDot 7.2s ease-in-out infinite}.gspc-hotspot-footwork:hover,.gspc-hotspot-footwork:focus-visible,.gspc-hotspot-footwork.selected{transform:translate(-50%,-50%)}
.gspc-player-fallback{position:absolute;inset:0;display:grid;align-content:center;gap:8px;padding:18px;border-radius:20px;border:1px solid rgba(91,186,111,.24);background:linear-gradient(180deg,rgba(14,41,20,.96),rgba(6,17,9,.98))}.gspc-player-fallback[hidden]{display:none}.gspc-player-fallback-title{font-size:18px;font-weight:850;text-align:center;margin-bottom:4px}.gspc-player-fallback button{min-height:48px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.045);color:#fff;font:inherit;font-size:12px;font-weight:800;text-align:left;padding:8px 12px}.gspc-player-fallback button span{display:block;margin-top:2px;color:rgba(255,255,255,.52);font-size:10px;font-weight:500}
.gspc-player-unsure{width:min(100%,480px);min-height:48px;margin:4px auto 0;padding:10px 14px;border:1px dashed rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.025);color:rgba(255,255,255,.72);font:inherit;font-size:12px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}.gspc-player-unsure span{color:var(--gspc-gold)}.gspc-player-unsure:focus-visible,.gspc-player-reset:focus-visible{outline:2px solid var(--gspc-gold);outline-offset:2px}
.gspc-region-compact{height:286px;overflow:hidden;margin:-16px 0 6px}.gspc-region-compact .gspc-player{height:390px;width:312px;margin:-32px auto 0}.gspc-region-compact .gspc-player::before{inset:15% 11% 2%}.gspc-region-compact .gspc-hotspot-label{display:none}.gspc-region-compact .gspc-hotspot.dimmed{opacity:.12}.gspc-region-panel{position:relative;padding:18px;border:1px solid rgba(91,186,111,.2);border-radius:20px;background:linear-gradient(150deg,rgba(18,48,24,.88),rgba(8,19,11,.96));box-shadow:0 18px 45px rgba(0,0,0,.2)}.gspc-region-title{font-size:25px;line-height:1.12;margin:0 0 10px}.gspc-region-aha{margin:0 0 14px;padding:11px 13px;border-left:2px solid var(--gspc-gold);border-radius:0 10px 10px 0;background:rgba(200,168,75,.07);color:rgba(255,255,255,.75);font-size:12.5px;line-height:1.48}.gspc-player-reset{width:100%;min-height:44px;margin-top:10px;border:0;background:transparent;color:rgba(255,255,255,.6);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.gspc-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;padding:11px 13px;border:1px solid rgba(91,186,111,.19);border-radius:13px;background:rgba(91,186,111,.07)}.gspc-context span{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#73d487;font-weight:800}.gspc-context strong{font-size:11px;text-align:right;color:rgba(255,255,255,.72)}.gspc-context.result-context{margin-bottom:10px}
@keyframes gspcReady{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.003)}}@keyframes gspcPulse{0%,100%{opacity:.68;transform:translate(-50%,-50%) scale(.94)}50%{opacity:.92;transform:translate(-50%,-50%) scale(1.02)}}@keyframes gspcFootworkShuttle{0%,100%{transform:translate(calc(-50% - var(--travel)),-50%)}50%{transform:translate(calc(-50% + var(--travel)),-50%)}}@keyframes gspcFootworkShuttleDot{0%,100%{opacity:.78;transform:translate(calc(-50% - var(--travel)),-50%) scale(.96)}25%,75%{opacity:.92}50%{opacity:.92;transform:translate(calc(-50% + var(--travel)),-50%) scale(.96)}}
.gspc-grid{display:grid;grid-template-columns:1fr;gap:9px}.gspc-choice{width:100%;min-height:58px;border:1px solid var(--gspc-line);border-radius:14px;background:rgba(255,255,255,.045);color:#fff;padding:13px 15px;font:inherit;font-size:14px;font-weight:700;text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer}.gspc-choice:hover,.gspc-choice:focus-visible{border-color:rgba(91,186,111,.55);background:rgba(91,186,111,.08);outline:none}.gspc-choice:active{transform:scale(.99)}.gspc-num{width:27px;height:27px;border-radius:50%;background:rgba(91,186,111,.12);color:#73d487;display:grid;place-items:center;font-size:11px;flex:0 0 auto}.gspc-choice-copy{flex:1}.gspc-choice-arrow{color:rgba(255,255,255,.28)}
.gspc-unsure{margin-top:3px;color:rgba(255,255,255,.7);border-style:dashed}.gspc-actions{display:flex;gap:9px;margin-top:18px}.gspc-primary,.gspc-secondary{min-height:50px;border-radius:13px;padding:12px 17px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.gspc-primary{border:0;background:var(--gspc-gold);color:#0b1009;flex:1}.gspc-secondary{border:1px solid rgba(255,255,255,.14);background:transparent;color:#fff}.gspc-primary:active,.gspc-secondary:active{transform:scale(.98)}
.gspc-result-head{padding:18px;border-radius:18px;background:linear-gradient(145deg,rgba(30,69,36,.74),rgba(11,25,14,.9));border:1px solid rgba(91,186,111,.25);margin-bottom:12px}.gspc-result-label{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#73d487;font-weight:800}.gspc-result-issue{font-size:24px;line-height:1.12;font-weight:800;margin-top:7px}.gspc-block{padding:17px 3px;border-bottom:1px solid rgba(255,255,255,.07)}.gspc-block:last-child{border-bottom:0}.gspc-block-label{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:var(--gspc-gold);font-weight:800;margin-bottom:7px}.gspc-block-copy{font-size:14px;line-height:1.58;color:rgba(255,255,255,.78)}.gspc-focus{font-size:20px;line-height:1.25;color:#fff;font-weight:800}.gspc-cue{font-size:22px;line-height:1.2;color:#73d487;font-weight:800;letter-spacing:-.3px}
.gspc-assets{display:grid;gap:9px;margin-top:10px}.gspc-asset{width:100%;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.04);padding:13px 14px;color:#fff;text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer}.gspc-asset>span:first-child{display:block;min-width:0}.gspc-asset:active{transform:scale(.99)}.gspc-asset-type{display:block;font-size:8px;letter-spacing:1.3px;text-transform:uppercase;color:#73d487;font-weight:800}.gspc-asset-title{display:block;font-size:14px;font-weight:800;margin-top:4px}.gspc-asset-arrow{margin-left:auto;color:var(--gspc-gold)}
.gspc-checkback{margin-top:18px;padding:17px;border-radius:17px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}.gspc-check-title{font-size:15px;font-weight:800;margin-bottom:11px}.gspc-feedback{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gspc-feedback button{min-height:46px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.04);color:rgba(255,255,255,.78);font:inherit;font-size:11px;font-weight:700;padding:8px;cursor:pointer}.gspc-feedback button.selected{border-color:#73d487;background:rgba(91,186,111,.12);color:#fff}
.gspc-pending{margin-top:18px;padding:17px;border-radius:17px;background:rgba(91,186,111,.08);border:1px solid rgba(91,186,111,.22)}.gspc-pending-title{font-size:15px;font-weight:800;color:#fff}.gspc-pending-copy{font-size:12px;line-height:1.5;color:rgba(255,255,255,.62);margin-top:5px}.gspc-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.gspc-result-actions .gspc-tertiary{grid-column:1/-1;min-height:44px;border:0;background:transparent;color:rgba(255,255,255,.58);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer}.gspc-share-status{min-height:18px;margin:7px 2px 0;color:#73d487;font-size:11px;text-align:center}
.gspc-suggest{padding:19px;border-radius:18px;background:rgba(91,186,111,.08);border:1px solid rgba(91,186,111,.3)}.gspc-suggest-prefix{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:#73d487;font-weight:800}.gspc-suggest-title{font-size:22px;font-weight:800;line-height:1.2;margin-top:8px}.gspc-suggest-copy{font-size:13px;line-height:1.55;color:rgba(255,255,255,.63);margin-top:8px}.gspc-history{margin-top:18px;padding-top:15px;border-top:1px solid rgba(255,255,255,.07)}.gspc-history button{border:0;background:none;color:rgba(255,255,255,.55);font:inherit;font-size:12px;text-decoration:underline;cursor:pointer;padding:5px 0}
body.gspc-open{overflow:hidden!important;touch-action:none}
/* Belt-and-suspenders: the Sharpen overlay fully covers the home screen, so the fixed home
   court background must never paint. Even with the overlay/nav heights aligned, this guarantees
   no home court can flash through a sub-pixel seam on notched phones. */
body.gspc-open .court-bg{display:none!important}.gspc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:540px){.gspc-grid{grid-template-columns:1fr 1fr}.gspc-scroll{padding-left:24px;padding-right:24px}.gspc-choice{min-height:66px}.gspc-player{width:500px}.gspc-hotspot-label b{font-size:12px}.gspc-hotspot-label small{font-size:9px}.gspc-region-compact{height:320px}.gspc-region-compact .gspc-player{height:440px;width:352px}}
@media(max-width:480px){.gspc-hotspot-label small{display:none}}
@media(max-width:390px){.gspc-scroll{padding:17px 12px calc(24px + env(safe-area-inset-bottom))}.gspc-title{font-size:27px}.gspc-feedback{grid-template-columns:1fr}.gspc-player-intro .gspc-lead{font-size:12.5px;line-height:1.42;margin-bottom:4px}.gspc-player{width:min(100%,370px)}.gspc-hotspot{--size:39px}.gspc-hotspot-label{max-width:98px}.gspc-hotspot-label b{font-size:9px}.gspc-hotspot-label small{display:none}.gspc-region-compact{height:245px}.gspc-region-compact .gspc-player{height:342px;width:274px;margin-top:-29px}.gspc-region-panel{padding:15px}.gspc-region-title{font-size:22px}.gspc-result-actions{grid-template-columns:1fr}}
@media(max-height:720px) and (max-width:540px){.gspc-player-intro .gspc-lead{margin-bottom:0}.gspc-player{width:min(100%,330px)}.gspc-player-unsure{margin-top:-4px}.gspc-region-compact{height:210px}.gspc-region-compact .gspc-player{height:305px;width:244px}}
@media(prefers-reduced-motion:reduce){.gspc-stage,.gspc-player-img,.gspc-hotspot::before,.gspc-hotspot::after{animation:none!important}.gspc-home-entry,.gspc-choice,.gspc-primary,.gspc-secondary,.gspc-asset,.gspc-hotspot{transition:none!important}}

/* Focus screen visual — the payoff kept the words and dropped the picture.
   The player the golfer chose from returns, with the sharpened area lit and
   the court cue as its caption, so the insight is seen before it is read. */
.gspc-result-visual{position:relative;margin:0 0 18px;border:1px solid rgba(200,168,75,.28);border-radius:18px;overflow:hidden;background:#08160d;aspect-ratio:3/2}
.gspc-rv-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;opacity:.62}
.gspc-rv-dot{position:absolute;left:var(--x);top:var(--y);width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:2px solid #7fe08f;background:rgba(127,224,143,.18);box-shadow:0 0 0 6px rgba(127,224,143,.12),0 0 18px rgba(127,224,143,.55);animation:gspcRvPulse 2.4s ease-in-out infinite}
@keyframes gspcRvPulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.12);opacity:.75}}
.gspc-rv-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(180deg,transparent,rgba(3,10,6,.92) 58%)}
.gspc-rv-area{display:block;color:#73d487;font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase}
.gspc-rv-cap strong{display:block;margin-top:3px;color:#fff;font-size:20px;line-height:1.2;font-weight:800}
@media(prefers-reduced-motion:reduce){.gspc-rv-dot{animation:none}}
@media(max-width:350px){.gspc-result-visual{aspect-ratio:4/3}.gspc-rv-cap strong{font-size:17px}}
