:root{color-scheme:dark;--ease-out:cubic-bezier(.23,1,.32,1);--forest-ui-font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#050a14;color:#e8eeeb;font-family:var(--forest-ui-font)}
#forest{position:absolute;inset:0;outline:none}#forest canvas{display:block;width:100%;height:100%}
.identity{position:fixed;top:30px;left:36px;z-index:3;font:10px ui-monospace,monospace;letter-spacing:.28em;color:#aabdbd;display:flex;align-items:center;gap:12px}.identity:before{content:'';width:5px;height:5px;border-radius:50%;background:#97c0b8}
#title{position:fixed;bottom:29%;right:7%;z-index:3;max-width:400px;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}
.eyebrow{font:10px ui-monospace,monospace;letter-spacing:.3em;text-transform:uppercase;color:#98b5b1;margin:0 0 16px}
h1{font-family:Georgia,serif;font-size:clamp(68px,9vw,130px);font-weight:400;letter-spacing:-.045em;line-height:.95;margin:0 0 23px;text-shadow:0 3px 35px #0006}
.description{font-family:var(--forest-ui-font);font-size:14px;line-height:1.65;font-weight:400;color:#c6d3cf;margin:0 0 27px;max-width:34ch;text-wrap:pretty;text-shadow:0 1px 10px #000}
button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:1px solid #bedbd3;outline-offset:5px}button:disabled{cursor:wait}
#enter{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:54px;padding:15px 23px;color:#eaf4ee;font-family:var(--forest-ui-font);font-size:14px;font-weight:500;border-radius:999px;border:1px solid #a7d4b44d;background:linear-gradient(135deg,#94cda323,#8cbaa90b 52%,#79bd9130);backdrop-filter:saturate(120%) blur(14px);-webkit-backdrop-filter:saturate(120%) blur(14px);box-shadow:0 6px 22px #0005,inset 0 1px #eaffed33;transition:background .2s,border-color .2s,transform .2s}
#enter::before{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(120deg,transparent 40%,#d4f6de17 52%,transparent 64%);transform:translateX(-130%);transition:transform .7s var(--ease-out)}
#enter .action-label,#enter svg{position:relative;z-index:1}#enter svg{flex:none;transition:transform .2s var(--ease-out)}
#enter:disabled{opacity:.58}#enter:focus-visible{outline:2px solid #d8f2de;outline-offset:5px}
#enter:not(:disabled):active{transform:translateY(1px)}
@media(hover:hover) and (pointer:fine){#enter:not(:disabled):hover{border-color:#b8e2bd99;background:linear-gradient(135deg,#94cda331,#8cbaa916 52%,#79bd913d);transform:translateY(-2px)}#enter:not(:disabled):hover::before{transform:translateX(130%)}#enter:not(:disabled):hover svg{transform:translate(1px,-1px)}}
#status{min-height:16px;font:10px ui-monospace,monospace;color:#a4b7b1;margin-top:15px;max-width:340px}
.orbit-note{position:fixed;right:36px;bottom:33px;z-index:3;color:#8caaa9;font:9px ui-monospace,monospace;letter-spacing:.13em;text-transform:uppercase}
#sound,#skip,#return{position:fixed;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;font:12px var(--forest-ui-font);padding:0 17px;border:1px solid #ffffff35;border-radius:999px;background:linear-gradient(135deg,#ffffff18,#ffffff05);backdrop-filter:saturate(120%) blur(14px);-webkit-backdrop-filter:saturate(120%) blur(14px);box-shadow:0 4px 16px #0000004d,inset 0 1px #ffffff26;color:#e7e8ed;transition:background .2s,border-color .2s,transform .2s}
#sound{width:44px;height:44px;padding:0;border-radius:50%;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top))}#sound::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(135deg,#fff6,#fff0 35% 65%,#fff6);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}#sound svg{width:22px;height:13px}#sound svg g{transform-box:view-box;transform-origin:50%;transition:transform .38s cubic-bezier(.22,1,.36,1)}
#skip{right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom))}#return{left:max(18px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top))}#return svg{flex:none}
@media(hover:hover) and (pointer:fine){#sound:hover,#skip:hover,#return:hover{background:#1f1f1f;border-color:#bbbbbb5e;transform:translateY(-2px)}}
@media(hover:none),(pointer:coarse){#sound:active,#skip:active,#return:active{background:#1f1f1f;border-color:#bbbbbb5e}}
[hidden]{display:none!important}
#cloud-cover{position:fixed;inset:-5%;z-index:4;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 32% 30%,#d6dfe2,transparent 65%),radial-gradient(ellipse at 70% 65%,#bacdcd,transparent 65%),#b1c7c8;will-change:opacity,transform}
#cloud-cover:before{content:'';position:absolute;inset:0;background:url('./assets/earth/earth-clouds.png') center/cover;opacity:.25;mix-blend-mode:soft-light}
#entry-shade{position:fixed;inset:0;z-index:1;pointer-events:none;background:linear-gradient(270deg,#03070d65,transparent 40%),linear-gradient(0deg,#03070d55,transparent 30%);transition:opacity .25s var(--ease-out)}
body[data-state=flight] #title,body[data-state=forest] #title{opacity:0;transform:translateY(10px);pointer-events:none}
body[data-state=flight] .orbit-note,body[data-state=forest] .orbit-note,body[data-state=flight] .identity,body[data-state=forest] .identity{opacity:0;pointer-events:none}
body[data-state=forest] #entry-shade{opacity:0}
#error{position:fixed;z-index:8;bottom:20px;left:20px;right:20px;padding:18px;background:#101a13e6;border:1px solid #acc2b54d;border-radius:4px;color:#e4eee7;font:13px system-ui;white-space:pre-wrap}
@media(max-width:600px){.identity{top:25px;left:22px;font-size:8px}#title{left:7%;bottom:max(12%,calc(env(safe-area-inset-bottom) + 58px));max-width:86%}h1{font-size:clamp(58px,19vw,76px)}.description{font-size:13px;max-width:32ch}#enter{min-height:48px;padding:13px 17px;font-size:12px}.orbit-note{bottom:max(25px,env(safe-area-inset-bottom));right:22px;font-size:8px}#status{font-size:9px}}
@media(max-height:620px){#title{bottom:14%}h1{font-size:clamp(54px,9vw,94px);margin-bottom:16px}.description{margin-bottom:19px}}
@media(prefers-reduced-motion:reduce){#title{transition:opacity .2s ease}body[data-state=flight] #title{transform:none}#enter,#enter svg{transition:none}#enter:not(:disabled):hover,#enter:not(:disabled):active,#enter:not(:disabled):hover svg{transform:none}}

@media(prefers-reduced-motion:reduce){#sound,#skip,#return,#sound svg g,#enter::before{transition:none;transform:none!important}}

#title h1{font-size:clamp(58px,7vw,110px);}
@media(max-width:600px){#title h1{font-size:clamp(48px,16vw,68px);}}
