:root{--page-padding:clamp(1rem, 2.2vw, 2rem);--hud-padding:clamp(.7rem, 1.3vw, 1rem);--stage-size:clamp(5.2rem, 15vw, 8.8rem);--body-font-size:clamp(15px, 1.1vw + .8rem, 18px);--screen-corner-inset:clamp(.8rem, 2vw, 1.2rem);--screen-corner-padding:.5rem;--ink:#4f3b24;--ink-strong:#3c2f1f;--ink-soft:#6d5940;--paper:#f5ebcf;--paper-card:#f7ebc8;--paper-bright:#fff8e8;--gold:#d4af37;--danger:#c0392b;--font-display:myeongjofont, serif}@media (width<=1024px) and (orientation:landscape){:root{--page-padding:clamp(.4rem, 1vw, .8rem);--hud-padding:clamp(.3rem, .6vw, .5rem);--stage-size:clamp(3.5rem, 12vw, 5rem);--body-font-size:clamp(12px, 1vw, 14px);--screen-corner-inset:clamp(.4rem, 1.2vw, .7rem);--screen-corner-padding:.25rem}}@media (width<=768px) and (orientation:portrait){:root{--page-padding:clamp(.5rem, 2vw, 1rem);--hud-padding:clamp(.4rem, 1.5vw, .7rem);--stage-size:clamp(4rem, 14vw, 6rem);--body-font-size:clamp(13px, 1.2vw, 16px)}}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden}html{font-size:var(--body-font-size)}@font-face{font-family:MyeongjoFont;src:url(/sketchybook/assets/Sketchy-1jX4-CPSPsEA6.ttf)format("truetype");font-weight:400;font-style:normal}body{min-height:100dvh;font-size:1rem;font-family:var(--font-display);color:var(--ink-strong);background-color:var(--paper);isolation:isolate;position:relative}html,body,button,p,h1,h2,h3,h4,h5,h6,span,div{font-family:var(--font-display)}body:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(135deg,#fff8e559,#70522d14);position:fixed;inset:0}main{height:100dvh;min-height:100dvh;padding:var(--page-padding) var(--page-padding) 0;background:0 0;place-items:start center;display:grid;overflow:hidden}.book{width:100%;height:100%;position:relative}.page{opacity:0;transition:opacity .22s;display:none;position:absolute;inset:0}.page.is-active{opacity:1;display:flex}.start-screen,.selection-screen{text-align:center;width:100%;height:100%;padding:var(--page-padding);flex-direction:column;justify-content:center;align-items:center;display:flex}.start-screen{position:relative}.start-screen-login{z-index:2;position:absolute;top:clamp(.75rem,2vw,1.25rem);left:clamp(.75rem,2vw,1.25rem)}.google-signin-container{vertical-align:middle;display:inline-block}.start-screen-actions{z-index:2;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;top:clamp(.75rem,2vw,1.25rem);right:clamp(.75rem,2vw,1.25rem)}.settings-overlay{z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:1;background:#261d146b;transition:opacity .16s;position:fixed;inset:0}.settings-overlay[hidden]{opacity:0;pointer-events:none;display:block}body.settings-is-open{overflow:hidden}body.settings-is-open .start-screen-actions{z-index:902}.start-screen-tools{align-items:center;gap:.2rem;display:flex}.start-screen-tools>button{flex:none}.playground-toggle,.settings-toggle,.settings-panel-close{color:var(--ink);font:inherit;cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:0;padding:.4rem}.playground-toggle{opacity:.7;justify-content:center;align-items:center;width:clamp(2.2rem,4vw,3.5rem);height:clamp(2.2rem,4vw,3.5rem);transition:opacity .15s;display:flex;position:relative}.playground-toggle:hover,.playground-toggle:focus{opacity:1;outline:none}.playground-toggle:active{opacity:.85}.settings-toggle{opacity:.7;justify-content:center;align-items:center;width:clamp(2.2rem,4vw,3.5rem);height:clamp(2.2rem,4vw,3.5rem);transition:opacity .15s;display:flex;position:relative}.settings-toggle:hover,.settings-toggle:focus{opacity:1;outline:none}.settings-toggle:active{opacity:.85}.help-toggle{width:clamp(2.2rem,4vw,3.5rem);height:clamp(2.2rem,4vw,3.5rem);color:var(--ink);font-family:var(--font-display);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;padding:0;font-size:1.1rem;font-weight:800;line-height:1;transition:opacity .15s}.help-toggle:hover,.help-toggle:focus{opacity:1;outline:none}.help-toggle:active{opacity:.85}.google-signin-wrapper{vertical-align:middle;box-shadow:none;background:0 0;border-radius:1rem;justify-content:center;align-items:center;padding:.15rem;display:inline-flex;position:relative}.google-signin-button{z-index:2;cursor:pointer;color:var(--ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;min-width:198px;box-shadow:none;background:0 0;border:none;border-radius:.85rem;justify-content:center;align-items:center;padding:.9rem 1.2rem;font-size:.95rem;font-weight:700;transition:none;display:inline-flex;position:relative}.google-signin-wrapper svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.google-signin-button:hover,.google-signin-button:focus{outline:none;transform:translateY(-1px)}.google-signin-button:active{box-shadow:none;transform:translateY(0)}.settings-panel{min-width:12rem;box-shadow:none;background:0 0;border:none;border-radius:.75rem;flex-direction:column;align-items:flex-end;gap:.45rem;padding:.75rem .9rem;display:flex}.settings-panel[hidden]{display:none}.settings-panel.is-overlay{z-index:901;position:relative}.help-panel{width:min(16rem,75vw);color:var(--ink);background:#faf4d8f0;flex-direction:column;align-items:stretch;gap:.35rem;padding:.75rem .9rem;display:flex;position:relative;transform:rotate(-1deg)}.help-panel[hidden]{display:none}.help-panel p{z-index:1;text-align:left;margin:0;font-size:.78rem;line-height:1.35;position:relative}.help-panel p strong{font-weight:800}.help-panel-title{z-index:1;font-family:var(--font-display);font-weight:800;position:relative;text-align:center!important;margin-bottom:.2rem!important;font-size:.95rem!important}.selection-help-actions{z-index:3;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:absolute;top:clamp(.75rem,2vw,1.25rem);right:clamp(.75rem,2vw,1.25rem)}.settings-panel-title{color:var(--ink);margin:0;font-size:.95rem;font-weight:800}.settings-panel-text{color:var(--ink-soft);margin:0;font-size:.9rem}.settings-option{flex-direction:column;align-items:flex-end;gap:.35rem;width:100%;display:flex;position:relative}.settings-volume-option{width:100%;color:var(--ink);flex-direction:column;align-items:stretch;gap:.25rem;display:flex}.settings-volume-label{align-items:center;gap:.35rem;font-size:.78rem;display:flex}.settings-volume-name{flex:1}.settings-volume-label output{text-align:right;font-variant-numeric:tabular-nums;min-width:2.5rem}.settings-volume-icon{cursor:pointer;justify-content:center;align-items:center;width:1.7rem;height:1.4rem;display:inline-flex;position:relative}.settings-volume-icon canvas{width:34px;height:28px;display:block}.settings-volume-slider{z-index:1;appearance:none;cursor:pointer;background:0 0;width:calc(100% - 18px);height:1.25rem;position:absolute;top:0;left:9px}.settings-volume-slider-wrap{width:100%;height:1.25rem;position:relative;overflow:hidden}.settings-volume-track{pointer-events:none;width:calc(100% - 18px);height:1.25rem;position:absolute;top:.25rem;left:9px}.settings-volume-thumb{z-index:2;pointer-events:none;position:absolute;top:.08rem}.settings-volume-slider::-webkit-slider-runnable-track{background:0 0;height:.38rem}.settings-volume-slider::-moz-range-track{background:0 0;height:.38rem}.settings-volume-slider::-webkit-slider-thumb{appearance:none;width:.9rem;height:1rem;box-shadow:none;background:0 0;border:0;margin-top:-.35rem}.settings-volume-slider::-moz-range-thumb{width:.9rem;height:1rem;box-shadow:none;background:0 0;border:0}.settings-volume-slider:focus{box-shadow:none;outline:none}.challenge-mode-tooltip{z-index:40;opacity:0;pointer-events:none;width:clamp(8.5rem,16vw,11rem);min-height:3.2rem;transition:opacity .15s,transform .15s;position:fixed;transform:translateY(0)rotate(-1deg)}.challenge-mode-tooltip.is-visible{opacity:1;transform:translateY(0)rotate(0)}.challenge-mode-tooltip svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.challenge-mode-tooltip-label{z-index:1;width:100%;height:100%;color:var(--ink);font-family:var(--font-display);letter-spacing:.04em;text-align:center;justify-content:center;align-items:center;padding:.6rem .75rem;font-size:.72rem;font-weight:700;line-height:1.2;display:flex;position:relative}.insane-warning-modal{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#4f3b244d;place-items:center;display:grid;position:fixed;inset:0}.insane-warning-card{background:#faf4d8f5;width:min(38rem,100vw - 2rem);padding:1.4rem 1.2rem 1rem;position:relative;transform:rotate(-.6deg);box-shadow:0 10px 28px #4f3b2429}.insane-warning-card:before{display:none}.insane-warning-eyebrow{z-index:1;color:#7a4b1b;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .4rem;font-size:.72rem;font-weight:800;position:relative}.insane-warning-title{z-index:1;color:var(--ink);font-family:var(--font-display);margin:0 0 .9rem;font-size:clamp(1.4rem,2vw,2rem);font-weight:900;position:relative}.insane-warning-message,.insane-warning-prompt{z-index:1;color:var(--ink);font-family:var(--font-display);text-align:center;margin:0 0 .9rem;font-size:.92rem;line-height:1.6;position:relative}.insane-warning-prompt{margin-bottom:1rem;font-weight:800}.insane-warning-actions{z-index:1;justify-content:center;gap:.75rem;margin-top:.1rem;display:flex;position:relative}.insane-warning-button{z-index:1;color:var(--ink);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:.7rem 1.15rem;font-size:.8rem;font-weight:800;transition:transform .15s,opacity .15s;position:relative}.insane-warning-button:hover,.insane-warning-button:focus{outline:none;transform:translateY(-1px)}.insane-warning-button:active{transform:translateY(0)}.insane-warning-button.is-primary{background:var(--ink);color:var(--paper-bright)}.settings-option-text{color:var(--ink);text-align:right;flex-direction:column;align-items:flex-end;gap:.15rem;font-size:.9rem;line-height:1.25;display:flex}.challenge-mode-constraints{color:var(--danger)}.settings-toggle-switch{cursor:pointer;background:#4f3b2433;border:none;border-radius:999px;flex-shrink:0;width:2.2rem;height:1.25rem;padding:0;position:relative}.settings-toggle-switch[aria-pressed=true]{background:var(--ink)}.settings-toggle-switch-thumb{background:var(--paper-bright);border-radius:50%;width:1.01rem;height:1.01rem;transition:transform .15s;position:absolute;top:.12rem;left:.12rem;box-shadow:0 1px 3px #4f3b242e}.settings-toggle-switch[aria-pressed=true] .settings-toggle-switch-thumb{transform:translate(.95rem)}.selection-exit-btn{top:var(--screen-corner-inset);left:var(--screen-corner-inset);z-index:3;padding:var(--screen-corner-padding);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute}.selection-exit-btn:hover,.selection-exit-btn:focus{opacity:1;outline:none}.selection-exit-btn:active{opacity:.85}.selection-screen-title{margin:0 0 clamp(1.4rem,3vw,2.4rem);transform:translateY(-3rem)}.selection-stage-shell{justify-content:center;align-items:center;gap:clamp(.7rem,2vw,1.75rem);width:min(100%,clamp(34rem,82vw,64rem));display:flex}.selection-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;align-items:center;gap:clamp(.9rem,2.2vw,2rem);width:min(100%,clamp(30rem,70vw,56rem));display:grid}.selection-nav-btn{width:clamp(2.4rem,4vw,3.75rem);height:clamp(2.4rem,4vw,3.75rem);color:var(--ink);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;transition:transform .18s,opacity .18s;display:grid}.selection-nav-btn:hover{transform:translateY(-1px)}.selection-nav-btn:disabled,.selection-nav-btn.is-disabled{opacity:.35;cursor:not-allowed;transform:none}.stage-card.is-hidden{display:none}.stage-card{aspect-ratio:1;width:100%;max-width:clamp(7rem,12vw,12rem);min-height:clamp(7rem,12vw,12rem);box-shadow:none;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:0;justify-self:center;place-items:center;padding:0;font-size:clamp(1rem,2.6vw,1.9rem);font-weight:700;transition:transform .18s;display:grid;position:relative}.stage-card:hover{transform:translateY(-2px)rotate(-1deg)}.stage-card.is-disabled,.stage-card:disabled{opacity:.45;filter:grayscale(.55);cursor:not-allowed;pointer-events:none;transform:none}.stage-card.is-disabled:hover,.stage-card:disabled:hover{transform:none}@keyframes golden-glow{0%,to{filter:drop-shadow(0 0 2px var(--gold)) drop-shadow(0 0 6px #d4af3766)}50%{filter:drop-shadow(0 0 6px var(--gold)) drop-shadow(0 0 12px #d4af37cc)}}.stage-card svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.stage-card.is-challenge-cleared svg{animation:2.5s ease-in-out infinite golden-glow}.stage-card.is-challenge-cleared svg rect,.stage-card.is-challenge-cleared svg line,.stage-card.is-challenge-cleared svg path{stroke-linecap:round;stroke-linejoin:round;stroke:var(--gold)!important;fill:none!important;fill-opacity:0!important}.stage-score-badge{font-family:var(--font-display);color:var(--ink);pointer-events:none;justify-content:center;align-items:center;gap:.2rem;font-size:.95rem;font-weight:700;display:flex;position:absolute;bottom:1.1rem;left:50%;transform:translate(-50%)}.title-stack{flex-direction:column;align-items:center;gap:clamp(.8rem,2vw,1.1rem);margin-top:clamp(1.5rem,5vh,3.5rem);display:flex}.difficulty-selector{grid-template-columns:1.5rem 5rem 1.5rem;justify-content:center;align-items:center;gap:.5rem;margin:clamp(1rem,2.5vh,1.5rem) 0;display:grid}.difficulty-selector button{color:var(--ink);box-sizing:border-box;cursor:pointer;background:0 0;border:none;flex:0 0 1.5rem;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;padding:0;font-size:clamp(28px,2vw,40px);font-weight:400;line-height:0;transition:opacity .15s;display:flex}.difficulty-selector button:hover{opacity:.7}.difficulty-selector button:active{opacity:.5}.difficulty-name{color:var(--ink);box-sizing:border-box;white-space:nowrap;text-align:center;flex:0 0 5rem;width:5rem;min-width:5rem;max-width:5rem;font-size:clamp(16px,1.1vw,20px);font-weight:600}.difficulty-display{justify-content:center;align-items:center;width:5rem;height:1.5rem;display:flex;overflow:hidden}.difficulty-description{color:#4f3b24db;text-align:center;letter-spacing:.02em;max-width:clamp(20rem,36vw,28rem);height:4rem;margin-top:.15rem;font-size:clamp(.72rem,.86vw,.95rem);line-height:1.5}.brand-title,.game-title{color:var(--ink);z-index:0;text-shadow:0 1px #ffffff40;line-height:1;display:inline-block;position:relative}.brand-title{letter-spacing:.3em;text-transform:uppercase;opacity:.95;margin-bottom:.3rem;font-size:clamp(2.2rem,8vw,5rem);font-weight:800;line-height:1.1}.game-title{letter-spacing:.06em;cursor:pointer;-webkit-user-select:none;user-select:none;color:inherit;background:0 0;border:none;margin-top:.5rem;font-size:clamp(1.4rem,4.8vw,3rem);font-weight:700;line-height:1.1}@media (width<=768px){main,.start-screen,.selection-screen{padding:1rem 1rem 0}.selection-grid{width:min(100%,22rem)}}@media (width<=1024px) and (orientation:landscape){main,.start-screen,.selection-screen{padding:.4rem}.start-screen-login{top:clamp(.3rem,1vw,.6rem);left:clamp(.3rem,1vw,.6rem)}.start-screen-actions{gap:.3rem;top:clamp(.3rem,1vw,.6rem);right:clamp(.3rem,1vw,.6rem)}.playground-toggle,.settings-toggle,.help-toggle{width:2.4rem;height:2.4rem}.start-screen-tools{gap:.45rem}.start-screen-tools canvas{width:2.1rem!important;height:1.75rem!important}.brand-title{margin-bottom:.2rem;font-size:clamp(1.6rem,5vw,2.2rem)}.google-signin-button{padding:.6rem .8rem;font-size:.7rem}.difficulty-selector{gap:clamp(.5rem,1.5vw,.8rem);margin:clamp(.6rem,1.5vh,.9rem) 0}.difficulty-selector button{font-size:clamp(20px,1.5vw,28px)}.difficulty-name{font-size:clamp(.7rem,1.2vw,.85rem)}.difficulty-description{font-size:clamp(.6rem,1vw,.75rem)}.selection-stage-shell{gap:clamp(.4rem,1vw,.7rem);width:min(100%,clamp(20rem,70vw,35rem))}.selection-grid{width:min(100%,18rem)}.stage-card{width:100%;height:clamp(3rem,8vw,4rem);font-size:clamp(.7rem,1.8vw,.95rem)}.selection-screen-title{margin:0 0 clamp(.8rem,2vw,1.2rem);font-size:clamp(1.2rem,4vw,1.8rem);transform:translateY(-1.5rem)}.selection-nav-btn{width:clamp(1.8rem,4vw,2.2rem);height:clamp(1.8rem,4vw,2.2rem)}.selection-exit-btn{top:var(--screen-corner-inset);left:var(--screen-corner-inset);padding:var(--screen-corner-padding)}@media (width<=1024px) and (orientation:landscape){.selection-grid{grid-template-rows:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,1.5vw,.9rem);width:min(100%,90vw)}.stage-card{max-width:clamp(5rem,12vh,6.5rem);min-height:clamp(5rem,12vh,6.5rem);font-size:clamp(.7rem,1.8vw,.9rem)}.stage-score-badge{font-size:.7rem}}.insane-warning-card{width:min(90vw,28rem);padding:1rem .9rem .8rem}.insane-warning-button{padding:.5rem .9rem;font-size:.7rem}}.orientation-prompt{width:100vw;height:100vh;z-index:10000;background:#000000b3;justify-content:center;align-items:center;height:-webkit-fill-available;padding:1rem;display:none;position:fixed;top:0;left:0}@media screen and (width<=900px) and (orientation:portrait){html.has-orientation-prompt .orientation-prompt{display:flex}html.has-orientation-prompt body{overflow:hidden}}.orientation-prompt-card{background:var(--paper-card);text-align:center;width:min(100%,22rem);color:var(--ink);border:1px solid #4c39224d;border-radius:1rem;padding:1.5rem;box-shadow:0 16px 40px #00000040}.orientation-prompt-eyebrow{letter-spacing:.24em;text-transform:uppercase;opacity:.75;margin:0 0 .35rem;font-size:.75rem;font-weight:800}.orientation-prompt-title{margin:0 0 .65rem;font-size:1.35rem;line-height:1.2}.orientation-prompt-body{margin:0 0 1rem;font-size:.95rem;line-height:1.5}.orientation-prompt-icon{place-items:center;margin:0 auto 1.25rem;display:grid}.orientation-prompt-device{border:.2rem solid;border-radius:.8rem;width:4rem;height:6rem;animation:2.4s ease-in-out infinite orientation-device-rotate;display:block;position:relative}.orientation-prompt-device:before{content:"";border:.14rem solid;border-radius:.45rem;position:absolute;inset:.55rem}.orientation-prompt-button{background:var(--ink);width:100%;min-height:2.75rem;color:var(--paper-bright);cursor:pointer;font:inherit;border:0;border-radius:.55rem;padding:.7rem 1rem;font-weight:800}.orientation-prompt-button:disabled{cursor:wait;opacity:.65}.orientation-prompt-status{color:#725537;min-height:1.25rem;margin:.65rem 0 0;font-size:.8rem;line-height:1.4}@keyframes orientation-device-rotate{0%,25%{transform:rotate(0)}55%,75%{transform:rotate(90deg)}to{transform:rotate(0)}}.game-page{min-height:100dvh;padding:var(--page-padding);place-items:center;display:grid}.game-shell{flex-direction:column;gap:clamp(.7rem,1.6vw,1.5rem);width:min(100%,90rem);display:flex}.game-hud{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff8e88c;border:1px solid #4f3b2433;justify-content:space-between;align-items:center;padding:clamp(.7rem,1.4vw,1.25rem) clamp(.8rem,2vw,1.8rem);display:flex}.game-stage-label{font-size:clamp(1rem,2vw,2rem);font-weight:700}.game-coordinate-label{opacity:.8;font-size:clamp(.8rem,1.15vw,1.15rem)}.game-board{background:0 0;border:none;width:100%;height:100%;position:relative;overflow:hidden}.page-play{top:calc(-1 * var(--page-padding));width:100vw;height:100dvh;left:50%;transform:translate(-50%)}.draw-limit-progress{z-index:70;opacity:0;pointer-events:none;width:min(56%,34rem);transition:opacity .15s;position:absolute;top:.55rem;left:50%;transform:translate(-50%)}.draw-limit-progress.is-visible{opacity:1}#draw-limit-progress-track-canvas,#draw-limit-progress-fill-canvas{background:0 0;width:100%;height:.8rem;display:block;position:absolute;inset:0}#game-canvas{touch-action:none;background:0 0;width:100%;height:100%;display:block;position:absolute;inset:0}.mobile-launch-btn{z-index:80;color:#fff8e8f0;min-width:clamp(5.2rem,14vw,7rem);min-height:clamp(3rem,8vw,3.8rem);font-family:var(--font-display);letter-spacing:.08em;cursor:pointer;opacity:.78;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#2f3e6f85;border:1px solid #fff8e88a;border-radius:.5rem;padding:.2rem .4rem;font-size:clamp(1rem,3vw,1.35rem);font-weight:800;line-height:1;display:none;position:absolute;bottom:clamp(1.3rem,5vw,2.8rem);right:clamp(1.4rem,5vw,3rem);box-shadow:inset 0 0 0 2px #fff8e81f,inset 0 -3px #111a3a42,2px 3px #2c20143d}.mobile-launch-btn:hover,.mobile-launch-btn:focus-visible{opacity:.94;outline-offset:3px;outline:1px solid #fff8e894}.mobile-launch-btn:active{opacity:.95;transform:translate(1px,2px);box-shadow:inset 0 0 0 2px #fff8e81a,inset 0 1px #111a3a33,1px 1px #2c201433}.mobile-launch-btn:disabled{cursor:not-allowed;filter:grayscale();opacity:.35}.mobile-launch-mark{justify-content:center;align-items:center;gap:.45rem;width:100%;height:100%;display:flex}.mobile-launch-ball{background:#2f3e6f;border:2px solid #fff8e8eb;border-radius:50%;width:1.15rem;height:1.15rem;display:block;box-shadow:inset -2px -2px #111a3a59,0 1px #fff8e82e}.mobile-launch-trail{border-top:2px solid #fff8e8d6;border-bottom:2px solid #fff8e894;width:1.55rem;height:.45rem;display:block}@media (hover:none) and (pointer:coarse){.mobile-launch-btn{display:block}}.stage-clear-overlay{opacity:0;visibility:hidden;pointer-events:none;z-index:9999;place-items:center;width:min(90%,34rem);transition:opacity .12s,visibility .12s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%)scale(.92)}.stage-clear-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto;animation:.34s cubic-bezier(.25,.8,.35,1) forwards stage-clear-stamp}@keyframes stage-clear-stamp{0%{opacity:0;transform:translate(-50%,-110%)rotate(-8deg)scale(.7)}60%{opacity:1;transform:translate(-50%,-50%)rotate(6deg)scale(1.08)}to{opacity:1;transform:translate(-50%,-50%)rotate(0)scale(1)}}.stage-clear-box{text-align:center;width:100%;box-shadow:none;z-index:1;background:#fff8e8f2;border-radius:0;padding:1.75rem 1.5rem;position:relative;overflow:hidden}.stage-clear-box:before{content:"";pointer-events:none;z-index:0;background:#fff8e873;position:absolute;inset:0}.stage-clear-frame{z-index:0;width:calc(100% + 16px);height:calc(100% + 16px);position:absolute;top:-8px;left:-8px}.stage-clear-title{color:var(--ink);z-index:1;margin:0 0 .75rem;font-size:clamp(1.55rem,3vw,2.5rem);font-weight:800;position:relative}.stage-clear-subtitle{color:var(--ink);margin:0;font-size:clamp(1rem,2vw,1.2rem);line-height:1.5}.stage-clear-actions{z-index:1;justify-content:center;gap:.6rem;margin-top:.85rem;display:flex;position:relative}.stage-clear-btn{--pad-y:.5rem;--pad-x:.9rem;padding:var(--pad-y) var(--pad-x);color:var(--ink);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;font-weight:700;display:inline-flex;position:relative}.stage-clear-btn:focus{outline:none}.stage-clear-icon{justify-content:center;align-items:center;width:36px;height:24px;display:inline-flex}.game-surface{position:absolute;inset:0}.game-grid{display:none}.game-ball,.game-goal{position:absolute;transform:translate(-50%,-50%)}.game-ball{background:var(--ink);border-radius:999px;width:clamp(1rem,2.2vw,1.5rem);height:clamp(1rem,2.2vw,1.5rem)}.game-goal{border:2px solid var(--ink);border-radius:50%;width:clamp(1.1rem,2.4vw,1.75rem);height:clamp(1.1rem,2.4vw,1.75rem)}.game-hud-corner-btn{top:var(--screen-corner-inset);z-index:100;padding:var(--screen-corner-padding);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.game-exit-btn.game-hud-corner-btn{left:1rem}.game-retry-btn.game-hud-corner-btn{right:1rem}.game-exit-btn,.game-retry-btn{opacity:.7;transition:opacity .15s}.game-exit-btn:hover,.game-exit-btn:focus,.game-retry-btn:hover,.game-retry-btn:focus{opacity:1;outline:none}.game-exit-btn:active,.game-retry-btn:active{opacity:.85}.playground-history-btn{top:var(--screen-corner-inset);z-index:100;width:clamp(2.8rem,4vw,3.75rem);height:clamp(2.8rem,4vw,3.75rem);padding:var(--screen-corner-padding);cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute}.playground-undo-btn{left:calc(50% - 4rem)}.playground-redo-btn{right:calc(50% - 4rem)}.playground-history-btn:hover,.playground-history-btn:focus-visible{opacity:1;outline:none}.playground-history-btn:active{opacity:.85}.playground-history-btn:disabled{cursor:not-allowed;opacity:.25}@media (width<=768px){.game-page{min-height:100dvh;padding:.5rem}.game-hud{flex-direction:column;align-items:flex-start;gap:.2rem;padding:.3rem .6rem}.game-stage-label{font-size:.9rem}.game-coordinate-label{font-size:.7rem}}@media (width<=1024px) and (orientation:landscape){.game-page{min-height:100dvh;padding:.3rem}.game-shell{gap:.3rem;width:100%}.game-hud{flex-direction:row;gap:.3rem;padding:.25rem .5rem}.game-stage-label{font-size:.85rem}.game-coordinate-label{font-size:.65rem}.game-board{width:100%;height:100%}.draw-limit-progress{width:min(50%,20rem);top:.35rem}#draw-limit-progress-track-canvas,#draw-limit-progress-fill-canvas{height:.6rem}}
