@charset "UTF-8";
:root{color-scheme:dark;--bg:#141615;--text:#f0eee8;--muted:#a4a6a0;--accent:#cfaf85;--line:#363934}*{box-sizing:border-box}html{min-width:280px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 83% 42%,#35362b40,transparent 56%);pointer-events:none}.page{max-width:1600px;min-height:100svh;margin:auto;padding:0 clamp(24px,6vw,100px);display:flex;flex-direction:column}header{height:128px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{color:var(--text);text-decoration:none;font-size:39px;font-weight:700;letter-spacing:-4px;padding-right:5px}.brand span,h1 span{color:var(--accent)}.eyebrow,.intro,.art-label{font-size:11px;letter-spacing:2.3px;text-transform:uppercase}.eyebrow{color:var(--muted)}main{flex:1;padding:64px 0 64px}.intro{display:flex;align-items:center;gap:15px;color:var(--accent)}.dash{height:1px;width:31px;background:var(--accent)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:35px;min-height:490px}.copy{padding-bottom:12px}h1{font-size:clamp(100px,12.4vw,188px);letter-spacing:-.075em;line-height:1;margin:24px 0 32px;font-weight:500}.statement{font-size:clamp(23px,2.7vw,38px);font-weight:400;line-height:1.3;letter-spacing:-1px;margin:0 0 24px}.description{color:var(--muted);font-size:15px;line-height:1.7;margin:0}.art{position:relative;max-width:495px;width:100%;justify-self:end;color:#8f92774a}.art svg{width:100%;display:block;filter:drop-shadow(0 14px 26px #0003)}.art-label{color:#888d81;font-size:9px;display:block;text-align:center;letter-spacing:2.5px;margin-top:6px}.cross{position:absolute;width:9px;height:9px;color:#727969}.cross:before,.cross:after{content:"";position:absolute;background:currentColor}.cross:before{width:9px;height:1px;top:4px}.cross:after{width:1px;height:9px;left:4px}.top{top:7%;right:8%}.bottom{bottom:12%;left:8%}footer{border-top:1px solid var(--line);padding:27px 0 32px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;color:var(--muted);font-size:12px;line-height:1.6}.sep{color:#61685b;margin:0 11px}details{max-width:490px;text-align:right}summary{cursor:pointer;list-style:none;display:inline-block;color:var(--muted);padding:0 0 5px}summary::-webkit-details-marker{display:none}summary span{color:var(--accent);display:inline-block;margin-left:12px}details[open] summary span{transform:rotate(45deg)}.privacy{text-align:left;padding:20px 0 0;font-size:13px;line-height:1.7}.privacy h2{color:var(--text);font-size:19px;font-weight:400;margin-top:0}.notice{border-left:2px solid var(--accent);padding-left:14px;color:#dfc5a4}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}@media(min-width:1500px){main{padding-top:80px}.hero{min-height:570px}}@media(max-width:700px){header{height:96px}.eyebrow{font-size:9px;letter-spacing:1.4px}main{padding:40px 0 42px}.intro{font-size:9px;letter-spacing:1.7px}.hero{grid-template-columns:1fr;gap:20px;min-height:0}h1{font-size:clamp(96px,22vw,150px);margin:36px 0 24px}.statement{font-size:29px}.description{font-size:14px}.art{width:clamp(200px,60vw,300px);justify-self:center;margin:10px 0 0}.art-label{font-size:8px}footer{font-size:11px;padding-top:22px;gap:18px;flex-wrap:wrap}details{text-align:left;max-width:100%}summary span{margin-left:8px}}
/* The scene stays a normal, accessible page when the game is unavailable. */
main{position:relative;isolation:isolate}.intro,.hero,.game-controls,.game-status{position:relative;z-index:1}.hero{pointer-events:none}.hero a{pointer-events:auto}h1 .letter{color:var(--text);display:inline-block}h1 .start-dot{display:inline-block}.game-ready .start-dot{visibility:hidden}.game-surface{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.ball-handle{display:none;position:absolute;left:0;top:0;width:44px;height:44px;border:0;border-radius:50%;background:transparent;z-index:3;cursor:grab;touch-action:none;padding:0;will-change:transform}.ball-handle:active{cursor:grabbing}.ball-handle:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.game-ready .ball-handle{display:block}.game-controls{display:none;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;border-top:1px solid #ffffff0b;padding-top:17px;font-size:11px;color:var(--muted)}.game-ready .game-controls{display:flex}.game-controls p{margin:0;line-height:1.7}.reset-game{border:0;color:#d3b48c;background:none;font:inherit;cursor:pointer;padding:9px 0 9px 15px;white-space:nowrap}.reset-game span{display:inline-block;margin-left:9px}.reset-game:hover{color:#f0dbbc}.reset-game:focus-visible{outline:1px solid var(--accent);outline-offset:5px}.touch-help{display:none}.game-status{min-height:20px;margin:13px 0 -28px;color:#e7cba5;font-size:12px;letter-spacing:.3px}.play-copy{display:none}.game-ready .play-copy{display:inline}.no-script{font-size:12px;color:var(--muted)}.art{transform-style:preserve-3d;perspective:900px}.art svg{transform-origin:50% 56%;transition:filter .4s ease;will-change:transform}.art.scored svg{animation:g-landing 1.65s cubic-bezier(.2,.65,.3,1) both;filter:drop-shadow(0 22px 35px #c9a37338)}.art.scored:after{content:"";position:absolute;inset:8%;pointer-events:none;background:linear-gradient(115deg,transparent 30%,#fff1d51c 48%,transparent 60%);border-radius:50%;animation:glint 1.4s ease-out both}.game-ready .art-label{color:#aaa58f}@keyframes g-landing{0%{transform:perspective(800px) rotateX(0) rotateY(0) translateZ(0)}24%{transform:perspective(800px) rotateX(17deg) rotateY(-21deg) translateZ(30px)}55%{transform:perspective(800px) rotateX(-7deg) rotateY(11deg) translateZ(14px)}100%{transform:perspective(800px) rotateX(0) rotateY(0) translateZ(0)}}@keyframes glint{0%{opacity:0;transform:translateX(-35%) rotate(-10deg)}40%{opacity:1}100%{opacity:0;transform:translateX(30%) rotate(10deg)}}@media(max-width:700px){.game-controls{align-items:flex-start;gap:15px}.keyboard-help{display:none}.game-status{font-size:11px}.description{max-width:360px}.art{margin-top:30px}}@media(pointer:coarse){.desktop-help{display:none}.touch-help{display:inline}.keyboard-help{display:none}}@media(prefers-reduced-motion:reduce){.art.scored svg,.art.scored:after{animation:none}.art.scored svg{filter:drop-shadow(0 0 12px #c9a37355)}}

.privacy-short{margin:9px 0 0;max-width:400px;font-size:11px;line-height:1.7;color:var(--muted)}

.score-panel{display:none;position:relative;z-index:4;margin-top:18px;border-top:1px solid var(--line);padding-top:23px;max-width:100%}.game-ready .score-panel{display:block}.score-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.score-heading h2{font-size:13px;font-weight:400;margin:0;color:var(--accent)}.score-hint{font-size:11px;color:var(--muted);text-align:right}.score-values{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px;margin-top:20px}.score-values>div{display:flex;flex-direction:column;gap:9px;min-width:0}.score-label{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.score-current,.score-daily,.score-yearly{font-size:clamp(22px,2.4vw,32px);font-variant-numeric:tabular-nums;font-weight:400;letter-spacing:-.7px;color:var(--text);white-space:nowrap}.score-current{color:var(--accent)}.score-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:17px;color:var(--muted);font-size:10px;line-height:1.6}.score-storage{margin:0}.clear-scores{font:inherit;border:0;background:none;color:var(--muted);cursor:pointer;padding:8px 0 8px 10px;white-space:nowrap}.clear-scores:hover{color:var(--text)}.clear-scores:disabled{opacity:.4;cursor:default}.clear-scores:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.game-status{margin:13px 0 0;min-height:20px}@media(max-width:700px){.score-values{gap:14px;grid-template-columns:1fr 1fr}.score-values>div:first-child{grid-column:1 / -1}.score-current{font-size:36px}.score-label{font-size:9px;letter-spacing:.5px}.score-heading{align-items:flex-start}.score-hint{max-width:175px;line-height:1.5}.score-foot{align-items:flex-start;gap:12px}.score-storage{max-width:190px}}
