:root{--night:#0b0d1a;--night-2:#151832;--paper:#ece4cf;--paper-dim:#9d97a8;--rope:#dca54a;--vermilion:#d0583f;--teal:#3fa7a0;--panel:#0e1020d1;--line:#ece4cf29;--display:"Black Han Sans", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--body:"IBM Plex Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{touch-action:manipulation}html,body{overscroll-behavior:none;background:var(--night);height:100dvh;color:var(--paper);font-family:var(--body);margin:0;overflow:hidden}#stage{position:fixed;inset:0}#cv{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.hud{pointer-events:none;font-size:14px;position:fixed;inset:0}.hud-l{left:calc(20px + env(safe-area-inset-left,0px));top:calc(16px + env(safe-area-inset-top,0px));gap:4px;max-width:min(460px,60vw);display:grid;position:absolute}.act.hardtag{color:var(--vermilion)}.act{letter-spacing:.14em;color:var(--rope);font-size:12px;font-weight:600}.lname{font-family:var(--display);text-shadow:0 2px #00000080;font-size:28px;line-height:1.1}.goal{color:var(--paper);opacity:.9}.chips{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 9px;font-size:12px}.chip.done{border-color:var(--rope);color:var(--rope)}.hud-r{right:calc(20px + env(safe-area-inset-right,0px));top:calc(16px + env(safe-area-inset-top,0px));pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute}.stat{justify-items:end;padding:0 8px;display:grid}.stat span{letter-spacing:.12em;color:var(--paper-dim);font-size:11px}.stat b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.hint{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));text-align:center;max-width:min(760px,100vw - 32px);color:var(--paper);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 14px;font-size:13px;line-height:1.55;position:absolute;transform:translate(-50%)}button{font:inherit;color:var(--paper);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:7px 12px}button:hover:not(:disabled){border-color:var(--rope);color:var(--rope)}button:focus-visible{outline:2px solid var(--rope);outline-offset:2px}button:disabled{opacity:.35;cursor:not-allowed}kbd{font-family:var(--body);border:1px solid var(--line);background:#ffffff0a;border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:12px}#toast{font-family:var(--display);pointer-events:none;opacity:0;text-shadow:0 3px #0009;text-align:center;padding-inline:16px;font-size:clamp(22px,4vw,40px);transition:opacity .25s;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}#toast.show{opacity:1}#toast.bad{color:var(--vermilion)}#card{text-align:center;pointer-events:none;opacity:0;place-content:center;transition:opacity .5s;display:grid;position:fixed;inset:0}#card.show{opacity:1}#card .act{font-size:14px}#card .t{font-family:var(--display);text-shadow:0 4px #0009;font-size:clamp(40px,8vw,84px);line-height:1}.overlay{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:calc(24px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));background:linear-gradient(90deg,#080914eb 0%,#080914b8 55%,#08091440 100%);align-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.panel{--indent:clamp(0px, 7vw, 120px);width:min(760px, 100% - var(--indent));margin-left:var(--indent);gap:22px;min-width:0;display:grid}.brand{align-items:flex-end;gap:16px;display:flex}.brand h1{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(48px,10vw,96px);font-weight:400;line-height:.95}.seal{border:3px solid var(--vermilion);width:54px;height:54px;color:var(--vermilion);font-family:var(--display);border-radius:4px;flex:none;place-items:center;margin-bottom:8px;font-size:20px;line-height:1;display:grid;transform:rotate(-6deg)}.lead{max-width:46ch;color:var(--paper-dim);max-width:46ch;margin:0;line-height:1.6}.levels{gap:6px;display:grid}.lv{place-items:center;gap:1px;min-height:50px;padding:8px 2px 6px;display:grid}.lv.clear{border-color:#dca54a73}.lv .n{font-family:var(--display);color:var(--rope);font-size:19px;line-height:1}.lv .best{color:var(--paper-dim);font-variant-numeric:tabular-nums;font-size:10px}.sr{gap:8px;display:grid}.sr p{color:var(--paper-dim);margin:0;font-size:12px}.srgrid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;display:grid}.srb{text-align:left;gap:2px;padding:8px 12px;display:grid}.srb b{font-size:14px;font-weight:600}.srb small{color:var(--paper-dim);font-variant-numeric:tabular-nums;font-size:11px}.srb.all{border-color:var(--rope);grid-column:1/-1}.srb.all b,.stat.run b{color:var(--rope)}#bHard.master,body.master .act.hardtag,body.master .lv .n,body.master .fold summary{color:#b48cf0;border-color:#b48cf0}.act.mastertag{color:#b48cf0!important}#bHard[aria-pressed=true]{border-color:var(--vermilion);color:var(--vermilion);background:#d0583f1f}.installnote{color:var(--teal)!important}#bInstall{border-color:var(--teal);color:var(--teal)}#bHard.master[aria-pressed=true]{color:#b48cf0;background:#b48cf01f;border-color:#b48cf0}#masterNote{color:#b48cf0}.winstars{letter-spacing:6px;font-size:34px;line-height:1}.winstars i{color:#ece4cf2e;font-style:normal}.winstars i.on{color:#ffd47a;text-shadow:0 0 12px #ffd47a99}.winstarnote{color:var(--paper-dim);margin:0;font-size:13px}.startotal{color:#ffd47a;margin:0;font-size:13px}.lv .best{letter-spacing:-1px;color:#ffd47a}.hardnote ul{margin:4px 0 0;padding-left:18px}.hardnote b{font-weight:600}.hardnote{color:var(--vermilion);margin:0;font-size:12px;line-height:1.6}body.hard .lv .n,body.hard .fold summary{color:var(--vermilion)}.fold{border-top:1px solid var(--line);padding-top:10px}.fold summary{cursor:pointer;font-family:var(--display);color:var(--rope);font-size:20px;list-style:none}.fold summary::-webkit-details-marker{display:none}.fold summary:after{content:" +";color:var(--paper-dim);font-family:var(--body);font-size:16px}.fold[open] summary:after{content:" −"}.fold[open]>:not(summary){margin-top:10px}.controls{color:var(--paper-dim);grid-template-columns:auto 1fr;align-items:center;gap:6px 14px;font-size:13px;display:grid}.controls dt{justify-self:start}.controls dd{margin:0}.win h2{font-family:var(--display);margin:0;font-size:clamp(40px,8vw,72px);font-weight:400;line-height:1}.winstats{flex-wrap:wrap;gap:28px;display:flex}.winstats div{display:grid}.winstats span{color:var(--paper-dim);letter-spacing:.12em;font-size:12px}.winstats b{font-variant-numeric:tabular-nums;font-size:28px}.row{flex-wrap:wrap;gap:10px;display:flex}.primary{border-color:var(--rope);color:var(--rope)}[hidden]{display:none!important}body.touch .hud-r{top:calc(10px + env(safe-area-inset-top,0px));bottom:auto;right:calc(12px + env(safe-area-inset-right,0px))}body.touch button kbd{display:none}body{word-break:keep-all;overflow-wrap:anywhere;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}.overlay{touch-action:pan-y}.levels{grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}.hint{transition:opacity .6s}.hint.faded{opacity:0}.goal{transition:opacity .6s}.goal.faded{opacity:0}.touch-only{display:none}body.touch .touch-only{display:revert}body.touch .mouse-only,body.touch .hud kbd{display:none}body.touch.big .stick{width:136px;height:136px}body.touch.big .stick .knob{width:56px;height:56px;margin:-28px 0 0 -28px}body.touch.big .tb{width:64px;height:64px;font-size:14px}body.touch.big .tb.big{width:88px;height:88px;font-size:20px}#bBig[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}body.touch .hint{display:none!important}#touch{pointer-events:none;position:fixed;inset:0}body.left .stick{left:auto;right:calc(20px + env(safe-area-inset-right,0px))}body.left .tbtns{right:auto;left:calc(20px + env(safe-area-inset-left,0px));flex-direction:row-reverse}body.fade #touch .stick,body.fade #touch .tb{opacity:.45}body.fade #touch .tb.on{opacity:.8}#settings .row button[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}body.touch .win .row button{min-height:52px;padding-inline:20px;font-size:16px}.tcol{flex-direction:column;align-items:center;gap:10px;display:flex}.tb.big.hook{border-color:var(--teal);color:var(--teal)}body.touch .tb.big#tJump{width:92px;height:92px;font-size:21px}body.touch.big .tb.big#tJump{width:112px;height:112px;font-size:24px}@media (height<=360px){body.touch:not(.big) .tb.big#tJump{width:80px;height:80px;font-size:19px}}.stick{left:calc(20px + env(safe-area-inset-left,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));border:2px solid var(--line);pointer-events:auto;touch-action:none;background:#0e102073;border-radius:50%;width:104px;height:104px;position:absolute}.stick .knob{background:#ece4cf33;border:2px solid #ece4cf80;border-radius:50%;width:42px;height:42px;margin:-21px 0 0 -21px;position:absolute;top:50%;left:50%}.tbtns{right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));pointer-events:auto;align-items:flex-end;gap:14px;display:flex;position:absolute}.tb{touch-action:none;background:#0e10208c;border-radius:50%;width:52px;height:52px;padding:0;font-size:13px}.tb.big{width:70px;height:70px;font-family:var(--display);border-color:var(--rope);color:var(--rope);font-size:17px}.tb.on{background:#dca54a59}body.touch .hud-l{gap:2px}body.touch .lname{pointer-events:auto;font-size:20px}body.touch .goal{font-size:12px}body.touch .act{font-size:11px}body.touch .stat b{font-size:15px}body.touch .hud-r button{padding:6px 10px;font-size:13px}body.touch .hint{left:calc(172px + env(safe-area-inset-left,0px));right:calc(202px + env(safe-area-inset-right,0px));width:auto;max-width:none;bottom:calc(14px + env(safe-area-inset-bottom,0px));margin-inline:auto;font-size:12px;transform:none}body.touch .hud-l{max-width:calc(100vw - 340px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));min-width:150px}@media (orientation:portrait){body.touch .hint{left:calc(16px + env(safe-area-inset-left,0px));right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(176px + env(safe-area-inset-bottom,0px))}body.touch .hud-l{max-width:calc(100vw - 32px);top:calc(64px + env(safe-area-inset-top,0px))}}@media (height<=360px){body.touch .stick{width:92px;height:92px}body.touch .tb{width:46px;height:46px}body.touch .tb.big{width:62px;height:62px}body.touch .hint{left:calc(148px + env(safe-area-inset-left,0px));right:calc(176px + env(safe-area-inset-right,0px))}body.touch .goal{display:none}}@media (width<=640px){.panel{--indent:0px}.hud-l{left:calc(16px + env(safe-area-inset-left,0px));max-width:calc(100vw - 32px)}.hud-r{top:auto;right:16px;bottom:calc(80px + env(safe-area-inset-bottom,0px))}.lname{font-size:22px}}@media (height<=520px){.panel{gap:12px}.brand h1{font-size:40px}.brand h1 br{display:none}.seal{width:40px;height:40px;margin-bottom:2px;font-size:14px}.lead{display:none}.lv{min-height:44px;padding:6px 2px 4px}}@media (prefers-reduced-motion:reduce){#toast,#card{transition:none}}.achgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;display:grid}.ach{border:1px solid var(--line);background:var(--panel);border-radius:6px;gap:4px;padding:8px 12px;display:grid}.ach b{font-size:14px;font-weight:600}.ach small{color:var(--paper-dim);font-variant-numeric:tabular-nums;font-size:11px}.ach.done{border-color:#ffd47a8c}.ach.done b{color:#ffd47a}.ach .bar{background:#ece4cf1f;border-radius:2px;height:3px;overflow:hidden}.ach .bar i{background:var(--rope);height:100%;display:block}.story h2{font-family:var(--display);margin:0;font-size:clamp(36px,7vw,64px);font-weight:400;line-height:1}.storylines{gap:12px;max-width:46ch;display:grid}.storylines p{color:var(--paper);opacity:0;margin:0;line-height:1.75;animation:.8s forwards storyIn}@keyframes storyIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.storylines p{opacity:1;animation:none}}#storyList{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.chaptabs{scrollbar-width:thin;gap:6px;padding-bottom:6px;display:flex;overflow-x:auto}.chtab{text-align:center;flex:none;gap:1px;min-width:52px;padding:6px 8px;display:grid}.chtab b{font-family:var(--display);font-size:15px;font-weight:400}.chtab small{color:var(--paper-dim);font-variant-numeric:tabular-nums;font-size:10px}.chtab.on{border-color:var(--rope);color:var(--rope)}.chtab.done:not(.on) b{color:#ffd47a}.chaphead{font-family:var(--display);color:var(--rope);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;font-size:18px;display:flex}.chaphead span{font-family:var(--body);color:var(--paper-dim);font-variant-numeric:tabular-nums;font-size:12px}.statgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin:0;display:grid}.statgrid div{border:1px solid var(--line);background:var(--panel);border-radius:6px;padding:8px 12px}.statgrid dt{color:var(--paper-dim);font-size:11px}.statgrid dd{font-family:var(--display);color:var(--paper);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:20px}.xfernote{color:var(--paper-dim);margin:0;font-size:13px}.xfercode{box-sizing:border-box;resize:vertical;border:1px solid var(--line);background:var(--panel);width:100%;color:var(--paper);word-break:break-all;border-radius:6px;padding:8px 10px;font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;display:block}.xfercode:focus{outline:2px solid var(--rope);outline-offset:1px}.xfermsg{color:var(--teal);margin:0;font-size:13px}.xfermsg.bad{color:var(--vermilion)}button.bonus{color:#e8846a;border-color:#d0583fb3}button.bonus:hover:not(:disabled){color:#ff8a6a;border-color:#ff6a4a}button.bonus.cleared{color:#ffd47a;border-color:#ffd47ab3}
