@font-face{font-family:Comic Neue;font-style:normal;font-weight:700;font-display:swap;src:url(./comic-neue-latin-700-NE4Vcoll.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #eef0fb;--dim: #a3a6c9;--faint: #74779b;--bg: #0a0b16;--panel: rgba(30, 33, 66, .72);--panel-line: rgba(255, 255, 255, .09);--line: rgba(255, 255, 255, .11);--accent: #48e0d3;--accent-deep: #1c9691;--accent-2: #9d70f9;--warn: #ffd479;--font-comic: "Comic Sans MS", "Comic Neue", "Comic Sans", cursive;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font-family:ui-rounded,Segoe UI Variable Display,Segoe UI,system-ui,-apple-system,sans-serif;overscroll-behavior:none;-webkit-font-smoothing:antialiased}body{background:radial-gradient(900px 520px at 18% -12%,rgba(72,224,211,.14),transparent 62%),radial-gradient(760px 480px at 88% 4%,rgba(157,112,249,.16),transparent 60%),linear-gradient(180deg,#14172f,#0a0b16 62%);background-attachment:fixed}#app{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;padding-bottom:var(--banner-h, 0px);box-sizing:border-box;gap:0}#stage{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:14px;background:#000;box-shadow:0 30px 80px -30px #000000e6,0 0 0 1px #ffffff12;overflow:hidden}canvas#screen{display:block;border-radius:14px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}canvas#screen.hidden{display:none}#fps-counter{position:absolute;right:10px;bottom:6px;z-index:50;pointer-events:none;font-family:ui-monospace,monospace;font-size:12px;line-height:1;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.8)}#debug-geo{display:none;position:absolute;top:6px;left:10px;z-index:50;pointer-events:none;font-family:var(--font-comic);font-weight:700;font-size:14px;color:#ff3b30;text-shadow:0 1px 2px rgba(0,0,0,.8);transform-origin:top left}#hud{position:absolute;inset:0;display:none;align-items:flex-start;justify-content:space-between;gap:calc(var(--hu, 360px) * .028);padding:calc(var(--hu, 360px) * .028 + var(--safe-area-inset-top, env(safe-area-inset-top, 0px))) calc(var(--hu, 360px) * .028 + var(--safe-area-inset-right, env(safe-area-inset-right, 0px))) calc(var(--hu, 360px) * .028 + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px))) calc(var(--hu, 360px) * .028 + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)));pointer-events:none;z-index:4;font-size:calc(var(--hu, 360px) * .036)}.hud-right{display:flex;flex-direction:column;align-items:flex-end}.hud-actions{display:flex;align-items:center;justify-content:flex-end;gap:calc(var(--hu, 360px) * .017)}:root{--banner-h: 0px}.hud-actions-bottom{position:absolute;right:calc(var(--hu, 360px) * .028 + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)));bottom:calc(var(--hu, 360px) * .028 + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)))}.hud-btn.hud-btn-icon{min-width:calc(var(--hu, 360px) * .088);height:calc(var(--hu, 360px) * .072);padding:0 calc(var(--hu, 360px) * .018);border-radius:calc(var(--hu, 360px) * .02)}.hud-btn.hud-btn-icon .hud-btn-glyph{display:block;width:calc(var(--hu, 360px) * .048);height:calc(var(--hu, 360px) * .048)}.hud-btn{pointer-events:auto;display:grid;place-items:center;min-width:calc(var(--hu, 360px) * .106);height:calc(var(--hu, 360px) * .106);padding:0 calc(var(--hu, 360px) * .022);font:inherit;font-size:calc(var(--hu, 360px) * .047);line-height:1;color:var(--ink);border:1px solid var(--line);border-radius:calc(var(--hu, 360px) * .033);background:#0a0b169e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 1px #ffffff14 inset,0 10px 24px -16px #000000e6;cursor:pointer;transition:background .15s ease,transform .08s ease,border-color .15s ease}.hud-btn:hover{background:#1e2142cc}.hud-btn:active{transform:scale(.94);border-color:var(--accent)}.hud-btn-word{font-family:var(--font-comic);font-weight:700;letter-spacing:.04em;padding:0 calc(var(--hu, 360px) * .03)}#hud.visible{display:flex}#hud.cleared .hud-gear,#hud.cleared .hud-lesson,#hud.cleared .hud-level-name,#hud.cleared [data-act=undo-action],#hud.cleared [data-act=reset],#hud.cleared .hud-toolkit,#hud.cleared .hud-stats{display:none}.hud-gear{pointer-events:auto;display:grid;place-items:center;width:calc(var(--hu, 360px) * .1);height:calc(var(--hu, 360px) * .1);font-size:calc(var(--hu, 360px) * .047);line-height:1;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:#0a0b169e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 1px #ffffff14 inset,0 10px 24px -16px #000000e6;cursor:pointer;transition:background .15s ease,transform .08s ease,border-color .15s ease}.hud-gear:hover{background:#1e2142cc}.hud-gear:active{transform:scale(.95)}.hud-gear[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.hud-stats{display:flex;flex-direction:column;align-items:flex-end;gap:calc(var(--hu, 360px) * .006);padding:calc(var(--hu, 360px) * .016) calc(var(--hu, 360px) * .028);color:var(--dim);font-size:calc(var(--hu, 360px) * .026);font-variant-numeric:tabular-nums;text-align:right;border:1px solid var(--panel-line);border-radius:calc(var(--hu, 360px) * .033);background:#0a0b169e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 1px #ffffff14 inset,0 10px 24px -16px #000000e6}.hud-stats b{color:var(--ink);font-size:calc(var(--hu, 360px) * .032)}.hud-sep{align-self:stretch;width:1px;background:var(--line)}.hud-clock-line{display:inline-flex;align-items:baseline;gap:6px}.hud-clock-line b{color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.02em}.hud-clock-line i{font-style:normal;font-size:10px;color:var(--faint);font-variant-numeric:tabular-nums}.hud-menu{position:absolute;top:calc(var(--hu, 360px) * .15);left:calc(var(--hu, 360px) * .028);display:grid;gap:calc(var(--hu, 360px) * .011);min-width:calc(var(--hu, 360px) * .578);padding:calc(var(--hu, 360px) * .022);pointer-events:auto;text-align:left;border:1px solid var(--panel-line);border-radius:16px;background:var(--panel);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 1px #ffffff14 inset,0 30px 60px -30px #000000f2}.hud-menu-title{margin:2px 6px 6px;font-size:calc(var(--hu, 360px) * .028);letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.hud-item{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--hu, 360px) * .033);width:100%;padding:calc(var(--hu, 360px) * .025) calc(var(--hu, 360px) * .028);font:inherit;font-size:calc(var(--hu, 360px) * .036);color:var(--ink);text-align:left;border:0;border-radius:10px;background:transparent;cursor:pointer;transition:background .15s ease}.hud-item:hover{background:#ffffff14}.hud-state{padding:2px 9px;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--faint);border:1px solid var(--line);border-radius:999px}.hud-state.on{color:#04241f;background:var(--accent);border-color:transparent}.cam-return{position:absolute;left:50%;bottom:calc(var(--hu, 360px) * .028);z-index:5;display:inline-flex;align-items:center;gap:calc(var(--hu, 360px) * .022);padding:calc(var(--hu, 360px) * .019) calc(var(--hu, 360px) * .042) calc(var(--hu, 360px) * .019) calc(var(--hu, 360px) * .031);font:inherit;font-size:calc(var(--hu, 360px) * .033);font-weight:650;letter-spacing:.06em;color:var(--ink);border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#0a0b168c;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 12px 28px -18px #000000f2;cursor:pointer;opacity:0;pointer-events:none;transform:translate(-50%,10px);transition:opacity .2s ease,transform .2s ease,background .15s ease}.cam-return.visible{opacity:.62;pointer-events:auto;transform:translate(-50%)}.cam-return.visible:hover{opacity:1;background:#1e2142d1}.cam-return.visible:active{transform:translate(-50%,1px) scale(.97)}.cam-return-icon{width:calc(var(--hu, 360px) * .058);height:calc(var(--hu, 360px) * .058);flex:none;overflow:visible}.cam-return-frame{fill:none;stroke:var(--accent);stroke-width:1.7;stroke-linecap:round}.cam-return-ear,.cam-return-hood{fill:#c1272d}.cam-return-hood{stroke:#4a0f14;stroke-width:.6}.cam-return-inner{fill:#f7a2b8}.cam-return-gloss{fill:#ffffff40}.cam-return-face{fill:#f2a65a;stroke:#7e1a20;stroke-width:.5}.cam-return-eye{fill:#ffd23f;stroke:#1c1020;stroke-width:.35}.cam-return-mask{fill:#262733}.record{margin:-10px 0 18px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}#overlay{display:none;width:100%;max-width:780px;justify-content:center}#overlay.visible{position:relative;display:flex;align-items:flex-start;padding:16px;width:100%;max-height:100%;overflow:hidden;overscroll-behavior:contain;touch-action:manipulation}#stage.fit-short #overlay.visible{padding:8px;align-items:center}#stage.fit-short .panel{padding:10px 14px;border-radius:16px}#stage.fit-short .panel h2{margin-bottom:6px;font-size:17px}#stage.fit-short .eyebrow{margin-bottom:2px;font-size:10px}#stage.fit-short .blurb{margin-bottom:8px;font-size:12px}#stage.fit-short .menu{gap:8px;margin-bottom:10px}#stage.fit-short .menu-btn{padding:10px 14px;border-radius:13px;gap:1px}#stage.fit-short .menu-title{font-size:15px}#stage.fit-short .menu-sub,#stage.fit-short .menu-stats{font-size:11px}#stage.fit-short .row{gap:8px}#stage.fit-short .btn{padding:9px 16px;font-size:13px}#stage.fit-short .scroll-title{font-size:18px}#stage.fit-short .scroll-entry{padding:7px 4px}#stage.fit-short .scroll-stats{font-size:11px}.pager{display:flex;align-items:center;justify-content:center;gap:10px;margin:6px 0 8px}.pager-btn{padding:6px 16px;font-size:16px;line-height:1}.pager-btn[disabled]{opacity:.35;cursor:default}.pager-num{font-size:13px;font-weight:700;min-width:44px;text-align:center}.pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:640px}.pick-grid .menu-btn{padding:12px 10px;min-height:118px;justify-content:center}.pick-grid .menu-title{font-size:15px}.pick-grid .menu-done{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin-right:.45em;border-radius:50%;background:#2fae5f;color:#fff;font-size:.85em;font-weight:800;box-shadow:0 0 10px #50ff96a6}#stage.fit-short .pick-grid .menu-btn{min-height:104px;padding:8px 6px}#stage.fit-short .pick-grid .menu-title{font-size:13px}#stage.fit-short .pick-grid .menu-sub,#stage.fit-short .pick-grid .menu-stats,#stage.fit-short .pick-grid .menu-own-note{font-size:10px}#overlay.visible .panel.pick-online{padding:calc(var(--hu, 360px) * .061);border-radius:calc(var(--hu, 360px) * .061);font-family:var(--font-comic)}#overlay.visible .panel.pick-online .eyebrow{margin-bottom:calc(var(--hu, 360px) * .017);font-size:calc(var(--hu, 360px) * .029)}#overlay.visible .panel.pick-online h2{margin-bottom:calc(var(--hu, 360px) * .033);font-size:calc(var(--hu, 360px) * .064)}#overlay.visible .panel.pick-online .blurb{margin-bottom:calc(var(--hu, 360px) * .05);font-size:calc(var(--hu, 360px) * .036)}#overlay.visible .panel.pick-online .menu.pick-grid{gap:calc(var(--hu, 360px) * .033);margin-top:calc(var(--hu, 360px) * .011);margin-bottom:calc(var(--hu, 360px) * .056);max-width:min(calc(var(--hu, 360px) * 1.778),100%)}#overlay.visible .panel.pick-online .pick-grid .menu-btn{gap:calc(var(--hu, 360px) * .008);padding:calc(var(--hu, 360px) * .033) calc(var(--hu, 360px) * .028);border-radius:calc(var(--hu, 360px) * .05);min-height:calc(var(--hu, 360px) * .328)}#overlay.visible .panel.pick-online .pick-grid .menu-btn:after{width:calc(var(--hu, 360px) * .444);height:calc(var(--hu, 360px) * .444)}#overlay.visible .panel.pick-online .pick-grid .menu-title{font-size:calc(var(--hu, 360px) * .042);color:#ffe27a}#overlay.visible .panel.pick-online .pick-grid .menu-sub{display:flex;align-items:baseline;gap:calc(var(--hu, 360px) * .02);width:100%;margin-top:calc(var(--hu, 360px) * -.004);font-size:calc(var(--hu, 360px) * .026);color:var(--ink);text-align:left}#overlay.visible .panel.pick-online .pick-grid .menu-sub .creator-prefix{flex:none}#overlay.visible .panel.pick-online .pick-grid .menu-sub .creator-name{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:#6aa8ff;font-weight:700}#overlay.visible .panel.pick-online .pick-grid .menu-stats{font-size:calc(var(--hu, 360px) * .032)}#overlay.visible .panel.pick-online .pick-grid .menu-own-note{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(var(--hu, 360px) * .02);color:var(--ink)}#overlay.visible .panel.pick-online .pick-grid .menu-btn,#overlay.visible .panel.pick-online .pick-grid .menu-btn *{font-family:var(--font-comic)}#overlay.visible .panel.pick-online .pick-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:calc(var(--hu, 360px) * .006);width:100%;margin-top:calc(var(--hu, 360px) * .012);text-align:left}#overlay.visible .panel.pick-online .pick-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;padding:calc(var(--hu, 360px) * .006) calc(var(--hu, 360px) * .012);border-radius:calc(var(--hu, 360px) * .012);background:#ffffff0f;font-size:calc(var(--hu, 360px) * .026);line-height:1.2;color:var(--ink);white-space:nowrap}#overlay.visible .panel.pick-online .pick-row .pk{color:#7de3f0;opacity:1}#overlay.visible .panel.pick-online .pick-row b{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#ffe27a;font-weight:700;max-width:62%;text-align:right}#overlay.visible .panel.pick-online .pick-row-wide{grid-column:1 / -1}#overlay.visible .panel.pick-online .pick-row-empty b{color:var(--faint);font-weight:400;font-style:italic}#overlay.visible .panel.pick-online .pick-cleared b{color:#4ade80}#overlay.visible .panel.pick-online .pick-failed b{color:#ff6b6b}#overlay.visible .panel.pick-online .pick-holder .pick-me{color:#ffe27a;font-weight:700}#overlay.visible .panel.pick-online .pick-holder{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:calc(var(--hu, 360px) * .022);color:var(--faint);padding-right:calc(var(--hu, 360px) * .012);margin-top:calc(var(--hu, 360px) * -.004)}#overlay.visible .panel.pick-online .pick-chip{padding:1px 9px;border-radius:999px;background:linear-gradient(90deg,#48e0d3,#6aa8ff);color:#0b1020;font-weight:700;min-width:0;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#overlay.visible .panel.pick-online .pick-wait{grid-column:1 / -1;text-align:center;font-style:italic;opacity:.7;font-size:calc(var(--hu, 360px) * .03)}#overlay.visible .panel.pick-online .row{gap:calc(var(--hu, 360px) * .028)}#overlay.visible .panel.pick-online .row .btn{padding:calc(var(--hu, 360px) * .031) calc(var(--hu, 360px) * .056);font-size:calc(var(--hu, 360px) * .036)}#overlay.over.ready-veil{background:#03040cd6;backdrop-filter:blur(3px) saturate(110%);-webkit-backdrop-filter:blur(3px) saturate(110%)}#overlay.over.ready-veil .panel.online-ready{font-family:var(--font-comic);width:100%;padding:0;text-align:center;background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}#overlay.visible .panel.online-ready .ready-banner{margin:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * -.045) calc(var(--hu, 360px) * .03);padding:calc(var(--hu, 360px) * .033) calc(var(--hu, 360px) * .03);transform:rotate(-4deg);background:linear-gradient(135deg,#a4123f,#5c1030 55%,#2a0f24);border-top:2px solid #ffe27a;border-bottom:2px solid #ffe27a;box-shadow:0 4px 18px #0000008c;animation:ready-stamp .38s cubic-bezier(.2,1.6,.4,1)}@keyframes ready-stamp{0%{transform:rotate(-14deg) scale(1.7);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:1}}#overlay.visible .panel.online-ready .ready-eyebrow{margin-bottom:calc(var(--hu, 360px) * .008);font-size:calc(var(--hu, 360px) * .028);letter-spacing:.14em;text-transform:uppercase;color:#ffb3c8}#overlay.visible .panel.online-ready .ready-name{margin-bottom:calc(var(--hu, 360px) * .012);font-size:calc(var(--hu, 360px) * .064);line-height:1.05;color:#ffe27a;text-shadow:2px 2px 0 #5c1030,0 0 14px rgba(255,226,122,.35);overflow-wrap:anywhere}#overlay.visible .panel.online-ready .ready-name .menu-done{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin-right:.4em;border-radius:50%;background:#2fae5f;color:#fff;font-size:.6em;font-weight:800;vertical-align:middle;box-shadow:0 0 10px #50ff96a6}#overlay.visible .panel.online-ready .ready-sub{display:flex;align-items:center;justify-content:center;gap:calc(var(--hu, 360px) * .02);margin-bottom:calc(var(--hu, 360px) * .012)}#overlay.visible .panel.online-ready .ready-id-chip{padding:1px 10px;border-radius:999px;background:#0b1020;border:1px solid #ffe27a;color:#ffe27a;font-weight:700;font-size:calc(var(--hu, 360px) * .03)}#overlay.visible .panel.online-ready .ready-diff-chip{padding:1px 10px;border-radius:999px;background:linear-gradient(90deg,#48e0d3,#6aa8ff);color:#0b1020;font-weight:700;font-size:calc(var(--hu, 360px) * .03)}#overlay.visible .panel.online-ready .ready-creator{display:flex;align-items:center;justify-content:center;gap:calc(var(--hu, 360px) * .02);font-size:calc(var(--hu, 360px) * .033);color:var(--ink)}#overlay.visible .panel.online-ready .ready-creator .creator-prefix{flex:none;white-space:nowrap}#overlay.visible .panel.online-ready .ready-creator .creator-name{flex:0 1 auto;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6aa8ff;font-weight:700;font-size:calc(var(--hu, 360px) * .033)}#overlay.visible .panel.online-ready .menu-own-note{margin-top:calc(var(--hu, 360px) * .008);font-size:calc(var(--hu, 360px) * .026);color:var(--ink);opacity:.85}#overlay.visible .panel.online-ready .ready-row{justify-content:center;gap:calc(var(--hu, 360px) * .03)}#overlay.visible .panel.online-ready .ready-go{font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .052);font-weight:700;padding:calc(var(--hu, 360px) * .028) calc(var(--hu, 360px) * .09);border-radius:999px;border:2px solid #ffe27a;background:linear-gradient(180deg,#3ddc74,#1d9e4b);color:#06240f;text-shadow:0 1px 0 rgba(255,255,255,.35);box-shadow:0 4px #0d5c2a,0 6px 22px #3ddc7473;animation:ready-bounce 1.15s ease-in-out infinite;cursor:pointer}#overlay.visible .panel.online-ready .ready-go:active{transform:translateY(3px);box-shadow:0 1px #0d5c2a,0 3px 12px #3ddc7466}@keyframes ready-bounce{0%,to{transform:translateY(0) rotate(-1.6deg) scale(1);box-shadow:0 4px #0d5c2a,0 6px 16px #3ddc7459}50%{transform:translateY(calc(var(--hu, 360px) * -.022)) rotate(1.6deg) scale(1.05);box-shadow:0 7px #0d5c2a,0 10px 28px #3ddc7499}}@media(prefers-reduced-motion:reduce){#overlay.visible .panel.online-ready .ready-banner,#overlay.visible .panel.online-ready .ready-go{animation:none}}#stage.fit-short #overlay.visible .panel.online-ready .ready-name{font-size:20px}#stage.fit-short #overlay.visible .panel.online-ready .ready-go{font-size:17px}#overlay.visible .panel.find-ninja{font-family:var(--font-comic);overflow-x:hidden;overflow-y:auto;max-height:calc(var(--hu, 360px) * .98);padding:calc(var(--hu, 360px) * .05);background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}#overlay.visible .panel.find-ninja .find-crest{display:grid;place-items:center;width:calc(var(--hu, 360px) * .14);height:calc(var(--hu, 360px) * .14);margin:calc(var(--hu, 360px) * .02) auto;border-radius:50%;font-size:calc(var(--hu, 360px) * .072);font-weight:700;color:#f3ecd8;background:radial-gradient(circle at 35% 30%,#58619c,#262b4d 78%);border:2px solid #d8a94e;outline:2px solid rgba(216,169,78,.35);outline-offset:calc(var(--hu, 360px) * .008);text-shadow:0 2px 4px rgba(0,0,0,.6);animation:crest-sway 6s ease-in-out infinite;transform-origin:50% 0}#overlay.visible .panel.find-ninja .eyebrow{color:#d8a94e;margin-bottom:calc(var(--hu, 360px) * .017);font-size:calc(var(--hu, 360px) * .029)}#overlay.visible .panel.find-ninja h2{position:relative;margin-bottom:calc(var(--hu, 360px) * .025);font-size:calc(var(--hu, 360px) * .064);color:#f3ecd8;text-shadow:0 3px 0 rgba(126,26,32,.55),0 10px 28px rgba(0,0,0,.5)}#overlay.visible .panel.find-ninja h2:before,#overlay.visible .panel.find-ninja h2:after{content:"";position:absolute;top:50%;width:calc(var(--hu, 360px) * .061);height:calc(var(--hu, 360px) * .061);translate:0 -50%;background:linear-gradient(135deg,#f2f5ff,#8a93b8 72%);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);opacity:.9;pointer-events:none;animation:shuriken-spin 9s linear infinite}#overlay.visible .panel.find-ninja h2:before{left:calc(var(--hu, 360px) * .017)}#overlay.visible .panel.find-ninja h2:after{right:calc(var(--hu, 360px) * .017);animation-direction:reverse}#overlay.visible .panel.find-ninja .blurb{margin-bottom:calc(var(--hu, 360px) * .04);font-size:calc(var(--hu, 360px) * .036);text-shadow:-1px 0 0 rgba(3,4,10,.9),1px 0 0 rgba(3,4,10,.9),0 -1px 0 rgba(3,4,10,.9),0 1px 0 rgba(3,4,10,.9),0 2px 8px rgba(0,0,0,.9)}#overlay.visible .panel.find-ninja .auth-error{min-height:calc(var(--hu, 360px) * .05);font-size:calc(var(--hu, 360px) * .036)}#overlay.visible .panel.find-ninja .auth-field{text-align:center;font-family:var(--font-comic);padding:calc(var(--hu, 360px) * .031) calc(var(--hu, 360px) * .039);font-size:calc(var(--hu, 360px) * .061);font-weight:700;letter-spacing:.3em;text-indent:.3em;color:#f3ecd8;background:#0a0b1acc;border-color:#d8a94e73}#overlay.visible .panel.find-ninja .auth-field:focus{border-color:#d8a94e;box-shadow:0 0 0 3px #d8a94e40}.find-id-row{display:flex;align-items:center;justify-content:center;gap:calc(var(--hu, 360px) * .02)}.find-id-row .auth-field{flex:none;width:8em;min-width:0}.find-prefix{flex:none;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .061);font-weight:700;letter-spacing:.1em;color:#ffe27a;text-shadow:-1px 0 0 rgba(3,4,10,.9),1px 0 0 rgba(3,4,10,.9),0 -1px 0 rgba(3,4,10,.9),0 1px 0 rgba(3,4,10,.9)}#overlay.visible .panel.find-ninja .btn.primary{background:linear-gradient(180deg,#8bf5c9,#1d9e77 62%,#0f6e52);border-color:#dcffeb73;color:#06231a;box-shadow:0 14px 34px -14px #1d9e77cc,0 1px #ffffff40 inset}#overlay.visible .panel.find-ninja .btn.primary:hover{filter:brightness(1.08)}#overlay.visible .panel.find-ninja .row{gap:calc(var(--hu, 360px) * .028)}#overlay.visible .panel.find-ninja{padding:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .05)}#overlay.visible .panel.find-ninja .find-col .btn{margin-top:calc(var(--hu, 360px) * .025);font-size:calc(var(--hu, 360px) * .024);padding:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .036)}#overlay.visible .panel.find-ninja .find-crest{display:none}#find-id-input:focus::placeholder,#find-name-input:focus::placeholder{color:transparent}#overlay.visible .panel.find-ninja h2{font-size:calc(var(--hu, 360px) * .055);margin-bottom:calc(var(--hu, 360px) * .02)}#overlay.visible .panel.find-ninja .find-col .blurb{margin-bottom:calc(var(--hu, 360px) * .025)}.find-cols{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--hu, 360px) * .04);align-items:stretch}.find-col{display:flex;flex-direction:column;align-items:center;min-width:0}.find-col+.find-col{border-left:1px solid rgba(243,236,216,.25);padding-left:calc(var(--hu, 360px) * .04)}#overlay.visible .panel.find-ninja .find-col h3{font-family:var(--font-comic);color:#ffe27a;font-size:calc(var(--hu, 360px) * .045);margin-bottom:calc(var(--hu, 360px) * .015);text-shadow:-1px 0 0 rgba(3,4,10,.9),1px 0 0 rgba(3,4,10,.9),0 2px 6px rgba(0,0,0,.7)}.find-col .find-id-row{width:100%}.find-col .find-id-row .auth-field{flex:1 1 auto;width:auto;min-width:0}.find-col .find-id-row .auth-field:not(.find-name-field){max-width:8em}#overlay.visible .panel.find-ninja .find-col .blurb{min-height:calc(var(--hu, 360px) * .105)}#overlay.visible .panel.find-ninja .find-col .find-id-row .find-name-field{flex:none;width:8em;min-width:0;max-width:100%;letter-spacing:.02em}#overlay.visible .panel.find-ninja .find-back-row{margin-top:calc(var(--hu, 360px) * .025);justify-content:center}#overlay.visible .panel.find-ninja .find-go-row{margin-top:calc(var(--hu, 360px) * .045)}#overlay.visible .panel.find-ninja .row+.row{margin-top:calc(var(--hu, 360px) * .02)}#overlay.visible .panel.find-ninja .row .btn{padding:calc(var(--hu, 360px) * .031) calc(var(--hu, 360px) * .056);font-size:calc(var(--hu, 360px) * .036)}#overlay.visible .panel.lb-panel{font-family:var(--font-comic);display:flex;flex-direction:column;width:100%;margin:0 auto;height:100%;max-height:100%;min-height:0;overflow-y:auto}#overlay.visible .panel.lb-panel.lb-art{background-size:100% 100%;background-position:center;background-repeat:no-repeat}#overlay.visible .panel.lb-panel h2{font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .075);margin-bottom:calc(var(--hu, 360px) * .004);color:#fff8e6}#overlay.visible .panel.lb-panel h2,.lb-criteria,.lb-cat-label,.lb-page-label,.lb-gap,#lb-me,#lb-found .blurb,#overlay.visible .panel.lb-panel .row .btn{text-shadow:-1px 0 0 rgba(3,4,10,.9),1px 0 0 rgba(3,4,10,.9),0 -1px 0 rgba(3,4,10,.9),0 1px 0 rgba(3,4,10,.9),0 2px 10px rgba(0,0,0,.9)}.lb-criteria{margin:0 0 calc(var(--hu, 360px) * .012);font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .04);color:#ffe27a}.lb-list{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:space-evenly;gap:calc(var(--hu, 360px) * .008);margin:calc(var(--hu, 360px) * .01) 0}.lb-cols{flex:none;display:flex;gap:calc(var(--hu, 360px) * .02)}.lb-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-evenly;gap:calc(var(--hu, 360px) * .008)}#overlay.visible .panel.lb-panel .row .btn.lb-back{position:absolute;right:0;top:50%;transform:translateY(-50%);background:transparent}.lb-row{display:flex;align-items:center;gap:calc(var(--hu, 360px) * .016);padding:calc(var(--hu, 360px) * .012) calc(var(--hu, 360px) * .02);border:1px solid rgba(255,255,255,.22);border-radius:calc(var(--hu, 360px) * .01);background:#060812c7;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .036);line-height:1.35;color:#fff8e6;text-shadow:-1px 0 0 rgba(3,4,10,.9),1px 0 0 rgba(3,4,10,.9),0 -1px 0 rgba(3,4,10,.9),0 1px 0 rgba(3,4,10,.9),0 2px 10px rgba(0,0,0,.9)}.lb-rank{min-width:calc(var(--hu, 360px) * .07);text-align:center}.lb-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{font-weight:700;color:#ffd75e}.lb-row.lb-me{border-color:#ffc450e6;box-shadow:0 0 0 2px #ffc45080,0 0 22px -2px #ffc45099}.lb-row.lb-me-top{background:linear-gradient(180deg,#ffc45052,#ffc45024);border-color:#ffd75e;box-shadow:0 0 0 2px #ffd75ebf,0 0 28px -2px #ffc83cd9}.lb-row.lb-empty{opacity:.55;border-style:dashed}.lb-row.lb-empty .lb-name{font-style:italic}.lb-gap{text-align:center;color:#f3ecd88c;font-size:calc(var(--hu, 360px) * .05);line-height:1;letter-spacing:.3em}.lb-tabs{position:relative;justify-content:center;gap:calc(var(--hu, 360px) * .016);margin-bottom:calc(var(--hu, 360px) * .01)}.lb-search-btn{flex:none}.lb-tab-active{border-color:#ffc450e6;box-shadow:0 0 0 2px #ffc45073,0 0 18px -2px #ffc4508c;color:#ffe27a}.lb-id{flex:none;font-size:.8em;font-style:italic;color:#fff8e6cc;white-space:nowrap}.lb-name-level{display:flex;align-items:baseline;gap:.35em}.lb-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-cat-row{align-items:center;flex-wrap:nowrap}.lb-cat-label{flex:1;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .05);font-weight:700;color:#fff8e6}#overlay.visible .panel.lb-panel .row .btn{padding:calc(var(--hu, 360px) * .022) calc(var(--hu, 360px) * .042);font-size:calc(var(--hu, 360px) * .036);font-family:var(--font-comic)}.lb-arrow{flex:none}.lb-pager{position:relative;justify-content:center;align-items:center;gap:calc(var(--hu, 360px) * .02);margin-top:calc(var(--hu, 360px) * .02)}.lb-page-label{min-width:calc(var(--hu, 360px) * .3);text-align:center;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .034);font-weight:700;color:#ffe27a;white-space:nowrap}.lb-row.lb-found{border-color:#ffc450e6;background:linear-gradient(180deg,#ffc45052,#ffc45024);box-shadow:0 0 0 2px #ffd75ebf,0 0 28px -2px #ffc83cd9}#lb-found .blurb{margin:calc(var(--hu, 360px) * .008) 0 0}.lb-search-pop{position:absolute;top:calc(100% + calc(var(--hu, 360px) * .012));left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:calc(var(--hu, 360px) * .014);max-width:calc(100% - calc(var(--hu, 360px) * .03));padding:calc(var(--hu, 360px) * .018) calc(var(--hu, 360px) * .022);border:1px solid rgba(255,255,255,.2);border-radius:calc(var(--hu, 360px) * .02);background:#0a0b1af7;box-shadow:0 8px 32px -6px #000000b3}.lb-search-label{flex:none;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .028);font-weight:700;color:#ffe27a;white-space:nowrap}.lb-search-pop .lb-search-field{flex:1 1 auto;min-width:0;width:calc(var(--hu, 360px) * .34);padding:calc(var(--hu, 360px) * .012) calc(var(--hu, 360px) * .02);font-size:calc(var(--hu, 360px) * .028)}.lb-search-prefix{flex:none;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .028);font-weight:700;color:#ffe27a;white-space:nowrap}.lb-search-prefix[hidden]{display:none}#overlay.visible .panel.lb-panel .lb-search-pop .btn.lb-find{flex:none;padding:calc(var(--hu, 360px) * .012) calc(var(--hu, 360px) * .024);font-size:calc(var(--hu, 360px) * .026)}#lb-search[hidden]{display:none}@keyframes crest-sway{0%,to{rotate:-3deg}50%{rotate:3deg}}@keyframes shuriken-spin{to{rotate:360deg}}.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:440px;margin:4px auto 12px;width:100%}.diff-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 6px;min-height:64px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,#ffffff17,#ffffff05);color:var(--ink);cursor:pointer}.diff-btn:hover{border-color:#48e0d38c}.diff-btn:active{transform:scale(.97)}.diff-icon{font-size:20px;line-height:1.2}.diff-label{font-size:12px;font-weight:700;letter-spacing:.01em}.diff-random{grid-column:1 / -1;flex-direction:row;gap:10px;min-height:0;padding:8px 14px}.diff-random .diff-icon{font-size:22px}.diff-text{display:flex;flex-direction:column;align-items:flex-start;gap:0}.diff-random .diff-label{font-size:14px}.diff-hint{font-size:11px;opacity:.65}#stage.fit-short .diff-grid{gap:6px;margin-bottom:8px}#stage.fit-short .diff-btn{min-height:56px;padding:6px 4px}#stage.fit-short .diff-icon{font-size:17px}#stage.fit-short .diff-label{font-size:11px}#stage.fit-short .online-menu .online-pool-title{font-size:calc(var(--hu, 360px) * .0667);margin-bottom:calc(var(--hu, 360px) * .0278)}#stage.fit-short .online-menu .diff-grid{max-width:calc(var(--hu, 360px) * .9167);gap:calc(var(--hu, 360px) * .0222);margin-bottom:calc(var(--hu, 360px) * .0278)}#stage.fit-short .online-menu .diff-btn{min-height:0;padding:calc(var(--hu, 360px) * .0333) calc(var(--hu, 360px) * .0167) calc(var(--hu, 360px) * .0278)}#stage.fit-short .online-menu .diff-icon{font-size:calc(var(--hu, 360px) * .1333)}#stage.fit-short .online-menu .diff-label{font-size:calc(var(--hu, 360px) * .0389)}#stage.fit-short .online-menu .online-tools{gap:calc(var(--hu, 360px) * .0167)}#stage.fit-short .online-menu .online-tools .btn,#stage.fit-short .online-menu .online-tools .check-row{padding:calc(var(--hu, 360px) * .0167) calc(var(--hu, 360px) * .0222);font-size:calc(var(--hu, 360px) * .0333)}.online-menu{max-width:calc(var(--hu, 360px) * 1.4444);margin:0 auto;text-align:center}#overlay.visible.online-dojo-scene,#overlay.visible.online-classic-scene{height:100%;align-items:center}.online-dojo-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.online-dojo-backdrop img{position:absolute;left:50%;top:50%;height:100%;width:auto;max-width:none;transform:translate(-50%,-50%);display:block}.online-dojo-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#06081273,#06081240 40%,#0608128c)}.online-classic-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.online-classic-backdrop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.online-classic-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#06081273,#06081240 40%,#0608128c)}.online-menu.online-dojo,.online-menu.online-classic{position:relative;z-index:1;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.online-menu .online-pool-title{margin:0 0 calc(var(--hu, 360px) * .0278);font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .0667);font-weight:700;letter-spacing:.02em;color:#ffd75e;text-shadow:0 2px 0 rgba(59,32,4,.9),0 4px 16px rgba(0,0,0,.85)}.online-menu .online-pool-title .help-circle{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin-left:.35em;padding:0;vertical-align:.1em;font-family:var(--font-comic);font-size:.55em;font-weight:700;line-height:1;color:#1a1206;background:#ffd75e;border:calc(var(--hu, 360px) * .0056) solid #7a4d12;border-radius:50%;box-shadow:0 2px #3b2004e6;cursor:pointer}.online-menu .online-pool-title .help-circle:active{transform:translateY(1px);box-shadow:none}.online-help .help-body,.online-help .row .btn{font-family:var(--font-comic)}.online-help .help-body{margin:0 auto calc(var(--hu, 360px) * .02);max-width:none;max-height:none;overflow:visible;text-align:left;font-size:calc(var(--hu, 360px) * .035);line-height:1.4;color:#fffdf4;text-shadow:0 2px 8px rgba(0,0,0,.9);background:#050712b8;border:1px solid rgba(255,255,255,.16);border-radius:calc(var(--hu, 360px) * .0333);padding:calc(var(--hu, 360px) * .0278) calc(var(--hu, 360px) * .0389)}.online-help .help-diffs{display:grid;grid-template-columns:1fr 1fr;column-gap:calc(var(--hu, 360px) * .0444);margin-bottom:calc(var(--hu, 360px) * .0111)}.online-help .help-diffs .help-row{flex-direction:column;gap:0}.online-help .help-row{display:flex;gap:calc(var(--hu, 360px) * .0278);padding:calc(var(--hu, 360px) * .0083) 0}.online-help .help-tag{flex:0 0 auto;min-width:calc(var(--hu, 360px) * .32);font-weight:700;font-size:1.05em;color:#ffd75e}.online-help .help-diffs .help-tag{min-width:0}.online-help .online-pool-title{font-size:calc(var(--hu, 360px) * .06);margin-bottom:calc(var(--hu, 360px) * .0167)}#stage.fit-short .online-help .help-body{font-size:calc(var(--hu, 360px) * .0311);line-height:1.35}#stage.fit-short .online-help .online-pool-title{font-size:calc(var(--hu, 360px) * .0556)}.online-help .row.back-right{margin:0}#overlay.visible .panel.online-menu.online-help .row.back-right .btn{padding:calc(var(--hu, 360px) * .0194) calc(var(--hu, 360px) * .025);font-family:ui-rounded,Segoe UI Variable Display,Segoe UI,system-ui,-apple-system,sans-serif;font-size:calc(var(--hu, 360px) * .0347);white-space:nowrap}#stage.fit-short .online-help .row.back-right .btn{padding:calc(var(--hu, 360px) * .0167) calc(var(--hu, 360px) * .0222);font-size:calc(var(--hu, 360px) * .0333)}@media(max-width:600px){#overlay.visible .panel.online-menu.online-help .row.back-right .btn{padding:calc(var(--hu, 360px) * .0167) calc(var(--hu, 360px) * .0222);font-size:calc(var(--hu, 360px) * .0333)}}.online-menu.online-dojo .diff-btn{background:linear-gradient(180deg,#0a0c1cd1,#0a0c1cad);border-color:#ffffff38}.online-menu.online-dojo .online-tools .btn,.online-menu.online-dojo .online-tools .check-row,.online-menu.online-classic .online-tools .btn,.online-menu.online-classic .online-tools .check-row{text-shadow:0 2px 8px rgba(0,0,0,.9)}.online-loading.online-dojo,.panel.pick-online.online-dojo,.online-loading.online-classic,.panel.pick-online.online-classic{position:relative;z-index:1;background:none;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.online-loading.online-dojo h2,.online-loading.online-classic h2{font-family:var(--font-comic);color:#ffd75e;text-shadow:0 2px 0 rgba(59,32,4,.9),0 4px 16px rgba(0,0,0,.85)}.online-loading.online-dojo .blurb,.online-loading.online-classic .blurb,.panel.pick-online.online-dojo .row .btn.ghost,.panel.pick-online.online-classic .row .btn.ghost{text-shadow:0 2px 8px rgba(0,0,0,.9)}.panel.pick-online.online-dojo .pick-grid .menu-btn,.panel.pick-online.online-classic .pick-grid .menu-btn{background:linear-gradient(180deg,#101426f7,#101426eb);border-color:#ffffff47;box-shadow:0 12px 32px #000000a6}.panel.pick-online.online-dojo .pick-grid .menu-btn.own,.panel.pick-online.online-classic .pick-grid .menu-btn.own{background:linear-gradient(180deg,#2e220cf7,#1e180af0);border-color:#e8b840cc}#overlay.visible .panel.pick-online.online-dojo .pick-row,#overlay.visible .panel.pick-online.online-classic .pick-row{background:#ffffff21}.online-menu .online-tag{display:inline-block;margin:0 0 6px;padding:3px 12px;border-radius:999px;background:linear-gradient(90deg,#ffd75e,#ffb347);color:#1a1020;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.online-menu h2{margin:0 0 4px}.online-menu .blurb{margin:0 0 12px;font-size:13px;opacity:.8}.online-menu .diff-grid{grid-template-columns:repeat(3,1fr);gap:calc(var(--hu, 360px) * .0278);max-width:none;margin:0 0 calc(var(--hu, 360px) * .0389)}.online-menu .diff-btn{position:relative;min-height:calc(var(--hu, 360px) * .2);aspect-ratio:1 / 1;padding:calc(var(--hu, 360px) * .0333) calc(var(--hu, 360px) * .0167) calc(var(--hu, 360px) * .0278);border-radius:calc(var(--hu, 360px) * .0444);overflow:hidden;gap:calc(var(--hu, 360px) * .0222);border-color:#ffffff29;box-shadow:0 calc(var(--hu, 360px) * .0333) calc(var(--hu, 360px) * .0778) calc(var(--hu, 360px) * -.0333) #000c,0 0 calc(var(--hu, 360px) * .0611) calc(var(--hu, 360px) * -.0222) var(--tile, #48e0d3)}.online-menu .diff-icon{font-size:calc(var(--hu, 360px) * .1333);line-height:1;filter:drop-shadow(0 calc(var(--hu, 360px) * .0222) calc(var(--hu, 360px) * .0278) rgba(0,0,0,.55))}.online-menu .diff-btn.diff-art-btn{padding:0;border-color:transparent;background:none;box-shadow:none}.online-menu .diff-btn.diff-art-btn:before{display:none}.online-menu .diff-btn.diff-art-btn:hover{transform:none}.online-menu .diff-btn .diff-art{width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:50% 50%;animation:diff-breathe 2.6s ease-in-out infinite}.online-menu .diff-btn[data-online=easy] .diff-art{animation-duration:3.1s;animation-delay:-.7s}.online-menu .diff-btn[data-online=normal] .diff-art{animation-duration:2.3s;animation-delay:-1.4s}.online-menu .diff-btn[data-online=hard] .diff-art{animation-duration:3.4s;animation-delay:-.3s}.online-menu .diff-btn[data-online=insane] .diff-art{animation-duration:2.9s;animation-delay:-2.1s}.online-menu .diff-btn[data-online=random] .diff-art{animation-duration:2.5s;animation-delay:-1.1s}@keyframes diff-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@media(prefers-reduced-motion:reduce){.online-menu .diff-btn .diff-art{animation:none}}.online-menu .diff-label{font-size:calc(var(--hu, 360px) * .0389);font-weight:800;letter-spacing:.05em}.online-menu .diff-btn:before{content:"";position:absolute;left:0;right:0;top:0;height:calc(var(--hu, 360px) * .0167);background:var(--tile, #48e0d3);box-shadow:0 0 calc(var(--hu, 360px) * .0333) var(--tile, #48e0d3)}.online-menu .diff-btn[data-online=unrated]{--tile: #6ee7a0}.online-menu .diff-btn[data-online=easy]{--tile: #48e0d3}.online-menu .diff-btn[data-online=normal]{--tile: #6aa8ff}.online-menu .diff-btn[data-online=hard]{--tile: #ffb347}.online-menu .diff-btn[data-online=insane]{--tile: #ff5c5c}.online-menu .diff-random{--tile: #ff7ad9;grid-column:auto;flex-direction:column;min-height:calc(var(--hu, 360px) * .2);padding:calc(var(--hu, 360px) * .0333) calc(var(--hu, 360px) * .0167) calc(var(--hu, 360px) * .0278);background:linear-gradient(135deg,#a78bfa66,#ff7ad938);border-color:#ffffff59;box-shadow:0 0 calc(var(--hu, 360px) * .05) calc(var(--hu, 360px) * -.0111) #a78bfab3}.online-menu .diff-btn:hover{transform:translateY(-1px)}.online-loading{max-width:520px;margin:0 auto;text-align:center;padding-top:26px;padding-bottom:26px}.online-loading h2{margin:4px 0 14px}.online-spinner{width:44px;height:44px;margin:0 auto;border-radius:50%;border:4px solid rgba(255,255,255,.18);border-top-color:#ffd75e;animation:online-spin .9s linear infinite}.paw-trail{display:flex;justify-content:center;align-items:center;gap:14px;height:40px;margin:14px 0 12px}.paw-trail .paw{font-size:24px;opacity:.15;animation:online-paw 1.5s ease-in-out infinite}.paw-trail .paw:nth-child(odd){transform:rotate(-14deg)}.paw-trail .paw:nth-child(2n){transform:rotate(14deg)}.paw-trail .paw:nth-child(2){animation-delay:.25s}.paw-trail .paw:nth-child(3){animation-delay:.5s}.paw-trail .paw:nth-child(4){animation-delay:.75s}.paw-trail .paw:nth-child(5){animation-delay:1s}@keyframes online-spin{to{transform:rotate(360deg)}}@keyframes online-paw{0%,to{opacity:.15;translate:0 0}40%{opacity:1;translate:0 -6px}}@media(prefers-reduced-motion:reduce){.online-spinner,.paw-trail .paw{animation:none}.paw-trail .paw{opacity:.6}}.ad-loading{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:16px;background:#040610e0;cursor:wait;touch-action:none;user-select:none;-webkit-user-select:none}.ad-loading.visible{display:flex}.ad-loading-card{display:flex;flex-direction:column;align-items:center;width:min(320px,100%);padding:clamp(18px,4vh,28px) clamp(22px,5vw,36px);border:1px solid var(--panel-line);border-radius:18px;background:#1e2142f0;box-shadow:0 18px 50px #0000008c;text-align:center}.ad-loading .paw-trail{margin:0 0 10px;gap:clamp(8px,2vw,14px)}.ad-loading .paw-trail .paw{font-size:clamp(24px,5vh,32px)}.ad-loading-label{margin:0;color:#4ade80;font-family:var(--font-comic);font-weight:700;font-size:clamp(15px,2.8vh,18px);line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.6)}body.ad-loading-open #stage{pointer-events:none}.online-menu .online-tools{flex-wrap:nowrap;align-items:center;gap:calc(var(--hu, 360px) * .0222);margin:0}#overlay.visible .panel.online-menu{padding:calc(var(--hu, 360px) * .0611) calc(var(--hu, 360px) * .0444);border-radius:calc(var(--hu, 360px) * .0611)}#overlay.visible .panel.online-menu .blurb{max-width:none}#overlay.visible .panel.online-menu .diff-grid{max-width:calc(var(--hu, 360px) * .95);margin-left:auto;margin-right:auto}#overlay.visible .panel.online-menu .online-tools{justify-content:center;flex-wrap:wrap;gap:calc(var(--hu, 360px) * .0222)}#overlay.visible .panel.online-menu .online-tools .btn{padding:calc(var(--hu, 360px) * .0194) calc(var(--hu, 360px) * .025);font-size:calc(var(--hu, 360px) * .0347);white-space:nowrap}#overlay.visible .panel.online-menu .online-tools .check-row{font-size:calc(var(--hu, 360px) * .0347);white-space:nowrap}#overlay.visible .panel.online-menu .online-tools .check-row input{width:calc(var(--hu, 360px) * .05);height:calc(var(--hu, 360px) * .05)}@media(max-width:600px){#overlay.visible .panel.online-menu .online-tools{flex-wrap:wrap;gap:calc(var(--hu, 360px) * .0167)}#overlay.visible .panel.online-menu .online-tools .btn,#overlay.visible .panel.online-menu .online-tools .check-row{padding:calc(var(--hu, 360px) * .0167) calc(var(--hu, 360px) * .0222);font-size:calc(var(--hu, 360px) * .0333)}}#overlay.over{position:absolute;inset:0;z-index:6;max-width:none;align-items:center;justify-content:center;padding:calc(var(--hu, 360px) * .039);border-radius:14px;background:#060814a8;backdrop-filter:blur(4px) saturate(120%);-webkit-backdrop-filter:blur(4px) saturate(120%)}#overlay.over .panel{width:min(420px,100%);padding:20px 22px}#overlay.over:has(.clear-show){background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.clear-show{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:calc(var(--hu, 360px) * .014);padding:0 calc(var(--hu, 360px) * .03) calc(var(--hu, 360px) * .03);text-align:center;pointer-events:none}.clear-show .btn{pointer-events:auto}.medal-drop{margin-top:calc(var(--hu, 360px) * .01);animation:medalDrop 1.15s cubic-bezier(.25,.7,.35,1) both}.medal-sway{display:block;transform-origin:50% 0;animation:medalSway 2.8s ease-in-out 1.2s infinite}@keyframes medalDrop{0%{transform:translateY(calc(var(--hu, 360px) * -.78))}55%{transform:translateY(0)}70%{transform:translateY(-9%)}82%{transform:translateY(0)}91%{transform:translateY(-4%)}to{transform:translateY(0)}}@keyframes medalSway{0%,to{rotate:-4deg}50%{rotate:4deg}}.medal-img{display:block;height:calc(var(--hu, 360px) * .761);width:auto;margin:0 auto;mix-blend-mode:screen}.clear-stats{display:flex;gap:calc(var(--hu, 360px) * .07)}.clear-stat{display:flex;flex-direction:row;align-items:center;gap:calc(var(--hu, 360px) * .035)}.rec-badge.rec-time{height:calc(var(--hu, 360px) * .23);top:20%}.rec-badge.rec-steps{top:80%}.clear-valcol{position:relative;display:flex;flex-direction:column;align-items:center}.rec-badge{position:absolute;left:calc(100% + var(--hu, 360px) * .02);top:50%;translate:0 -50%;rotate:10deg;display:block;height:calc(var(--hu, 360px) * .22);width:auto;mix-blend-mode:screen;animation:recPulse 1.6s ease-in-out infinite}@keyframes recPulse{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.rec-badge[hidden]{display:none}.clear-neko-big{--nkf: .0012;line-height:1.25}.clear-neko-cap{--nkf: .0007}.clear-sub{margin:0;font-size:calc(var(--hu, 360px) * .028);color:#fff7e6e6;text-shadow:0 1px 8px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9)}.clear-unlocked{margin:0;font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .034);color:#46e08c;text-shadow:0 1px 8px rgba(0,0,0,.85)}.clear-show .row{gap:calc(var(--hu, 360px) * .02);margin-top:calc(var(--hu, 360px) * .008)}.clear-show .btn{padding:calc(var(--hu, 360px) * .016) calc(var(--hu, 360px) * .032);font-size:calc(var(--hu, 360px) * .03)}.clear-continue{margin:0;--nkf: .0011;animation:continueFlash 1.8s ease-in-out infinite}@keyframes continueFlash{0%,to{opacity:1}50%{opacity:.3}}.clear-split{flex-direction:row;align-items:flex-start;justify-content:flex-start}.clear-split .medal-drop{margin:0 0 0 5%;flex:none}.clear-split .clear-left{margin:0 0 0 5%;flex:none;display:flex;flex-direction:column;align-items:center;gap:calc(var(--hu, 360px) * .014)}.clear-split .clear-left .medal-drop{margin:0}.clear-split .clear-left .clear-continue{--nkf: .001;text-align:center}.clear-side{align-self:flex-start;flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:center;gap:calc(var(--hu, 360px) * .014);padding:calc(var(--hu, 360px) * .04) calc(var(--hu, 360px) * .1) 0 0}.clear-split .clear-title{--nkf: .00135}.clear-split .clear-stats{flex-direction:column;align-items:stretch;gap:calc(var(--hu, 360px) * .02);margin-top:calc(var(--hu, 360px) * .025)}.clear-split .clear-stat{justify-content:center}.clear-split .clear-title{animation:clearFlyR .45s ease-out .5s both}.clear-split .clear-name,.clear-split .clear-meta,.clear-split .clear-sub,.clear-split .clear-unlocked{animation:clearFadeUp .4s ease-out 1s both}.clear-split .clear-stat:first-child{animation:clearFlyR .45s ease-out 1.5s both}.clear-split .clear-stat:nth-child(2){animation:clearFlyR .45s ease-out 1.8s both}.clear-split .rec-badge{animation:badgeStamp .5s cubic-bezier(.2,1.4,.4,1) 2.3s both,recPulse 1.6s ease-in-out 2.9s infinite}.ready-show{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:30}.ready-show[hidden]{display:none}.ready-img{display:block;height:calc(var(--hu, 360px) * .45);width:auto;max-width:86vw;mix-blend-mode:screen}.ready-stamp{height:calc(var(--hu, 360px) * .65);width:auto;rotate:-5deg;animation:readyStamp .55s cubic-bezier(.2,1.4,.4,1) both}@keyframes readyStamp{0%{opacity:0;transform:scale(3)}60%{opacity:1;transform:scale(.92)}75%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.ready-num{height:calc(var(--hu, 360px) * .3);animation:readyNumIn .3s ease-out both}@keyframes readyNumIn{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.ready-count{animation:readyCount .5s ease-out both}.ready-go{animation-duration:.65s}@keyframes readyCount{0%{opacity:0;transform:scale(.6)}45%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:scale(1.3)}}.clear-split .clear-btns{animation:clearFadeUp .4s ease-out 2.9s both}@media(prefers-reduced-motion:no-preference){.clear-split.clear-draft .clear-btns{animation:clearFadeUp .4s ease-out 1s both}}.clear-split .clear-continue{animation:clearFadeUp .4s ease-out 2.9s both,continueFlash 1.8s ease-in-out 3.3s infinite}.clear-show{animation:stampShake 3s ease-out both}@keyframes clearFlyR{0%{opacity:0;transform:translate(calc(var(--hu, 360px) * .3))}to{opacity:1;transform:none}}@keyframes clearFadeUp{0%{opacity:0;transform:translateY(calc(var(--hu, 360px) * .03))}to{opacity:1;transform:none}}@keyframes badgeStamp{0%{opacity:0;transform:scale(3)}60%{opacity:1;transform:scale(.92)}75%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes stampShake{0%,84%{transform:none}86%{transform:translate(calc(var(--hu, 360px) * .008),calc(var(--hu, 360px) * -.006))}88%{transform:translate(calc(var(--hu, 360px) * -.008),calc(var(--hu, 360px) * .006))}90%{transform:translate(calc(var(--hu, 360px) * .004),calc(var(--hu, 360px) * .004))}92%,to{transform:none}}.clear-split .clear-neko-big{--nkf: .0015}.clear-split .clear-sub{font-size:calc(var(--hu, 360px) * .024)}.clear-split .clear-continue{--nkf: .00095}.clear-name{--nkf: .001;margin:0;line-height:1.3}.clear-name-comic{font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .034)}[data-online-victory] .btn{font-family:var(--font-comic)}[data-online-victory] .clear-btns{position:static;top:auto;left:auto;right:auto;display:flex;justify-content:center;align-items:center;gap:calc(var(--hu, 360px) * .02);margin:calc(var(--hu, 360px) * .02) 0 0;flex-wrap:wrap}[data-online-victory] .clear-left .medal-drop{margin:0}.clear-pb{margin:0;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .024);color:#fff7e6e6;text-shadow:0 1px 8px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9);line-height:1.2}.clear-split .clear-pb{animation:clearFadeUp .4s ease-out 2.05s both}.clear-pb[hidden]{display:none}.clear-pb .pick-me{color:#ffe27a;font-weight:700}.clear-split .clear-name{margin-bottom:calc(var(--hu, 360px) * .035)}[data-online-victory] .clear-name{margin-bottom:0;color:#ffe27a;font-size:calc(var(--hu, 360px) * .045)}[data-online-victory] .clear-meta{margin-bottom:calc(var(--hu, 360px) * .035)}[data-online-victory] .clear-own-row{display:block;margin-top:calc(var(--hu, 360px) * .008)}.clear-meta{margin:0;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .024);color:#fff7e6e6;text-shadow:0 1px 8px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.9);line-height:1.3}.clear-tap{position:absolute;inset:0;pointer-events:auto}#overlay.visible.congrats{height:100%;max-width:none;padding:0;align-items:stretch}#stage.fit-short #overlay.visible.congrats{padding:0;align-items:stretch}#stage.fit-short #overlay.visible.congrats .panel.final-congrats{padding:0;border-radius:0}.final-congrats{position:relative;width:100%;height:100%;overflow:hidden;padding:0;max-width:none;border:none;border-radius:0;background:#000;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.final-congrats-img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}.final-congrats .final-sakura{position:absolute;inset:0;pointer-events:none}.final-congrats-back{position:absolute;right:calc(var(--hu, 360px) * .03 + var(--safe-area-inset-right, env(safe-area-inset-right, 0px)));bottom:calc(var(--hu, 360px) * .03 + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));margin:0;z-index:2}.final-congrats-back .btn{font-size:max(11px,calc(var(--hu, 360px) * .036));padding:calc(var(--hu, 360px) * .022) calc(var(--hu, 360px) * .05);min-height:max(32px,calc(var(--hu, 360px) * .085));min-width:calc(var(--hu, 360px) * .19);border-radius:calc(var(--hu, 360px) * .04)}#white-flash{position:absolute;inset:0;z-index:80;background:#fff;opacity:0;pointer-events:none;transition:opacity .5s ease}#white-flash.on{opacity:1;pointer-events:auto;transition-duration:.38s}@media(prefers-reduced-motion:reduce){.medal-drop,.medal-sway,.rec-badge,.ready-img,.clear-show,.clear-title,.clear-name,.clear-meta,.clear-sub,.clear-unlocked,.clear-stat,.clear-pb,.clear-btns,.clear-continue{animation:none}}.neko-g{display:inline-block;width:calc((var(--nw) + 2) * var(--hu, 360px) * var(--nkf, .001));height:calc(var(--nh) * var(--hu, 360px) * var(--nkf, .001));margin-top:calc(var(--nt) * var(--hu, 360px) * var(--nkf, .001));margin-bottom:calc(var(--nb) * var(--hu, 360px) * var(--nkf, .001));background-image:url(./new-neko-font-sheet-DFEEx1Zy.png);background-repeat:no-repeat;background-size:calc(494 * var(--hu, 360px) * var(--nkf, .001)) calc(505 * var(--hu, 360px) * var(--nkf, .001));background-position:calc(var(--nx) * -1 * var(--hu, 360px) * var(--nkf, .001)) calc(var(--ny) * -1 * var(--hu, 360px) * var(--nkf, .001))}.neko-sp{display:inline-block;width:calc(18 * var(--hu, 360px) * var(--nkf, .001))}.neko-sys{font-family:var(--font-comic);font-weight:700;font-size:calc(44 * var(--hu, 360px) * var(--nkf, .001));line-height:1}.clear-title{--nkf: .00145;line-height:1.35}.panel{position:relative;width:100%;border:1px solid var(--panel-line);border-radius:22px;background:linear-gradient(180deg,#ffffff12,#fff0 40%),var(--panel);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);padding:22px;text-align:center;box-shadow:0 1px #ffffff14 inset,0 40px 80px -40px #000000f2}.eyebrow{margin:0 0 6px;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.panel h1{margin:4px 0 10px;font-size:46px;font-weight:800;letter-spacing:.1em;background:linear-gradient(180deg,#ffffff 10%,var(--accent) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 6px 24px rgba(72,224,211,.35))}.panel h2{margin:0 0 12px;font-size:23px;letter-spacing:-.01em}.blurb{margin:0 auto 18px;max-width:48ch;color:var(--dim);font-size:13px;line-height:1.6}.stats{display:flex;justify-content:center;gap:22px;color:var(--dim);font-size:11.5px;margin:0 0 20px}.stats b{display:block;color:var(--warn);font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}.menu{display:grid;gap:12px;max-width:440px;margin:4px auto 20px}.menu-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#ffffff17,#ffffff05);color:var(--ink);cursor:pointer;overflow:hidden;transition:transform .1s ease,border-color .18s ease,box-shadow .18s ease}.menu-btn:after{content:"";position:absolute;inset:-60% -40% auto auto;width:160px;height:160px;background:radial-gradient(circle,rgba(72,224,211,.35),transparent 70%);opacity:0;transition:opacity .2s ease;pointer-events:none}.menu-btn:hover{border-color:#48e0d38c;transform:translateY(-2px);box-shadow:0 20px 36px -24px #48e0d3d9}.menu-btn:hover:after{opacity:1}.menu-btn:active{transform:translateY(0) scale(.995)}.menu-btn.own{border-color:#e8b840a6;background:linear-gradient(180deg,#e8b84029,#e8b8400a)}.menu-btn.own:hover{border-color:#e8b840e6;box-shadow:0 20px 36px -24px #e8b840d9}.menu-own-note{font-size:12.5px;font-weight:700;letter-spacing:.02em;color:#e8b840}p.record.own{color:#e8b840;font-weight:700}.menu-title{font-size:18px;font-weight:750;letter-spacing:.01em}.menu-sub{font-size:11.5px;color:var(--dim);text-align:center}.menu-stats{font-size:11.5px;line-height:1.5;color:var(--dim);text-align:center;font-variant-numeric:tabular-nums}.card{position:relative;display:grid;place-items:center;aspect-ratio:1 / 1;container-type:inline-size;padding:0;font:inherit;font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:var(--faint);border:1px solid rgba(255,255,255,.07);border-radius:16px;background:transparent;cursor:pointer;overflow:hidden;transition:transform .1s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.card:after{content:"";position:absolute;inset:-40% -60% auto auto;width:120px;height:120px;background:radial-gradient(circle,rgba(72,224,211,.35),transparent 70%);opacity:0;transition:opacity .2s ease;pointer-events:none}.card:hover{border-color:#48e0d38c;transform:translateY(-2px);box-shadow:0 18px 30px -22px #48e0d3cc}.card:hover:after{opacity:1}.card.done{color:var(--ink);border-color:#48e0d373;background:linear-gradient(180deg,#48e0d32e,#48e0d30a);box-shadow:0 14px 30px -24px #48e0d3e6}.card-num{line-height:1;font-family:var(--font-comic);font-weight:700;font-size:34px;font-size:clamp(28px,60cqw,104px)}.card-check{position:absolute;top:5px;right:7px;font-size:11px;font-weight:700;line-height:1;color:var(--accent)}.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.row.back-right{justify-content:flex-end}.btn.ghost.back-blur,.btn.ghost.community-back,.btn.ghost.castle-back,.btn.ghost.dojo-back,.btn.ghost.lb-back{background:#080a1a8c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 22px #00000080}.check-row{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-comic);font-size:14px;color:var(--ink);cursor:pointer}.check-row input{width:18px;height:18px;margin:0;accent-color:#48e0d3;cursor:pointer}.btn{border:1px solid var(--line);background:linear-gradient(180deg,#ffffff1a,#ffffff05);color:var(--ink);border-radius:999px;padding:11px 20px;font-size:13px;font-weight:650;cursor:pointer;transition:transform .08s ease,box-shadow .18s ease,background .18s ease}.btn:hover{background:linear-gradient(180deg,#ffffff29,#ffffff0d)}.btn:active{transform:translateY(1px) scale(.99)}.btn.primary{background:linear-gradient(180deg,#5ff0e4,var(--accent-deep));border-color:#ffffff40;color:#04241f;box-shadow:0 14px 34px -16px #48e0d3b3}.btn.primary:disabled{background:#ffffff0f;color:var(--faint);box-shadow:none;cursor:default}.btn.ghost{background:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.keys{margin:0;font-size:11px;color:var(--faint);line-height:2}.keys b{color:var(--dim)}#ed-name{position:absolute;top:calc(10px + var(--safe-area-inset-top, env(safe-area-inset-top, 0px)));left:calc(10px + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)));z-index:7;display:none;font-family:var(--font-comic);font-weight:700;letter-spacing:.02em;max-width:min(46ch,calc(100% - 220px));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:10px 20px;font-size:17px;border:1px solid rgba(255,213,128,.55);border-radius:999px;color:#1a0e04;background:linear-gradient(135deg,#ffe9a8,#ffb35c 38%,#ff8a5c 72%,#e04848);box-shadow:0 6px 24px #ff8c5073,inset 0 1px #ffffff8c;text-shadow:0 1px 0 rgba(255,255,255,.35);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);pointer-events:none}#ed-name.visible{display:block}.create-chooser{text-align:center}.create-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:18px 0}#ed-charge-modal{position:absolute;inset:0;z-index:9;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#ed-charge-modal.visible{display:flex}.ed-name-card.ed-charge-card{width:min(calc(var(--hu, 360px) * .58),100%);padding:calc(var(--hu, 360px) * .021);gap:calc(var(--hu, 360px) * .015);border-radius:calc(var(--hu, 360px) * .024)}.ed-name-card.ed-charge-card .ed-name-title{font-size:max(9px,calc(var(--hu, 360px) * .023))}.ed-charge-list{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(var(--hu, 360px) * .012) calc(var(--hu, 360px) * .018)}.ed-charge-row{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--hu, 360px) * .011)}.ed-charge-icon{width:max(26px,calc(var(--hu, 360px) * .06));height:max(26px,calc(var(--hu, 360px) * .06));flex:none;border-radius:calc(var(--hu, 360px) * .015);border:1px solid var(--line);background:#141628d9;overflow:hidden}.ed-charge-step{display:flex;align-items:center;gap:calc(var(--hu, 360px) * .01)}.ed-charge-step button{width:max(18px,calc(var(--hu, 360px) * .041));height:max(18px,calc(var(--hu, 360px) * .041));border-radius:calc(var(--hu, 360px) * .012);border:1px solid var(--panel-line);background:#ffffff14;color:inherit;font-size:max(9px,calc(var(--hu, 360px) * .022));line-height:1;cursor:pointer}.ed-charge-step b{min-width:1.6em;text-align:center;font-size:max(9px,calc(var(--hu, 360px) * .022))}#ed-name-modal{position:absolute;inset:0;z-index:9;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#ed-name-modal.visible{display:flex}.ed-name-card{display:grid;gap:12px;width:min(360px,100%);padding:20px;text-align:center;border:1px solid var(--panel-line);border-radius:18px;background:var(--panel);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 30px 60px -30px #000000f2}#ed-name-modal .ed-name-card{width:min(calc(var(--hu, 360px) * .65),100%);padding:calc(var(--hu, 360px) * .036);gap:calc(var(--hu, 360px) * .022);border-radius:calc(var(--hu, 360px) * .032)}#ed-name-modal .ed-name-title{font-size:max(12px,calc(var(--hu, 360px) * .027))}#ed-name-modal #ed-name-input{padding:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .025);font-size:max(13px,calc(var(--hu, 360px) * .029));border-radius:calc(var(--hu, 360px) * .022)}#ed-name-modal .ed-name-card .btn{font-size:max(11px,calc(var(--hu, 360px) * .024));padding:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .036)}.ed-name-title{margin:0;font-size:15px;font-weight:700}#ed-name-input{width:100%;padding:11px 14px;font:inherit;font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:#0a0b16b3}#ed-name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.hud-lesson{flex:1 1 auto;min-width:0;display:flex;justify-content:center;pointer-events:none}.hud-lesson span{display:block;max-width:44vw;padding:calc(var(--hu, 360px) * .018) calc(var(--hu, 360px) * .032);font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .027);line-height:1.25;text-align:center;color:#fff;border:1px solid var(--panel-line);border-radius:12px;background:#0a0b169e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}.hud-lesson b{color:#ffe27a;letter-spacing:.02em}.hud-left{display:flex;align-items:center;gap:8px;pointer-events:none}.hud-left .hud-gear{pointer-events:auto}.hud-level-name{display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--hu, 360px) * .004);max-width:30vw;padding:calc(var(--hu, 360px) * .022) calc(var(--hu, 360px) * .036);font-family:var(--font-comic);border:1px solid var(--panel-line);border-radius:999px;background:#0a0b169e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}.hud-level-name .hud-level-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;letter-spacing:.02em;font-size:calc(var(--hu, 360px) * .03);color:#ffe27a}.hud-level-name .hud-level-id{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(var(--hu, 360px) * .024);color:var(--dim)}.ed-tool:focus-visible,.ed-foot .btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ed-locked{opacity:.45}#ed-toast{position:absolute;left:5%;bottom:calc(var(--hu, 360px) * .033 + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));z-index:8;max-width:70%;padding:calc(var(--hu, 360px) * .028) calc(var(--hu, 360px) * .044);border-radius:999px;font-size:calc(var(--hu, 360px) * .036);text-align:left;color:var(--ink);background:#14172ff0;border:1px solid rgba(72,224,211,.4);box-shadow:0 12px 30px #0009;opacity:0;pointer-events:none;transform:translateY(calc(var(--hu, 360px) * .022));transition:opacity .2s ease,transform .2s ease}#ed-toast.visible{opacity:1;transform:translateY(0)}#online-toast{position:absolute;left:50%;bottom:calc(24px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));transform:translate(-50%,8px);z-index:8;max-width:min(480px,calc(100% - 32px));padding:10px 18px;border-radius:999px;font-size:13px;text-align:center;color:var(--ink);background:#14172ff0;border:1px solid rgba(72,224,211,.4);box-shadow:0 12px 30px #0009;opacity:0;transition:opacity .18s ease,transform .18s ease;pointer-events:none}#online-toast.visible{opacity:1;transform:translate(-50%)}@media(max-width:560px){.panel{padding:18px}.panel h1{font-size:34px}.card{font-size:20px;border-radius:12px}}body.on-title #stage:before{content:"";position:absolute;inset:0;z-index:0;background:var(--title-bg, none) center / cover no-repeat;opacity:var(--title-bg-opacity, .85);pointer-events:none}body.on-title #stage{background:transparent;box-shadow:none}body.on-title #overlay{position:relative;z-index:1}body.on-title #overlay.visible{height:100%}#title-layer{position:absolute;inset:0;z-index:1;display:none;pointer-events:none}#title-layer .title-menu,#title-layer .title-auth,#title-layer .demo-menu{pointer-events:auto}#sakura,.final-sakura{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}.s-flake{position:absolute;top:-24px;animation:s-fall var(--d, 10s) linear infinite;animation-delay:var(--dl, 0s)}.s-petal{display:block;border-radius:62% 38%;opacity:.9;animation:s-sway var(--sw, 4s) ease-in-out infinite alternate,s-spin var(--d, 10s) linear infinite}@keyframes s-fall{0%{top:-24px}to{top:104%}}@keyframes s-sway{0%{translate:-14px 0}to{translate:14px 0}}@keyframes s-spin{0%{rotate:-40deg}to{rotate:320deg}}.title-block{position:absolute;z-index:1;left:0;right:0;top:5%;height:40%;background:var(--title-block, none) center / auto 90% no-repeat;opacity:1;pointer-events:none;overflow:hidden;border-radius:inherit}@keyframes titleBlockPulse{0%,to{transform:translateY(0) translate(0) scale(.985) rotate(-1deg)}50%{transform:translateY(-3px) translate(2px) scale(1.01) rotate(1deg)}}.title-block{animation:titleBlockPulse 7s ease-in-out infinite}.title-clean{display:grid;gap:14px;justify-items:center;width:min(380px,100%);padding:0;background:none;border:none;box-shadow:none}.title-clean .menu{width:100%}.title-clean{position:relative;width:100%;height:100%}.title-menu{position:absolute;right:14px;bottom:10px;height:25%;display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;z-index:2}.img-btn{padding:0;border:none;background:none;cursor:pointer;line-height:0;transition:transform .12s ease,filter .12s ease}.img-btn{height:100%}.img-btn img{width:auto;height:100%;display:block;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55));animation:badgeBob 3.2s ease-in-out infinite}.img-btn[data-screen=dojo] img{animation-delay:-.8s;animation-duration:3.5s}.img-btn[data-screen=community] img{animation-delay:-1.6s;animation-duration:3.8s}@keyframes badgeBob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}.img-btn:hover{transform:translateY(-3px) scale(1.03);filter:brightness(1.08)}.img-btn:active{transform:scale(.97)}.img-btn.auth-pending{cursor:default}.img-btn.auth-pending img{animation:none;filter:grayscale(.85) brightness(.62) drop-shadow(0 10px 18px rgba(0,0,0,.55))}.img-btn.auth-pending:hover,.img-btn.auth-pending:active{transform:none;filter:none}#stage.fit-short .title-menu{gap:12px}#stage.fit-short .title-menu{gap:8px}.title-auth{position:absolute;left:14px;bottom:10px;margin:0;justify-content:flex-start;text-align:left;z-index:2}.title-auth .auth-welcome{font-size:1em;text-align:left;align-self:center}.title-auth .btn,#stage.fit-short .title-auth .btn{font-size:.85em;padding:.55em 1em}.title-auth .auth-div{font-size:.8em}.title-auth .auth-area,.title-auth{max-width:55%}#door-left,#door-right{position:absolute;top:0;bottom:0;width:50%;z-index:8;pointer-events:none;background-size:auto 100%;background-repeat:no-repeat;transition:transform .9s ease-in-out}#door-left{left:0;background-image:var(--door-left, url(door-left.jpg));background-position:right center;transform:translate(-104%)}#door-right{left:50%;background-image:var(--door-right, url(door-right.jpg));background-position:left center;transform:translate(104%)}#door-left.shut,#door-right.shut{transform:translate(0)}#door-classic-left,#door-classic-right{position:absolute;top:0;bottom:0;width:50%;z-index:8;pointer-events:none;background-size:auto 100%;background-repeat:no-repeat;transition:transform .9s ease-in-out}#door-classic-left{left:0;background-image:var(--door-classic-left, url(door-classic-left.jpg));background-position:right center;transform:translate(-104%)}#door-classic-right{left:50%;background-image:var(--door-classic-right, url(door-classic-right.jpg));background-position:left center;transform:translate(104%)}#door-classic-left.shut,#door-classic-right.shut{transform:translate(0)}#door-dojo-left,#door-dojo-right{position:absolute;top:0;bottom:0;width:50%;z-index:8;pointer-events:none;background-size:auto 100%;background-repeat:no-repeat;transition:transform .9s ease-in-out}#door-dojo-left{left:0;background-image:var(--door-dojo-left, url(door-dojo-left.jpg));background-position:right center;transform:translate(-104%)}#door-dojo-right{left:50%;background-image:var(--door-dojo-right, url(door-dojo-right.jpg));background-position:left center;transform:translate(104%)}#door-dojo-left.shut,#door-dojo-right.shut{transform:translate(0)}.castle-photo{position:relative;width:100%;border-radius:12px;overflow:hidden;background:#070a1e}.castle-img{display:block;width:100%;height:auto;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.castle-back-row{position:absolute;bottom:calc(var(--hu, 360px) * .05 + 3px);right:calc(var(--hu, 360px) * .04 + 3px);z-index:5;margin:0}.castle-back{padding:.55em 1.2em}.photo-floors{position:absolute;inset:0;display:flex;flex-direction:column}.photo-floor{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:calc(var(--hu, 360px) * .03);min-height:0}.photo-card{position:relative;display:grid;place-items:center;width:calc(var(--hu, 360px) * .14);aspect-ratio:1 / 1;border:2px solid rgba(216,169,78,.85);border-radius:12px;background:#080a1ab8;color:#ffe9c4;cursor:pointer;backdrop-filter:blur(2px);transition:transform .1s ease,box-shadow .18s ease}.photo-card:hover{transform:translateY(-2px);box-shadow:0 0 16px #ffbe64a6}.photo-num{font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .055);line-height:1;text-shadow:0 2px 6px rgba(0,0,0,.8)}.photo-card.done{background:radial-gradient(circle at 50% 32%,#ffedbbe6,#f5b95ed9);color:#5a1f1a}.photo-card.done .photo-num{text-shadow:none}.photo-check{position:absolute;top:6%;right:9%;font-size:calc(var(--hu, 360px) * .03);font-weight:700;color:#7dffb0}.photo-card.done .photo-check{color:#1f7d44}.castle-petals{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.panel.castle.photo{width:100%;max-width:none;padding-left:0;padding-right:0}.panel.castle.photo>.eyebrow,.panel.castle.photo>.castle-name,.panel.castle.photo>.castle-sub{padding-left:18px;padding-right:18px}.panel.castle.photo .castle-name,.panel.castle.photo .castle-sub{text-shadow:0 2px 10px rgba(0,0,0,.85)}.panel.castle{width:min(380px,100%);overflow:hidden;background:linear-gradient(180deg,#070a1e,#10163a 52%,#1c2450)}.castle-name{margin:0;font-size:26px;letter-spacing:.06em;color:#ffe9c4;text-shadow:0 0 18px rgba(255,190,100,.45),0 2px 0 rgba(0,0,0,.6)}.castle-sub{margin:2px 0 12px;font-size:11.5px;color:#e8e6f5a6}.castle-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.castle-sky:after{content:"";position:absolute;inset:0;background:#c8d2ff8c;opacity:0;animation:skyflash 8s linear infinite}.moon{position:absolute;top:34px;right:30px;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fffbe8,#f5e3ae 65%,#d9bd7f);box-shadow:0 0 24px 8px #fff0be59;animation:moonglow 6s ease-in-out infinite}.moon:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 62% 58%,rgba(190,160,110,.5) 0 6px,transparent 7px),radial-gradient(circle at 40% 66%,rgba(190,160,110,.4) 0 4px,transparent 5px)}.cloud{position:absolute;height:22px;border-radius:999px;background:#1e2446e6;filter:blur(3px)}.cloud.c1{top:60px;left:-90px;width:110px;animation:drift 26s linear infinite}.cloud.c2{top:120px;left:-140px;width:150px;animation:drift 38s linear infinite 4s}.cloud.c3{top:26px;left:-70px;width:80px;animation:drift 31s linear infinite 9s}.bolt{position:absolute;width:26px;height:74px;background:#e8eeff;clip-path:polygon(58% 0,30% 34%,48% 36%,22% 68%,40% 68%,30% 100%,72% 52%,52% 52%,78% 22%);filter:drop-shadow(0 0 10px rgba(180,200,255,.95));opacity:0}.bolt.b1{top:66px;left:12%;animation:strike 8s linear infinite 1.2s}.bolt.b2{top:46px;right:16%;animation:strike 13s linear infinite 5s}.castle-body{position:relative;z-index:1;width:min(298px,100%);margin:2px auto 14px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.55))}.castle-roof{position:relative;height:44px;margin:0 -16px;background:linear-gradient(180deg,#5a6584,#343c5c 45%,#20263f);clip-path:polygon(8% 0,92% 0,97% 26%,100% 62%,96% 100%,4% 100%,0 62%,3% 26%)}.castle-roof:before{content:"";position:absolute;left:4%;right:4%;bottom:5px;height:6px;border-radius:3px;background:linear-gradient(180deg,#8a5a3c,#5e3a24)}.finial{position:absolute;top:-9px;left:50%;width:18px;height:18px;translate:-50% 0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe9a8,#d8a94e 70%);box-shadow:0 0 10px #ffc864cc}.castle-floor{animation:floor-rise .5s ease both}.floor-roof{display:block;height:13px;margin:0 -8px;background:linear-gradient(180deg,#4c567a,#2b3252 60%,#1b2038);clip-path:polygon(5% 0,95% 0,100% 100%,0 100%)}.floor-rooms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:7px 9px 9px;background:linear-gradient(180deg,#f3e2bd,#e6c88f);border-inline:4px solid #6e4527;box-shadow:inset 0 -4px #6e452759}.castle-floor:nth-child(2n of.castle-floor) .floor-rooms{background:linear-gradient(180deg,#eed6ab,#ddbd82)}.castle-floor.first .floor-rooms{border-bottom:none;padding-bottom:10px}.castle-floor .card{aspect-ratio:1 / 1;border-radius:9px;font-size:15px;color:#8a4438;border:1px solid #b98a4e;background:linear-gradient(180deg,#fffaebbf,#f0d9a88c);container-type:inline-size}.castle-floor .card:hover{border-color:#e08a3c;box-shadow:0 0 14px #ffbe64a6}.castle .card-num{font-size:16px;font-size:clamp(13px,40cqw,19px)}.castle .card-check{top:3px;right:5px;font-size:9px}.castle-floor .card.done{color:#5a1f1a;border-color:#e08a3c;background:radial-gradient(circle at 50% 32%,#ffedbb,#f5b95e 78%);box-shadow:0 0 12px #ffbe5abf;animation:lantern 3.2s ease-in-out infinite}.card-pad{aspect-ratio:1 / 1;visibility:hidden}.castle-base{display:flex;align-items:flex-end;justify-content:center;gap:12px;padding:8px 10px 10px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.28) 0 2px,transparent 2px 30px),repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 2px,transparent 2px 15px),linear-gradient(180deg,#4a5268,#2b3044);border-inline:4px solid #232842;border-radius:0 0 6px 6px}.gate{width:46px;height:38px;background:radial-gradient(ellipse at 50% 20%,#2c3352,#0e1122 75%);border:3px solid #6e4527;border-bottom:none;border-radius:23px 23px 0 0;box-shadow:inset 0 0 12px #000000e6,0 0 10px #ffbe6440}.lantern{width:10px;height:10px;margin-bottom:12px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff3cf,#f5b95e 70%);box-shadow:0 0 10px 3px #ffbe6499;animation:lantern 2.4s ease-in-out infinite}.lantern.l2{animation-delay:1.1s}.castle .row{position:relative;z-index:1}@keyframes floor-rise{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes lantern{0%,to{filter:brightness(1)}50%{filter:brightness(1.14)}}@keyframes moonglow{0%,to{box-shadow:0 0 24px 8px #fff0be59}50%{box-shadow:0 0 32px 12px #fff0be80}}@keyframes drift{0%{transform:translate(0)}to{transform:translate(calc(100vw + 320px))}}@keyframes strike{0%,3%{opacity:0}4%,5%{opacity:1}6%,7.5%{opacity:0}8%,9%{opacity:.9}10%,to{opacity:0}}@keyframes skyflash{0%,3%{opacity:0}4%,5%{opacity:.28}6%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.castle-sky,.castle-floor,.castle-floor .card.done,.lantern,.moon{animation:none!important}.castle-floor{opacity:1}}.panel.castle{width:min(880px,100%)}.castle-scene{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;gap:34px;margin:2px auto 10px;width:100%}.castle-scene .castle-body{margin:0;flex:0 0 auto}.side-decor{display:none}@media(min-width:740px){.side-decor{display:flex;flex-direction:column;align-items:center;flex:0 0 auto;padding-bottom:6px}.side-decor.left{margin-right:-6px}.side-decor.right{margin-left:-6px}}.pagoda{display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6));animation:sway 7s ease-in-out infinite;transform-origin:50% 100%}.spire{width:4px;height:26px;background:linear-gradient(180deg,#d8a94e,#8a6a2a);border-radius:2px}.ptier{display:flex;flex-direction:column;align-items:center}.ptier.wa{--w: 92px}.ptier.wb{--w: 126px}.ptier.wc{--w: 160px}.proof{width:var(--w);height:20px;background:linear-gradient(180deg,#4c567a,#262c48 70%,#171c33);clip-path:polygon(6% 0,94% 0,98% 30%,100% 66%,95% 100%,5% 100%,0 66%,2% 30%)}.pbody{display:flex;justify-content:center;align-items:center;gap:10px;width:calc(var(--w) * .68);height:30px;background:repeating-linear-gradient(90deg,rgba(110,69,39,.9) 0 4px,transparent 4px 30px),linear-gradient(180deg,#e9d3a4,#c9a76f);border-inline:3px solid #4a2f1c}.pbody i{width:12px;height:16px;border-radius:6px 6px 2px 2px;background:radial-gradient(circle at 50% 35%,#ffe9a8,#f0a94e 75%);box-shadow:0 0 8px #ffbe64cc;animation:lantern 3.8s ease-in-out infinite}.ptier.wb .pbody i{animation-delay:.9s}.ptier.wc .pbody i{animation-delay:1.7s}.pine{position:relative;width:150px;height:190px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6));animation:sway 8s ease-in-out infinite reverse;transform-origin:50% 100%}.pine .trunk{position:absolute;left:50%;bottom:0;width:14px;height:70px;translate:-50% 0;background:linear-gradient(90deg,#4a2f1c,#6e4527 50%,#3a2414);border-radius:4px}.pine .foliage{position:absolute;left:50%;translate:-50% 0;background:linear-gradient(180deg,#2e5b3f,#1c3a28);clip-path:polygon(50% 0,100% 100%,0 100%)}.pine .foliage.f1{bottom:108px;width:84px;height:52px}.pine .foliage.f2{bottom:66px;width:116px;height:64px}.pine .foliage.f3{bottom:22px;width:148px;height:76px}.toro{display:flex;flex-direction:column;align-items:center;margin-top:10px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}.toro .jewel{width:10px;height:10px;border-radius:50%;background:#8a93a8}.toro .kasa{width:64px;height:16px;background:linear-gradient(180deg,#6b7488,#3c4258);clip-path:polygon(50% 0,100% 100%,0 100%)}.toro .hibukuro{width:26px;height:22px;border-radius:4px;background:radial-gradient(circle at 50% 40%,#fff3cf,#f0a94e 78%);box-shadow:0 0 16px 5px #ffbe648c;animation:lantern 2.8s ease-in-out infinite}.toro .chuu{width:12px;height:34px;background:linear-gradient(90deg,#565e74,#767e96 50%,#454b60)}.toro .kiso{width:44px;height:10px;border-radius:3px;background:linear-gradient(180deg,#5a6278,#333949)}.ground{width:120%;min-width:130px;height:12px;margin-top:8px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%)}.castle-floor{position:relative}.castle-floor:after{content:"";position:absolute;top:1px;left:50%;width:11px;height:11px;translate:-50% 0;border-radius:50%;border:2px solid #d8a94e;background:radial-gradient(circle,#8a2f27 0 2px,transparent 3px);box-shadow:0 0 6px #d8a94eb3;pointer-events:none}.castle-floor.f1 .floor-rooms{background:repeating-linear-gradient(90deg,rgba(70,42,18,.28) 0 3px,transparent 3px 26px),linear-gradient(180deg,#b07a45,#8a5a30)}.castle-floor.f1 .floor-roof{background:linear-gradient(180deg,#4a7a5c,#2c4a37 60%,#17271d)}.castle-floor.f2 .floor-rooms{background:repeating-linear-gradient(90deg,rgba(255,200,120,.3) 0 2px,transparent 2px 30px),repeating-linear-gradient(0deg,rgba(255,200,120,.3) 0 2px,transparent 2px 18px),linear-gradient(180deg,#31416a,#1b2342)}.castle-floor.f2 .floor-roof{background:linear-gradient(180deg,#3a4668,#1e2440 60%,#10142a)}.castle-floor.f3 .floor-rooms{background:repeating-linear-gradient(90deg,transparent 0 30px,rgba(193,39,45,.8) 30px 38px,transparent 38px 68px),linear-gradient(180deg,#f8f4e7,#e6dcc2)}.castle-floor.f2 .card{color:#cfe0ff;border-color:#5a6a9a;background:linear-gradient(180deg,#465a96bf,#2837698c)}.castle-floor.f2 .card.done{color:#3a2410}.castle-base{position:relative}.noren{position:absolute;top:-30px;left:50%;translate:-50% 0;display:grid;place-items:center;width:46px;height:34px;padding-bottom:6px;font-size:16px;font-weight:700;color:#f3ecd8;background:linear-gradient(180deg,#31416a,#1b2342);border-inline:2px solid #d8a94e;clip-path:polygon(0 0,100% 0,100% 100%,68% 100%,68% 76%,32% 76%,32% 100%,0 100%);pointer-events:none;animation:noren-sway 5s ease-in-out infinite;transform-origin:50% 0}.petal{position:absolute;top:-16px;width:9px;height:12px;border-radius:60% 40%;background:linear-gradient(135deg,#ffd9e4,#f7a2b8);opacity:0;pointer-events:none;animation:petal-fall linear infinite}.petal.p1{left:6%;animation-duration:9s;animation-delay:0s}.petal.p2{left:20%;width:7px;height:10px;animation-duration:12s;animation-delay:2.5s}.petal.p3{left:36%;animation-duration:10s;animation-delay:5s}.petal.p4{left:55%;width:11px;height:14px;animation-duration:13s;animation-delay:1s}.petal.p5{left:70%;animation-duration:9.5s;animation-delay:4s}.petal.p6{left:84%;width:7px;height:10px;animation-duration:11s;animation-delay:6.5s}.petal.p7{left:93%;animation-duration:12.5s;animation-delay:3s}.scroll-cue{position:relative;z-index:1;margin:0 0 10px;height:18px;text-align:center}.scroll-cue span{display:inline-block;width:12px;height:12px;border-right:2px solid rgba(232,230,245,.6);border-bottom:2px solid rgba(232,230,245,.6);rotate:45deg;animation:cue-bob 1.8s ease-in-out infinite}@keyframes sway{0%,to{rotate:-1.2deg}50%{rotate:1.2deg}}@keyframes noren-sway{0%,to{rotate:-2deg}50%{rotate:2deg}}@keyframes petal-fall{0%{transform:translateY(-10px) rotate(0);opacity:0}8%{opacity:.9}to{transform:translate(-70px,760px) rotate(330deg);opacity:0}}@keyframes cue-bob{0%,to{translate:0 -3px;opacity:.5}50%{translate:0 3px;opacity:1}}#overlay.visible.is-castle{max-width:none;padding:0}#overlay.visible.is-castle .panel.castle{width:100%;border-radius:0;border-left:none;border-right:none}.panel.castle{padding:18px clamp(8px,2vw,28px) 22px}.castle-name{font-size:clamp(26px,4.6vw,40px)}.castle-sub{font-size:clamp(11.5px,2vw,15px)}.castle-scene{gap:clamp(16px,4vw,60px)}.castle-scene .castle-body{width:min(560px,94%)}.floor-roof{height:16px}.floor-rooms{gap:10px;padding:12px 14px 14px}.castle-floor .card{border-radius:12px;border-width:2px}.castle .card-num{font-size:clamp(20px,5cqw + 14px,34px)}.castle .card-check{font-size:12px}.castle-base{padding:10px 12px 12px}.gate{width:64px;height:52px}@media(max-width:560px){.floor-rooms{gap:8px;padding:10px 10px 12px}}.hanabi{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}#overlay.over .panel{z-index:1}.hanabi:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(255,220,150,.22),transparent 60%);opacity:0;animation:hanabi-wash 3.6s ease-out infinite}.fw{position:absolute;left:var(--x, 50%);top:var(--y, 30%);width:0;height:0}.fw .core{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#fffbe8;box-shadow:0 0 14px 5px #fff0bed9;opacity:0;animation:hanabi-core 1.8s ease-out infinite;animation-delay:var(--d, 0s)}.fw .ring{position:absolute;left:0;top:0;width:10px;height:10px;translate:-50% -50%;border-radius:50%;border:2px solid var(--rc, rgba(255, 255, 255, .8));opacity:0;animation:hanabi-ring 1.8s ease-out infinite;animation-delay:var(--d, 0s)}.fw i{position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--c, #fff);box-shadow:0 0 8px 1px var(--c, #fff);opacity:0;animation:hanabi-spark 1.8s ease-out infinite;animation-delay:var(--d, 0s)}@keyframes hanabi-core{0%{opacity:0;transform:scale(.4)}8%{opacity:1;transform:scale(1.25)}22%{opacity:1;transform:scale(1)}45%,to{opacity:0;transform:scale(.9)}}@keyframes hanabi-ring{0%,10%{opacity:0;transform:scale(.4)}16%{opacity:.9}55%{opacity:0;transform:scale(9)}to{opacity:0;transform:scale(9)}}@keyframes hanabi-spark{0%,10%{opacity:0;transform:rotate(var(--a, 0deg)) translate(8px) scale(1)}16%{opacity:1}60%{opacity:1}to{opacity:0;transform:rotate(var(--a, 0deg)) translate(var(--r, 90px)) scale(.5)}}@keyframes hanabi-wash{0%,12%{opacity:0}18%{opacity:1}45%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.pagoda,.pine,.noren,.petal,.scroll-cue span,.pbody i,.toro .hibukuro{animation:none!important}.petal{display:none}}#editor-bar{position:absolute;top:0;right:0;bottom:0;z-index:5;display:none;flex-direction:column;width:172px;padding:10px 10px 12px;border-left:1px solid var(--panel-line);border-radius:0 14px 14px 0;background:#0e1022e0;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}#editor-bar.open{display:flex}#editor-bar{transform-origin:top right}#editor-bar{width:20%;overflow:hidden}#editor-bar .ed-tools{overflow:visible}.ed-title{margin:0 0 8px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--accent)}.ed-size{display:grid;gap:6px;margin-bottom:8px}.ed-dim{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--dim)}.ed-dim span{width:12px;font-weight:700;color:var(--accent)}.ed-dim b{flex:1;text-align:center;color:var(--ink);font-variant-numeric:tabular-nums}.ed-dim button{width:28px;height:28px;font:inherit;font-size:15px;line-height:1;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:#ffffff0d;cursor:pointer;transition:transform .08s ease,border-color .15s ease}.ed-dim button:hover{border-color:#48e0d38c}.ed-dim button:active{transform:scale(.92)}.ed-shift{display:flex;gap:6px;margin-bottom:8px}.ed-shift button{flex:1 1 0;min-width:0;height:28px;font:inherit;font-size:15px;line-height:1;color:var(--ink);border:1px solid var(--line);border-radius:9px;background:#ffffff0d;cursor:pointer;transition:transform .08s ease,border-color .15s ease,opacity .15s ease}.ed-shift button:hover{border-color:#48e0d38c}.ed-shift button:active{transform:scale(.92)}.ed-shift button:disabled{opacity:.35;cursor:default;transform:none}.ed-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding-bottom:2px}.ed-tool{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 6px;font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#ffffff12,#ffffff03);cursor:pointer;transition:transform .08s ease,border-color .15s ease,box-shadow .15s ease}.ed-tool:hover{border-color:#48e0d38c}.ed-tool:active{transform:scale(.95)}.ed-tool.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 8px 22px -12px #48e0d3e6;background:linear-gradient(180deg,#48e0d329,#48e0d308)}@keyframes ed-attn{0%,to{border-color:#ffc450e6;box-shadow:0 0 0 2px #ffc450bf,0 0 22px -2px #ffc450cc;transform:scale(1)}50%{border-color:#ffd97a;box-shadow:0 0 0 3px #ffd97af2,0 0 30px 2px #ffc450e6;transform:scale(1.07)}}.ed-tool.attn{animation:ed-attn .9s ease-in-out infinite}.ed-icon{display:block;width:40px;height:40px}.ed-icon svg,.ed-icon img{width:100%;height:100%;display:block}.ed-icon img{border-radius:8px}.ed-label{font-size:10px;color:var(--dim)}.ed-tool.active .ed-label{color:var(--accent)}.ed-foot{display:grid;gap:8px;margin-top:auto;padding-top:10px}.ed-foot .btn{padding:9px 12px;font-size:12px}.ed-undo-row{display:flex;gap:8px}.ed-undo-row .btn{flex:1;padding-left:6px;padding-right:6px}.btn:disabled{opacity:.45;cursor:default}.btn:disabled:active{transform:none}@media(max-width:560px){#editor-bar{width:132px;padding:8px 8px 10px}.ed-icon{width:30px;height:30px}.ed-label{font-size:9px}}#stage.fit-short #editor-bar{width:148px;padding:6px 6px 8px;overflow:hidden}#stage.fit-short .ed-title{display:none}#stage.fit-short .ed-sub{padding:6px;margin-bottom:6px}#stage.fit-short .ed-sub-title{margin-bottom:4px;font-size:9px}#stage.fit-short .ed-sub ul{display:none}#stage.fit-short .ed-sub .btn{margin-top:4px;padding:6px 8px;font-size:11px}#stage.fit-short .ed-size{gap:4px;margin-bottom:6px}#stage.fit-short .ed-dim{gap:4px;font-size:11px}#stage.fit-short .ed-dim button{width:24px;height:24px}#stage.fit-short .ed-shift{gap:4px;margin-bottom:6px}#stage.fit-short .ed-shift button{height:24px;font-size:13px}#stage.fit-short .ed-tools{flex:none;overflow:visible;gap:5px}#stage.fit-short .ed-tool{padding:4px 2px 3px}#stage.fit-short .ed-icon{width:var(--ed-tool, 30px);height:var(--ed-tool, 30px)}#stage.fit-short .ed-label{display:none}#stage.fit-short .ed-foot{margin-top:6px;padding-top:6px;gap:5px}#stage.fit-short #editor-bar .ed-foot-filed{margin-top:auto}#stage.fit-short .ed-foot .btn{padding:6px 8px;font-size:11px}#stage.fit-short .hud-level-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34vw}#stage.fit-short #auth-modal .panel,#stage.fit-short #displayname-modal .panel,#stage.fit-short #ed-name-modal .panel,#stage.fit-short #ed-save-modal .panel{padding:12px 16px;max-height:100%;overflow:hidden}#rotate-hint{display:none}@media(orientation:portrait)and (pointer:coarse){#rotate-hint{position:fixed;inset:auto 12px calc(12px + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));z-index:50;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 16px;border-radius:999px;font-size:13px;color:var(--ink);background:#14172feb;border:1px solid rgba(72,224,211,.4);box-shadow:0 12px 30px #0009;pointer-events:none}.rotate-phone{width:16px;height:26px;border:2px solid var(--accent);border-radius:4px;animation:rotate-cue 2.2s ease-in-out infinite}}@keyframes rotate-cue{0%,20%{transform:rotate(0)}60%,to{transform:rotate(90deg)}}@media(prefers-reduced-motion:reduce){.hanabi{display:none}.rotate-phone{animation:none}}.scroll-title{font-family:var(--font-comic);letter-spacing:.03em}.scroll-hang{display:flex;justify-content:space-between;width:min(400px,78%);height:24px;margin:2px auto 0}.scroll-hang .cord{width:4px;border-radius:2px;background:linear-gradient(180deg,#9a7650,#5c4230);box-shadow:0 1px 2px #00000080}.scroll-rod{display:flex;align-items:center;justify-content:center;gap:0}.scroll-rod .bar{width:min(460px,88%);height:16px;border-radius:8px;background:linear-gradient(180deg,#8a5f3c,#5a3a22 45%,#2e1d10);box-shadow:0 3px 8px #0000008c,inset 0 1px #ffebc859}.scroll-rod .knob{width:26px;height:26px;flex:none;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b08a5c,#4a2f1a 72%);box-shadow:0 2px 6px #0009}.scroll-rod.top .knob{margin:0 -6px}.scroll-rod.bottom{margin-top:-2px}.scroll-rod.bottom .knob{margin:0 -6px}.scroll-paper{position:relative;width:min(460px,88%);margin:-4px auto 0;padding:18px 22px 56px;color:#3b2c1c;background:radial-gradient(120px 60px at 18% 12%,rgba(160,120,70,.25),transparent 70%),radial-gradient(160px 80px at 85% 78%,rgba(160,120,70,.22),transparent 70%),repeating-linear-gradient(0deg,rgba(120,90,60,.05) 0 2px,transparent 2px 5px),linear-gradient(180deg,#f2e5c4,#e9d8b4);border-left:1px solid rgba(90,60,35,.35);border-right:1px solid rgba(90,60,35,.35);box-shadow:0 18px 40px -18px #000c}.scroll-new{display:block;width:100%;padding:10px 12px;font-family:var(--font-comic);font-weight:700;font-size:15px;letter-spacing:.03em;color:#3b2c1c;background:transparent;border:2px dashed rgba(59,44,28,.55);border-radius:12px;cursor:pointer}.scroll-new:hover{background:#3b2c1c14}.scroll-list{margin-top:10px;max-height:34vh;overflow-y:auto}.scroll-entry{display:flex;align-items:center;gap:10px;width:100%;padding:11px 4px;font:inherit;color:#3b2c1c;text-align:left;background:none;border:none;border-bottom:1px solid rgba(59,44,28,.28);cursor:pointer}.scroll-entry:last-child{border-bottom:none}.scroll-entry:hover{background:#3b2c1c12}.scroll-dot{flex:none;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e86a4a,#b8352a 75%);box-shadow:0 0 0 3px #b8352a26}.scroll-name{flex:1;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-family:var(--font-comic);font-weight:700;font-size:15px}.scroll-date{flex:none;font-size:11px;color:#3b2c1cb3}.scroll-go{flex:none;font-size:18px;color:#3b2c1c8c}.scroll-empty{margin:14px 0 0;font-size:13px;font-style:italic;text-align:center;color:#3b2c1cbf}.hanko{position:absolute;right:14px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;font-size:21px;font-weight:700;color:#f7ead0;background:linear-gradient(180deg,#c54030,#a52c20);border-radius:7px;transform:rotate(-8deg);box-shadow:0 2px 6px #00000059,inset 0 0 0 2px #f7ead080}#ed-save-modal,#online-leave-modal{position:absolute;inset:0;z-index:9;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#ed-save-modal.visible,#online-leave-modal.visible{display:flex}#online-leave-modal [data-leave=yes]{background:linear-gradient(180deg,#e0574d,#a52c20);border-color:#ffffff40;color:#fff8f0;box-shadow:0 14px 34px -16px #e0574db3}#online-leave-modal [data-leave=no]{background:linear-gradient(180deg,#5ff0e4,var(--accent-deep));border-color:#ffffff40;color:#04241f;box-shadow:0 14px 34px -16px #48e0d3b3}.ed-save-sub{margin:0;font-size:13px;color:var(--dim)}.auth-area{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 12px}.auth-area:empty{display:none}.auth-welcome{align-self:center;font-family:var(--font-comic);font-weight:700;font-size:17px;letter-spacing:.02em;color:var(--ink);text-shadow:0 2px 10px rgba(0,0,0,.6)}.auth-welcome b{color:var(--accent)}.auth-name{padding:0;border:none;background:none;cursor:pointer;font:inherit;font-weight:inherit;color:var(--accent);text-decoration:none}.btn.danger{color:#fff;border-color:#ff5c5ca6;background:linear-gradient(180deg,#e04848,#b23232);box-shadow:0 8px 22px -12px #ff5c5ce6}.btn.danger:hover{border-color:#ff8a8a}.btn.danger:disabled{background:#ffffff0f;color:var(--faint);border-color:#ffffff1f;box-shadow:none}#auth-modal{position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#displayname-modal{position:absolute;inset:0;z-index:9;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#premium-modal{position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}.premium-btn{position:absolute;top:calc(var(--hu, 360px) * .014);left:auto;right:calc(var(--hu, 360px) * .018);pointer-events:auto;z-index:3;display:flex;flex-direction:column;align-items:center;gap:calc(var(--hu, 360px) * .007);padding:0;font:inherit;background:none;border:none;cursor:pointer;filter:drop-shadow(0 calc(var(--hu, 360px) * .014) calc(var(--hu, 360px) * .025) rgba(0,0,0,.55));transition:transform .12s ease,filter .12s ease}.premium-btn:hover{filter:drop-shadow(0 calc(var(--hu, 360px) * .014) calc(var(--hu, 360px) * .025) rgba(0,0,0,.55)) brightness(1.08)}.premium-btn:active{transform:scale(.94)}.no-ads-oct{display:grid;place-items:center;width:calc(var(--hu, 360px) * .08);height:calc(var(--hu, 360px) * .08);background:#f8fafc;clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);animation:noAdsPulse 2.4s ease-in-out infinite}.no-ads-face{position:relative;display:grid;place-items:center;width:84%;height:84%;background:linear-gradient(180deg,#e5484d,#a91e26);clip-path:polygon(30% 0%,70% 0%,100% 30%,100% 70%,70% 100%,30% 100%,0% 70%,0% 30%);overflow:hidden}.no-ads-text{font-weight:900;font-size:calc(var(--hu, 360px) * .022);letter-spacing:.06em;color:#fff;text-shadow:0 calc(var(--hu, 360px) * .0036) 0 rgba(0,0,0,.35);line-height:1}.no-ads-face:after{content:"";position:absolute;left:2%;right:2%;top:50%;height:calc(var(--hu, 360px) * .009);margin-top:calc(calc(var(--hu, 360px) * -.0045));background:#fff;border-radius:calc(var(--hu, 360px) * .007);box-shadow:0 0 0 calc(var(--hu, 360px) * .0036) #00000059;transform:rotate(-32deg)}.no-ads-cap{font-size:calc(var(--hu, 360px) * .014);font-weight:800;letter-spacing:.08em;color:#fff;background:#060814b8;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:calc(var(--hu, 360px) * .004) calc(var(--hu, 360px) * .014);white-space:nowrap}.premium-btn.is-owned .no-ads-face{background:linear-gradient(180deg,#2fbf71,#157347)}.premium-btn.is-owned .no-ads-face:after{display:none}@keyframes noAdsPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.no-ads-oct{animation:none}}#auth-modal.visible,#displayname-modal.visible,#premium-modal.visible{display:flex}#premium-modal .ed-name-card{width:min(480px,100%)}#premium-modal .premium-row{flex-wrap:nowrap;gap:8px}#premium-modal .premium-row .btn{padding:10px 12px;font-size:12px;white-space:nowrap;flex:0 1 auto;min-width:0}#enjoy-modal{position:absolute;inset:0;z-index:11;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#enjoy-modal.visible{display:flex}#lb-challenge-modal{position:absolute;inset:0;z-index:12;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#lb-challenge-modal.visible{display:flex}#lb-challenge-modal .ed-name-card,#lb-challenge-modal .ed-name-card .btn{font-family:var(--font-comic)}#lb-challenge-modal .lb-challenge-name{font-weight:700;font-size:19px;color:#ffe27a;text-shadow:0 2px 0 rgba(122,77,18,.8)}.lb-row[data-lb-level]{cursor:pointer}.enjoy-stars{margin:0 0 4px;font-size:1.6em;letter-spacing:.12em;color:#ffe27a;text-shadow:0 2px 0 rgba(122,77,18,.8)}.enjoy-title-single{white-space:nowrap;font-size:14px}#enjoy-modal .ed-name-card{width:min(620px,100%);container-type:inline-size}.enjoy-sub-single{white-space:nowrap;font-size:12.5px;font-size:min(12.5px,2.15cqw)}#rate-modal{position:absolute;inset:0;z-index:9;display:none;align-items:center;justify-content:center;padding:calc(var(--hu, 360px) * .03);border-radius:14px;background:#06081459}#rate-modal.visible{display:flex}.rate-panel{width:min(calc(var(--hu, 360px) * 1.24),100%);max-height:100%;overflow-y:auto;touch-action:pan-y;padding:calc(var(--hu, 360px) * .035);background:linear-gradient(180deg,#ffffff0d,#fff0 40%),#1e214273}.rate-panel h2{font-size:calc(var(--hu, 360px) * .055);margin:0 0 calc(var(--hu, 360px) * .012);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-comic);color:#ffe27a}.rate-panel .row{margin:0;gap:calc(var(--hu, 360px) * .025)}.rate-panel .btn{font-size:calc(var(--hu, 360px) * .034);padding:calc(var(--hu, 360px) * .014) calc(var(--hu, 360px) * .05)}.rate-rows{display:flex;flex-direction:column;gap:calc(var(--hu, 360px) * .016);margin:calc(var(--hu, 360px) * .025) 0 calc(var(--hu, 360px) * .025);text-align:left}.rate-row{display:flex;align-items:center;gap:calc(var(--hu, 360px) * .02)}.rate-name{font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .036);white-space:nowrap}.rate-hint-btn{flex:none;width:calc(var(--hu, 360px) * .05);height:calc(var(--hu, 360px) * .05);border-radius:50%;border:1px solid var(--panel-line);background:#ffffff14;color:var(--accent);font-size:calc(var(--hu, 360px) * .032);font-weight:700;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.rate-val{margin-left:auto;min-width:calc(var(--hu, 360px) * .1);text-align:right;font-size:calc(var(--hu, 360px) * .034);color:var(--dim);font-variant-numeric:tabular-nums}.rate-emoji{flex:none;width:calc(var(--hu, 360px) * .06);text-align:center;font-size:calc(var(--hu, 360px) * .04);line-height:1}.rate-own-note{margin:calc(var(--hu, 360px) * .02) 0 0;font-size:calc(var(--hu, 360px) * .034);font-weight:700;letter-spacing:.02em;color:#e8b840}.rate-hint-box{margin:calc(var(--hu, 360px) * .025) 0 0;padding:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .028);border-radius:10px;font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .036);line-height:1.4;color:var(--ink);background:#ffcf4d1f;border:1px solid rgba(255,207,77,.4);text-align:left}.rate-hint-box[hidden]{display:none}.rate-hint-box .rate-hint-name{display:block;margin-bottom:calc(var(--hu, 360px) * .008);font-weight:700;color:var(--accent)}.rate-stars{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:calc(var(--hu, 360px) * .008)}.rate-star{padding:0 calc(var(--hu, 360px) * .002);border:none;background:none;font-size:calc(var(--hu, 360px) * .046);line-height:1;color:#ffffff38;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.rate-star.lit{color:#ffcf4d;text-shadow:0 0 10px rgba(255,207,77,.65)}.auth-div{margin:0;font-size:12px;color:var(--dim)}.auth-field{width:100%;padding:11px 14px;font:inherit;font-size:16px;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:#0a0b16b3}.auth-field:focus{outline:none;border-color:var(--accent)}.auth-pass-wrap{position:relative}.auth-pass-wrap .auth-field{padding-right:44px}.auth-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;padding:0;border:none;border-radius:8px;background:transparent;color:var(--dim);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.auth-eye svg{width:20px;height:20px;pointer-events:none}.auth-eye.open{color:var(--accent)}.auth-error{margin:0;min-height:18px;font-size:13px;color:#ff9d9d}.auth-error.is-ok{color:#4ade80}.auth-error:empty{display:none}.auth-reset-hint{margin:0;font-size:13px;color:var(--dim)}.auth-reset-sent{margin:0;font-size:13px;color:#9df0b5}.auth-reset-sent[hidden]{display:none}[data-am-step]{display:grid;gap:12px}[data-am-step][hidden]{display:none}.ed-sub{padding:8px 9px;border:1px solid var(--line);border-radius:12px;background:#ffffff08}.ed-sub-title{margin:0 0 6px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.ed-sub ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}.ed-sub li{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--dim)}.ed-sub li.done{color:var(--ink)}.ed-dot{flex:none;width:16px;height:16px;display:grid;place-items:center;font-size:11px;line-height:1;color:transparent;border-radius:50%;background:#5a5f7a;user-select:none}.ed-sub li.done .ed-dot{color:#06130d;font-weight:700;background:linear-gradient(180deg,#46e08c,#23a35e);box-shadow:0 0 8px #46e08c8c}.ed-sub .btn{width:100%;margin-top:8px;padding:9px 12px;font-size:12px}#editor-bar .ed-sub{margin-bottom:8px}@media(max-height:500px){#editor-bar{width:168px;padding:6px 6px 8px;overflow-y:auto;overscroll-behavior:contain}.ed-title{margin-bottom:4px;font-size:9px}#editor-bar .ed-sub{margin-bottom:6px;padding:6px 7px}.ed-sub-title{margin-bottom:4px;font-size:9px}.ed-sub ul{gap:4px}.ed-sub li{font-size:10px}.ed-dot{width:14px;height:14px;font-size:9px}.ed-sub .btn{margin-top:6px;padding:7px 8px;font-size:11px}.ed-size{margin-bottom:6px}.ed-dim button{width:26px;height:26px}.ed-tools{flex:none;overflow:visible;gap:6px}.ed-tool{padding:5px 3px 4px}.ed-icon{width:32px;height:32px}.ed-foot{margin-top:6px;padding-top:6px;gap:6px}.ed-foot .btn{padding:7px 8px;font-size:11px}}.scroll-wifi{flex:none;width:18px;height:18px;display:grid;place-items:center}.scroll-wifi svg{width:100%;height:100%;fill:none;stroke:#1f9d55;stroke-width:2.4;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(31,157,85,.6))}.scroll-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.scroll-meta .scroll-name{flex:none}.scroll-stats{font-size:11px;color:#3b2c1cbf;white-space:nowrap}.scroll-recs{white-space:normal}.ed-locked-note{margin:0 0 8px;padding:6px 8px;border-radius:9px;font-size:11px;text-align:center;color:#b8ffe0;background:#1f9d5529;border:1px solid rgba(31,157,85,.45)}#editor-bar .ed-title-filed{position:absolute;top:.5%;height:4%;left:10px;right:10px;margin:0;display:flex;align-items:center;justify-content:center}#editor-bar .ed-note-filed{position:absolute;top:5%;height:4.5%;left:10px;right:10px;margin:0;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#editor-bar .ed-filed-btn{position:absolute;left:10px;right:10px;padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:calc(var(--hu, 360px) * .032)}#editor-bar .ed-filed-test{top:12.5%;height:4.5%}#editor-bar .ed-id-filed{position:absolute;top:27%;height:4.5%;left:10px;right:10px;margin:0;padding:0 6px;display:flex;align-items:center;justify-content:center;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#editor-bar .ed-filed-remix{top:20%;height:4.5%}#editor-bar .ed-filed-back{top:90%;bottom:2%}#editor-bar .ed-filed-delete{top:84%;height:4.5%}#editor-bar{touch-action:pan-y}#editor-bar button,.menu-btn,.btn,.hud-item,.hud-actions button,.scroll-entry,.scroll-new{touch-action:manipulation;-webkit-tap-highlight-color:transparent}#stage #editor-bar{width:20%;overflow:hidden}#stage #editor-bar .ed-tools{overflow:visible}#stage #editor-bar{width:20%;height:100%;top:0;right:0;bottom:0;padding:0;overflow:hidden;display:none;touch-action:pan-y}#stage #editor-bar.open{display:block}#stage #editor-bar .ed-title{display:none!important}#stage #editor-bar .ed-sub{position:absolute;left:6%;right:6%;top:3%;height:21%;margin:0;padding:calc(var(--hu, 360px) * .008);overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:calc(var(--hu, 360px) * .006);min-height:0}#stage #editor-bar .ed-sub-title{margin:0;font-size:calc(var(--hu, 360px) * .022);letter-spacing:.12em}#stage #editor-bar .ed-sub ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:calc(var(--hu, 360px) * .004);min-height:0}#stage #editor-bar .ed-sub li{font-size:calc(var(--hu, 360px) * .02);gap:calc(var(--hu, 360px) * .008);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:0}#stage #editor-bar .ed-sub li .ed-dot{width:calc(var(--hu, 360px) * .028);height:calc(var(--hu, 360px) * .028);font-size:calc(var(--hu, 360px) * .018);flex:none}#stage #editor-bar .ed-sub .btn{width:100%;margin-top:calc(var(--hu, 360px) * .004);padding:calc(var(--hu, 360px) * .008) calc(var(--hu, 360px) * .01);font-size:calc(var(--hu, 360px) * .022);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:0;flex:none}#stage #editor-bar .ed-size{position:absolute;left:6%;right:6%;top:25.5%;height:8%;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;gap:calc(var(--hu, 360px) * .008);overflow:hidden;min-height:0}#stage #editor-bar .ed-dim{flex:1 1 0;min-height:0;display:flex;align-items:center;gap:calc(var(--hu, 360px) * .012);font-size:calc(var(--hu, 360px) * .022)}#stage #editor-bar .ed-dim span{width:calc(var(--hu, 360px) * .03);flex:none}#stage #editor-bar .ed-dim b{flex:1;min-width:0;text-align:center;overflow:hidden;text-overflow:ellipsis}#stage #editor-bar .ed-dim button{width:calc(var(--hu, 360px) * .055);height:100%;min-width:0;min-height:0;flex:none;font-size:calc(var(--hu, 360px) * .028);border-radius:calc(var(--hu, 360px) * .015)}#stage #editor-bar .ed-shift{position:absolute;left:6%;right:6%;top:35%;height:4.5%;margin:0;padding:0;display:flex;gap:calc(var(--hu, 360px) * .008);overflow:hidden;min-height:0}#stage #editor-bar .ed-shift button{flex:1 1 0;min-width:0;min-height:0;height:100%;font-size:calc(var(--hu, 360px) * .026);line-height:1;border-radius:calc(var(--hu, 360px) * .015)}#stage #editor-bar .ed-tools{position:absolute;left:6%;right:6%;top:41%;height:37%;margin:0;padding:0 0 calc(var(--hu, 360px) * .004);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,1fr);gap:calc(var(--hu, 360px) * .008);overflow:hidden;flex:none;align-content:stretch}#stage #editor-bar .ed-tool{min-width:0;min-height:0;height:100%;padding:calc(var(--hu, 360px) * .004);gap:calc(var(--hu, 360px) * .002);overflow:hidden;justify-content:center;border-radius:calc(var(--hu, 360px) * .02)}#stage #editor-bar .ed-tool .ed-icon{width:calc(var(--hu, 360px) * .048);height:calc(var(--hu, 360px) * .048);flex:none}#stage #editor-bar .ed-tool .ed-label{font-size:calc(var(--hu, 360px) * .018);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#stage #editor-bar .ed-foot{position:absolute;left:6%;right:6%;top:79%;height:20%;margin:0;padding:0;display:block;overflow:hidden;min-height:0}#stage #editor-bar .ed-foot-row{position:absolute;left:0;right:0;display:flex;gap:calc(var(--hu, 360px) * .008);min-height:0}#stage #editor-bar .ed-foot-row-head{top:0%;height:30%}#stage #editor-bar .ed-foot-row-undo{top:30%;height:30%}#stage #editor-bar .ed-foot-row-head,#stage #editor-bar .ed-foot-row-undo{align-items:center;gap:calc(var(--hu, 360px) * .016)}#stage #editor-bar .ed-foot .ed-foot-row-head .btn,#stage #editor-bar .ed-foot .ed-foot-row-undo .btn{height:84%}#stage #editor-bar .ed-tools.dojo-tools{grid-template-rows:repeat(5,1fr)}#stage #editor-bar .ed-tools.dojo-tools .ed-icon{width:calc(var(--hu, 360px) * .036);height:calc(var(--hu, 360px) * .036)}#stage #editor-bar .ed-foot-row-tail{top:60%;height:40%}#stage #editor-bar .ed-foot-row .btn{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}#stage #editor-bar .ed-warn{background:linear-gradient(180deg,#ffb35c,#e07b2a);border-color:#ffffff59;color:#2a1404;box-shadow:0 8px 22px -12px #ffb35ce6;opacity:1}#stage #editor-bar .ed-foot .btn{width:100%;flex:none;padding:calc(var(--hu, 360px) * .008) calc(var(--hu, 360px) * .01);font-size:calc(var(--hu, 360px) * .022);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:0}#stage #editor-bar .ed-foot .ed-undo-row{display:flex;gap:calc(var(--hu, 360px) * .008);flex:none;min-height:0}#stage #editor-bar .ed-foot .ed-undo-row .btn{flex:1 1 0;min-width:0;padding-left:calc(var(--hu, 360px) * .004);padding-right:calc(var(--hu, 360px) * .004)}#stage #editor-bar .ed-foot-row-head .btn{flex:1 1 0;min-width:0;width:auto}#stage #ed-name{opacity:.5;top:2.5%;left:1.5%;right:auto;max-width:74%;width:max-content;text-align:left;white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word;line-height:1.2;font-size:calc(var(--hu, 360px) * .036);padding:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .04)}#stage #editor-bar .ed-done{background:linear-gradient(180deg,#46e08c,#23a35e);border-color:#ffffff59;color:#06130d;box-shadow:0 8px 22px -12px #46e08ce6;opacity:1}#stage #hud .hud-level-name{opacity:.5}#stage #hud .hud-level-name-test{max-width:70vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1a0e04;border:1px solid rgba(255,213,128,.55);background:linear-gradient(135deg,#ffe9a8,#ffb35c 38%,#ff8a5c 72%,#e04848);box-shadow:0 6px 24px #ff8c5073,inset 0 1px #ffffff8c;text-shadow:0 1px 0 rgba(255,255,255,.35);opacity:.5}#overlay.visible.community{height:100%;max-width:none;padding:0;align-items:stretch}.community-art{position:relative;width:100%;height:100%;overflow:hidden;border-radius:14px}.community-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.community-scenery{position:absolute;inset:0;transform-origin:50% 50%;transition:transform .45s ease;background:linear-gradient(180deg,#0a06048c,#0a060400 35%),radial-gradient(62% 58% at 50% 47%,#ecdcb4,#dcc795 52%,#a37f52 74%,#34221400 75%),radial-gradient(120% 100% at 50% 40%,#4a3220,#241610 70%,#120b07)}.community-art.show-grid .community-scenery{transform:scale(1.55)}.community-choices{position:absolute;inset:0;display:grid;grid-template-columns:repeat(2,auto);justify-content:center;justify-items:center;align-content:center;gap:calc(var(--hu, 360px) * .05);padding:0 calc(var(--hu, 360px) * .05)}.community-img-btn[data-screen=leaderboard]{grid-column:1 / -1;justify-self:center}.community-img-btn{padding:0;border:none;background:none;cursor:pointer;line-height:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,filter .12s ease}.community-img-btn img{display:block;width:auto;height:calc(var(--hu, 360px) * .25);filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}.community-img-label{display:none;align-items:center;justify-content:center;padding:calc(var(--hu, 360px) * .03) calc(var(--hu, 360px) * .05);border-radius:calc(var(--hu, 360px) * .03);border:calc(var(--hu, 360px) * .004) solid rgba(59,44,28,.6);background:linear-gradient(180deg,#f2e5c4,#d9c48f);color:#3b2c1c;font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .045);line-height:1.25;white-space:nowrap;box-shadow:0 10px 18px #0000008c}.community-img-btn img.missing{display:none}.community-img-btn img.missing+.community-img-label{display:inline-flex}.community-img-btn:hover{transform:translateY(-3px) scale(1.03);filter:brightness(1.08)}.community-img-btn:active{transform:scale(.97)}@keyframes hub-badge-in{0%{opacity:0;transform:translateY(calc(var(--hu, 360px) * .06)) scale(.94)}to{opacity:1;transform:none}}.community-choices .community-img-btn{animation:hub-badge-in .55s cubic-bezier(.22,1,.36,1) backwards}.community-choices .community-img-btn[data-screen=online]{animation-delay:.05s}.community-choices .community-img-btn[data-screen=create]{animation-delay:.15s}.community-choices .community-img-btn[data-screen=leaderboard]{animation-delay:.25s}@media(prefers-reduced-motion:reduce){.community-choices .community-img-btn{animation:none}}.community-back{position:absolute;right:calc(var(--hu, 360px) * .04);bottom:calc(var(--hu, 360px) * .05);font-size:calc(var(--hu, 360px) * .032);padding:.55em 1.2em}#stage.fit-short #overlay.visible.community{padding:0;align-items:stretch}#stage.fit-short .community-back{font-size:calc(var(--hu, 360px) * .032);padding:.55em 1.2em}.community-lightwash{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 8% 6%,rgba(255,190,110,.22),transparent 55%),linear-gradient(180deg,rgba(255,200,130,.06),transparent 45%);animation:lampWash 6s ease-in-out infinite}.community-lamp{position:absolute;z-index:2;left:calc(var(--hu, 360px) * -.16);top:calc(var(--hu, 360px) * -.18);width:calc(var(--hu, 360px) * .55);height:calc(var(--hu, 360px) * .55);pointer-events:none}.lamp-halo{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(255,236,190,.85) 0%,rgba(255,190,100,.45) 32%,rgba(255,150,60,.16) 58%,transparent 72%);filter:blur(2px);animation:lampPulse 3.6s ease-in-out infinite,lampFlicker 1.7s steps(2,jump-none) infinite}.lamp-core{position:absolute;left:30%;top:30%;width:40%;height:40%;border-radius:50%;background:radial-gradient(circle,#fffbe8,#ffe9a8 45%,#ffc86e00 75%);box-shadow:0 0 26px 10px #ffd282a6;animation:lampFlicker 2.3s ease-in-out infinite}.lamp-flare{position:absolute;left:18%;top:44%;width:130%;height:calc(var(--hu, 360px) * .035);border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,225,170,.55) 30%,rgba(255,240,210,.8) 50%,rgba(255,225,170,.55) 70%,transparent);transform:rotate(-18deg);filter:blur(1px);animation:lampFlare 7s ease-in-out infinite}.community-choices{z-index:3}.community-back{z-index:4}.community-img-btn img{animation:badgeWiggle 3.4s ease-in-out infinite}.community-img-btn[data-screen=create] img{animation-delay:-1.7s;animation-duration:4s}.community-img-btn[data-screen=leaderboard] img{animation-delay:-.85s;animation-duration:3.7s}@keyframes badgeWiggle{0%,to{transform:translateY(0) rotate(-1.4deg) scale(1)}50%{transform:translateY(calc(var(--hu, 360px) * -.014)) rotate(1.4deg) scale(1.04)}}@keyframes lampPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.09);opacity:1}}@keyframes lampFlicker{0%,to{opacity:.92}30%{opacity:1}55%{opacity:.86}75%{opacity:.97}}@keyframes lampFlare{0%,to{opacity:.25;transform:rotate(-18deg) scaleX(.92)}50%{opacity:.7;transform:rotate(-18deg) scaleX(1.06)}}@keyframes lampWash{0%,to{opacity:.7}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.community-lightwash,.lamp-halo,.lamp-core,.lamp-flare,.community-img-btn img{animation:none!important}.community-scenery,.creator-grid{transition:none}}.community-choices{transition:opacity .35s ease,transform .35s ease,visibility .35s}.community-art.show-grid .community-choices{opacity:0;visibility:hidden;transform:scale(.96);pointer-events:none}.community-img-btn{transition:transform .12s ease,filter .12s ease,opacity .35s ease,visibility .35s}.community-img-btn.mode-faded{opacity:0;visibility:hidden;pointer-events:none}.mode-picker{position:absolute;z-index:3;left:0;right:0;bottom:calc(var(--hu, 360px) * .26);display:flex;flex-direction:column;align-items:center;gap:calc(var(--hu, 360px) * .025);opacity:0;visibility:hidden;transform:translateY(calc(var(--hu, 360px) * .04));transition:opacity .35s ease,transform .35s ease,visibility .35s;pointer-events:none}.community-art.show-mode .mode-picker{opacity:1;visibility:visible;transform:none;pointer-events:auto}.mode-row{display:flex;flex-direction:column;align-items:center;gap:calc(var(--hu, 360px) * .025)}.mode-btn{font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .032);line-height:1.25;white-space:nowrap;color:#3b2c1c;padding:calc(var(--hu, 360px) * .015) calc(var(--hu, 360px) * .045);border-radius:calc(var(--hu, 360px) * .03);border:calc(var(--hu, 360px) * .004) solid rgba(59,44,28,.6);background:linear-gradient(180deg,#f2e5c4,#d9c48f);box-shadow:0 10px 18px #0000008c;cursor:pointer;transition:transform .12s ease,filter .12s ease}.mode-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.mode-btn:active{transform:scale(.97)}.creator-grid{position:absolute;z-index:3;inset:15% 17% 13%;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:scale(1.02);transition:opacity .35s ease,transform .35s ease,visibility .35s;pointer-events:none}.community-art.show-grid .creator-grid{opacity:1;visibility:visible;transform:none;pointer-events:auto;inset:12.5% 13% 15.5%}.creator-grid{transition:opacity .35s ease,transform .35s ease,visibility .35s,left .45s ease,right .45s ease,top .45s ease,bottom .45s ease}.creator-refresh{position:absolute;left:calc(var(--hu, 360px) * -.06);top:calc(var(--hu, 360px) * -.075);display:inline-flex;align-items:center;gap:calc(var(--hu, 360px) * .012);padding:calc(var(--hu, 360px) * .012) calc(var(--hu, 360px) * .028);border-radius:999px;border:calc(var(--hu, 360px) * .004) solid rgba(59,44,28,.5);background:#f2e5c4eb;color:#3b2c1c;font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .03);line-height:1;cursor:pointer;box-shadow:0 2px 8px #00000059;white-space:nowrap}.creator-cells{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:calc(var(--hu, 360px) * .022);transition:opacity .18s ease}.creator-cells.switching{opacity:0}.creator-cell{min-height:0;min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:calc(var(--hu, 360px) * .005);padding:calc(var(--hu, 360px) * .018) calc(var(--hu, 360px) * .022);font:inherit;text-align:left;color:#3b2c1c;background:#fffcf08c;border:calc(var(--hu, 360px) * .004) solid rgba(59,44,28,.45);border-radius:calc(var(--hu, 360px) * .02);box-shadow:0 2px 10px #3c281440;cursor:pointer;overflow:hidden}.creator-cell:hover{background:#fffcf0cc}.creator-empty{background:transparent;border-color:transparent;box-shadow:none;cursor:default;pointer-events:none}.creator-title{display:block;min-width:0}.creator-corner{position:absolute;top:calc(var(--hu, 360px) * .014);right:calc(var(--hu, 360px) * .018);display:inline-flex;line-height:0}.creator-corner .creator-wifi{margin-top:0}.creator-corner .creator-dot{margin-top:calc(var(--hu, 360px) * .006)}.creator-name{flex:1;min-width:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .026)}.creator-dot{flex:none;width:calc(var(--hu, 360px) * .024);height:calc(var(--hu, 360px) * .024);border-radius:50%;background:radial-gradient(circle at 35% 30%,#e86a4a,#b8352a 75%);box-shadow:0 0 0 calc(var(--hu, 360px) * .007) #b8352a26;margin-top:calc(var(--hu, 360px) * .01)}.creator-wifi{flex:none;display:inline-flex;color:#1e7a3c;margin-top:calc(var(--hu, 360px) * .004)}.creator-wifi svg{width:calc(var(--hu, 360px) * .036);height:calc(var(--hu, 360px) * .036);fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.creator-line{font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .02);line-height:1.35;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creator-kv{display:flex;justify-content:space-between;align-items:baseline;gap:calc(var(--hu, 360px) * .014);font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .02);line-height:1.35;white-space:nowrap;overflow:hidden}.creator-kv>span:first-child{flex:none;opacity:.75}.creator-kv>b{font-weight:700;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.creator-kv-quad{justify-content:flex-start}.creator-kv-quad>span{flex:none;opacity:.75}.creator-kv-quad>.push{margin-left:auto}.diff-unrated{color:#7a3fb0}.diff-easy{color:#1e7a3c}.diff-normal{color:#2b7cd3}.diff-hard{color:#cf6d1c}.diff-insane{color:#c03028}.creator-gameid,.creator-back-gameid{font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .018);line-height:1.3;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creator-kv-stack{display:flex;flex-direction:column;gap:calc(var(--hu, 360px) * .005);font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .02);line-height:1.35}.creator-cell:not(.creator-new),.flip-back{padding-right:calc(var(--hu, 360px) * .085)}.creator-line-wrap{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.creator-new{align-items:center;justify-content:center;text-align:center;background:transparent;border-style:dashed;border-width:calc(var(--hu, 360px) * .005);border-color:#3b2c1ca6;box-shadow:none}.creator-plus{font-size:calc(var(--hu, 360px) * .06);line-height:1}.creator-new-label{font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .03)}.creator-pager{position:absolute;z-index:4;left:13%;right:13%;bottom:calc(var(--hu, 360px) * .07);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:calc(var(--hu, 360px) * .03)}.community-art:not(.show-grid) .creator-pager{display:none}.creator-pager[hidden]{display:none}.creator-page-btn{width:calc(var(--hu, 360px) * .06);height:calc(var(--hu, 360px) * .06);border-radius:50%;border:calc(var(--hu, 360px) * .004) solid rgba(59,44,28,.5);background:#f2e5c4e6;color:#3b2c1c;font-size:calc(var(--hu, 360px) * .04);line-height:1;cursor:pointer}.creator-page-btn[disabled]{opacity:.35;cursor:default}.creator-page-num{font-size:calc(var(--hu, 360px) * .028);color:#3b2c1c;min-width:calc(var(--hu, 360px) * .1);text-align:center}.creator-flipwrap{position:relative;min-width:0;min-height:0;display:flex;perspective:calc(var(--hu, 360px) * 2)}.flip-inner{position:relative;flex:1;min-width:0;display:flex;transform-style:preserve-3d;transition:transform .55s ease}.creator-flipwrap.flipped .flip-inner{transform:rotateY(180deg)}.flip-front{flex:1;min-width:0;position:relative;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-back{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;cursor:pointer;gap:calc(var(--hu, 360px) * .008);padding:calc(var(--hu, 360px) * .018) calc(var(--hu, 360px) * .022);border-radius:calc(var(--hu, 360px) * .02);border:calc(var(--hu, 360px) * .004) solid rgba(59,44,28,.55);background:repeating-linear-gradient(45deg,rgba(59,44,28,.055) 0 calc(var(--hu, 360px) * .02),transparent calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .04)),linear-gradient(180deg,#eedeb8fa,#e0ca9cfa);box-shadow:0 2px 10px #3c281440,inset 0 2px 10px #3c28142e;overflow:hidden;color:#3b2c1c;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-back:after{content:"★";position:absolute;left:calc(var(--hu, 360px) * .012);bottom:calc(var(--hu, 360px) * -.03);font-size:calc(var(--hu, 360px) * .14);line-height:1;color:#3b2c1c1f;pointer-events:none}.creator-back-title{font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .026);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creator-back-body{display:flex;flex-direction:column;gap:calc(var(--hu, 360px) * .004);min-width:0}.creator-back-row{display:flex;justify-content:space-between;gap:calc(var(--hu, 360px) * .014);font-family:var(--font-comic);font-size:calc(var(--hu, 360px) * .021);line-height:1.35;opacity:.85;white-space:nowrap;overflow:hidden}.creator-back-row>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.creator-back-row b{flex:none;font-variant-numeric:tabular-nums}.creator-back-total{font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .022);margin-top:calc(var(--hu, 360px) * .006)}.creator-back-row.difficulty,.creator-back-row.passrate{justify-content:flex-end}.creator-back-row.difficulty>span:first-child,.creator-back-row.passrate>span:first-child{text-overflow:ellipsis}.creator-flip-btn{position:absolute;right:calc(var(--hu, 360px) * .012);bottom:calc(var(--hu, 360px) * .012);z-index:2;width:calc(var(--hu, 360px) * .036);height:calc(var(--hu, 360px) * .036);border-radius:50%;border:calc(var(--hu, 360px) * .003) solid rgba(59,44,28,.55);background:#f2e5c4f2;color:#3b2c1c;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px #00000059}.creator-flip-btn:hover{background:#fffdf4}.creator-flip-icon{width:76%;height:76%}#creator-del-modal{position:absolute;inset:0;z-index:9;display:none;align-items:center;justify-content:center;padding:16px;border-radius:14px;background:#06081499}#creator-del-modal.visible{display:flex}@media(prefers-reduced-motion:reduce){.community-choices,.creator-grid,.flip-inner{transition:none}}@media(pointer:coarse){*{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}#rate-modal .rate-panel{backdrop-filter:blur(16px) saturate(140%)!important;-webkit-backdrop-filter:blur(16px) saturate(140%)!important}}#overlay.visible.world{max-width:none;width:100%;padding:0}.world-map{position:relative;width:100%;height:var(--hu, 360px);overflow:hidden;border-radius:12px;background:#0c0f2b}.wm-view{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:none;scrollbar-width:thin;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.wm-world{position:relative;height:100%;overflow:hidden;will-change:transform}.wm-layer{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.wm-far,.wm-mid{will-change:transform}.wm-svg{display:block;width:100%;height:100%}.wm-path{position:absolute;inset:0}.wm-trail-glow{fill:none;stroke:#48e0d359;stroke-width:26;stroke-linecap:round;stroke-linejoin:round}.wm-trail{fill:none;stroke:#ffe9b0;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 22}.wm-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none}.wm-fx{position:absolute;top:0;display:block}.wm-petal{width:calc(var(--hu, 360px) * .018);height:calc(var(--hu, 360px) * .013);border-radius:60% 0;background:#ffb3d1;animation:wm-fall 9s linear infinite}.wm-firefly{top:45%;width:5px;height:5px;border-radius:50%;background:#ffe066;box-shadow:0 0 10px 3px #ffe066b3;animation:wm-float 5s ease-in-out infinite}.wm-fog{top:78%;width:calc(var(--hu, 360px) * .6);height:calc(var(--hu, 360px) * .2);border-radius:50%;background:radial-gradient(circle,rgba(200,190,230,.35),transparent 70%);filter:blur(6px);animation:wm-drift 14s ease-in-out infinite}.wm-wisp{top:55%;width:12px;height:18px;border-radius:50%;background:#78ffe68c;filter:blur(2px);animation:wm-float 6s ease-in-out infinite}.wm-rain{top:-10%;width:1px;height:calc(var(--hu, 360px) * .07);background:#c8dcff80;animation:wm-rainfall .9s linear infinite}.wm-ember{top:85%;width:4px;height:4px;border-radius:50%;background:#ff9a3c;box-shadow:0 0 6px #ff7a1a;animation:wm-rise 6s ease-out infinite}@keyframes wm-fall{0%{transform:translate3d(0,-5%,0) rotate(0)}to{transform:translate3d(calc(var(--hu, 360px) * .25),calc(var(--hu, 360px) * 1.1),0) rotate(360deg)}}@keyframes wm-float{0%,to{transform:translateZ(0);opacity:.6}50%{transform:translate3d(12px,-14px,0);opacity:1}}@keyframes wm-drift{0%,to{transform:translate(0)}50%{transform:translate(calc(var(--hu, 360px) * .15))}}@keyframes wm-rainfall{0%{transform:translateZ(0)}to{transform:translate3d(calc(var(--hu, 360px) * -.08),calc(var(--hu, 360px) * 1.15),0)}}@keyframes wm-rise{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(12px,calc(var(--hu, 360px) * -.7),0);opacity:0}}.wm-node{position:absolute;transform:translate(-50%,-50%);width:calc(var(--hu, 360px) * .085);aspect-ratio:1 / 1;display:grid;place-items:center;padding:0;border-radius:50%;border:3px solid #ffd27a;background:radial-gradient(circle at 50% 35%,#ffe9a8,#e88a4a);color:#2a1a10;font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .036);cursor:pointer;box-shadow:0 4px 10px #00000080;transition:transform .12s ease}.wm-node:hover{transform:translate(-50%,-50%) scale(1.08)}.wm-node.done{background:radial-gradient(circle at 50% 35%,#d9ffe3,#2fa35a);border-color:#a8f0b8}.wm-node.checkpoint{box-shadow:0 0 0 3px #7dd3ff,0 4px 10px #00000080}.wm-node.boss{width:calc(var(--hu, 360px) * .12);font-size:calc(var(--hu, 360px) * .05);border-color:#ff5a6e;background:radial-gradient(circle at 50% 35%,#ffd0d8,#b5172e);color:#fff;box-shadow:0 0 18px #ff5a6eb3,0 4px 10px #00000080}.wm-node.boss.done{border-color:#a8f0b8;background:radial-gradient(circle at 50% 35%,#d9ffe3,#1f8a4a);box-shadow:0 0 18px #50ff968c,0 4px 10px #00000080}.wm-node.final{width:calc(var(--hu, 360px) * .15);font-size:calc(var(--hu, 360px) * .058);border-color:#ffe27a;background:radial-gradient(circle at 50% 35%,#fff7c2,#ff9a3c 55%,#7a1a1a);color:#2a0a0a;box-shadow:0 0 28px #ffd25ae6,0 0 60px #ff8c3c99;animation:wm-emblem 1.8s ease-in-out infinite}.wm-node.checkpoint.done{border-color:#a8f0b8;box-shadow:0 0 0 3px #a8f0b8,0 0 18px #50ff968c,0 4px 10px #00000080}.wm-node.final.done{border-color:#a8f0b8;background:radial-gradient(circle at 50% 35%,#d9ffe3,#1f8a4a);color:#06130d;box-shadow:0 0 28px #50ff968c,0 0 60px #50ff9659}.wm-node.locked{background:#3a3f5c;border-color:#55597a;color:#8a90b0;box-shadow:none;opacity:.7}.wm-node.current{animation:wm-ring 1.4s ease-in-out infinite}.wm-brief{position:absolute;left:50%;top:calc(var(--hu, 360px) * .05);transform:translate(-50%);z-index:50;width:calc(var(--hu, 360px) * .44);max-width:92%;box-sizing:border-box;padding:calc(var(--hu, 360px) * .018) calc(var(--hu, 360px) * .026);border-radius:calc(var(--hu, 360px) * .014);border:calc(var(--hu, 360px) * .003) solid #ffd27a;background:#0c0f2bf0;color:#fff;text-align:center;font-family:var(--font-comic);box-shadow:0 10px 28px #0009}.wm-brief-title{font-size:calc(var(--hu, 360px) * .034);margin-bottom:calc(var(--hu, 360px) * .008)}.wm-brief-row{font-size:calc(var(--hu, 360px) * .025);display:flex;justify-content:space-between;gap:calc(var(--hu, 360px) * .015);margin:calc(var(--hu, 360px) * .004) 0}.wm-brief-row b{color:#ffe27a}.wm-brief-go{margin-top:calc(var(--hu, 360px) * .012);padding:calc(var(--hu, 360px) * .014) calc(var(--hu, 360px) * .055);font-size:calc(var(--hu, 360px) * .032)}.wm-node-lock{position:absolute;bottom:-8%;right:-8%;font-size:calc(var(--hu, 360px) * .03)}@keyframes wm-ring{0%,to{box-shadow:0 0 #48e0d3e6,0 4px 10px #00000080}50%{box-shadow:0 0 0 calc(var(--hu, 360px) * .03) #48e0d340,0 4px 10px #00000080}}@keyframes wm-emblem{0%,to{filter:brightness(1)}50%{filter:brightness(1.25)}}.wm-neko{position:absolute;width:calc(var(--hu, 360px) * .09);height:calc(var(--hu, 360px) * .09);transform:translate(-50%,-115%);pointer-events:none;animation:wm-bob 1.6s ease-in-out infinite;transition:opacity .2s ease-out,scale .2s ease-out;will-change:opacity,scale,filter}.wm-neko.vanish{animation:wm-bob 1.6s ease-in-out infinite,wm-vanish .26s ease-in forwards;transition:none}.wm-neko.land:before{content:"";position:absolute;left:50%;bottom:-26%;width:300%;aspect-ratio:2.4 / 1;transform:translate(-50%);background:radial-gradient(ellipse 30% 42% at 18% 62%,rgba(150,160,185,.85),transparent 70%),radial-gradient(ellipse 34% 46% at 38% 56%,rgba(172,182,206,.9),transparent 70%),radial-gradient(ellipse 30% 42% at 60% 60%,rgba(150,160,185,.85),transparent 70%),radial-gradient(ellipse 28% 40% at 80% 62%,rgba(172,182,206,.9),transparent 70%),radial-gradient(ellipse 38% 40% at 50% 74%,rgba(118,128,158,.8),transparent 70%);filter:blur(3px);pointer-events:none;animation:wm-smoke-back .6s ease-out forwards}.wm-neko.land:after{content:"";position:absolute;left:50%;bottom:-20%;width:230%;aspect-ratio:2 / 1;transform:translate(-50%);background:radial-gradient(ellipse 46% 28% at 50% 68%,transparent 60%,rgba(255,255,255,.7) 72%,transparent 84%),radial-gradient(ellipse 40% 55% at 30% 62%,rgba(232,236,246,.95),transparent 70%),radial-gradient(ellipse 46% 60% at 66% 56%,rgba(218,226,240,.9),transparent 70%),radial-gradient(ellipse 32% 46% at 50% 38%,rgba(242,245,251,.95),transparent 70%);filter:blur(2px);pointer-events:none;animation:wm-smoke .6s ease-out forwards}@keyframes wm-smoke-back{0%{opacity:0;scale:.3}12%{opacity:1}70%{opacity:.9}to{opacity:0;scale:1.35;translate:0 -12%}}@keyframes wm-smoke{0%{opacity:0;scale:.35}15%{opacity:1}to{opacity:0;scale:1.6;translate:0 -30%}}.wm-neko.land .wm-cat-img{animation:wm-land .6s ease-out}@keyframes wm-vanish{0%{opacity:1;scale:1;filter:blur(0)}to{opacity:0;scale:1.7;filter:blur(6px)}}@keyframes wm-land{0%{opacity:0;transform:scaleX(var(--face, 1)) scale(1.18,.8)}35%{opacity:0;transform:scaleX(var(--face, 1)) scale(1.12,.86)}70%{opacity:1;transform:scaleX(var(--face, 1)) scale(.96,1.05)}to{opacity:1;transform:scaleX(var(--face, 1)) scale(1)}}.wm-cat-img{display:block;width:100%;height:100%;object-fit:contain;transform:scaleX(var(--face, 1));filter:drop-shadow(0 4px 6px rgba(0,0,0,.6))}.wm-neko.flip{--face: -1}.wm-neko.running{animation:none;transition:left 85ms linear,top 85ms linear}.wm-neko.running .wm-cat-img{animation:wm-dash .17s ease-in-out infinite alternate}@keyframes wm-dash{0%{transform:scaleX(var(--face, 1)) rotate(-12deg)}to{transform:scaleX(var(--face, 1)) rotate(-3deg) translateY(calc(var(--hu, 360px) * -.025))}}.wm-view{cursor:grab}.wm-view.grabbing{cursor:grabbing}@keyframes wm-bob{0%,to{margin-top:0}50%{margin-top:calc(var(--hu, 360px) * -.02)}}.wm-complete-badge{position:absolute;top:calc(var(--hu, 360px) * .02);left:calc(var(--hu, 360px) * .02);z-index:5;display:flex;flex-direction:column;align-items:center;gap:calc(var(--hu, 360px) * .008);padding:calc(var(--hu, 360px) * .014);background:#0608128c;border:1px solid rgba(255,210,122,.65);border-radius:calc(var(--hu, 360px) * .03);cursor:pointer;animation:wm-complete-bob 1.4s ease-in-out infinite}.wm-complete-badge:hover{border-color:#ffd27a;background:#060812bf}.wm-pawmedal{position:relative;display:block;width:calc(var(--hu, 360px) * .15);height:calc(var(--hu, 360px) * .17)}.wm-ribbon{position:absolute;top:0;width:22%;height:44%;background:linear-gradient(180deg,#ef6a5e,#c1272d 60%,#9e2f27);border:calc(var(--hu, 360px) * .003) solid #4a0f14}.wm-ribbon.left{left:22%;transform:rotate(-24deg);clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%)}.wm-ribbon.right{right:22%;transform:rotate(24deg);clip-path:polygon(0 0,100% 0,100% 78%,50% 100%,0 78%)}.wm-medal{position:absolute;left:50%;bottom:0;width:78%;aspect-ratio:1;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 35% 28%,#ffe27a,#f5b942 55%,#c78a1e);border:calc(var(--hu, 360px) * .006) solid #7a4d12;box-shadow:0 0 0 calc(var(--hu, 360px) * .004) #ffe9a8,0 calc(var(--hu, 360px) * .008) calc(var(--hu, 360px) * .02) #0000008c;animation:wm-medal-sway 1.4s ease-in-out infinite;transform-origin:50% 0}.wm-medal:before{content:"";position:absolute;inset:7%;border-radius:50%;border:calc(var(--hu, 360px) * .004) dashed rgba(122,77,18,.7)}.wm-paw{position:absolute;inset:0;animation:wm-paw-pulse 1.4s ease-in-out infinite}.wm-toe{position:absolute;background:#7e1a20;border-radius:50%}.wm-toe.t1{left:16%;top:24%;width:15%;height:18%;transform:rotate(-16deg)}.wm-toe.t2{left:33.5%;top:15%;width:15%;height:19%;transform:rotate(-5deg)}.wm-toe.t3{left:51.5%;top:15%;width:15%;height:19%;transform:rotate(5deg)}.wm-toe.t4{left:69%;top:24%;width:15%;height:18%;transform:rotate(16deg)}.wm-pad{position:absolute;left:50%;top:44%;width:46%;height:38%;transform:translate(-50%);background:#7e1a20;border-radius:46% 46% 50% 50%/58% 58% 42% 42%}.wm-complete-word{font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .042);line-height:1.1;color:#ffe27a;text-shadow:-1px 0 0 rgba(3,4,10,.9),1px 0 0 rgba(3,4,10,.9),0 -1px 0 rgba(3,4,10,.9),0 1px 0 rgba(3,4,10,.9),0 2px 8px rgba(0,0,0,.9)}@keyframes wm-complete-bob{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--hu, 360px) * -.018))}}@keyframes wm-medal-sway{0%,to{rotate:-6deg}50%{rotate:6deg}}@keyframes wm-paw-pulse{0%,to{scale:1 1}50%{scale:1.07 1.07}}@media(prefers-reduced-motion:reduce){.wm-complete-badge,.wm-medal,.wm-paw,.wm-fx,.wm-node,.wm-neko,.wm-neko.running .wm-cat-img,.wm-neko.vanish,.wm-neko.land .wm-cat-img{animation:none!important}.wm-neko.vanish{opacity:0;transition:none}.wm-neko.land:before,.wm-neko.land:after{content:none}}.title-dojo{margin-top:12px;align-self:center}.dojo-list{display:flex;flex-direction:column;gap:10px}.dojo-station{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:calc(var(--hu, 360px) * .008);padding:calc(var(--hu, 360px) * .022) calc(var(--hu, 360px) * .033);border-radius:12px;border:3px solid #ffd27a;background:#0c0f2bf0;color:#fff;text-align:left;font-family:var(--font-comic);cursor:pointer}.dojo-station-name{font-size:calc(var(--hu, 360px) * .04);line-height:1.15}.dojo-station-lesson{font-size:calc(var(--hu, 360px) * .03);line-height:1.25;opacity:.85}.dojo-station-charges{font-size:calc(var(--hu, 360px) * .026);line-height:1.25;color:#ffe27a}#overlay.visible.dojo{height:100%;max-width:none;padding:0;align-items:stretch}.dojo-art{position:relative;width:100%;height:100%;overflow:hidden;border-radius:14px;background:#0c0f2b;display:flex;align-items:center;justify-content:center}.dojo-map{position:relative;height:100%;aspect-ratio:1408 / 768;max-width:100%;border-radius:12px;overflow:hidden;border:3px solid #ffd27a}.btn.ghost.dojo-back{position:absolute;right:calc(var(--hu, 360px) * .04);bottom:calc(var(--hu, 360px) * .05);font-size:calc(var(--hu, 360px) * .032);padding:.55em 1.2em}#stage.fit-short #overlay.visible.dojo{padding:0;align-items:stretch}#stage.fit-short .dojo-back{font-size:calc(var(--hu, 360px) * .032);padding:.55em 1.2em}.dojo-map-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.dojo-pin{position:absolute;transform:translate(-50%,-50%);width:calc(var(--hu, 360px) * .13);height:calc(var(--hu, 360px) * .13);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(var(--hu, 360px) * .062);font-family:var(--font-comic);color:#2b2f3a;cursor:pointer;background:transparent;border:none;padding:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}.dojo-pin-icon{width:100%;height:100%;border-radius:50%;background-repeat:no-repeat;display:block}@keyframes dojo-pin-breathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.08)}}.dojo-pin{animation:dojo-pin-breathe 2.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.dojo-pin{animation:none}}.dojo-pin[aria-expanded=true]{outline:3px solid #ffe27a;outline-offset:2px}.dojo-tip{position:absolute;left:50%;bottom:calc(var(--hu, 360px) * .02);transform:translate(-50%);width:min(94%,calc(var(--hu, 360px) * 1.05));max-height:calc(100% - var(--hu, 360px) * .04);overflow-y:auto;border-radius:12px;border:3px solid #ffd27a;background:#0c0f2bf5;color:#fff;font-family:var(--font-comic);padding:calc(var(--hu, 360px) * .022) calc(var(--hu, 360px) * .032)}.dojo-tip[hidden]{display:none}.dojo-tip-head{display:flex;align-items:center;gap:calc(var(--hu, 360px) * .02)}.dojo-tip-symbol{flex:none;width:calc(var(--hu, 360px) * .085);height:calc(var(--hu, 360px) * .085);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:calc(var(--hu, 360px) * .046);color:#2b2f3a;background:radial-gradient(circle at 35% 30%,#fff,#e8ecf4,#b9c1d1 60%,#8b94a7);border:2px solid #f4f6fb}.dojo-tip-title{margin:0;font-size:calc(var(--hu, 360px) * .052);line-height:1.05}.dojo-tip-place{margin:0;font-size:calc(var(--hu, 360px) * .03);opacity:.8}.dojo-tip-close{margin-left:auto;flex:none;width:calc(var(--hu, 360px) * .064);height:calc(var(--hu, 360px) * .064);border-radius:50%;border:2px solid #ffd27a;background:transparent;color:#ffe27a;font-size:calc(var(--hu, 360px) * .038);line-height:1;cursor:pointer}.dojo-tip-text{margin:calc(var(--hu, 360px) * .014) 0;font-size:calc(var(--hu, 360px) * .027);line-height:1.35;opacity:.92}.dojo-tip-stations{display:flex;flex-direction:column;gap:calc(var(--hu, 360px) * .01)}.dojo-tip-stations .dojo-station{padding:calc(var(--hu, 360px) * .008) calc(var(--hu, 360px) * .028)}.dojo-tip-stations .dojo-station-name{font-size:calc(var(--hu, 360px) * .031)}.dojo-station.is-cleared{border-color:#50dc82a6}.dojo-tick,.dojo-pin-tick,.dojo-done-tick{display:flex;align-items:center;justify-content:center;width:calc(var(--hu, 360px) * .062);height:calc(var(--hu, 360px) * .062);border-radius:50%;font-size:calc(var(--hu, 360px) * .04);font-weight:700;line-height:1;color:#0a2e16;background:radial-gradient(circle at 35% 30%,#7bf0a4,#22b45e 75%);border:2px solid #d2ffe2;box-shadow:0 2px 8px #0000008c;pointer-events:none}.dojo-tip-head .dojo-tick{flex:none}.dojo-pin-tick{position:absolute;right:calc(var(--hu, 360px) * -.012);bottom:calc(var(--hu, 360px) * -.012)}.dojo-done-tick{position:absolute;top:calc(var(--hu, 360px) * -.028);right:calc(var(--hu, 360px) * -.014)}.hud-toolkit{position:absolute;left:calc(var(--hu, 360px) * .014 + var(--safe-area-inset-left, env(safe-area-inset-left, 0px)));bottom:calc(var(--hu, 360px) * .014 + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));display:flex;align-items:center;gap:calc(var(--hu, 360px) * .016);padding:calc(var(--hu, 360px) * .014);border:1px solid var(--line);border-radius:calc(var(--hu, 360px) * .032);background:#0a0b169e;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 10px 24px -16px #000000e6}.tool-icon{position:relative;pointer-events:auto;width:calc(var(--hu, 360px) * .105);height:calc(var(--hu, 360px) * .105);padding:0;border:1px solid var(--line);border-radius:calc(var(--hu, 360px) * .02);background:#141628d9;cursor:pointer;transition:transform .08s ease,border-color .15s ease}.tool-icon:active{transform:scale(.9);border-color:var(--accent)}.tool-icon-face{display:block;width:100%;height:100%;border-radius:calc(var(--hu, 360px) * .02);background-repeat:no-repeat}.tool-icon.active{box-shadow:0 0 0 2px #48e0d3,0 0 12px #48e0d3}.tool-count{position:absolute;top:-8%;right:-10%;min-width:1.5em;height:1.5em;padding:0 .25em;display:grid;place-items:center;font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .032);line-height:1;color:#10131f;background:#ffe27a;border-radius:999px;box-shadow:0 1px 4px #0009;pointer-events:none}.ninja-kb{position:absolute;left:0;right:0;bottom:0;z-index:40;display:flex;justify-content:center;padding:calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .02) calc(var(--hu, 360px) * .02 + var(--safe-area-inset-bottom, env(safe-area-inset-bottom, 0px)));background:linear-gradient(180deg,#180f08f5,#0c0704fa);border-top:2px solid rgba(255,210,122,.45);border-radius:14px 14px 0 0;box-shadow:0 -12px 40px -12px #000000e6;transform:translateY(105%);transition:transform .3s ease;touch-action:none;user-select:none;-webkit-user-select:none}.ninja-kb[hidden]{display:none}.ninja-kb.open{transform:none}.ninja-kb-inner{width:100%;max-width:calc(var(--hu, 360px) * 1.9)}.ninja-kb-rows{display:flex;flex-direction:column;gap:calc(var(--hu, 360px) * .012)}.ninja-kb-row{display:flex;gap:calc(var(--hu, 360px) * .012)}.ninja-kb-key{flex:1 1 0;min-width:0;min-height:calc(var(--hu, 360px) * .088);padding:0 calc(var(--hu, 360px) * .01);font-family:var(--font-comic);font-weight:700;font-size:calc(var(--hu, 360px) * .034);line-height:1;color:#4a2f1a;background:linear-gradient(180deg,#fdf3d8,#f3dfae);border:1px solid #8a6a3a;border-radius:calc(var(--hu, 360px) * .016);box-shadow:0 calc(var(--hu, 360px) * .008) 0 #b89b5e;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;white-space:nowrap;overflow:hidden}.ninja-kb-key:active{transform:translateY(calc(var(--hu, 360px) * .006));box-shadow:none}.ninja-kb-key.kb-fn{color:#4a2f1a;background:linear-gradient(180deg,#ffe27a,#f5b93f);border-color:#9a7422;box-shadow:0 calc(var(--hu, 360px) * .008) 0 #b8892e}.ninja-kb-key.kb-shift.on{color:#fff;background:linear-gradient(180deg,#6fce7d,#3f9e4d);border-color:#2c6e36;box-shadow:0 calc(var(--hu, 360px) * .008) 0 #256030}.ninja-kb-key.kb-back{color:#fff;background:linear-gradient(180deg,#ef6a5c,#cf4436);border-color:#93302a;box-shadow:0 calc(var(--hu, 360px) * .008) 0 #8f2f28;font-size:calc(var(--hu, 360px) * .026)}.ninja-kb-key.kb-space{background:linear-gradient(180deg,#ffe27a,#f5b93f);border-color:#9a7422;box-shadow:0 calc(var(--hu, 360px) * .008) 0 #b8892e}.ninja-kb-key.kb-dismiss{color:#10332e;background:linear-gradient(180deg,#7fd8cc,#4db6ac);border-color:#2e7d74;box-shadow:0 calc(var(--hu, 360px) * .008) 0 #2b6e65;font-size:calc(var(--hu, 360px) * .026)}.ninja-kb-key.kb-enter{color:#fff;background:linear-gradient(180deg,#6fce7d,#3f9e4d);border-color:#2c6e36;box-shadow:0 calc(var(--hu, 360px) * .008) 0 #256030;font-size:calc(var(--hu, 360px) * .026)}.ninja-caret{position:fixed;left:0;top:0;width:3px;border-radius:2px;background:#ffd34d;box-shadow:0 0 6px #ffd34de6;pointer-events:none;z-index:60;animation:ninja-caret-blink 1.1s steps(2,start) infinite}.ninja-caret[hidden]{display:none}@keyframes ninja-caret-blink{to{visibility:hidden}}#overlay .panel,.ed-name-card{transition:transform .3s ease}body.kb-open .kb-lifted{transform:translateY(calc(var(--kb-h, 220px) * -1))}body.kb-open .panel.find-ninja .find-back-row{visibility:hidden}#find-id-input,#find-name-input,#lb-search-input,#displayname-input,#ed-name-input{caret-color:transparent}.demo-menu{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;text-align:center}.demo-title-screen{justify-content:flex-end;padding:0 4% 4%}.demo-bottom{z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.demo-sub{margin:0;font-size:15px;color:#fff;opacity:.92;text-shadow:0 2px 8px rgba(0,0,0,.85)}.demo-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.demo-btn{padding:10px 18px}.demo-btn-title{font-size:16px;font-weight:700;line-height:1.25;white-space:nowrap}.demo-note{margin:0;font-size:13px;line-height:1.5;color:#fff;opacity:.8;text-shadow:0 2px 8px rgba(0,0,0,.85)}.demo-store-link{color:#fff;text-decoration:underline;text-underline-offset:2px}#stage.fit-short .demo-btn{padding:7px 12px}#stage.fit-short .demo-btn-title{font-size:13px}body.demo-mode #rotate-hint{display:none!important}body.demo-mode #door-left,body.demo-mode #door-right,body.demo-mode #door-classic-left,body.demo-mode #door-classic-right,body.demo-mode #door-dojo-left,body.demo-mode #door-dojo-right{background-image:none!important}
