@font-face{font-family:Outfit Digits;font-style:normal;font-weight:400;src:url(/fonts/outfit-digits-400.woff2)format("woff2");unicode-range:U+30-39}@font-face{font-family:Outfit Results;font-style:normal;font-weight:300;src:url(/fonts/outfit-results-300.woff2)format("woff2");unicode-range:U+30-3A,U+41,U+43,U+45,U+4C,U+52}@font-face{font-family:Outfit Wordmark;font-style:normal;font-weight:100;font-display:swap;src:url(/fonts/outfit-wordmark-100.woff2)format("woff2");unicode-range:U+49,U+4D-4F,U+52}:root{--ink:#35332c}*{box-sizing:border-box}:root{--radius-s:4px;--radius-m:6px;--radius-l:8px}*{-webkit-tap-highlight-color:transparent}html{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}#first-start:active:not(:disabled),#continue:active:not(:disabled),#overlay-next:active,.dialog-actions button:not(.secondary):active,#guide-next:active{filter:brightness(.9)}#home-menu .secondary:active,#toolbar .secondary:active:not(:disabled),.dialog-actions button.secondary:active,.level-cell:active:not(:disabled),#guide-exit:active{filter:brightness(.94)}#sound-toggle:active,#play-back:active,#chapter-nav button:active:not(:disabled),#hint-note-close:active{opacity:.6}body{color:#cdd6f4;--c0:#f4485f;--c1:#ffde69;--c2:#55d666;--c3:#4fc3f7;--c4:#b388ff;--c5:#ff9238;background:#0f1730;margin:0;font-family:Hiragino Maru Gothic ProN,BIZ UDGothic,system-ui,sans-serif}#app{flex-direction:column;gap:12px;max-width:520px;margin:0 auto;padding:60px 12px 12px;display:flex}#help{z-index:10;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f1730a6;height:72px;position:fixed;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0 55%,#0000 100%);mask-image:linear-gradient(#000 0 55%,#0000 100%)}#help button{pointer-events:auto}#help-inner{max-width:520px;height:100%;margin:0 auto;position:relative}#sound-toggle,#play-back{cursor:pointer;color:#6f7ca8;background:0 0;border:none;padding:9px;line-height:0;position:absolute;top:4px}#sound-toggle:hover,#play-back:hover{color:#cdd6f4}#sound-toggle{right:6px}#play-back{left:6px}#difficulty{letter-spacing:.12em;text-align:center;color:#aab6e8;margin:2px 0 -2px;font-size:13px}.play-ui[hidden]{display:none!important}body[data-screen=play] #app,body[data-screen=select] #app{min-height:100dvh}body[data-screen=select] #app{padding-bottom:60px}body[data-screen=select] #select{margin-top:auto;margin-bottom:auto}body[data-screen=play] #app{padding-bottom:60px}body[data-mode=tutorial] #board-wrap{margin-top:auto;margin-bottom:auto}body[data-screen=play]:not([data-mode=tutorial]) #difficulty,body[data-screen=play]:not([data-mode=tutorial]) #difficulty[hidden]~#board-wrap{margin-top:auto}body[data-screen=play]:not([data-mode=tutorial]) #toolbar{margin-bottom:auto}@media (width>=600px) and (height<=900px){body[data-screen=play] #app{height:100dvh;min-height:0;padding-bottom:calc(128px + env(safe-area-inset-bottom,0px));grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid}body[data-screen=play] #app>.play-ui{min-height:0;margin:0}body[data-screen=play] #difficulty,body[data-screen=play] #guide{grid-row:1}body[data-screen=play] #board-wrap{grid-row:2}body[data-screen=play] #board{--board-fit-height:1;flex-direction:column;justify-content:center;height:100%;display:flex}body[data-screen=play] #toolbar{grid-row:3}}#home{flex-direction:column;justify-content:space-between;min-height:76vh;padding:10vh 4px 6vh;display:flex;position:relative}#home[hidden]{display:none}#splash{z-index:30;background:#15170f;transition:opacity .45s;position:fixed;inset:0}#splash canvas{width:100%;height:100%;display:block}#splash.gone{opacity:0;pointer-events:none}#title-washes{pointer-events:none;z-index:-1;position:fixed;inset:0;overflow:hidden}body:not([data-screen=home]) #title-washes{display:none}.wash{filter:blur(52px);border-radius:50%;position:absolute}.wash-1{background:var(--c5);opacity:.17;width:340px;height:340px;top:-90px;left:-100px}.wash-2{background:var(--c3);opacity:.15;width:380px;height:380px;bottom:-120px;right:-110px}.wash-3{background:var(--c4);opacity:.12;width:200px;height:200px;top:44%;right:-70px}#title-cells{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.title-cell{opacity:0;transform-origin:50%;width:9px;height:9px;animation:title-cell-drift var(--title-cell-duration,12s) linear forwards;will-change:opacity, transform;background:currentColor;border-radius:3px;display:block;position:absolute}@keyframes title-cell-drift{0%{opacity:0;transform:rotate(var(--title-cell-start-rotation,0deg)) scale(1)}10%{opacity:.35}70%{opacity:.35;transform:rotate(var(--title-cell-fade-rotation,180deg)) scale(var(--title-cell-fade-scale,2.7))}to{opacity:0;transform:rotate(var(--title-cell-end-rotation,300deg)) scale(var(--title-cell-end-scale,3.5))}}.c0{background:var(--c0)}.c1{background:var(--c1)}.c2{background:var(--c2)}.c3{background:var(--c3)}.c4{background:var(--c4)}.c5{background:var(--c5)}#home-hero{text-align:center;z-index:1;margin-top:6vh;position:relative}#wordmark,#startup-wait-title{letter-spacing:.3em;color:#e3e9ff;font-family:Outfit Wordmark,Avenir Next,Helvetica Neue,Hiragino Sans,system-ui,sans-serif;font-size:clamp(30px,9vw,40px);font-weight:100}#wordmark{margin:0 0 18px .3em}#wordmark-tiles{justify-content:center;align-items:center;gap:7px;display:flex}#wordmark-tiles:before,#wordmark-tiles:after{content:"";background:#3a4a7d;flex:0 0 52px;height:1px}#wordmark-tiles i{border-radius:4px;width:12px;height:12px}#home-menu{z-index:1;flex-direction:column;gap:10px;width:min(320px,100%);margin:0 auto;display:flex;position:relative}#home-menu button{border-radius:var(--radius-m);cursor:pointer;border:none;padding:14px;font-size:15px}#first-start,#continue{color:#fff;letter-spacing:.08em;background:#4a7fd4;padding:16px;font-size:16px}#continue:disabled{opacity:.5;cursor:default}#home-menu .secondary{background:0 0;border:1px solid #2c3a66!important}#toolbar{justify-content:center}#toolbar .secondary{background:0 0;flex:0 auto;padding:9px 14px;font-size:13px;border-color:#c9c4b4!important}#toolbar .secondary:hover{background:#ffffff0d}#select{flex-direction:column;gap:10px;display:flex}#select[hidden]{display:none}#chapter-nav{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}#chapter-nav button{border-radius:var(--radius-s);cursor:pointer;color:#cdd6f4;background:0 0;border:none;width:40px;height:40px;font-size:26px;line-height:1}#chapter-nav button:disabled{opacity:.25;cursor:default}#chapter-indicator{letter-spacing:.12em;color:#aab6e8;font-size:18px}#chapter-pager{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}#chapter-pager::-webkit-scrollbar{display:none}.chapter-page{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;flex-direction:column;flex:0 0 100%;gap:10px;padding:0 2px;display:flex}.chapter-head{color:#aab6e8;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;min-height:26px;font-size:20px;font-weight:700;display:flex}.chapter-head .progress{letter-spacing:.06em;font-size:16px;font-weight:400}.chapter-body{position:relative}.chapter-lock{z-index:1;pointer-events:none;justify-content:center;align-items:center;margin:0;padding:16px;display:flex;position:absolute;inset:0}.chapter-lock span,#hint-note-text,#hint-dialog-text,#highlight-dialog-text{word-break:auto-phrase}.chapter-lock span{border-radius:var(--radius-l);text-align:center;color:#cdd6f4;background:#0f1730e0;max-width:88%;padding:28px;font-size:18px;font-weight:700;line-height:1.6;display:inline-block}.level-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.level-cell{border-radius:var(--radius-s);cursor:pointer;color:#cdd6f4;background:#212c50;border:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:100px;padding:10px 2px;display:flex}.level-cell .num{font-size:26px;font-weight:700;line-height:1.1}.level-cell .record{letter-spacing:.04em;color:#aab6e8;min-height:18px;font-size:14px;line-height:1.25}.level-cell[data-state=cleared],.level-cell[data-state=cooldown]{color:#fff;background:#2f4f96}.level-cell[data-state=cleared] .record,.level-cell[data-state=cooldown] .record{color:#fff}.level-cell[data-state=cleared] .record.stars,.level-cell[data-state=cooldown] .record.stars{color:#ffd75e}.level-cell[data-state=cooldown]{opacity:.55}.level-cell[data-state=locked]{cursor:default;color:#3f4a70;background:#141c36}#toolbar .tool{border-radius:var(--radius-m);letter-spacing:0;white-space:nowrap;cursor:pointer;color:#cdd6f4;background:0 0;border:none;flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;padding:6px 0;font-size:13px;display:flex}.tool svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.tool:disabled{cursor:default}.tool-icon{display:inline-flex;position:relative}.tool-badge{box-sizing:border-box;text-align:center;letter-spacing:0;color:#0f1730;background:#cdd6f4;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:13px;font-weight:700;line-height:18px;position:absolute;top:-6px;right:-12px}#highlight[aria-pressed=true]{opacity:.45}body[data-mode=level] #toolbar{justify-content:space-between;gap:4px}#startup-wait{color:#fff;background:#0f1730;border:none;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:24px;inset:0}#startup-wait::backdrop{background:#0f1730}#startup-wait[open]{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}#startup-wait-text{margin:0}#startup-wait-title{margin:0 0 0 .3em}#native-notice{width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;text-align:center;background:#0f1730eb;border:none;border-radius:0;margin:0;padding:24px;inset:0}#native-notice[open]{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}#native-notice-title{margin:0;font-size:18px;font-weight:700}#native-notice-text{max-width:28em;word-break:auto-phrase;color:#aab6e8;margin:0;font-size:14px;line-height:1.6}#native-notice-retry{border-radius:var(--radius-m);color:#fff;cursor:pointer;background:#4a7fd4;border:none;margin-top:6px;padding:10px 24px;font-size:15px}#hint-note{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;border-radius:var(--radius-l);background:#161f3c;border:none;flex-direction:column;gap:4px;max-width:496px;margin:0 auto;padding:10px 12px 12px;animation:.24s ease-out hint-note-in;display:flex;position:fixed;box-shadow:0 6px 24px #00000073}#hint-note[hidden]{display:none}@keyframes hint-note-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}#hint-note-head{justify-content:space-between;align-items:center;gap:8px;display:flex}#hint-note-title{color:#aab4d6;font-size:13px;font-weight:700}#hint-note-close{color:#aab4d6;cursor:pointer;background:0 0;border:none;min-width:32px;min-height:32px;margin:-8px -8px -8px 0;padding:0;font-size:18px;line-height:1}#hint-note-text{margin:0;font-size:13px;line-height:1.5}#hint-dialog-text,#highlight-dialog-text{margin:0 0 14px;font-size:14px;line-height:1.6}#guide{border-radius:var(--radius-l);background:#161f3c;border:none;flex-direction:column;gap:8px;min-height:128px;padding:12px 14px 14px;display:flex;box-shadow:0 6px 24px #00000073}#guide[hidden]{display:none}#guide-head{justify-content:space-between;align-items:center;gap:8px;display:flex}#guide-title{letter-spacing:.04em;color:#aab6e8;font-size:13px;font-weight:700}#guide-exit{border-radius:var(--radius-s);cursor:pointer;color:#aab6e8;background:0 0;border:none;padding:6px 10px;font-size:13px}#guide-text{white-space:pre-line;word-break:auto-phrase;margin:0;font-size:15px;line-height:1.7}#guide-flash{color:#ff9f6e;min-height:20px;margin:0;font-size:14px;font-weight:700;line-height:20px}#guide-next[hidden]{visibility:hidden;display:inline-block}#guide-next{border-radius:var(--radius-m);color:#fff;cursor:pointer;background:#4a7fd4;border:none;align-self:flex-end;margin-top:auto;padding:8px 18px;font-size:14px}body[data-mode=tutorial] #difficulty{display:none}body[data-mode=tutorial][data-tutorial-tools] #toolbar{justify-content:center}#board-wrap{width:100%;position:relative}#board{touch-action:none;width:100%;padding:4px 0}#board canvas{cursor:pointer;width:100%;height:auto;display:block}#toolbar{flex-wrap:wrap;gap:8px;display:flex}#toolbar button{border-radius:var(--radius-m);cursor:pointer;border:none;padding:10px 12px;font-size:14px}.secondary{color:#cdd6f4;background:#212c50;flex:auto;border:1px solid #2c3a66!important}.secondary:hover{background:#28345c}dialog{border-radius:var(--radius-l);color:#cdd6f4;background:#161f3c;border:none;width:min(92vw,360px);padding:16px;box-shadow:0 12px 32px #00000073}dialog[open]{animation:.24s ease-out dialog-in}dialog::backdrop{background:#28262080}dialog[open]::backdrop{animation:.24s ease-out backdrop-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}dialog h2{margin:0 0 12px;font-size:16px}dialog .opt{margin:0 0 12px;font-size:13px;line-height:1.5;display:block}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-actions button,.dialog-actions button.secondary{flex:1 1 0;min-width:0;border:none!important}.dialog-actions button{border-radius:var(--radius-m);cursor:pointer;color:#fff;background:#4a7fd4;border:none;padding:8px 16px;font-size:14px}.dialog-actions button.secondary{color:var(--ink);background:#fff}.dialog-actions button.destructive{background:var(--c0)}.dialog-actions button.destructive:disabled{cursor:default;background:#b9b5a5}#licenses-dialog[open]{flex-direction:column;width:min(92vw,520px);max-height:80dvh;display:flex}#licenses-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-user-select:text;user-select:text;flex:auto;min-height:0;margin-bottom:12px;overflow-y:auto}#licenses-body pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:12px;line-height:1.5}#reset-dialog-warning{color:var(--c0);margin:0 0 4px;font-weight:700}#reset-dialog-label{margin-bottom:6px;font-size:13px;display:block}#reset-input{box-sizing:border-box;border-radius:var(--radius-m);width:100%;color:var(--ink);background:#fff;border:1px solid #b9b5a5;margin-bottom:14px;padding:8px 10px;font-size:15px}#overlay{inset:0 calc(-1 * var(--board-canvas-overflow,0px));border-radius:var(--radius-l);color:#fff;text-align:center;background:#302e28c7;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:16px;display:flex;position:absolute}#overlay-content{flex-direction:column;align-items:center;gap:14px;display:flex}#overlay[data-kind=clear]{color:#cdd6f4;background:0 0}#overlay[data-kind=clear] #overlay-content{animation:clear-result-in var(--board-clear-result-fade-duration) ease-out both;gap:32px;transform:translateY(76px)}#overlay[data-kind=clear][data-instant] #overlay-content{animation:none}#overlay-result{flex-direction:column;align-items:center;gap:20px;margin:0;display:flex}#overlay-result[hidden],#overlay-time-row[hidden]{display:none}#overlay-stars-row{align-items:baseline;gap:8px;display:flex}#overlay-mistakes{opacity:.72;font-size:13px;line-height:1}#overlay-stars{letter-spacing:.16em;font-size:20px;font-weight:400;line-height:1}#overlay-time-row{letter-spacing:.08em;opacity:.78;align-items:center;gap:8px;font-family:Outfit Results,Outfit,Avenir Next,system-ui,sans-serif;font-size:20px;font-weight:300;line-height:1;display:flex}#overlay-clock{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}#overlay[data-kind=clear] #overlay-next{padding:12px 22px}@keyframes clear-result-in{0%{opacity:0}to{opacity:1}}#overlay[hidden]{display:none}#overlay-message{margin:0;font-size:20px;font-weight:700}#overlay-next{border-radius:var(--radius-m);color:#fff;cursor:pointer;background:#4a7fd4;border:none;padding:10px 18px;font-size:15px}body[data-screen=help] #app{min-height:100dvh;padding-bottom:60px}#howto{flex-direction:column;gap:22px;width:min(480px,100%);margin:0 auto;display:flex}#howto[hidden]{display:none}#howto h2{letter-spacing:.12em;text-align:center;margin:0;font-size:20px}#howto h3{letter-spacing:.08em;margin:0 0 8px;font-size:16px}#howto section{flex-direction:column;display:flex}#howto ul,#howto dl{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}#howto li,#howto dd,#howto .howto-lead,.howto-strategy p{word-break:auto-phrase;margin:0;font-size:15px;line-height:1.7}#howto li:before{content:"・"}#howto dt{margin-top:4px;font-size:15px;font-weight:700}#howto .howto-lead{margin-bottom:10px}#howto-actions{flex-direction:column;gap:10px;width:min(320px,100%);margin:0 auto;display:flex}#howto-actions button{border-radius:var(--radius-m);cursor:pointer;color:#fff;background:#4a7fd4;border:none;padding:14px;font-size:15px}#howto-practice{color:inherit!important;background:0 0!important;border:1px solid #2c3a66!important}body[data-screen=settings] #app{min-height:100dvh;padding-bottom:60px}#settings{flex-direction:column;gap:22px;width:min(480px,100%);margin:0 auto;display:flex}#settings[hidden]{display:none}#settings h2{letter-spacing:.12em;text-align:center;margin:0;font-size:20px}#settings h3{letter-spacing:.08em;margin:0 0 8px;font-size:16px}.settings-choices{flex-wrap:wrap;gap:10px;display:flex}.settings-choice{border-radius:var(--radius-m);color:inherit;cursor:pointer;background:0 0;border:1px solid #2c3a66;padding:10px 18px;font-size:15px}.settings-choice.destructive{color:var(--c0);border-color:var(--c0)}#settings-reset-note,#settings-licenses-note{opacity:.72;margin:0 0 10px;font-size:13px}.settings-choice[aria-pressed=true]{color:#fff;background:#4a7fd4}#howto-strategies{flex-direction:column;gap:16px;display:flex}.howto-strategy{grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:start;gap:4px 14px;display:grid}.howto-strategy h4{letter-spacing:.04em;grid-area:1/1;margin:0;font-size:16px}.howto-strategy p{grid-area:2/1}.howto-strategy h4 .en{color:#aab6e8;margin-left:8px;font-size:13px;font-weight:400}.howto-strategy .mini-board{grid-area:1/2/span 2;align-self:center;gap:2px;display:grid}.mini-tile{border-radius:var(--radius-s);color:#fff;box-sizing:border-box;background:#223056;justify-content:center;align-items:center;width:20px;height:20px;font-family:Outfit,sans-serif;font-size:12px;font-weight:700;display:flex}.mini-tile.black{background:#0b1020}.mini-tile.mark{border:2px dashed var(--mark)}#howto-strategies .fallback{color:#aab6e8;font-size:13px}
