@import "https://fonts.googleapis.com/css2?family=Anton&family=Pacifico&display=swap";:root{--ink:#111;--paper:#fffdf6;--gold:#ffe14a;--grass:#1f7a3a;--sky:#4eb7ff;--display:"Anton", sans-serif;--script:"Pacifico", cursive;--ui:"Anton", "Segoe UI", system-ui, sans-serif;color:var(--paper);font-family:var(--display);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#0d3a1c}*{box-sizing:border-box}html,body,#root,.app{width:100%;height:100%;font-family:var(--display);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;overflow:hidden}.app{position:relative}.top{z-index:2;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:14px 18px;display:flex;position:absolute;top:0;left:0;right:0}.top button,.top-actions{pointer-events:auto}.top-actions{gap:8px;display:flex}.zoom-dock{z-index:3;pointer-events:auto;gap:6px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.zoom-dock .ghost.small{min-width:36px;font-family:var(--display);text-transform:uppercase}.day,.kicker,.wind-chip,.club,.swing,.ghost,.slider span,.spin-snap,.result h2,.result .sub,.result .meta,.sheet h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em}.brand{font-family:var(--script);color:var(--gold);text-transform:none;letter-spacing:0;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;margin:0;font-size:42px;font-weight:700;line-height:.95}.landing{z-index:4;text-align:center;background:radial-gradient(circle at top,#167a36,#082010 70%);flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:24px;display:flex;position:absolute;inset:0}.landing-title{-webkit-text-stroke:4px var(--ink);font-size:clamp(72px,18vw,160px)}.landing-play{width:auto;min-width:180px;min-height:56px;padding:10px 36px;font-size:28px}.landing-tag{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;margin:0;font-size:clamp(18px,3.4vw,28px);line-height:1.25}.day,.kicker,.sub,.meta,.hint,.share-status,.sheet p{margin:6px 0 0}.day{color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:20px}.course{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.course.aiming{cursor:grab}.course.aiming:active{cursor:grabbing}.hud-left,.hud-right{z-index:2;border:2px solid var(--ink);background:#082010d1;border-radius:12px;flex-direction:column;gap:5px;max-height:none;padding:7px;display:flex;position:absolute;top:118px;bottom:16px;overflow:hidden}.hud-left{width:168px;right:12px}.hud-right{width:58px;left:12px}.wind-chip{background:var(--gold);color:var(--ink);border:2px solid var(--ink);text-align:center;padding:3px 6px;font-size:12px}.club,.swing,.ghost{border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff;padding:5px 6px;font-size:14px}.club.on,.swing{background:var(--gold)}.club:disabled,.swing:disabled{opacity:.45;cursor:not-allowed}.ghost{color:#fff;background:#0820108c}.ghost.small{font-size:16px}.slider{gap:2px;font-size:12px;display:grid}.slider input{width:100%;accent-color:var(--gold)}.spin-snap{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.spin-snap:disabled{cursor:not-allowed}.swing{width:100%;min-height:36px;font-size:16px}.landing .swing{width:auto;min-width:180px;min-height:56px;padding:10px 36px;font-size:28px}.hud-right .club{flex:1 1 0;width:100%;min-height:0;padding:4px 2px;font-size:15px}.result{z-index:2;text-align:center;border:3px solid var(--ink);background:#082010d6;border-radius:16px;justify-items:center;gap:8px;width:min(440px,100% - 24px);padding:16px;display:grid;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.result h2{color:var(--gold);-webkit-text-stroke:7px var(--ink);paint-order:stroke fill;margin:0;font-size:72px;line-height:.9}.result .sub,.result .meta{-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;font-size:24px}.share-text{border:3px solid var(--ink);color:#fff;width:100%;font-family:var(--display);letter-spacing:.04em;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#082010;margin:0;padding:10px 14px;font-size:16px}.hint,.share-status,.sheet p{color:#e9ffe9;max-width:420px}.modal{z-index:5;background:#0000008c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sheet{border:4px solid var(--ink);text-align:center;background:#145c28;max-width:420px;padding:24px}.sheet h2{color:var(--gold);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;margin:0 0 8px;font-size:40px}@media (width<=640px){.top .brand{-webkit-text-stroke:2px var(--ink);font-size:36px}.day{font-size:18px}.result h2{font-size:52px}.hud-left{width:auto;padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));z-index:3;border-radius:16px 16px 0 0;grid-template-columns:1fr 1fr;gap:10px 14px;display:grid;inset:auto 0 0}.hud-left .slider{gap:4px;min-width:0;font-size:14px}.hud-left .slider input{width:100%;height:28px}.hud-left .swing{grid-column:1/-1;min-height:52px;font-size:22px}.hud-right{gap:6px;width:76px;padding:8px;inset:84px auto 262px 6px}.hud-right .club{font-size:16px}.club,.swing,.ghost,.slider span,.spin-snap{font-family:var(--display)}}@media (width<=640px) and (height>=740px){.hud-left{padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));gap:12px 16px}.hud-left .slider{font-size:16px}.hud-left .slider input{height:34px}.hud-left .swing{min-height:58px;font-size:24px}.hud-right{bottom:280px}}
