@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0b0d11;--muted:#a0a5af;--line:#2a2e35;--lime:#d5ff57}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f5ef;font:16px 'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #b0eaff;outline-offset:5px}header{max-width:1380px;margin:auto;height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 46px}.logo{font:700 48px 'Space Grotesk',sans-serif;letter-spacing:-4px;text-decoration:none;color:#f4f5ef}.logo span{color:var(--lime)}.logo .period{margin-left:4px}.edition{font-size:12px;letter-spacing:2px;color:var(--muted)}.quiet{background:transparent;border:1px solid #454a53;border-radius:8px;padding:10px 17px;color:#eee}.quiet:disabled{opacity:.4;cursor:default}main{max-width:1270px;margin:44px auto 34px;display:grid;grid-template-columns:1fr 380px 250px;gap:52px;padding:0 24px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--lime);display:flex;align-items:center;gap:8px;margin:14px 0 28px}.eyebrow i{height:6px;width:6px;background:var(--lime);border-radius:50%}h1{font:500 clamp(36px,3.7vw,52px)/1.1 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:0 0 22px}h1 em{color:var(--lime);font-style:normal}.intro>p{line-height:1.7;color:var(--muted)}h2{font-size:12px;font-weight:500;letter-spacing:1.7px;margin:0;color:#afb4be}.controls{margin-top:42px;max-width:250px}.controls h2{margin-bottom:20px}.controls>div{display:flex;justify-content:space-between;align-items:center;margin:12px 0;font-size:14px;color:#b9bdc5}kbd{font:16px 'DM Sans',sans-serif;display:inline-flex;justify-content:center;align-items:center;min-width:31px;height:29px;background:#191d23;border:1px solid #353b43;border-bottom-width:3px;border-radius:5px;margin-right:5px;color:#e6e9ee}.space{width:70px;font-size:12px}.access{display:flex;gap:12px;margin-top:34px;color:var(--muted)}.access>span{font-size:22px;color:#bda7ff;margin-top:10px}.access p{font-size:13px;line-height:1.6}.access strong{font-weight:500;color:#ececf0}.well-top,.well-bottom{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:var(--muted);padding:0 2px 12px}.well-top span:last-child{color:var(--lime);font-size:9px}.well{position:relative;border:1px solid #41464f;border-radius:12px;background:#10141a;overflow:hidden;box-shadow:0 0 70px #d5ff5705}.well canvas{display:block;width:100%;height:auto}#overlay{position:absolute;inset:0;background:#10141ae8;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px}#overlay.hidden{display:none}.orbit{font-size:66px;color:var(--lime);margin-bottom:18px}#overlay h2{font:500 31px/1.12 'Space Grotesk',sans-serif;letter-spacing:-1px;color:#f4f5ef}#overlay p{font-size:14px;color:#afb4be;line-height:1.65;margin:20px 0 27px}.primary{background:var(--lime);border:0;border-radius:7px;padding:15px 20px;width:230px;color:#11160a;font-weight:700;display:flex;justify-content:space-between}.primary:hover{background:#e1ff8a}#startHint{font-size:12px;color:#b6bdc8;margin-top:16px}.well-bottom{padding:14px 0 0;font-size:9px}.score{padding:14px 0 22px;border-bottom:1px solid var(--line)}#score{font:500 52px 'Space Grotesk',sans-serif;letter-spacing:-2px;margin:8px 0 22px;font-variant-numeric:tabular-nums}.best{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--lime);letter-spacing:.5px}.best strong{font-size:18px;font-weight:500;letter-spacing:0}.score p{font-size:11px;color:var(--muted);margin:8px 0 0}.stats{display:flex;gap:64px;padding:24px 0;border-bottom:1px solid var(--line)}.stats div{display:flex;flex-direction:column;gap:10px}.stats span{font-size:11px;letter-spacing:1.6px;color:var(--muted)}.stats strong{font:400 27px 'Space Grotesk',sans-serif}.next{padding:25px 0 12px;border-bottom:1px solid var(--line)}.next canvas{display:block;max-width:100%;margin-top:4px}.growth{padding:26px 0}.growth>div:first-child{display:flex;justify-content:space-between;align-items:center}.growth strong{color:var(--lime);font-weight:500}.track{background:#292e34;height:5px;border-radius:4px;margin:18px 0 12px;overflow:hidden}#growthBar{height:100%;width:0;background:var(--lime)}.growth p{color:var(--muted);font-size:12px;line-height:1.6}.growth-example{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px;color:var(--lime);font-size:22px;letter-spacing:-5px}.growth-example span:nth-child(even){font-size:15px;color:#737b87;letter-spacing:0}#notice{border-top:1px solid var(--line);padding-top:18px;font-size:12px;line-height:1.6;color:#afb4be}footer{max-width:1270px;margin:auto;padding:22px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#939aa6;font-size:10px;letter-spacing:1px}footer b{font-weight:400;color:#c4c9d1}.touch{display:flex;gap:6px;margin-top:12px}.touch button{background:#20262e;color:#edf0f5;border:1px solid #414853;border-radius:6px;min-height:40px;flex:1;font-size:16px;touch-action:manipulation}.touch button:last-child{flex:1.6;color:var(--lime)}@media(min-width:1100px) and (max-height:920px){main{grid-template-columns:1fr 320px 235px;margin-top:28px;gap:48px;max-width:1180px}header{height:92px}.controls{margin-top:28px}.access{margin-top:22px}}@media(max-width:1000px){main{grid-template-columns:minmax(260px,380px) 235px;justify-content:center;gap:30px}.intro{display:none}header{padding:0 25px;height:90px}}@media(max-width:620px){header{height:73px;padding:0 18px}.logo{font-size:38px}.edition{display:none}main{display:flex;flex-direction:column;margin:18px auto;padding:0 16px;max-width:410px;gap:24px}.play{order:2}aside{display:contents}.score{order:0;display:flex;align-items:center;justify-content:space-between;padding:0;border:0;flex-wrap:wrap;gap:5px}.score h2{display:none}#score{font-size:32px;margin:0}.best{gap:15px}.score p{width:100%;text-align:right;margin-top:-8px;font-size:10px}.stats,.next{display:none}.growth{order:1;padding:0}.growth .track{margin:9px 0 0}.growth p,.growth-example{display:none}.growth h2{font-size:10px}.well-top{padding-bottom:8px}.well{max-height:none}.well canvas{width:100%}#notice{order:3;padding-top:0;border:0}footer{margin:0 16px;padding:18px 0;font-size:9px}footer>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Preserve the complete artwork at every well size. */
.well{background:#11151b url("well-background.png") center / contain no-repeat}
#overlay{background:#10141ac9}
[hidden]{display:none!important}#credits{position:fixed;inset:0;z-index:10;background:radial-gradient(ellipse at 50% 45%,#203039,#0b0d11 70%)}#creditContinue{width:100%;height:100%;border:0;background:transparent;color:#f4f5ef;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:28px;touch-action:manipulation}.credit-logo{font:700 76px 'Space Grotesk',sans-serif;letter-spacing:-5px;color:var(--lime)}.credit-text{font-size:clamp(19px,3vw,28px);max-width:600px;line-height:1.5}.credit-hint{font-size:14px;color:#bbc2cd}.secondary{color:#ecf0f4;background:#202833;border:1px solid #738094;border-radius:7px;min-height:44px;padding:10px 20px;margin-top:12px;min-width:180px}.quiet{min-height:44px}header{gap:14px}header .edition{margin-right:auto;margin-left:auto}.panel-open>:not(#scorePanel):not(#initialsPanel){display:none!important}#scorePanel,#initialsPanel{width:100%;overflow-y:auto;max-height:100%;padding:8px 2px}#scorePanel h2,#initialsPanel h2{font-size:22px}#overlay .score-caption{margin:10px 0;font-size:12px}#scoreList{padding:0;list-style:none;margin:12px 0}#scoreList li{display:flex;justify-content:space-between;gap:12px;padding:7px 6px;border-bottom:1px solid #ffffff24;font-size:15px;font-variant-numeric:tabular-nums}#scoreList strong{color:var(--lime)}#initialsPanel label{display:block;font-size:15px;margin:8px}#initials{display:block;width:130px;font-size:28px;text-align:center;letter-spacing:8px;margin:12px auto;background:#111820;color:white;border:1px solid #afb9c5;border-radius:6px;padding:8px}#letterControls{display:flex;gap:20px;justify-content:center}#letterControls>div{display:flex;flex-direction:column;align-items:center;gap:6px}#letterControls button{min-width:48px;min-height:44px;border:1px solid #8793a3;border-radius:6px;background:#202833;color:white;font-size:22px;touch-action:manipulation}#letterControls span{font-size:20px;color:var(--lime)}#overlay #initialsHint{font-size:12px;margin:12px 0}#initialsPanel .primary{margin:0 auto}#overlay #qualifiedScore{margin:10px 0}.play{touch-action:none}.touch{gap:8px;flex-wrap:wrap}.touch button{flex:1 1 27%;min-height:48px;font-size:14px;touch-action:none}.touch button:nth-last-child(-n+2){flex:1 1 43%}#overlay{padding:20px}.touch button:active{background:#3e5143}.score-caption{color:var(--muted)}
@media(max-width:620px){body{overscroll-behavior:none}header{height:62px;gap:8px}header .logo{margin-right:auto}header .quiet{font-size:12px;padding:8px;min-width:68px}.play{width:100%;display:flex;flex-direction:column;align-items:center}.well-top{width:100%;flex-shrink:0}.well{width:min(100%,calc((100dvh - 260px)*.55556));min-width:130px;flex-shrink:0}.well canvas{width:100%;height:auto}.touch{width:100%;flex-shrink:0;margin-top:10px}.well-bottom{display:none}main{margin:10px auto;gap:10px}.score p{margin-top:0}.score{min-height:37px}#notice{display:none}footer{display:none}.growth .track{margin-top:6px}.growth>div:first-child{height:18px}#overlay{padding:10px}#overlay .orbit{font-size:32px;margin-bottom:8px}#overlay h2{font-size:22px}#overlay p{font-size:12px;margin:10px 0}#overlay .primary{width:100%;max-width:230px;min-height:44px;padding:12px 16px}#overlay #startHint{margin-top:9px}#scoreList li{padding:3px 4px;font-size:13px}#scorePanel .secondary{margin-top:8px}#initialsPanel h2{font-size:18px}#initials{margin:6px auto;padding:4px;font-size:22px}#letterControls{gap:10px}#letterControls>div{gap:2px}#initialsPanel label{margin:4px;font-size:13px}#overlay #initialsHint{font-size:11px;margin:7px 0}.secondary{margin-top:8px}.credit-text{font-size:21px}}
@media(max-height:500px) and (orientation:landscape){header{height:54px}.intro,aside,.score,.growth,footer,.stats,.next,#notice{display:none!important}main{display:block;margin:10px auto;width:100%;max-width:700px;padding:0 12px}.play{display:grid;grid-template-columns:1fr 180px;grid-template-rows:20px 1fr;gap:8px;justify-items:center}.well-top{grid-column:1/3}.well{width:calc((100dvh - 106px)*.55556);grid-column:1}.touch{grid-column:2;display:flex;align-content:center;margin:0}.touch button{flex-basis:100%;min-height:44px}.touch button:nth-last-child(-n+2){flex-basis:100%}.well-bottom{display:none}#overlay{padding:8px}#overlay .orbit,#startHint{display:none}#overlay h2{font-size:18px}#overlay p{margin:7px 0;font-size:11px}#overlay .primary,.secondary{width:100%;min-width:0;font-size:12px;padding:8px}#scorePanel,#initialsPanel{overflow:auto}}
@media(max-width:620px) and (orientation:portrait){.well{width:min(100%,calc((100dvh - 322px)*.55556))}}
/* Menus may scroll on compact screens; active play remains gesture-locked. */
.play:has(.panel-open),.panel-open{touch-action:pan-y}
