:root{--bg: #0f1013;--line: #ebe5d6;--dim: rgba(235, 229, 214, .35);color:var(--line);background:var(--bg);font:14px/1.4 PingFang SC,Noto Sans SC,Source Han Sans SC,sans-serif;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);-webkit-user-select:none;user-select:none}#app{position:relative;width:min(100vw,480px);height:100dvh;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}@media(min-width:700px)and (min-height:900px){#app{width:min(100vw,620px)}}header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:18px 16px 6px}h1{flex:none;margin:0;font-size:13px;font-weight:400;letter-spacing:.3em;white-space:nowrap;color:var(--dim)}#levels{display:flex;gap:2px;min-width:0;overflow:hidden}#levels button.chapter{width:auto;min-width:26px;padding:0 4px;font:inherit;font-size:14px;color:var(--line);letter-spacing:0}#levels button.chapter:after{display:none}#levels button{flex:none;width:18px;height:28px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center}#levels button:after{content:"";width:7px;height:7px;border-radius:50%;border:1.2px solid var(--dim)}#levels button.on:after{background:var(--line);border-color:var(--line)}main{position:relative;min-height:0;min-width:0;pointer-events:none}canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;pointer-events:auto;z-index:0}header,footer{position:relative;z-index:1}header,footer,header *,footer *,#other,#other *{transition:color 1.2s ease,border-color 1.2s ease,background-color 1.2s ease,box-shadow 1.2s ease}#other{z-index:3}#word{position:absolute;left:0;right:0;bottom:8%;margin:0;text-align:center;font-size:15px;letter-spacing:.6em;color:var(--line);opacity:0;transition:opacity .8s ease;pointer-events:none}#word.on{opacity:.8}#hint{position:absolute;left:24px;right:24px;bottom:15%;margin:0;text-align:center;font-size:14px;line-height:1.6;letter-spacing:.08em;color:var(--line);opacity:0;transition:opacity .6s ease;pointer-events:none}#hint.on{opacity:.85}footer{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;padding:6px 20px 18px}footer button{width:56px;height:56px;border:0;border-radius:50%;background:none;color:var(--dim);cursor:pointer;display:grid;place-items:center;touch-action:manipulation}footer button:active{color:var(--line)}#moves{display:flex;justify-content:center;gap:9px}#moves span{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background .3s,transform .3s}#moves b{font-weight:400;font-size:18px;line-height:1;color:var(--line)}#moves span.spent{background:none;box-shadow:inset 0 0 0 1.2px var(--dim);transform:scale(.8)}#other{position:absolute;right:calc(20px + env(safe-area-inset-right));bottom:calc(2px + env(safe-area-inset-bottom));display:flex;gap:12px;font-size:11px;letter-spacing:.2em}#other button{padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;color:var(--line);cursor:pointer}#other a{color:var(--dim);text-decoration:none}body[data-look=bold]{--bg: #f3efe4;--line: #141414;--dim: rgba(20, 20, 20, .4)}#devpanel{position:absolute;left:8px;right:8px;bottom:calc(92px + env(safe-area-inset-bottom));max-height:58vh;overflow-y:auto;padding:10px 14px 14px;border:1px solid var(--dim);border-radius:14px;background:var(--bg);font-size:13px;z-index:5}#devpanel[hidden]{display:none}#devpanel h3{margin:10px 0 4px;font-size:12px;font-weight:500;letter-spacing:.2em;color:var(--dim)}#devpanel label{color:var(--line);display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin:6px 0}#devpanel label b{font-weight:500;font-variant-numeric:tabular-nums}#devpanel input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--line)}#devpanel .actions{display:flex;gap:8px;margin-top:12px}#devpanel .actions button{flex:1;height:40px;border:1px solid var(--dim);border-radius:20px;background:none;color:var(--line);font:inherit}#devpanel textarea{width:100%;height:120px;margin-top:8px;font:12px ui-monospace,monospace}#app.cover>header,#app.cover>footer,#app.cover>#other{visibility:hidden}header h1[role=button]{cursor:pointer}#menu{--bg: #f3efe4;--line: #141414;--dim: rgba(20, 20, 20, .4);position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top)) 32px calc(24px + env(safe-area-inset-bottom));background:var(--bg);color:var(--line);overflow-y:auto;opacity:0;transition:opacity .6s ease}#menu[hidden]{display:none}#menu.in{opacity:1}#menu button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}#menu .brand{margin:18vh 0 8vh;padding:0;display:block}#menu .brand svg{display:block;color:var(--line)}#menu nav{display:flex;flex-direction:column;gap:4px}#menu .item{display:flex;align-items:baseline;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(20,20,20,.12);font-size:17px;letter-spacing:.15em}#menu small{font-size:12px;letter-spacing:.15em;color:var(--dim)}#menu .back{align-self:flex-start;padding:8px 0;font-size:13px;letter-spacing:.2em;color:var(--dim)}#menu h2{margin:18px 0 22px;font-size:20px;font-weight:400;letter-spacing:.4em}#menu .chapters{display:flex;flex-direction:column;gap:6px}#menu .chapter-row{display:grid;grid-template-columns:40px 1fr;align-items:center;padding:10px 0;border-bottom:1px solid rgba(20,20,20,.12)}#menu .chapter-row.empty{opacity:.45}#menu .glyph{font-size:20px}#menu .dots{display:grid;grid-template-columns:repeat(6,36px);gap:2px}#menu .dots button{width:36px;height:36px;display:grid;place-items:center}#menu .dots button:after{content:"";width:10px;height:10px;border-radius:50%;border:1.2px solid var(--dim)}#menu .dots button.solved:after{background:var(--line);border-color:var(--line)}#menu .dots button.last:after{box-shadow:0 0 0 3px var(--bg),0 0 0 4.2px var(--line)}#menu .settings{display:flex;flex-direction:column}#menu .setting{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(20,20,20,.12);font-size:15px}#menu .setting small{text-align:right}#menu .note{font-size:14px;line-height:1.8;color:var(--dim)}#hud{position:absolute;left:8px;top:calc(52px + env(safe-area-inset-top));z-index:6;padding:3px 7px;border-radius:6px;background:#141414b8;color:#f3efe4;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none}#hud[hidden]{display:none}#profile{position:fixed;left:0;right:0;top:calc(64px + env(safe-area-inset-top));z-index:20;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;pointer-events:none}#profile p{margin:0;padding:8px 14px;border-radius:10px;background:#141414cc;color:#f3efe4;font-size:14px;text-align:center}#profile button,#profile textarea{pointer-events:auto}#profile button{padding:6px 14px;border:1px solid var(--dim);border-radius:16px;background:var(--bg);color:var(--line);font:inherit;font-size:13px}#profile.done{top:calc(48px + env(safe-area-inset-top));bottom:24px}#profile textarea{width:100%;flex:1;font:11px/1.5 ui-monospace,monospace}#devpanel .actions{flex-wrap:wrap}body[data-look=bold] #app{grid-template-rows:minmax(0,1fr)}body[data-look=bold] main{grid-row:1}body[data-look=bold] #app>header{position:absolute;top:calc(env(safe-area-inset-top) + 16px);left:60px;right:60px;justify-content:center;padding:0;z-index:2}body[data-look=bold] #app>header h1{display:none}body[data-look=bold]:not(.debug) #app>header{display:none}body.debug #caption{display:none}#controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}#controls>*{pointer-events:auto}#controls button{position:absolute;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:var(--dim);cursor:pointer;display:grid;place-items:center;touch-action:manipulation;transition:color 1.2s ease,opacity .4s ease}#controls button:active{color:var(--line)}#home{top:calc(env(safe-area-inset-top) + 8px);left:calc(env(safe-area-inset-left) + 8px)}#hintbtn{top:calc(env(safe-area-inset-top) + 8px);right:calc(env(safe-area-inset-right) + 8px)}#sharebtn{top:calc(env(safe-area-inset-top) + 8px);right:calc(env(safe-area-inset-right) + 52px)}#undo{bottom:calc(env(safe-area-inset-bottom) + 10px);left:calc(env(safe-area-inset-left) + 8px)}#reset{bottom:calc(env(safe-area-inset-bottom) + 10px);right:calc(env(safe-area-inset-right) + 8px)}#hintbtn.spent{opacity:.35}#hintbtn[hidden]{display:none}#undo.nudge{color:var(--line);animation:nudge 1.2s ease-in-out 2}@keyframes nudge{50%{transform:scale(1.18)}}body[data-look=bold] #moves{position:absolute;left:60px;right:60px;bottom:calc(env(safe-area-inset-bottom) + 10px);height:44px;align-items:center;pointer-events:none}#caption,body[data-look=bold] #word{position:absolute;top:calc(env(safe-area-inset-top) + 20px);bottom:auto;left:60px;right:60px;margin:0;text-align:center;font-size:15px;letter-spacing:.6em;color:var(--line);opacity:0;transition:opacity .8s ease;pointer-events:none;z-index:1}#caption.on{opacity:.7}body[data-look=bold] #other{top:calc(env(safe-area-inset-top) + 50px);bottom:auto;left:60px;right:60px;justify-content:center}#app.cover>#controls,#app.cover>#caption{visibility:hidden}body[data-look=bold] #levels{gap:1px}body[data-look=bold] #levels button:not(.chapter){width:14px}body[data-look=bold] #app>header{left:54px;right:98px}#menu .setting.slider{flex-wrap:wrap;cursor:default}#menu .setting.slider input{flex-basis:100%;margin:10px 0 0;accent-color:var(--line)}#share{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 12px);z-index:5;padding:14px 14px 8px;border-radius:14px;background:var(--bg);color:var(--line);box-shadow:0 6px 30px #0000002e;display:grid;gap:6px;justify-items:center}#share .ways{display:flex;gap:10px;width:100%}#share button{font:inherit;font-size:15px;color:inherit;background:none;border:0;padding:10px 0;cursor:pointer;touch-action:manipulation}#share .ways button{flex:1;border-radius:10px;box-shadow:inset 0 0 0 1px var(--dim)}#share button:disabled{opacity:.4}#share .status{margin:4px 0 0;min-height:1.4em;font-size:13px;color:var(--dim);text-align:center;word-break:break-all}#share .status .ready{padding:6px 16px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);color:var(--line)}#share .close{font-size:13px;color:var(--dim)}iframe.film{position:fixed;left:0;top:0;width:540px;height:960px;border:0;opacity:0;pointer-events:none;z-index:-1}html:not([lang|=zh]) #caption,html:not([lang|=zh]) body[data-look=bold] #word{letter-spacing:.18em}
