@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--paper: #fbfaf6;--ink: #111318;--muted: #686d75;--line: #1b1e24;--ocean: #079bd3;--ocean-light: #65c9e9;--panel: #f1f0eb;--font-sans: "DM Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;color:var(--ink);background:var(--paper);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:var(--paper)}button,a{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--ocean);outline-offset:4px}.landing-page{position:relative;min-height:100svh;overflow:hidden;background:var(--paper);isolation:isolate}.landing-main{position:relative;z-index:2;width:min(1440px,calc(100% - 72px));height:100svh;min-height:590px;margin:0 auto}.landing-hero{position:absolute;top:36%;left:50%;width:min(620px,100%);text-align:center;transform:translate(-50%,-50%);transition:opacity .42s ease,transform .65s cubic-bezier(.22,1,.36,1)}.game-is-open .landing-hero{opacity:0;pointer-events:none;transform:translate(-50%,calc(-50% + 24vh))}.landing-hero h1{margin:0;font-size:clamp(42px,5.4vw,76px);font-weight:500;line-height:1;letter-spacing:-.06em}.landing-tagline{margin:14px auto 0;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.play-button{width:min(282px,100%);height:62px;display:inline-flex;align-items:center;justify-content:space-between;margin-top:34px;padding:0 22px;border:2px solid var(--line);border-radius:0;color:var(--ink);background:transparent;font-family:var(--font-mono);font-size:12px;cursor:pointer;box-shadow:5px 5px 0 var(--line);transition:color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.play-button:hover{color:var(--paper);background:var(--ink);box-shadow:2px 2px 0 var(--line);transform:translate(3px,3px)}.ocean{position:absolute;z-index:1;right:0;bottom:0;left:0;height:46vh;min-height:300px;pointer-events:none;will-change:transform;transition:transform .65s cubic-bezier(.22,1,.36,1)}.game-is-open .ocean{transform:translate3d(0,102%,0)}.ocean-layer{position:absolute;width:200%;height:100%;left:0;bottom:-2px;overflow:visible;will-change:transform}.ocean-layer path{vector-effect:non-scaling-stroke}.ocean-layer-back{z-index:1;fill:var(--ocean-light);opacity:.52;animation:wave-scroll 31s linear infinite}.ocean-layer-front{z-index:3;fill:var(--ocean);animation:wave-scroll 24s linear infinite}.ocean-floater{position:absolute;z-index:2;top:0;bottom:0;left:clamp(42px,16vw,240px);width:clamp(64px,7vw,92px);transform:translate3d(0,34%,0);will-change:transform;animation:buoy-follow-wave 24s linear infinite}.ocean-floater-block{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 9px 5px rgb(10 72 100 / 20%));transform-origin:50% 88%;will-change:transform;animation:buoy-tilt 24s linear infinite}@keyframes wave-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes buoy-follow-wave{0%{transform:translate3d(0,34%,0)}5%{transform:translate3d(0,39.8%,0)}10%{transform:translate3d(0,46.1%,0)}15%{transform:translate3d(0,52.2%,0)}20%{transform:translate3d(0,57.6%,0)}25%{transform:translate3d(0,62.1%,0)}30%{transform:translate3d(0,65.5%,0)}35%{transform:translate3d(0,66.2%,0)}40%{transform:translate3d(0,64.6%,0)}45%{transform:translate3d(0,61.4%,0)}50%{transform:translate3d(0,57.1%,0)}55%{transform:translate3d(0,52%,0)}60%{transform:translate3d(0,46.4%,0)}65%{transform:translate3d(0,40.6%,0)}70%{transform:translate3d(0,35%,0)}75%{transform:translate3d(0,30%,0)}80%{transform:translate3d(0,26.3%,0)}85%{transform:translate3d(0,25.1%,0)}90%{transform:translate3d(0,26.3%,0)}95%{transform:translate3d(0,29.3%,0)}to{transform:translate3d(0,34%,0)}}@keyframes buoy-tilt{0%{transform:rotate(16.7deg)}5%{transform:rotate(19.1deg)}10%{transform:rotate(19.4deg)}15%{transform:rotate(18deg)}20%{transform:rotate(15.6deg)}25%{transform:rotate(12.7deg)}30%{transform:rotate(6.7deg)}35%{transform:rotate(-1.8deg)}40%{transform:rotate(-7.8deg)}45%{transform:rotate(-12deg)}50%{transform:rotate(-15deg)}55%{transform:rotate(-16.9deg)}60%,65%{transform:rotate(-17.9deg)}70%{transform:rotate(-16.8deg)}75%{transform:rotate(-14.1deg)}80%{transform:rotate(-8.6deg)}85%{transform:rotate(1.1deg)}90%{transform:rotate(6.7deg)}95%{transform:rotate(12.3deg)}to{transform:rotate(16.7deg)}}.game-drop-panel{position:fixed;z-index:5;inset:0;overflow:auto;background:var(--paper);box-shadow:0 22px 70px #1113182e;pointer-events:none;transform:translate3d(0,-104%,0);will-change:transform;transition:transform .65s cubic-bezier(.22,1,.36,1)}.game-drop-panel.is-open{pointer-events:auto;transform:translateZ(0)}.game-page{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:32px;background:var(--paper)}.game-page-embedded{background:transparent}.game-topbar{position:absolute;z-index:2;top:22px;right:28px;left:28px;display:flex;align-items:center;justify-content:space-between}.game-back{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:2px solid var(--line);color:var(--ink);background:var(--paper);font-family:var(--font-mono);font-size:11px;cursor:pointer;transition:color .15s ease,background .15s ease,transform .15s ease}.game-back:hover{color:var(--paper);background:var(--ink);transform:translate(-2px)}.game-wordmark{font-size:18px;font-weight:600;letter-spacing:-.04em}.game-layout{display:flex;align-items:flex-start;gap:18px}.game-sidebar{padding-top:4px}.score-panel{min-width:112px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 16px;border:2px solid var(--line);background:var(--paper)}.score-label{color:var(--muted);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em}.score-value{color:var(--ink);font-family:var(--font-mono);font-size:17px;font-weight:500}.game-canvas-area canvas{display:block;width:auto;height:min(670px,calc(100svh - 96px));max-width:calc(100vw - 190px);border-color:var(--line)!important;border-radius:0!important;box-shadow:7px 7px 0 var(--line)!important}.game-canvas-area{position:relative}.game-countdown{position:absolute;z-index:3;inset:0;display:grid;place-items:center;pointer-events:none;background:#fbfaf63d}.game-countdown span{color:var(--ink);font-family:var(--font-mono);font-size:clamp(64px,11vw,116px);font-weight:500;line-height:1;letter-spacing:-.08em;text-shadow:4px 4px 0 var(--paper),7px 7px 0 var(--ocean);animation:countdown-pop .8s cubic-bezier(.22,1,.36,1)}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.35)}30%{opacity:1}to{opacity:.88;transform:scale(1)}}@media(max-width:720px){.landing-main{width:calc(100% - 36px)}.landing-main{height:100svh}.landing-hero{top:31%}.landing-hero h1{font-size:clamp(40px,13vw,62px)}.ocean{height:42vh;min-height:260px}.ocean-floater{left:10vw;width:62px}.game-page{align-items:flex-start;padding:82px 18px 24px}.game-layout{flex-direction:column;align-items:center;width:100%;gap:12px}.game-sidebar{width:min(336px,calc(100vw - 36px));padding-top:0}.score-panel{min-width:0;flex-direction:row;justify-content:space-between;padding:9px 12px}.game-canvas-area canvas{width:min(336px,calc(100vw - 36px));height:auto;max-width:none}.game-topbar{top:18px;right:18px;left:18px}}@media(prefers-reduced-motion:reduce){.ocean-layer,.ocean-floater,.ocean-floater-block{animation:none}.play-button,.landing-hero,.ocean,.game-drop-panel,.game-back{transition:none}.game-countdown span{animation:none}}
