:root{color:#f4f0e7;background:#07110d;font-family:system-ui}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;min-height:48px}.entry,.cinematic,.game{background:#07110d url(/assets/dawn-course.png) 50%/cover;min-height:100dvh;position:relative;overflow:hidden}.entry:before,.cinematic:before,.game:before{content:"";z-index:0;background:linear-gradient(90deg,#07110ddd,#07110d33),linear-gradient(#0000,#07110dc9);position:absolute;inset:0}.entry>div,.cinematic>div,.game>*{z-index:1;position:relative}.entry{place-items:center;padding:24px;display:grid}.eyebrow,.wordmark{letter-spacing:.16em;color:#c9a96e;font-size:10px}.entry h1{margin:20px 0;font:clamp(48px,8vw,90px)/.94 Georgia,serif}.entry p{color:#aab3ae}.gold{color:#07110d;background:#c9a96e;border:0;padding:14px 24px;font-weight:700}.cinematic{align-items:flex-end;padding:45px 28px;display:flex}.cinematic>div{text-align:center;width:100%}.cinematic p{font:20px Georgia}.cinematic>i{border-top:1px solid #c9a96e;position:absolute;bottom:35px;left:28px;right:28px}.game header{height:84px;padding:18px max(20px,env(safe-area-inset-left));justify-content:space-between;font-size:13px;display:flex}.game header div{gap:7px;display:grid}.game header strong{font-size:16px}.course-mark{position:absolute;inset:84px 0 180px}.landing{text-align:center;background:#c9a96e22;border:1px solid #c9a96e;border-radius:50%;width:130px;height:56px;padding-top:18px;position:absolute;top:34%;left:calc(50% - 65px)}.landing b{color:#f4f0e7;font-size:11px}.line{transform-origin:0;background:#c9a96e;width:38%;height:2px;position:absolute;bottom:28%;left:31%}.ball{background:#fff;border-radius:50%;width:13px;height:13px;position:absolute;bottom:22%;left:49%}.flag{border-left:1px solid #fff;height:54px;position:absolute;top:30%;left:52%}.flag:after{content:"";background:#c9a96e;width:16px;height:9px;display:block}aside{background:#07110dcc;border:1px solid #fff4;gap:3px;padding:10px 13px;font-size:12px;display:grid;position:absolute;top:92px;left:20px}aside b{color:#c9a96e;letter-spacing:.1em;font-size:10px}.step{z-index:2;bottom:calc(20px + env(safe-area-inset-bottom));text-align:center;width:min(560px,100% - 32px);position:absolute;left:50%;transform:translate(-50%)}.step strong{font-size:17px;display:block}.step p{color:#d2dad5;margin:7px}.step button{color:#fff;background:#07110de8;border:1px solid #c9a96e;width:100%}.gesture{font-size:31px;animation:1.2s infinite slide;color:#c9a96e!important}.power{border:3px solid #fff4;border-radius:50%;place-items:center;width:92px;height:92px;margin:12px auto;display:grid;position:relative}.power i{clip-path:inset(calc((1 - var(--p))*100%) 0 0 0);border:3px solid #c9a96e;border-radius:50%;position:absolute;inset:-3px}.power b{font-size:20px}.impact{background:#fff3;width:240px;height:18px;margin:18px auto 8px;position:relative}.impact i{background:#c9a96e;width:16%;height:18px;position:absolute;left:42%}.impact b{border-left:2px solid #fff;height:32px;position:absolute;top:-7px}.flight{text-align:center;width:100%;font:24px Georgia;position:absolute;top:45%;left:0}.game section{z-index:3;background:#07110df2;border:1px solid #c9a96e;width:min(480px,100% - 32px);padding:22px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.game section h2{margin:8px 0;font:52px Georgia}.game section strong{color:#c9a96e;margin:16px 0;display:block}.verify{color:#c9a96e;background:0 0;border:0;display:block}.hashes{font-size:10px}.hashes label{grid-template-columns:90px 1fr;display:grid}.hashes code{overflow-wrap:anywhere}.tutorial{z-index:4;background:#07110dee;place-content:center;padding:28px;font-size:17px;display:grid;position:absolute;inset:0}.tutorial strong{color:#c9a96e;font:28px Georgia}.tutorial button{color:#fff;background:0 0;border:1px solid #c9a96e;margin-top:14px}@keyframes slide{50%{transform:translate(12px)}}@media (width>=800px){.step,.game section{bottom:28px}.tutorial{width:330px;inset:auto 28px 28px auto}.game header{padding-inline:42px}}body{font-size:16px;line-height:1.5}.cinematic{background:#07110d;position:relative}.cinematic .scene{opacity:0;will-change:opacity,transform;background-image:url(/assets/dawn-course.png);background-position:50%;background-size:cover;animation:20s linear infinite sceneFade;position:absolute;inset:0}.cinematic .scene:after{content:"";background:linear-gradient(90deg,#07110d99,#07110d22),linear-gradient(#0000,#07110d99);position:absolute;inset:0}.cinematic .scene-a{opacity:1;background-position:20%;animation-delay:0s}.cinematic .scene-b{background-position:50% 45%;animation-delay:4s}.cinematic .scene-c{background-position:70% 65%;animation-delay:8s}.cinematic .scene-d{background-position:bottom;animation-delay:12s}.loading-brand{text-align:center;width:100%;top:18%;left:0;z-index:3!important;position:absolute!important}.loading-brand .wordmark{letter-spacing:.22em;font-size:18px}.loading-brand p{color:#f4f0e7;font-size:16px;font-weight:400}.loading-brand small{color:#aab3ae;font-size:11px;position:fixed;top:22px;right:24px}.progress{z-index:4;background:#f4f0e733;width:240px;height:1px;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}.progress:after{content:"";transform-origin:0;background:#c9a96e;width:100%;height:1px;animation:20s linear forwards progress;display:block}.load-error{text-align:center;color:#aab3ae;width:100%;font-size:13px;position:fixed;bottom:50px}.gold{color:#f4f0e7;background:#07110dcc;border:1px solid #c9a96e;border-radius:26px;height:52px;padding:0 28px;font-size:16px;font-weight:500}.entry{display:none}@keyframes sceneFade{0%,16%{opacity:0}20%,32%{opacity:1}36%,to{opacity:0}}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=700px){.loading-brand .wordmark{font-size:14px}.loading-brand p{font-size:15px}.progress{width:160px}.game header{font-size:11px}.game header strong{font-size:16px}.step p{font-size:15px}}@media (prefers-reduced-motion:reduce){.cinematic .scene{opacity:1;animation:none}.cinematic .scene~.scene{opacity:0}.progress:after{animation:none;transform:scaleX(1)}}@font-face{font-family:NotoLocal;src:url(/fonts/NotoSansSC-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:BrandLocal;src:url(/fonts/CormorantGaramond-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:HudLocal;src:url(/fonts/Inter-Regular.woff2)format("woff2");font-weight:400;font-display:swap}.wordmark,.eyebrow{font-family:BrandLocal,serif}.game header,.game .step,.game aside,.game section,.loading-brand p,.loading-brand small{font-family:NotoLocal,Arial,sans-serif}.game header span:last-child,.game h2,.game strong{font-family:HudLocal,Arial,sans-serif}.cinematic .scene-a{background-image:url(/assets/cinematic/entrance.webp)}.cinematic .scene-b{background-image:url(/assets/cinematic/fairway.webp)}.cinematic .scene-c{background-image:url(/assets/cinematic/close.webp)}.cinematic .scene-d,.game{background-image:url(/assets/cinematic/tee.webp)}.game[data-game-state=course-transition] .course-mark,.game[data-game-state=course-transition] header,.game[data-game-state=course-transition] aside{opacity:0;animation:1s forwards transitionIn}.game[data-game-state=course-transition]{background-image:url(/assets/cinematic/tee.webp);background-position:50%;background-size:cover}.game[data-game-state=course-transition] .step{display:none}.game[data-game-state=aiming] header,.game[data-game-state=aiming] .course-mark,.game[data-game-state=aiming] .step{animation:.55s forwards transitionIn}@keyframes transitionIn{to{opacity:1}}
