@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-control:12px;--radius-modal:22px;--font-body:"DM Sans",system-ui,sans-serif;--font-display:"Space Grotesk",sans-serif;--text-body:14px;--text-support:13px;--text-micro:11px;--text-title:26px;--text-title-compact:21px;font-family:var(--font-body);font-synthesis:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.button,.action,.text-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;touch-action:manipulation;transition:background .15s,box-shadow .15s}.button,.action{border:0;border-radius:var(--radius-control);padding:12px 16px;background:var(--ink);color:var(--background);font-size:15px;font-weight:600;text-decoration:none}.button:hover,.action:hover{background:#fffaf1}.button:active,.action:active{box-shadow:inset 0 0 0 999px #0002}.button:disabled,.action:disabled{opacity:.5;cursor:default}.button-secondary{background:var(--quiet);color:var(--support);font-size:var(--text-support);font-weight:400}.button-secondary:hover{background:var(--quiet-hover);color:var(--ink)}.button-secondary:active{background:var(--quiet-pressed);color:var(--ink);box-shadow:none}.button-result,.button-result:hover{background:var(--score-color,var(--accent));color:var(--background);min-height:48px}.text-button{border:0;background:none;padding:8px 4px;font-size:var(--text-support);color:var(--support);text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:var(--ink)}.text-button:active{background:var(--quiet)}.danger-link{color:var(--danger)}.icon-button{border:0;width:44px;height:44px;border-radius:var(--radius-control);background:none;padding:0;font-size:20px;color:var(--muted)}.icon-button:hover{color:var(--ink);background:var(--quiet)}.icon-button:active{background:var(--quiet-pressed)}.button svg,.action svg,.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}.button svg,.action svg{width:16px;height:16px}.icon-button svg{width:20px;height:20px}dialog{position:fixed;width:420px;max-width:calc(100vw - 32px);max-height:90dvh;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-modal);background:var(--surface);color:var(--ink);padding:var(--space-6);box-shadow:0 20px 100px #0008;touch-action:pan-y}dialog::backdrop{background:var(--dialog-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}dialog h2{font:500 var(--text-title)/1.2 var(--font-display);letter-spacing:-.7px;margin:var(--space-1) 28px var(--space-5) 0}dialog.dialog-compact h2{font-size:var(--text-title-compact);font-weight:400}dialog>.icon-button{position:absolute;right:var(--space-2);top:var(--space-2);margin:0}dialog p{font-size:var(--text-body);line-height:1.6;color:var(--support);margin:var(--space-4) 0}dialog .muted{font-size:var(--text-support);color:var(--muted)}dialog .action{width:100%;min-height:48px;margin-top:var(--space-4)}.dialog-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.dialog-actions .action{margin:0}@media(max-width:600px){dialog{padding:var(--space-5)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.share-card-kind{display:flex;gap:4px;padding:4px;margin:0 0 16px;border:1px solid var(--border,#ffffff26);border-radius:14px}.share-card-kind[hidden]{display:none}.share-card-kind button{flex:1;min-height:44px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;cursor:pointer}.share-card-kind button[aria-pressed=true]{background:#ffffff18;box-shadow:inset 0 0 0 1px #ffffff30}.share-card-kind button:focus-visible{outline:2px solid currentColor;outline-offset:2px}:root{--background:#111426;--background-centre:#1b2035;--surface:#1c2339;--ink:#f5f0e6;--support:#aeb7cc;--muted:#8f99ae;--accent:#9daeff;--danger:#ffaaa1;--border:#ffffff20;--quiet:#ffffff08;--quiet-hover:#ffffff12;--quiet-pressed:#ffffff1c;--dialog-backdrop:#080c1ad9;background:var(--background);color:var(--ink)}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}#app{position:relative;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,var(--background-centre),var(--background) 70%);height:100%;height:100svh;padding:0 20px;touch-action:none}#app,#app *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}header{height:76px;padding:0;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.brand{font-family:var(--font-display);font-weight:500;letter-spacing:-.7px;font-size:20px;color:#b8bbca;text-decoration:none}.brand>span{color:var(--accent)}.top-actions{display:flex;gap:var(--space-2)}main{position:relative;width:100%;max-width:760px;margin:0 auto;flex:1;display:flex;flex-direction:column;min-height:0}.run-bar{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;width:100%;min-width:0;height:42px}.round-status{display:flex;gap:17px;align-items:center;flex-shrink:0}#round-label{font-size:var(--text-support);color:var(--muted);font-variant-numeric:tabular-nums}#rounds{display:flex;gap:6px}.round-dot{width:5px;height:5px;border-radius:50%;background:#ffffff23;transition:background-color .25s,transform .25s}.round-dot.active{background:var(--accent);transform:scale(1.35)}.round-dot.completed{background:#ccc8c0}.round-dot.burst{background:#925161}.total{margin-left:auto;min-width:0}.total strong{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap;font:500 16px var(--font-display);font-variant-numeric:tabular-nums}.total small{font:400 12px var(--font-body);color:#68728b}#total{display:inline-flex;vertical-align:middle;height:1.1em;line-height:1.1em;color:var(--muted);transition:color .2s;font-variant-numeric:tabular-nums}#total.provisional{color:var(--accent)}#attempt-score{display:inline-flex;align-items:center;gap:2px;font-size:27px;transform-origin:center;position:relative;z-index:3}#attempt-score>small{font-size:13px}#attempt-score,#attempt-score>small,#gain{color:var(--score-color)}#gain{display:inline-flex;height:1.1em;line-height:1.1em;font-variant-numeric:tabular-nums}#score-home{display:inline-flex;align-items:center;flex-shrink:0}.score-divider{font-size:16px;font-weight:400;color:#65728c}.score-away .score-divider{visibility:hidden}.score-digit{position:relative;display:inline-block;overflow:hidden;width:.64em;height:1.1em;transition:opacity .2s}.score-track{display:flex;flex-direction:column;will-change:transform}.score-track>span{display:block;flex:none;height:1.1em;line-height:1.1em;text-align:center}.score-decimal{width:.27em;text-align:center}#play-area{flex:1;min-height:0;position:relative;touch-action:none;user-select:none;-webkit-user-select:none}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:pointer}#result-badge{position:absolute;transform:translate(-50%,-50%);pointer-events:none;text-align:center;color:#192037}#round-score{display:block;font:600 36px/1 var(--font-display);letter-spacing:-1.5px;white-space:nowrap;font-variant-numeric:tabular-nums}#round-score #attempt-score{font-size:36px;letter-spacing:-1px;pointer-events:none}#round-score small,#round-score #attempt-score>small{font-size:17px;letter-spacing:0}#round-verdict{display:block;margin-top:5px;font-size:var(--text-micro);letter-spacing:1.5px;font-weight:500;white-space:nowrap}#result-badge.burst{color:#ff9b91}#gesture-hint{position:absolute;top:12px;left:50%;transform:translate(-50%);width:min(340px,100%);margin:0;text-align:center;font-size:var(--text-support);line-height:1.5;color:var(--danger);pointer-events:none;z-index:2}.bottom{position:absolute;bottom:18px;left:50%;transform:translate(-50%);width:148px;max-width:100%;margin:0;text-align:center;z-index:2}.bottom .action{width:100%;height:46px;border-radius:24px;padding:0 17px;gap:12px;justify-content:center;background:var(--quiet);color:var(--support);border:1px solid var(--border);touch-action:none;user-select:none;-webkit-user-select:none}.bottom .action:hover{background:var(--quiet-hover);color:var(--ink)}.bottom .action #action-text{font-size:var(--text-support);font-weight:400;white-space:nowrap}.bottom .action #action-symbol{font-size:19px;font-weight:400;transition:translate .18s}.bottom .action:hover #action-symbol{translate:2px 0}body:has(#game-over:not([hidden])) .bottom{width:190px}.introducing .bottom{width:210px}#game-over{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;text-align:center;overflow-y:auto;touch-action:pan-y;padding:16px 0 76px;cursor:default}#game-over>*{flex-shrink:0}#game-over>:first-child{margin-top:auto}#game-over>:last-child{margin-bottom:auto}#game-over h2{max-width:100%;font:500 clamp(20px,4vw,26px)/1.25 var(--font-display);letter-spacing:-1px;text-wrap:balance;margin:0 0 10px}.final-number{font:500 clamp(54px,12vw,76px)/1.2 var(--font-display);letter-spacing:-3px;font-variant-numeric:tabular-nums;color:var(--score-color)}.final-number small{font:400 16px var(--font-body);letter-spacing:0;color:var(--muted);margin-left:10px}#final-score{text-shadow:var(--score-glow)}.standing-link{margin-top:var(--space-1);padding:8px 10px;background:none;font-size:var(--text-support);max-width:100%;gap:8px}.standing-link.is-ranked{font:500 16px var(--font-display);color:var(--ink)}.standing-chevron{font-size:20px;font-weight:400;color:var(--muted)}.phrase-dot{color:var(--score-color);text-shadow:var(--score-glow)}#app.summary .run-bar{visibility:hidden;pointer-events:none}#app.summary,#app.summary #play-area{touch-action:pan-y}#app:has(dialog[open]){touch-action:pan-y}#app.summary .brand>span{color:var(--score-color);text-shadow:var(--score-glow)}#final-rounds{display:flex;gap:var(--space-5);margin:var(--space-6) 0 0}.mini-score{display:flex;flex-direction:column;gap:var(--space-2);min-width:34px}.mini-score small{font-size:var(--text-micro);color:var(--muted)}.mini-score strong{font-size:var(--text-body);font-weight:500}.result-actions{display:flex;flex-direction:column;gap:var(--space-2);width:min(280px,100%);margin-top:var(--space-5)}.result-actions .button{width:100%}#share-result:disabled{cursor:wait}#save-account{margin-top:var(--space-2)}#recorded-note,#result-date{font-size:var(--text-support);color:var(--muted);margin:var(--space-2) 0 0;font-variant-numeric:tabular-nums}#next-daily{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-top:var(--space-4);color:var(--muted)}#next-daily-label{font:400 var(--text-support) var(--font-body)}#daily-clock{display:inline-flex;align-items:center;font:400 16px/1.1 var(--font-display);height:1.1em;font-variant-numeric:tabular-nums}.clock-unit{font:400 var(--text-micro) var(--font-body);margin:0 8px 0 2px}.clock-unit:last-child{margin-right:0}#lesson-guide{position:relative;flex-shrink:0;height:114px;width:100%;text-align:center;pointer-events:none;padding:10px 8px 0}#lesson-title{font:500 18px var(--font-display);color:#edf0ff}#lesson-copy{max-width:340px;margin:var(--space-2) auto;color:var(--support);font-size:var(--text-support);line-height:1.5}.lesson-eyebrow{display:block;font-size:var(--text-micro);letter-spacing:.4px;color:var(--muted);margin-bottom:6px}#lesson-complete{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 12px 70px}#lesson-complete h2{font:500 var(--text-title) var(--font-display);margin:0 0 var(--space-4)}#lesson-complete h2 span{color:var(--accent)}#lesson-complete p{font-size:var(--text-body);line-height:1.6;color:var(--support)}#lesson-complete .muted{font-size:var(--text-support);color:var(--muted)}.introducing .score-divider,.introducing .total strong>span:last-child{display:none}.introducing .round-status{gap:10px}#help-dialog,#help-dialog *{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.help-steps{list-style:none;counter-reset:help;display:flex;flex-direction:column;gap:var(--space-4);padding:0;margin:0}.help-steps li{counter-increment:help;display:grid;grid-template-columns:24px 1fr;column-gap:var(--space-3);font-size:var(--text-body);line-height:1.5}.help-steps li:before{content:counter(help,decimal-leading-zero);grid-row:1/3;font:400 var(--text-support)/1.6 var(--font-display);color:var(--muted)}.help-steps strong{font-weight:500;color:var(--ink)}.help-steps span{color:var(--support)}#help-dialog .help-scoring{padding-block:var(--space-4);margin:var(--space-4) 0;border-block:1px solid var(--border);font-size:var(--text-support)}.help-details details+details{margin-top:var(--space-1)}.help-details summary{position:relative;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:var(--space-2) 0;font-size:var(--text-support);color:var(--support);touch-action:manipulation}.help-details summary::-webkit-details-marker{display:none}.help-details summary:after{content:"+";font:400 18px var(--font-display);margin-left:var(--space-2)}.help-details details[open] summary:after{content:"−"}.help-details summary:hover{color:var(--ink)}.help-details p{font-size:var(--text-support);margin:var(--space-2) 0 var(--space-4)}#archive-dialog,#share-dialog{width:460px}#archive-date{margin:0;text-align:center;font-size:var(--text-support);color:var(--muted)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:var(--space-5) 0 var(--space-4)}.calendar-nav button{border:0;border-radius:var(--radius-control);background:none;color:var(--support);font-size:25px;min-width:44px;min-height:44px;padding:0 12px}.calendar-nav button:hover{background:var(--quiet)}.calendar-nav button:disabled{opacity:.3;cursor:default}.weekdays,#archive-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-1)}.weekdays{font-size:var(--text-micro);text-align:center;color:var(--muted);margin-bottom:var(--space-2)}.archive-day{min-width:0;min-height:58px;padding:7px 1px;border:1px solid transparent;background:var(--quiet);border-radius:var(--radius-control);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-size:16px}.archive-day small{font-size:var(--text-micro);color:var(--support)}.archive-day:disabled{opacity:.22;background:none;cursor:default}.archive-day.today{border-color:#9daeff70}.archive-day[aria-current]{background:#ffffff12}.archive-day:not(:disabled):hover{background:var(--quiet-hover)}#archive-error,#account-error{color:var(--danger)}#unavailable{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-4)}#unavailable h2,#unavailable p{margin:0}#unavailable p{color:var(--support);font-size:var(--text-body);line-height:1.6}#account-dialog a:not(.button):not(.action){color:var(--support)}#account-dialog input{width:100%;padding:12px;margin:var(--space-2) 0 var(--space-3);background:var(--background);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-control);user-select:text!important;-webkit-user-select:text!important;touch-action:manipulation;font:inherit}#account-dialog label{font-size:var(--text-body)}#signed-in-actions .button{margin:var(--space-1) 0}#account-dialog #google-login{background:#fff;color:#1f1f1f;text-decoration:none;font-family:Arial,sans-serif;font-weight:500;border-radius:6px}#leaderboard-dialog .board-date{color:var(--muted);font-size:var(--text-support)}#leaderboard-dialog .board-status{font-size:var(--text-body);color:var(--support);margin-bottom:var(--space-2)}#leaderboard-dialog .board-status.has-standing{font:500 22px/1.3 var(--font-display);letter-spacing:-.4px;color:var(--ink)}#leaderboard-dialog .board-snapshot{font-size:var(--text-micro);color:var(--muted);margin-top:0}.board-snapshot:empty{display:none}.board-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--text-body);margin:var(--space-5) 0}.board-table th{text-align:left;font:400 var(--text-micro) var(--font-body);color:var(--muted);padding:0 8px 12px;border-bottom:1px solid var(--border)}.board-table th:first-child{width:52px}.board-table th:last-child{width:70px;text-align:right}.board-table td{padding:12px 8px;vertical-align:middle;font-variant-numeric:tabular-nums}.board-table td:first-child{color:var(--muted)}.board-table td:nth-child(2){overflow-wrap:anywhere}.board-table td:last-child{text-align:right;font-weight:500}.board-table .is-you td{background:var(--quiet-hover)}.board-table .is-you td:first-child{border-radius:12px 0 0 12px}.board-table .is-you td:last-child{border-radius:0 12px 12px 0}.board-table .board-gap td{text-align:center;color:var(--muted);font-weight:400}#leaderboard-dialog .board-share{width:100%;margin-top:var(--space-3)}#leaderboard-dialog .board-note{font-size:var(--text-support);color:var(--muted)}#save-state{position:absolute;bottom:8px;left:15px;right:15px;text-align:center;z-index:10;font-size:var(--text-support);color:var(--danger)}#save-state button{margin-left:8px;background:none;border:0;color:inherit;text-decoration:underline;min-height:44px}#app.loading{visibility:hidden}#boot-status{position:absolute;inset:45% 20px auto;text-align:center;color:var(--support);font-size:16px}#share-image{display:block;width:100%;height:auto;border-radius:var(--radius-control);user-select:auto;-webkit-user-select:auto;-webkit-touch-callout:default}#share-status{font-size:var(--text-support);line-height:1.5;color:var(--support);margin:var(--space-3) 0 0}#share-status:empty{display:none}.share-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.share-actions #share-image-button{width:100%}.share-secondary{display:flex;flex-wrap:wrap;gap:6px}.share-secondary .button{flex:1;min-width:0;white-space:nowrap;padding:10px 6px;font-size:12px}.share-actions:has(#share-image-button[hidden]) #save-share-image{width:100%;min-height:48px;flex-basis:100%;flex-direction:row;background:var(--score-color,var(--accent));color:var(--background);font-size:15px;font-weight:600}.share-actions:has(#share-image-button[hidden]) #save-share-image:active{box-shadow:inset 0 0 0 999px #0002}#share-copy{box-sizing:border-box;width:100%;height:160px;background:var(--background);color:var(--ink);border:1px solid var(--border);padding:var(--space-3);margin-top:var(--space-4);border-radius:var(--radius-control);user-select:text;-webkit-user-select:text;touch-action:auto;font:400 var(--text-support)/1.5 var(--font-body)}@media(max-width:600px){header{height:63px}.brand{font-size:18px}.top-actions{gap:var(--space-1)}.run-bar{height:37px}}@media(max-width:380px){#app{padding-inline:16px}.brand{font-size:17px}}@media(max-width:360px){#attempt-score{font-size:23px}.round-status{gap:9px}.share-secondary .button{flex-direction:column;gap:4px;padding:8px 2px;font-size:11px}.mini-score{min-width:30px}#final-rounds{gap:var(--space-4)}}@media(max-height:600px){header{height:48px}#game-over{padding:8px 0 64px}#game-over h2{font-size:20px}.final-number{font-size:52px}#final-rounds{margin-top:var(--space-3)}.result-actions{margin-top:var(--space-3);gap:6px}#save-account{margin-top:var(--space-1)}#next-daily{margin-top:var(--space-2)}#daily-clock,#lesson-title{font-size:15px}#lesson-guide{height:108px;padding-top:5px}}@media(max-height:500px)and (orientation:landscape){header{height:43px}.brand{font-size:17px}.run-bar{height:32px}.bottom{bottom:9px;left:auto;right:0;transform:none}#game-over{padding-bottom:64px}.final-number{font-size:48px}}@media(prefers-reduced-motion:reduce){.round-dot.active{transform:none}.bottom .action:hover #action-symbol{translate:none}}
