@font-face{font-family:Funktional Grotesk;src:url(/fonts/FunktionalGrotesk-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Funktional Grotesk;src:url(/fonts/FunktionalGrotesk-Book.woff2) format("woff2");font-weight:350;font-display:swap}@font-face{font-family:Funktional Grotesk;src:url(/fonts/FunktionalGrotesk-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Funktional Grotesk;src:url(/fonts/FunktionalGrotesk-Medium.woff2) format("woff2");font-weight:500;font-display:swap}:root{--serif: "Cormorant Garamond", Garamond, "Times New Roman", serif;--sans: "Funktional Grotesk", "Helvetica Neue", Arial, sans-serif;--on: #fbf9f1;--on-2: rgba(251, 249, 241, .76);--on-3: rgba(251, 249, 241, .4);--hair: rgba(251, 249, 241, .34);--straw: #f3c969;--shade: 0 1px 2px rgba(10, 16, 6, .5), 0 0 16px rgba(10, 16, 6, .28);--edge: 40px}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#3f5e2a;font-family:var(--sans);font-weight:350;color:var(--on);-webkit-user-select:none;user-select:none;touch-action:none}canvas#gl,canvas#overlay{position:fixed;inset:0;width:100vw;height:100vh;display:block}canvas#gl{cursor:none}canvas#overlay{pointer-events:none}#hud{position:fixed;inset:0;pointer-events:none;z-index:2;text-shadow:var(--shade)}.scrim{position:absolute;left:0;right:0;pointer-events:none}.scrim.top{top:0;height:190px;background:linear-gradient(#0e160970,#0e160900)}.scrim.bottom{bottom:0;height:150px;background:linear-gradient(#0e160900,#0e160966)}.quiet{color:var(--on-3)}.num{font-variant-numeric:lining-nums tabular-nums}.corner{position:absolute;top:max(var(--edge),env(safe-area-inset-top))}.count{left:var(--edge)}.count .n{font-family:var(--serif);font-weight:400;font-size:68px;line-height:.88}.count .of{font-family:var(--serif);font-style:italic;font-weight:400;font-size:26px;color:var(--on-2);margin-left:8px}.progress{position:relative;width:220px;height:1px;background:var(--hair);margin-top:14px}.progress>b{position:absolute;left:0;top:-1px;height:3px;width:0%;background:var(--straw);transition:width .4s ease}.count .sub{font-size:13px;color:var(--on-2);margin-top:10px}.day{left:50%;transform:translate(-50%);text-align:center;white-space:nowrap}.day .big{font-family:var(--serif);font-style:italic;font-weight:400;font-size:36px;line-height:1}.day .sub{font-size:13px;color:var(--on-2);margin-top:8px}.day.dusk .sub{color:var(--straw)}.me{right:var(--edge);text-align:right}.me .big{font-family:var(--serif);font-style:italic;font-weight:500;font-size:36px;line-height:1}.me .sub{font-size:13px;color:var(--on-2);margin-top:8px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;vertical-align:5px;margin-right:10px}.ticks{display:flex;justify-content:flex-end;gap:4px;margin-top:10px;height:13px}.ticks i{display:block;width:2px;height:12px;background:var(--on-3)}.ticks i.on{background:var(--straw)}.ticks i:nth-child(5n):not(:last-child){margin-right:5px}.me .scores{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--straw);margin-top:6px;min-height:1em}.foot{position:absolute;bottom:max(34px,env(safe-area-inset-bottom));font-size:13px;color:var(--on-2)}.foot button{all:unset;cursor:pointer;pointer-events:auto;color:var(--on-2);padding:2px 0;border-bottom:1px solid transparent}.foot button:hover{color:var(--on)}.foot button[aria-pressed=true]{color:var(--on);border-bottom-color:var(--straw)}.foot button:focus-visible{outline:1px solid var(--straw);outline-offset:4px}.sound{left:var(--edge)}.hint{left:50%;transform:translate(-50%);white-space:nowrap;font-size:15px;transition:opacity 1.4s ease}.hint em{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--on)}.valley{right:var(--edge);display:flex;align-items:baseline;gap:14px}.stats{position:absolute;right:var(--edge);bottom:calc(max(34px,env(safe-area-inset-bottom)) + 26px);font-size:12px;color:var(--on-2);text-align:right;line-height:1.6}.banner{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);text-align:center;padding:60px 90px;background:radial-gradient(closest-side,#0e160980,#0e160900);opacity:0;transition:opacity .9s ease;white-space:nowrap}.banner.show{opacity:1}.banner h2{margin:0;font-family:var(--serif);font-weight:300;font-size:58px;line-height:1}.banner p{margin:12px 0 0;font-size:15px;color:var(--on-2)}.banner p.top{display:flex;justify-content:center;gap:22px;margin-top:14px;font-variant-numeric:tabular-nums}.banner p.top em{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--on)}.error{position:fixed;inset:0;display:grid;place-items:center;z-index:10;background:#0e1609b8;font-family:var(--serif);font-size:30px;font-weight:300;text-align:center;padding:20px}.gone{position:fixed;inset:0;z-index:10;display:grid;place-content:center;justify-items:center;gap:14px;padding:20px;text-align:center;background:#0e1609b8;cursor:pointer;opacity:0;animation:fade-in .6s ease forwards}.gone h2{margin:0;font-family:var(--serif);font-weight:300;font-size:58px;line-height:.92}.gone p{margin:0;font-size:15px;font-weight:300;color:var(--on-2)}.gone button{all:unset;cursor:pointer;margin-top:12px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:22px;border-bottom:1px solid var(--straw)}.gone button:focus-visible{outline:1px solid var(--straw);outline-offset:4px}@keyframes fade-in{to{opacity:1}}.reconnecting{position:fixed;left:50%;bottom:calc(max(34px,env(safe-area-inset-bottom)) + 40px);transform:translate(-50%);z-index:5;font-family:var(--serif);font-style:italic;font-weight:500;font-size:20px;text-shadow:var(--shade);animation:breathe 1.6s ease-in-out infinite alternate;pointer-events:none}@keyframes breathe{0%{opacity:.45}to{opacity:1}}@media(max-width:640px){:root{--edge: 20px}.gone h2{font-size:42px}.count .n{font-size:48px}.count .of{font-size:19px}.progress{width:130px}.count .sub,.me .sub .extra,.ticks,.valley,.stats{display:none}.me .big{font-size:26px}.day{top:auto;bottom:max(56px,env(safe-area-inset-bottom))}.day .big{font-size:26px}.hint{display:none}.banner{padding:40px 30px;white-space:normal;width:90vw}.banner h2{font-size:40px}}
