@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./pixelify-sans-cyrillic-400-normal-Ckz2YJkH.woff2) format("woff2"),url(./pixelify-sans-cyrillic-400-normal-DfOZNMlW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./pixelify-sans-latin-ext-400-normal-DdH6zlBQ.woff2) format("woff2"),url(./pixelify-sans-latin-ext-400-normal-BkfTUL4s.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./pixelify-sans-latin-400-normal-DLrIX9QE.woff2) format("woff2"),url(./pixelify-sans-latin-400-normal-JapMNN6Z.woff) format("woff");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}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./pixelify-sans-cyrillic-600-normal-BhqNJYOZ.woff2) format("woff2"),url(./pixelify-sans-cyrillic-600-normal-B3EuUOZG.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./pixelify-sans-latin-ext-600-normal-Dha6RiOG.woff2) format("woff2"),url(./pixelify-sans-latin-ext-600-normal-CDaIumwU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./pixelify-sans-latin-600-normal-Dd_Dy7u5.woff2) format("woff2"),url(./pixelify-sans-latin-600-normal-BNlgYbDL.woff) format("woff");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: #1b1325;--night: #2a1e3a;--plum: #3b2b52;--edge: #6b5390;--edge-hi: #8f74b8;--text: #fff2dc;--muted: #b9a8d4;--warm: #ffb347;--warm-hi: #ffe08a;--rose: #ff7a9c;--teal: #5fd3c6;--font: "Pixelify Sans", ui-monospace, monospace;--px: 2px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--ink);color:var(--text);font-family:var(--font);user-select:none;-webkit-user-select:none;touch-action:none;overscroll-behavior:none}#game{position:fixed;inset:0;display:grid;place-items:center}#game canvas{image-rendering:pixelated;image-rendering:crisp-edges}#ui{position:fixed;inset:0;z-index:10;pointer-events:none}#ui>*{pointer-events:auto}#ui.center,#ui.menu-layer{display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}#ui.dim-bg{background:radial-gradient(ellipse at center,#1b13258c,#1b1325d9)}#ui.hud-layer,#ui.hud-layer .hud{pointer-events:none}#ui.hud-layer button{pointer-events:auto}.panel{position:relative;background:linear-gradient(#2f2244,#241a35);padding:18px 20px;max-height:calc(100vh - 24px);overflow:auto;box-shadow:0 0 0 var(--px) var(--ink),0 0 0 calc(var(--px) * 2) var(--edge),0 0 0 calc(var(--px) * 3) var(--ink),0 10px 40px #00000080,inset 0 2px #ffffff0f;clip-path:polygon(0 6px,2px 6px,2px 2px,6px 2px,6px 0,calc(100% - 6px) 0,calc(100% - 6px) 2px,calc(100% - 2px) 2px,calc(100% - 2px) 6px,100% 6px,100% calc(100% - 6px),calc(100% - 2px) calc(100% - 6px),calc(100% - 2px) calc(100% - 2px),calc(100% - 6px) calc(100% - 2px),calc(100% - 6px) 100%,6px 100%,6px calc(100% - 2px),2px calc(100% - 2px),2px calc(100% - 6px),0 calc(100% - 6px));outline:2px solid var(--edge);outline-offset:-4px;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}.panel.narrow{width:min(360px,92vw);display:flex;flex-direction:column;gap:10px}.panel.wide{width:min(640px,94vw);display:flex;flex-direction:column;gap:12px}h2{margin:0;font-weight:600;font-size:22px;letter-spacing:1px;color:var(--warm-hi);text-shadow:0 2px 0 var(--ink)}p{margin:0;line-height:1.35}.muted{color:var(--muted);font-size:14px}.center-t{text-align:center}.err{color:var(--rose);font-size:13px;min-height:16px}.head{display:flex;align-items:center;gap:10px}.back{font:inherit;font-size:22px;line-height:1;width:34px;height:34px;border:0;cursor:pointer;color:var(--text);background:var(--plum);box-shadow:0 0 0 2px var(--ink),inset 0 -3px #0000004d}.logo{font-weight:600;font-size:clamp(40px,9vw,76px);letter-spacing:2px;color:var(--warm-hi);text-shadow:0 3px 0 #c4622e,0 6px 0 var(--ink),0 0 30px rgba(255,179,71,.55);line-height:1;animation:bob 3s ease-in-out infinite}.logo span{display:inline-block;transform:scaleY(-1) translateY(-6px);color:var(--teal);text-shadow:0 -3px 0 #2f8f8a,0 -6px 0 var(--ink),0 0 30px rgba(95,211,198,.5)}.logo.small{font-size:40px;text-align:center}@keyframes bob{50%{transform:translateY(-3px)}}.tag{color:var(--muted);margin:6px 0 14px;font-size:15px;text-align:center}.btn{font:inherit;font-size:17px;color:var(--text);cursor:pointer;border:0;padding:10px 16px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#45335f,#36284c);box-shadow:0 0 0 2px var(--ink),inset 0 2px #ffffff1f,inset 0 -4px #00000047;transition:transform .06s,filter .12s;position:relative}.btn:hover{filter:brightness(1.18)}.btn:active{transform:translateY(2px);box-shadow:0 0 0 2px var(--ink),inset 0 2px #00000040}.btn.primary{background:linear-gradient(#ffc86a,#f08a3a);color:#3a1d14;text-shadow:0 1px 0 rgba(255,255,255,.4)}.btn.locked{opacity:.55;cursor:not-allowed;filter:grayscale(.5)}.btn small{display:block;font-size:11px;color:var(--muted);position:absolute;bottom:-1px;left:0;right:0}.btn.sm{min-height:32px;padding:4px 12px}.row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.btn.half{flex:1}.menu{display:flex;flex-direction:column;align-items:center;width:min(560px,94vw)}.menu-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px 10px;width:min(640px,94vw)}.menu-buttons .wide2{grid-column:1 / 4}.menu{width:min(680px,96vw)!important}.menu-buttons .btn{padding-top:6px;padding-bottom:11px;font-size:15px}.menu-buttons .btn small{display:block;font-size:10px}.menu-buttons .btn{width:100%}.whoami{margin-top:14px;color:var(--muted);display:flex;align-items:center;gap:6px;font-size:14px}.dot{width:8px;height:8px;background:#6b5a80;display:inline-block;box-shadow:0 0 0 2px var(--ink)}.dot.on{background:#7cdc7c;box-shadow:0 0 0 2px var(--ink),0 0 8px #7cdc7c}.controls-hint{position:fixed;bottom:max(8px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;color:var(--muted);font-size:12px;opacity:.8}@media(max-height:420px){.controls-hint{display:none}.whoami{margin-top:6px}.menu-buttons .btn{min-height:34px}.logo{font-size:44px}.tag{margin:2px 0 8px;font-size:13px}.menu-buttons{gap:8px}.btn{min-height:38px;padding:6px 14px;font-size:15px}.menu{flex-direction:column}}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{font:inherit;font-size:15px;color:var(--muted);background:transparent;border:0;padding:6px 12px;cursor:pointer;box-shadow:inset 0 -2px 0 var(--plum);display:inline-flex;gap:6px;align-items:center}.tab.on{color:var(--warm-hi);box-shadow:inset 0 -3px 0 var(--warm)}.tab.locked{opacity:.5}.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.lvl{font:inherit;color:var(--text);border:0;cursor:pointer;aspect-ratio:1.25;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:linear-gradient(#3e2d57,#2c2040);box-shadow:0 0 0 2px var(--ink),inset 0 2px #ffffff14,inset 0 -4px #00000040}.lvl b{font-size:22px}.lvl span{font-size:12px;color:var(--muted);display:inline-flex}.lvl.done{background:linear-gradient(#5a4320,#3d2c18)}.lvl.done b{color:var(--warm-hi);text-shadow:0 0 10px rgba(255,179,71,.6)}.lvl.locked{opacity:.45;cursor:not-allowed}.lvl:not(.locked):hover{filter:brightness(1.2)}.diffs{display:grid;grid-template-columns:1fr 1fr;gap:10px}input,select{font:inherit;font-size:16px;color:var(--text);background:#1d1429;border:0;padding:10px 12px;width:100%;box-shadow:0 0 0 2px var(--ink),inset 0 2px #0006;outline:none;user-select:text;-webkit-user-select:text}input:focus,select:focus{box-shadow:0 0 0 2px var(--warm),inset 0 2px #0006}input[type=range]{padding:0;height:22px;accent-color:var(--warm);background:transparent;box-shadow:none}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:14px}label.chk{flex-direction:row;align-items:center;gap:8px}label.chk input{width:auto;accent-color:var(--warm)}.or{text-align:center;color:var(--muted);font-size:13px}.look-grid{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center}.preview-wrap{background:radial-gradient(circle at 50% 60%,rgba(255,179,71,.35),transparent 60%),#1d1429;box-shadow:0 0 0 2px var(--ink);display:grid;place-items:center;aspect-ratio:1}.preview-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.preview-wrap canvas{width:192px;height:192px;image-rendering:pixelated}.opts{display:flex;flex-direction:column;gap:8px}.stepper{justify-content:flex-start;align-items:center}.stepper span{min-width:90px;text-align:center}.swatches{display:flex;gap:6px;flex-wrap:wrap}.sw{width:28px;height:28px;border:0;background:var(--c);cursor:pointer;box-shadow:0 0 0 2px var(--ink),inset 0 -3px #00000040}.sw.on{box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--warm-hi)}@media(max-width:560px),(max-height:420px){.look-grid{grid-template-columns:130px 1fr}.preview-wrap canvas{width:128px;height:128px}}.lumin{color:var(--warm-hi);text-shadow:0 0 8px rgba(255,210,122,.8)}.btn.town{background:linear-gradient(#5b3f7a,#43305c)}.btn.town .lumin{margin-left:auto;font-size:14px}.gain{color:var(--warm-hi);font-size:16px;text-align:center}.gain small{color:var(--muted);font-size:12px}.pet-dot{display:inline-block;width:6px;height:6px;background:var(--c);box-shadow:0 0 6px var(--c);vertical-align:middle;margin-left:4px}#ui.city-layer{display:block}.city{position:absolute;inset:0;pointer-events:none}.city>*{pointer-events:auto}.city-top{position:absolute;top:max(8px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));display:flex;align-items:center;gap:10px;pointer-events:none}.city-top>*{pointer-events:auto}.city-top h2 small{font-size:14px;color:var(--muted);font-weight:400}.wallet{margin-left:auto;background:#1b1325cc;padding:6px 12px;box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--edge);font-size:18px}.wallet small{color:var(--muted);font-size:12px}.shop{position:absolute;right:max(12px,env(safe-area-inset-right));top:calc(max(8px,env(safe-area-inset-top)) + 50px);bottom:max(10px,env(safe-area-inset-bottom));width:min(400px,52vw);display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:linear-gradient(#2f2244f0,#241a35f0);box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--edge),0 0 0 6px var(--ink),0 10px 30px #00000080}.shop .tabs{flex-wrap:nowrap;overflow-x:auto}.shop .tab{font-size:13px;padding:5px 5px 10px;white-space:nowrap}.items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px 4px 2px 2px;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}.item{display:flex;align-items:center;gap:10px;padding:8px;background:#1d1429;box-shadow:0 0 0 2px var(--ink);cursor:pointer}.item.equipped{box-shadow:0 0 0 2px var(--ink),inset 0 0 0 2px #ffd27a8c}.item.trying{box-shadow:0 0 0 2px var(--ink),inset 0 0 0 2px var(--teal)}.item .txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.item .txt b{font-weight:600;color:var(--text)}.item .txt small{color:var(--muted);font-size:12px;line-height:1.25}.item .btn{flex:none;font-size:14px}.item .btn.on{background:linear-gradient(#3f8f86,#2f6f6a)}.item .mini{width:40px;height:40px;image-rendering:pixelated;background:radial-gradient(circle,rgba(255,179,71,.25),transparent 70%);flex:none}.pet-ic{width:40px;height:40px;display:grid;place-items:center;flex:none;background:radial-gradient(circle,color-mix(in srgb,var(--c) 45%,transparent),transparent 70%)}.pet-ic i{width:8px;height:8px;background:#fff;box-shadow:0 0 0 2px var(--c),0 0 14px 4px var(--c);animation:hover 1.6s ease-in-out infinite}@keyframes hover{50%{transform:translateY(-4px)}}.colors{display:flex;flex-direction:column;gap:6px;padding:6px 2px}.colors small{color:var(--muted)}.colors .sw{width:24px;height:24px}.shop .tip{font-size:12px}.fitting{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));width:96px;padding:6px;display:flex;flex-direction:column;align-items:center;gap:2px;background:#1b1325bf;box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--edge)}.fitting canvas{width:80px;height:80px;image-rendering:pixelated}.fitting small{color:var(--teal);font-size:11px}@media(max-height:420px){.city-top h2{font-size:18px}.item{padding:6px}.item .mini,.pet-ic{width:32px;height:32px}.fitting{width:76px}.fitting canvas{width:64px;height:64px}}.hud{position:fixed;inset:0;padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto 1fr;align-items:start}.hud-l{display:flex;gap:8px;flex-wrap:wrap}.hud-c{text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center}.hud-r{display:flex;justify-content:flex-end}.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#1b1325b8;box-shadow:0 0 0 2px #1b1325e6;font-size:17px;min-width:64px}.pill.time{font-size:20px;min-width:112px;color:var(--warm-hi)}.pill.full{color:var(--warm-hi);box-shadow:0 0 0 2px var(--warm)}.pill.dim{color:var(--muted)}.lvl-name{font-size:13px;color:var(--muted);text-shadow:0 2px 0 var(--ink)}.ghost-line{font-size:13px;color:#cfe6ff;display:flex;gap:6px;align-items:center;text-shadow:0 2px 0 var(--ink)}.ghost-line em{color:var(--rose);font-style:normal}.start-hint{margin-top:30vh;font-size:18px;color:var(--text);text-shadow:0 2px 0 var(--ink);animation:pulse 1.6s ease-in-out infinite;transition:opacity .3s}.start-hint.hide{display:none}@keyframes pulse{50%{opacity:.45}}.icon-btn{font:inherit;font-weight:600;font-size:16px;width:40px;height:40px;border:0;color:var(--text);background:#1b1325b8;box-shadow:0 0 0 2px #1b1325e6;cursor:pointer}.ic{display:inline-block;image-rendering:pixelated;flex:none}.results{text-align:center;align-items:center}.big-time{font-size:54px;font-weight:600;color:var(--warm-hi);text-shadow:0 3px 0 #c4622e,0 0 24px rgba(255,179,71,.5)}.sub{color:var(--muted);display:flex;gap:6px;align-items:center;justify-content:center}.pb{color:var(--teal)}.unlock{color:var(--ink);background:var(--warm-hi);padding:6px 12px;box-shadow:0 0 0 2px var(--ink)}.board{width:100%}.board table{width:100%;border-collapse:collapse;font-size:15px}.board td{padding:4px 8px;text-align:left;border-bottom:2px solid rgba(107,83,144,.3)}.board td:last-child{text-align:right;color:var(--warm-hi)}.board tr.me td{color:var(--teal)}.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}.stats3 div{background:#1d1429;padding:8px;box-shadow:0 0 0 2px var(--ink);display:flex;flex-direction:column}.stats3 small{color:var(--muted)}.stats3 b{font-size:24px;color:var(--warm-hi)}.loading{display:flex;flex-direction:column;align-items:center;gap:18px}.bar{width:220px;height:10px;background:var(--night);box-shadow:0 0 0 2px var(--ink)}.bar div{height:100%;width:0;background:var(--warm);transition:width .2s}.toast{position:fixed;top:18%;left:50%;transform:translate(-50%);z-index:30;background:#1b1325d9;color:var(--warm-hi);padding:8px 16px;box-shadow:0 0 0 2px var(--warm);font-size:17px;pointer-events:none;transition:opacity .4s,transform .4s}.toast.out{opacity:0;transform:translate(-50%) translateY(-10px)}#touch{position:fixed;inset:0;z-index:5;display:none}#touch.show{display:block}.t-move{position:absolute;left:0;top:56px;bottom:0;width:62%;touch-action:none}.t-hint{position:absolute;left:16px;bottom:max(14px,env(safe-area-inset-bottom));color:#fff2dc73;font-size:12px;pointer-events:none}.t-stick{position:fixed;left:0;top:0;width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,242,220,.35);background:#fff2dc0f;opacity:0;pointer-events:none;transition:opacity .15s}.t-stick.on{opacity:1}.t-stick[data-dir="1"]{border-right-color:var(--warm-hi);box-shadow:6px 0 12px -4px #ffe08a99}.t-stick[data-dir="-1"]{border-left-color:var(--warm-hi);box-shadow:-6px 0 12px -4px #ffe08a99}.t-jump{position:absolute;right:max(26px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));width:96px;height:96px;border-radius:50%;border:0;background:radial-gradient(circle at 50% 40%,#ffc86a8c,#f08a3a59);box-shadow:0 0 0 3px #1b1325b3,inset 0 -6px #0003;touch-action:none}.t-jump span{display:block;width:0;height:0;margin:auto;border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:20px solid rgba(255,242,220,.9)}.t-jump.down{transform:scale(.94);background:radial-gradient(circle at 50% 40%,#ffe08acc,#f08a3a8c)}.t-flip{position:absolute;right:calc(max(26px,env(safe-area-inset-right)) + 110px);bottom:calc(max(26px,env(safe-area-inset-bottom)) + 8px);width:76px;height:76px;border-radius:50%;border:0;touch-action:none;background:radial-gradient(circle at 50% 40%,#5fd3c66b,#2c5c6e66);box-shadow:0 0 0 3px #1b1325b3,inset 0 -5px #0003;transition:transform .08s}.t-flip i{position:absolute;left:50%;top:50%;width:0;height:0;transform:translate(-50%,-50%);border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:18px solid #c8fff6;transition:transform .15s}.t-flip i:after{content:"";position:absolute;left:-10px;top:20px;width:20px;height:3px;background:#c8fff699}.t-flip[data-g="-1"] i{transform:translate(-50%,-50%) rotate(180deg)}.t-flip:before{content:"";position:absolute;inset:-7px;border-radius:50%;pointer-events:none;opacity:0}.t-flip.air:before{opacity:1;box-shadow:0 0 0 2px #ffb34759}.t-flip.air:after{content:"⤓";position:absolute;left:50%;bottom:-24px;transform:translate(-50%);font:600 16px var(--font);color:#ffe08abf;pointer-events:none}.t-flip[data-g="-1"].air:after{content:"⤒"}.t-flip.charging:before{background:conic-gradient(rgba(255,210,122,.85) var(--p, 0%),transparent 0);-webkit-mask:radial-gradient(circle,transparent 60%,#000 61%);mask:radial-gradient(circle,transparent 60%,#000 61%);animation:slamfill .14s linear forwards}.t-flip.slammed{background:radial-gradient(circle at 50% 40%,#ffe08ad9,#f08a3a99)!important}@property --p{syntax: "<percentage>"; inherits: false; initial-value: 0%;}@keyframes slamfill{to{--p: 100%}}.t-flip.press{transform:scale(.93);background:radial-gradient(circle at 50% 40%,#96f0e4b3,#3c8c968c)}#touch[data-scheme=gestures] .t-move{width:50%}.t-tap{position:absolute;right:0;top:56px;bottom:0;width:50%;touch-action:none;overflow:hidden;border-left:1px dashed rgba(255,242,220,.08)}.t-hint.r{left:auto;right:16px;text-align:right}.t-ripple{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid rgba(255,224,138,.7);pointer-events:none;animation:tripple .42s ease-out forwards}.t-ripple.up,.t-ripple.down{border-color:#96f0e4d9}@keyframes tripple{0%{transform:scale(.4);opacity:1}to{transform:scale(1.8);opacity:0}}#touch[data-scheme=gestures] .t-hook{z-index:2}.t-joy{display:none}.t-hook{position:absolute;right:calc(max(26px,env(safe-area-inset-right)) + 14px);bottom:calc(max(26px,env(safe-area-inset-bottom)) + 108px);width:66px;height:66px;border-radius:50%;border:0;touch-action:none;display:none;background:radial-gradient(circle at 50% 40%,#ffe9a859,#503c6e66);box-shadow:0 0 0 3px #1b1325b3,inset 0 -4px #0003}.t-hook[data-state="1"],.t-hook[data-state="2"]{display:block}.t-hook[data-state="2"]{background:radial-gradient(circle at 50% 40%,#ffe08acc,#f08a3a73);box-shadow:0 0 0 3px #1b1325b3,0 0 18px #ffd27a99}.t-hook.down{transform:scale(.92)}.t-hook svg{position:absolute;left:50%;top:50%;width:62%;height:62%;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 1px 0 rgba(0,0,0,.3))}.t-hook[data-state="1"] svg{opacity:.6}.t-hook[data-state="2"] svg{animation:lasso-spin 1.1s ease-in-out infinite}@keyframes lasso-spin{50%{transform:translate(-50%,-50%) rotate(-12deg) scale(1.08)}}#rotate{display:none;position:fixed;inset:0;z-index:100;background:var(--ink);place-items:center;text-align:center}.rotate-card p{color:var(--warm-hi);font-size:20px;margin-top:18px}.rotate-phone{width:46px;height:80px;margin:0 auto;border:4px solid var(--warm-hi);border-radius:8px;animation:rot 1.8s ease-in-out infinite}@keyframes rot{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}.btn,.back,.icon-btn,.lvl,.panel,input,select{image-rendering:pixelated;border-image-repeat:stretch}.btn,.lvl{background:none;box-shadow:none;border:0;border-image-source:url(../assets/ui/btn.png);border-image-slice:6 fill;border-image-width:12px;text-shadow:0 2px 0 rgba(27,19,37,.85);padding-bottom:14px;padding-top:8px}.btn:hover,.lvl:not(.locked):hover{filter:none;border-image-source:url(../assets/ui/btn_hover.png)}.btn:active,.lvl:not(.locked):active{transform:none;box-shadow:none;border-image-source:url(../assets/ui/btn_down.png);padding-top:12px;padding-bottom:10px}.btn.primary{background:none;color:#3a1d14;text-shadow:0 1px 0 rgba(255,246,214,.6);border-image-source:url(../assets/ui/btn_primary.png)}.btn.primary:hover{border-image-source:url(../assets/ui/btn_primary_hover.png)}.btn.primary:active{border-image-source:url(../assets/ui/btn_primary_down.png)}.btn.locked,.btn.locked:hover,.btn.locked:active,.lvl.locked{opacity:1;filter:none;color:#8f8699;border-image-source:url(../assets/ui/btn_locked.png);padding-top:8px;padding-bottom:14px}.btn.on,.item .btn.on{background:none;color:#0f2e2c;text-shadow:0 1px 0 rgba(200,255,246,.6);border-image-source:url(../assets/ui/btn_on.png)}.btn.sm{padding-top:4px;padding-bottom:10px;min-height:34px}.btn.sm:active{padding-top:8px;padding-bottom:6px}.btn.town{background:none}.lvl.done{background:none;border-image-source:url(../assets/ui/btn_primary.png);color:#3a1d14}.lvl.done b{color:#3a1d14;text-shadow:0 1px 0 rgba(255,246,214,.7)}.lvl.done span{color:#6a3a1e}.back,.icon-btn{background:none;box-shadow:none;border:0;border-image:url(../assets/ui/icon_btn.png) 6 fill / 12px stretch;padding-bottom:4px}.back:active,.icon-btn:active{border-image-source:url(../assets/ui/icon_btn_down.png);padding-top:4px;padding-bottom:0}.panel{background:none;box-shadow:0 10px 40px #00000080;clip-path:none;outline:0;border-image:url(../assets/ui/panel.png) 8 fill / 16px stretch;padding:22px 24px}.tab{box-shadow:none;padding-bottom:10px;background:url(../assets/ui/tab.png) bottom / 100% 24px no-repeat;image-rendering:pixelated}.tab.on{box-shadow:none;background-image:url(../assets/ui/tab_on.png)}input,select{background:none;box-shadow:none;border-image:url(../assets/ui/well.png) 3 fill / 6px stretch}input:focus,select:focus{box-shadow:0 0 0 2px var(--warm)}.shop{background:none;box-shadow:0 10px 30px #00000080;border-image:url(../assets/ui/panel.png) 8 fill / 16px stretch;image-rendering:pixelated;padding:14px 16px}.panel.random{width:min(720px,96vw)}.gen-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.gen-row .btn.primary{flex:1;min-width:220px}.gen-row input{width:150px}.list-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:14px}.list-head select{width:auto;padding:4px 10px;font-size:14px}.maps{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;padding:2px;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}.map-row{display:flex;align-items:center;gap:12px;padding:8px 10px;background:#1d1429;box-shadow:0 0 0 2px var(--ink)}.map-row.locked{opacity:.6}.map-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.map-main b{color:var(--text);font-weight:600}.map-main small{color:var(--muted);font-size:12px}.map-main em{color:var(--teal);font-style:normal}.map-best{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:13px;min-width:120px}.map-best b{color:var(--warm-hi);font-size:16px}.map-best small{color:var(--teal);font-size:11px}.quests{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quest{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px 16px 14px;text-align:left;font:inherit;color:var(--text);cursor:pointer;border:0;background:none;image-rendering:pixelated;border-image:url(../assets/ui/btn.png) 6 fill / 12px stretch;text-shadow:0 2px 0 rgba(27,19,37,.85)}.quest:not(.locked):hover{border-image-source:url(../assets/ui/btn_hover.png)}.quest b{font-size:15px;display:inline-flex;align-items:center;gap:6px}.quest small{color:var(--muted);display:inline-flex;align-items:center;gap:4px}.quest span{font-size:13px;color:var(--warm-hi)}.quest.done{border-image-source:url(../assets/ui/btn_primary.png);color:#3a1d14;text-shadow:0 1px 0 rgba(255,246,214,.6)}.quest.done small,.quest.done span{color:#6a3a1e}.quest.locked{opacity:.45;cursor:not-allowed}@media(max-width:560px){.quests{grid-template-columns:1fr}}.pill.shards.full{color:#9fe6ff;text-shadow:0 0 8px rgba(159,230,255,.8)}.map-btn{margin-right:6px;display:inline-flex;align-items:center;justify-content:center}.qmap{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:98vw}.qmap-head{display:flex;align-items:center;gap:12px}.qmap-head h2{margin:0;display:inline-flex;align-items:center;gap:8px;text-shadow:0 2px 0 var(--ink)}.qmap-wrap{position:relative;box-shadow:0 0 0 3px var(--ink),0 0 0 5px var(--edge),0 10px 40px #0009;background:#1a1426}.qmap-wrap canvas{display:block;image-rendering:pixelated}.qmap-marks{position:absolute;inset:0;pointer-events:none}.qm{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}.qm.altar{width:14px;height:14px;background:radial-gradient(circle,#fff6e6 0 30%,#ffd27a 31% 55%,transparent 56%);filter:drop-shadow(0 0 6px #ffd27a)}.qm.altar span{position:absolute;left:50%;top:-14px;transform:translate(-50%);font-size:11px;color:var(--warm-hi);white-space:nowrap;text-shadow:0 1px 0 var(--ink),0 0 4px var(--ink)}.qm.shard{width:10px;height:10px;background:var(--c);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 2px var(--ink),0 0 10px var(--c)}.qm.shard:after{content:"✓";position:absolute;left:9px;top:-9px;transform:rotate(-45deg);font-size:10px;color:#fff;text-shadow:0 1px 0 var(--ink)}.qm.cp{width:16px;height:16px;padding:0;border:2px solid var(--ink);border-radius:50%;background:var(--warm);color:var(--ink);font:700 9px var(--font);cursor:pointer;box-shadow:0 0 8px #ffb347cc}.qm.cp:hover{transform:translate(-50%,-50%) scale(1.35);background:var(--warm-hi)}.qm.me{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid #fff;filter:drop-shadow(0 0 4px #9fe6ff) drop-shadow(0 0 1px var(--ink));animation:qblink .9s ease-in-out infinite;pointer-events:none}.qm.me.up{transform:translate(-50%,-50%) rotate(180deg)}@keyframes qblink{50%{opacity:.35}}.qmap-foot{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:13px;text-shadow:0 1px 0 var(--ink)}.qmap-foot span{display:inline-flex;align-items:center;gap:4px}.qmap-foot .ok{color:#9fe6a0}.mp .row{display:flex;gap:8px}.mp input#mp-code{flex:1;font-size:22px;letter-spacing:6px;text-align:center}.mp-code{margin-left:auto;font-size:26px;letter-spacing:6px;color:var(--warm-hi);text-shadow:0 0 12px rgba(255,179,71,.6),0 2px 0 var(--ink)}.mp-players{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.mp-player{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:76px;padding:6px;background:#1b132573;box-shadow:0 0 0 2px #6b539080}.mp-player.me{box-shadow:0 0 0 2px var(--warm)}.mp-player.empty{opacity:.45}.mp-player small{color:var(--muted);font-size:11px}.mp-ava{display:inline-block;width:24px;height:24px;image-rendering:pixelated;flex:none}.mp-ava img{width:100%;height:100%;image-rendering:pixelated;display:block}.mp-ava.big{width:48px;height:48px}.mp-pick{text-align:center;color:var(--warm-hi);font-size:15px;text-shadow:0 2px 0 var(--ink)}.tabs.small .tab{font-size:12px}.lvls{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.lvl-s{font:inherit;width:34px;height:30px;border:0;color:var(--text);background:#1b132599;box-shadow:0 0 0 2px var(--edge);cursor:pointer}.lvl-s.on{background:var(--warm);color:var(--ink)}.lvl-s.locked{opacity:.35;cursor:not-allowed}.mp-strip{position:absolute;top:46px;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:96vw;pointer-events:none}.mp-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 2px;font-size:12px;background:#1b1325b8;box-shadow:0 0 0 2px #1b1325e6}.mp-chip.me{box-shadow:0 0 0 2px var(--warm)}.mp-chip.done{color:#9fe6a0}.mp-chip .n{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-chip .v{display:inline-flex;align-items:center;gap:2px;color:var(--warm-hi)}.countdown{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.6);font-size:72px;color:var(--warm-hi);text-shadow:0 0 24px rgba(255,179,71,.9),0 4px 0 var(--ink);opacity:0;pointer-events:none;transition:opacity .2s,transform .25s}.countdown.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.mp-table{display:flex;flex-direction:column;gap:4px}.mp-row{display:grid;grid-template-columns:34px 28px 1fr auto auto;align-items:center;gap:8px;padding:4px 8px;background:#1b132573}.mp-row.me{box-shadow:0 0 0 2px var(--warm)}.mp-row.wait{grid-template-columns:28px 1fr auto;opacity:.6}.mp-row small{color:var(--muted);display:inline-flex;align-items:center;gap:3px}.mp-row .pl{font-size:18px;text-align:center}.tv-join{display:flex;align-items:center;justify-content:center;gap:18px}.tv-join-txt{text-align:center}.tv-join-txt p{margin:2px 0}.tv-code{font-size:38px;letter-spacing:10px;color:var(--warm-hi);text-shadow:0 0 16px rgba(255,179,71,.7),0 3px 0 var(--ink)}#tv-qr{image-rendering:pixelated;box-shadow:0 0 0 3px var(--ink),0 0 0 5px var(--edge)}.tv-pads{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.tv-pad{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px;padding:6px;background:#1b132580;box-shadow:0 0 0 2px var(--pc, var(--edge))}.tv-pad b{color:var(--pc)}.tv-pad small{font-size:10px;color:var(--muted)}.tv-pad.empty{opacity:.5;box-shadow:0 0 0 2px #6b539080}.tvnav .tv-focus{outline:3px solid var(--warm-hi);outline-offset:3px;filter:brightness(1.15)}.small{font-size:12px}.tv-strip{top:46px}.pad-layer{position:fixed;inset:0;background:radial-gradient(circle at 50% 30%,#3b2b52,#1b1325 70%);touch-action:none;user-select:none;-webkit-user-select:none}.pad{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:10px}.pad-top{grid-column:1 / 3;display:flex;align-items:center;gap:10px;font-size:15px}.pad-dot{width:14px;height:14px;border-radius:50%;background:var(--pc);box-shadow:0 0 10px var(--pc)}.pad-status{color:var(--muted);font-size:12px}.pad-phase{margin-left:auto;color:var(--warm-hi);font-size:13px}.pad-x{font:inherit;border:0;background:#1b132599;color:var(--text);width:34px;height:34px;box-shadow:0 0 0 2px var(--edge)}.pad{grid-template-rows:auto 1fr;gap:12px}.pz{position:relative;overflow:hidden;border-radius:22px;touch-action:none;display:flex;flex-direction:column;background:linear-gradient(180deg,#3b2b528c,#1b13258c);box-shadow:0 0 0 3px var(--ink),inset 0 0 0 2px color-mix(in srgb,var(--pc) 35%,transparent);transition:box-shadow .15s,background .15s}.pz:before{content:"";position:absolute;inset:10px;border-radius:14px;border:2px dashed color-mix(in srgb,var(--pc) 22%,transparent);pointer-events:none}.pz.on{background:linear-gradient(180deg,color-mix(in srgb,var(--pc) 22%,rgba(59,43,82,.6)),#1b132599);box-shadow:0 0 0 3px var(--ink),inset 0 0 0 2px var(--pc),0 0 22px color-mix(in srgb,var(--pc) 40%,transparent)}body.fs-ui .pad-top{padding-right:44px}.pz-head{position:relative;z-index:1;padding:16px 20px 0;display:flex;flex-direction:column;gap:4px;pointer-events:none}.pz-head b{font-size:18px;color:var(--pc);letter-spacing:.04em;text-transform:uppercase}.pz-head span{font-size:12px;line-height:1.4;color:#fff2dc9e;max-width:34ch}.pz-art{flex:1;display:flex;align-items:center;justify-content:center;gap:14px;pointer-events:none;font-style:normal}.pz-arr{font-style:normal;font-size:30px;color:#fff2dc4d;transition:color .1s,transform .1s,text-shadow .1s}.pz-rail{position:relative;width:min(46%,180px);height:10px;border-radius:5px;background:#1b132599;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--pc) 30%,transparent)}.pz-dot{position:absolute;top:50%;left:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#fff2dc,var(--pc));box-shadow:0 0 0 3px var(--ink);animation:pz-slide 2.6s ease-in-out infinite}.pz{--trav: min(60px, 7vw)}@keyframes pz-slide{0%,to{transform:translate(0)}25%{transform:translate(var(--trav))}50%{transform:translate(0)}75%{transform:translate(calc(var(--trav) * -1))}}.pz-move.on .pz-dot{animation:none;transition:transform .12s}.pz-move[data-dir="1"] .pz-dot{transform:translate(var(--trav))}.pz-move[data-dir="-1"] .pz-dot{transform:translate(calc(var(--trav) * -1))}.pz-move[data-dir="1"] .pz-arr.r,.pz-move[data-dir="-1"] .pz-arr.l,.pz-act[data-flip=u] .pz-arr.u,.pz-act[data-flip=d] .pz-arr.d{color:var(--pc);transform:scale(1.25);text-shadow:0 0 12px var(--pc)}.pz-touch{position:absolute;left:-28px;top:-28px;width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,242,220,.4);background:#fff2dc0f;opacity:0;pointer-events:none}.pz-move.on .pz-touch{opacity:1}.pz-act .pz-art{flex-direction:column;gap:6px}.pz-tap{position:relative;width:62px;height:62px;border-radius:50%;border:3px solid color-mix(in srgb,var(--pc) 60%,transparent);background:radial-gradient(circle,rgba(255,242,220,.18),transparent 70%)}.pz-tap:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--pc);animation:pz-pulse 1.8s ease-out infinite}@keyframes pz-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.7);opacity:0}}.pz-act .pz-arr.u{animation:pz-bob-u 1.8s ease-in-out infinite}.pz-act .pz-arr.d{animation:pz-bob-d 1.8s ease-in-out infinite}@keyframes pz-bob-u{50%{transform:translateY(-5px)}}@keyframes pz-bob-d{50%{transform:translateY(5px)}}.pz-ripple{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:2px solid var(--pc);pointer-events:none;animation:tripple .45s ease-out forwards}.pz-ripple.up,.pz-ripple.down{border-color:#fff2dc}.pz-lasso{position:absolute;right:14px;bottom:14px;z-index:2;width:84px;height:84px;border-radius:50%;border:0;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;background:radial-gradient(circle at 50% 40%,#ffe9a852,#503c6e8c);box-shadow:0 0 0 3px var(--ink),inset 0 -5px #00000040}.pz-lasso svg{width:44px;height:44px;pointer-events:none}.pz-lasso small{font:600 9px var(--font);color:#fff2dcb3;margin-top:-2px}.pz-lasso.on{transform:scale(.93);background:radial-gradient(circle at 50% 40%,#ffe08ad9,#f08a3a80);box-shadow:0 0 0 3px var(--ink),0 0 18px #ffd27a99}.pad-rotate{display:none}@media(orientation:portrait){.pad{visibility:hidden}.pad-rotate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center}.pad-rotate b{font-size:22px;color:var(--warm-hi)}.pad-rotate span{color:var(--muted);font-size:14px;max-width:30ch;line-height:1.4}.pad-rotate-ic{width:70px;height:112px;border-radius:12px;box-shadow:0 0 0 4px var(--text),0 0 0 7px var(--ink);position:relative;animation:padRot 2.4s ease-in-out infinite}.pad-rotate-ic i{position:absolute;left:50%;bottom:8px;width:16px;height:4px;margin-left:-8px;border-radius:2px;background:var(--text)}}@keyframes padRot{0%,25%{transform:rotate(0)}55%,85%{transform:rotate(-90deg)}to{transform:rotate(0)}}.panel.tvwide{width:min(920px,96vw);display:flex;flex-direction:column;gap:10px}.tv-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.tv-col{display:flex;flex-direction:column;gap:10px}.tv-col .tabs{flex-wrap:wrap}@media(max-width:700px){.tv-cols{grid-template-columns:1fr}}.race-bar{position:absolute;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(420px,60vw);height:16px;pointer-events:none}.race-line{position:absolute;left:0;right:0;top:7px;height:2px;background:#fff2dc59;box-shadow:0 0 0 1px #1b1325cc}.race-line:after{content:"";position:absolute;right:-4px;top:-4px;width:8px;height:10px;background:var(--warm);box-shadow:0 0 6px var(--warm)}.racer{position:absolute;top:2px;transform:translate(-50%);transition:left .1s linear}.racer i{display:block;width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px var(--ink),0 0 6px var(--c)}.racer span{position:absolute;top:-13px;left:50%;transform:translate(-50%);font-size:9px;white-space:nowrap;color:var(--c);text-shadow:0 1px 0 var(--ink)}.racer.me i{width:12px;height:12px;margin-top:-1px}.racer.done i{background:#9fe6a0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;max-height:52vh;overflow-y:auto;padding:4px}.card{font:inherit;color:var(--text);border:0;padding:6px;background:#1b13258c;box-shadow:0 0 0 2px #6b539099;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}.card canvas{width:96px;height:112px;image-rendering:pixelated}.card.own{box-shadow:0 0 0 2px var(--warm),0 0 12px #ffb34759}.card b{font-size:12px}.card small{font-size:9px;color:var(--muted);text-align:center}.card-desc{min-height:34px;font-size:13px;text-align:center;color:var(--text)}.daily-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.daily-date{font-size:20px;color:var(--warm-hi);text-transform:capitalize}.hot{color:#ff7a3d}.streak{display:flex;flex-direction:column;align-items:center;padding:6px 14px;background:#1b132580;box-shadow:0 0 0 2px var(--warm)}.streak span{font-size:22px}.streak b{font-size:26px;color:var(--warm-hi)}.streak small{font-size:10px;color:var(--muted)}.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.pill.wave.danger{color:#ff7a3d;box-shadow:0 0 0 2px #ff7a3d;animation:qblink .5s infinite}.gear{font:inherit;font-size:12px;margin-left:12px;border:0;background:#1b132599;color:var(--muted);padding:3px 8px;box-shadow:0 0 0 2px var(--edge);cursor:pointer}.editor-layer{position:fixed;inset:0;background:#1b1325}.editor{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 6px max(8px,env(safe-area-inset-left))}.ed-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ed-top input#ed-name{width:150px;font-size:14px;flex:none;padding:4px 8px}.ed-top select{font-size:13px;width:auto;flex:none;padding:4px 8px}.ed-top .chk input{width:auto}.ed-size{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:3px}.mini{font:inherit;width:22px;height:22px;border:0;background:var(--plum);color:var(--text);box-shadow:0 0 0 2px var(--edge);cursor:pointer}.btn.sm{padding:4px 10px 8px;font-size:13px;min-height:0}.ed-tools{display:flex;flex-wrap:wrap;gap:6px 14px}.ed-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.ed-group small{color:var(--muted);font-size:10px;margin-right:2px}.tool{font:inherit;font-size:11px;border:0;padding:3px 7px;color:var(--text);background:#3b2b52cc;box-shadow:0 0 0 2px #1b1325e6;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.tool i{width:10px;height:10px;background:var(--tc);box-shadow:0 0 0 1px var(--ink)}.tool.on{background:var(--warm);color:var(--ink)}.ed-canvas-wrap{flex:1;overflow:auto;box-shadow:0 0 0 2px var(--edge);background:#120d1a;touch-action:none}.ed-canvas-wrap canvas{display:block;image-rendering:pixelated;touch-action:none;cursor:crosshair}.ed-hint{font-size:11px}.account{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#1b132573;box-shadow:0 0 0 2px #6b539080}.code-box{font-size:22px;letter-spacing:3px;text-align:center;color:var(--warm-hi);padding:6px;background:#1b1325b3;user-select:all;-webkit-user-select:all}.tut{position:absolute;left:50%;top:27%;transform:translate(-50%);width:min(460px,62vw);display:none;flex-direction:column;align-items:center;gap:2px;padding:8px 16px 10px;text-align:center;pointer-events:none;background:#1b1325a8;box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--warm),0 8px 30px #00000059}.tut.show{display:flex}.tut.pop{animation:tutpop .35s ease-out}@keyframes tutpop{0%{transform:translate(-50%) scale(.9);opacity:.2}to{transform:translate(-50%) scale(1);opacity:1}}.tut b{font-size:15px;color:var(--warm-hi)}.tut span{font-size:13px}.tut-step{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase}.tut-dots{display:flex;gap:4px;margin-top:3px}.tut-dots i{width:7px;height:7px;background:#3b2b52;box-shadow:0 0 0 1px var(--ink)}.tut-dots i.done{background:#9fe6a0}.tut-dots i.on{background:var(--warm)}#touch .tut-hl{animation:tuthl .9s ease-in-out infinite}#touch .t-tap.tut-hl{animation:tutzone 1.4s ease-in-out infinite}@keyframes tutzone{0%,to{background:#ffe08a08;box-shadow:inset 0 0 0 2px #ffe08a26}50%{background:#ffe08a1a;box-shadow:inset 0 0 0 2px #ffe08a73}}.t-demo{position:absolute;left:50%;top:55%;width:0;height:0;pointer-events:none}body.portrait .t-demo{top:50%}.t-demo .finger{position:absolute;left:-17px;top:-17px;width:34px;height:34px;border-radius:50%;background:#fff2dccc;box-shadow:0 0 0 3px #1b132599,0 0 16px #ffe08acc;opacity:0}.t-demo .trail{position:absolute;left:-3px;width:6px;height:0;border-radius:3px;background:linear-gradient(#ffe08a00,#ffe08ab3);opacity:0}[data-demo=tap] .finger{animation:d-tap 1.2s ease-in-out infinite}[data-demo=double] .finger{animation:d-double 1.6s ease-in-out infinite}[data-demo=hold] .finger{animation:d-hold 2.2s ease-in-out infinite}[data-demo=up] .finger{animation:d-up 1.4s ease-in-out infinite}[data-demo=up] .trail{background:linear-gradient(#ffe08ab3,#ffe08a00);animation:d-up-trail 1.4s ease-in-out infinite}[data-demo=down] .finger{animation:d-down 1.4s ease-in-out infinite}[data-demo=down] .trail{animation:d-down-trail 1.4s ease-in-out infinite}[data-demo=slam] .finger{animation:d-slam 2s ease-in-out infinite}[data-demo=slam] .trail{animation:d-slam-trail 2s ease-in-out infinite}.t-move .t-demo{left:30%;top:60%}[data-demo=right] .finger{animation:d-right 1.6s ease-in-out infinite}[data-demo=right] .trail{top:-3px;left:-40px;height:6px;width:0;background:linear-gradient(90deg,#ffe08a00,#ffe08ab3);animation:d-right-trail 1.6s ease-in-out infinite}@keyframes d-right{0%,10%{opacity:0;transform:translate(-40px)}25%{opacity:1;transform:translate(-40px)}50%{opacity:1;transform:translate(40px)}85%{opacity:1;transform:translate(40px)}to{opacity:0;transform:translate(40px)}}@keyframes d-right-trail{0%,25%{opacity:0;width:0}50%{opacity:1;width:80px}85%{opacity:.6;width:80px}to{opacity:0;width:80px}}body.portrait .t-move .t-demo{display:none}body.portrait .t-move[data-demo=right] .t-joy:not(.on) .t-knob{animation:d-knob 1.6s ease-in-out infinite}body.portrait .t-move[data-demo=right] .t-joy:not(.on) b.r{animation:tuthl .8s ease-in-out infinite}@keyframes d-knob{0%,15%{transform:translate(0)}40%,80%{transform:translate(40px)}to{transform:translate(0)}}@keyframes d-tap{0%,15%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}45%{opacity:1;transform:scale(.85)}70%,to{opacity:0;transform:scale(1)}}@keyframes d-double{0%,8%{opacity:0;transform:scale(1.5)}18%{opacity:1;transform:scale(.85)}28%{opacity:.2;transform:scale(1)}38%{opacity:1;transform:scale(.85)}55%,to{opacity:0;transform:scale(1)}}@keyframes d-hold{0%,5%{opacity:0;transform:scale(1.5)}12%{opacity:1;transform:scale(.85)}20%{opacity:.2}28%{opacity:1;transform:scale(.8);box-shadow:0 0 0 3px #1b132599,0 0 26px #ffe08a}80%{opacity:1;transform:scale(.8)}92%,to{opacity:0}}@keyframes d-up{0%,10%{opacity:0;transform:translateY(40px)}25%{opacity:1;transform:translateY(40px)}60%{opacity:1;transform:translateY(-50px)}75%,to{opacity:0;transform:translateY(-50px)}}@keyframes d-up-trail{0%,25%{opacity:0;top:40px;height:0}60%{opacity:1;top:-50px;height:90px}80%,to{opacity:0;top:-50px;height:90px}}@keyframes d-down{0%,10%{opacity:0;transform:translateY(-40px)}25%{opacity:1;transform:translateY(-40px)}60%{opacity:1;transform:translateY(50px)}75%,to{opacity:0;transform:translateY(50px)}}@keyframes d-down-trail{0%,25%{opacity:0;top:-40px;height:0}60%{opacity:1;top:-40px;height:90px}80%,to{opacity:0;top:-40px;height:90px}}@keyframes d-slam{0%,6%{opacity:0;transform:translateY(-40px) scale(1.5)}14%{opacity:1;transform:translateY(-40px) scale(.85)}22%{opacity:.15;transform:translateY(-40px) scale(1)}34%{opacity:1;transform:translateY(-40px)}58%{opacity:1;transform:translateY(50px)}70%,to{opacity:0;transform:translateY(50px)}}@keyframes d-slam-trail{0%,34%{opacity:0;top:-40px;height:0}58%{opacity:1;top:-40px;height:90px}76%,to{opacity:0;top:-40px;height:90px}}@keyframes tuthl{50%{filter:brightness(1.6) drop-shadow(0 0 10px #ffe08a)}}.tut.top{top:25%}.ed2{position:fixed;inset:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}#ed2-cv{position:fixed;inset:0;width:100vw;height:100dvh;touch-action:none;image-rendering:pixelated;cursor:crosshair}.ed2-btn{position:relative;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:0;padding:0 0 4px;color:var(--text);background:none;image-rendering:pixelated;border-image:url(../assets/ui/icon_btn.png) 6 fill / 12px stretch;cursor:pointer;-webkit-tap-highlight-color:transparent}.ed2-btn:active{border-image-source:url(../assets/ui/icon_btn_down.png);padding:4px 0 0}.ed2-btn svg{width:20px;height:20px}.ed2-btn.play{color:#9fe6a0}.ed2-btn.small{width:34px;height:34px}.ed2-btn.small svg{width:14px;height:14px}.ed2-btn.off{opacity:.35}.ed2-tl{position:fixed;top:max(8px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));display:flex;gap:8px;z-index:3}.ed2-tr{position:fixed;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));z-index:3}.ed2-title{position:fixed;top:max(14px,env(safe-area-inset-top));left:50%;transform:translate(-50%);font-size:13px;color:var(--muted);text-shadow:0 1px 0 var(--ink),0 0 6px var(--ink);pointer-events:none;z-index:2;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed2-bl{position:fixed;left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));width:62px;height:62px;z-index:3}.ed2-main{position:absolute;inset:0;z-index:2;border:0;padding:0 0 4px;background:none;image-rendering:pixelated;border-image:url(../assets/ui/btn_primary.png) 6 fill / 12px stretch;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.ed2-main:active{border-image-source:url(../assets/ui/btn_down.png)}.ed2-main canvas{width:36px;height:36px;image-rendering:pixelated}.ed2-fan{position:absolute;inset:0;pointer-events:none}.ed2-cat{position:absolute;left:3px;top:3px;width:56px;height:56px;border:0;padding:0 0 4px;color:var(--text);background:none;image-rendering:pixelated;border-image:url(../assets/ui/btn.png) 6 fill / 12px stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;opacity:0;transform:translate(0) scale(.3);transition:transform .28s cubic-bezier(.3,1.5,.5,1),opacity .2s;transition-delay:calc(var(--i) * 45ms);cursor:pointer}.ed2-cat canvas{width:24px;height:24px;image-rendering:pixelated}.ed2-cat small{font-size:9px;line-height:1}.ed2-fan.open{pointer-events:auto}.ed2-fan.open .ed2-cat{opacity:1}.ed2-fan.open .ed2-cat:nth-child(1){transform:translateY(-74px) scale(1)}.ed2-fan.open .ed2-cat:nth-child(2){transform:translate(56px,-56px) scale(1)}.ed2-fan.open .ed2-cat:nth-child(3){transform:translate(74px) scale(1)}.ed2-tray{position:absolute;left:70px;bottom:0;height:62px;max-width:calc(100vw - 260px);display:flex;gap:6px;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:0 4px}.ed2-tray::-webkit-scrollbar{display:none}.ed2-item{flex:none;width:54px;height:58px;border:0;padding:0 0 4px;color:var(--text);background:none;image-rendering:pixelated;border-image:url(../assets/ui/btn.png) 6 fill / 12px stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translate(-24px) scale(.6);cursor:pointer;-webkit-tap-highlight-color:transparent}.ed2-tray.open .ed2-item{animation:edItemIn .26s cubic-bezier(.3,1.4,.5,1) forwards;animation-delay:calc(var(--i) * 40ms)}@keyframes edItemIn{to{opacity:1;transform:none}}.ed2-item canvas{width:26px;height:26px;image-rendering:pixelated}.ed2-item small{font-size:9px;line-height:1.1;white-space:nowrap;max-width:52px;overflow:hidden;text-overflow:ellipsis}.ed2-item.on{border-image-source:url(../assets/ui/btn_primary.png);color:#3a1d14}.ed2-br{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));display:flex;gap:8px;align-items:center;z-index:3}.ed2-chip{display:none;font:inherit;font-size:12px;border:0;padding:8px 12px;color:var(--text);background:#1b1325d9;box-shadow:0 0 0 2px var(--warm);cursor:pointer}.ed2-chip.show{display:inline-block}.ed2-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:10}.ed2-modal.show{display:flex;animation:fadeIn .15s}.ed2-dim{position:absolute;inset:0;background:#0f0b1699}.ed2-panel{position:relative;display:flex;flex-direction:column;gap:8px;max-height:calc(100dvh - 24px);overflow-y:auto}.ed2-panel .head{display:flex;align-items:center;justify-content:space-between}.ed2-panel label{display:flex;flex-direction:column;gap:3px;font-size:13px}.ed2-panel label.chk{flex-direction:row;align-items:center}.em-row{display:flex;align-items:center;gap:10px;font-size:13px}.em-row span{flex:1}.em-row b{min-width:34px;text-align:center}@keyframes fadeIn{0%{opacity:0}}@media(max-height:420px){.ed2-btn{width:40px;height:40px}.ed2-bl{width:54px;height:54px}.ed2-cat{width:50px;height:50px;left:2px;top:2px}.ed2-fan.open .ed2-cat:nth-child(1){transform:translateY(-64px) scale(1)}.ed2-fan.open .ed2-cat:nth-child(2){transform:translate(48px,-48px) scale(1)}.ed2-fan.open .ed2-cat:nth-child(3){transform:translate(64px) scale(1)}.ed2-tray{left:62px;height:54px}.ed2-item{width:48px;height:52px}}#fs-btn{position:fixed;z-index:60;top:max(6px,env(safe-area-inset-top));right:max(6px,env(safe-area-inset-right));width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;opacity:.85}#fs-btn:active{transform:translateY(1px)}body.fs-ui .hud{padding-right:calc(max(12px,env(safe-area-inset-right)) + 40px)}body.fs-ui .ed2-tr{right:calc(max(8px,env(safe-area-inset-right)) + 40px)}body.fs-ui .city-top{right:calc(max(12px,env(safe-area-inset-right)) + 40px)}body.fs-ui .shop{top:calc(max(8px,env(safe-area-inset-top)) + 54px)}.fs-pop{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:#0c081499;animation:fsIn .25s ease-out}.fs-card{width:min(380px,90vw);display:flex;flex-direction:column;gap:10px;text-align:center;align-items:center}.fs-card h3{margin:0;color:var(--warm)}.fs-card p{margin:0;color:var(--text);font-size:14px}.fs-card small{color:var(--muted);font-size:11px}.fs-ico{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--warm);background:#1b1325cc;box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--edge)}.fs-ico svg{width:26px;height:26px}@keyframes fsIn{0%{opacity:0}to{opacity:1}}.stall-bar{position:absolute;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;padding:6px 8px 8px;max-height:42vh;background:linear-gradient(#2f2244f2,#241a35f2);box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--edge),0 0 0 6px var(--ink),0 10px 30px #00000080;animation:sbIn .25s ease-out}.stall-bar.idle{flex-direction:row;align-items:center;gap:10px}.sb-hint{flex:1;display:flex;flex-direction:column;gap:2px;text-align:center}.sb-hint b{color:var(--warm)}.sb-hint small{color:var(--muted);font-size:12px}.sb-head{display:flex;align-items:center;gap:8px}.sb-head b{color:var(--warm);font-size:16px;white-space:nowrap}.sb-head small{flex:1;color:var(--muted);font-size:11px;line-height:1.2}.sb-nav{font:inherit;font-size:18px;width:30px;height:30px;flex:none;border:0;color:var(--text);background:#1b1325d9;box-shadow:0 0 0 2px var(--ink);cursor:pointer}.sb-nav:active{transform:translateY(1px)}.sb-items{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px;scrollbar-width:thin;scrollbar-color:var(--edge) transparent}.sb-card{flex:none;width:124px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;background:#1d1429;box-shadow:0 0 0 2px var(--ink);text-align:center;cursor:pointer;animation:sbCard .3s ease-out backwards}.sb-card:nth-child(2){animation-delay:.03s}.sb-card:nth-child(3){animation-delay:.06s}.sb-card:nth-child(4){animation-delay:.09s}.sb-card:nth-child(5){animation-delay:.12s}.sb-card:nth-child(6){animation-delay:.15s}.sb-card:nth-child(n+7){animation-delay:.18s}.sb-card b{font-size:12px;font-weight:600;color:var(--text)}.sb-card small{font-size:10px;color:var(--muted);line-height:1.2;max-height:3.6em;overflow:hidden}.sb-card .btn{font-size:12px;padding:4px 8px 7px;margin-top:auto}.sb-card .btn.on{background:linear-gradient(#3f8f86,#2f6f6a)}.sb-card.equipped{box-shadow:0 0 0 2px var(--ink),inset 0 0 0 2px var(--teal)}.sb-card.trying{box-shadow:0 0 0 2px var(--ink),inset 0 0 0 2px var(--warm)}.sb-card .mini,.sb-card .pet-ic{width:40px;height:40px;image-rendering:pixelated;background:radial-gradient(circle,rgba(255,179,71,.25),transparent 70%)}.sb-card.colors{width:150px;cursor:default}.sb-card.colors .swatches{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}@keyframes sbIn{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}@keyframes sbCard{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}@media(max-height:420px){.sb-card{width:110px;padding:4px}.sb-card small{display:none}.sb-head small{font-size:10px}.stall-bar{max-height:48vh}}body.portrait{--hud-band: calc(env(safe-area-inset-top) + 52px) ;--game-bottom: calc(var(--hud-band) + var(--game-h, 340px))}body.portrait #game{top:var(--hud-band);bottom:auto;height:var(--game-h, 340px)}body.portrait:before{content:"";position:fixed;left:0;right:0;top:var(--game-bottom);bottom:0;z-index:0;background:radial-gradient(ellipse at 50% 0%,rgba(107,83,144,.25),transparent 70%),repeating-linear-gradient(0deg,rgba(255,255,255,.015) 0 2px,transparent 2px 4px),linear-gradient(#241a35,#1b1325);box-shadow:inset 0 3px 0 var(--ink),inset 0 5px 0 var(--edge)}body.portrait .hud{bottom:auto;height:var(--game-bottom)}body.portrait .hud-c .lvl-name{font-size:11px;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block}body.portrait .hud-l{gap:4px}body.portrait .t-move{top:var(--game-bottom);width:50%}body.portrait .t-hint{inset:10px 6px auto 14px;font-size:13px;color:#fff2dc80}body.portrait .t-jump{width:100px;height:100px;right:max(20px,env(safe-area-inset-right));bottom:calc(max(16px,env(safe-area-inset-bottom)) + 20px)}body.portrait .t-flip{right:calc(max(20px,env(safe-area-inset-right)) + 118px);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 32px);width:80px;height:80px}body.portrait .t-tap{top:var(--game-bottom)}body.portrait #touch[data-scheme=gestures] .t-hook{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:86px;height:86px}body.portrait #touch[data-scheme=gestures] .t-hint.r{top:10px;bottom:auto}body.portrait .t-hint.r{left:6px;right:14px;top:auto;bottom:calc(max(12px,env(safe-area-inset-bottom)) + 4px)}body.portrait .t-hook{right:calc(max(20px,env(safe-area-inset-right)) + 112px);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 152px);width:60px;height:60px}body.portrait .toast{top:calc(var(--hud-band) + 12px)}@media(orientation:portrait)and (max-width:640px){.menu-buttons{grid-template-columns:1fr 1fr;width:94vw}.menu-buttons .wide2{grid-column:1 / 3}.logo{font-size:clamp(38px,13vw,60px)}.grid{grid-template-columns:repeat(3,1fr)}.look-grid{grid-template-columns:1fr}.stall-bar{max-height:46vh}.sb-head small{display:none}}body.portrait .hud{grid-template-columns:auto 1fr auto;padding-left:max(8px,env(safe-area-inset-left))}body.portrait .hud-l{flex-wrap:nowrap}body.portrait .pill{font-size:13px;padding:3px 6px;min-width:0;gap:4px}body.portrait .pill.time{font-size:15px;min-width:78px}body.portrait .hud-c .lvl-name{display:none}body.portrait .start-hint{margin-top:calc(var(--game-h, 340px) * .45);font-size:15px}body.portrait .t-move .t-hint,body.portrait .t-move .t-stick{display:none}body.portrait .t-joy{display:block;position:absolute;left:50%;top:50%;width:min(144px,40vw);height:74px;transform:translate(-50%,-50%);border-radius:37px;pointer-events:none;background:#1b132580;box-shadow:0 0 0 3px #1b1325b3,inset 0 0 0 2px #ffb34738,inset 0 6px 12px #00000059}body.portrait .t-joy b{position:absolute;top:50%;width:0;height:0;margin-top:-9px;border-top:9px solid transparent;border-bottom:9px solid transparent;transition:border-color .1s}body.portrait .t-joy b.l{left:12px;border-right:11px solid rgba(255,242,220,.35)}body.portrait .t-joy b.r{right:12px;border-left:11px solid rgba(255,242,220,.35)}body.portrait .t-joy[data-dir="-1"] b.l{border-right-color:var(--warm-hi)}body.portrait .t-joy[data-dir="1"] b.r{border-left-color:var(--warm-hi)}body.portrait .t-knob{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#ffe08abf,#f08a3a80);box-shadow:0 0 0 3px #1b1325bf,inset 0 -5px #00000038;transition:transform .12s ease-out}body.portrait .t-joy.on .t-knob{transition:none;box-shadow:0 0 0 3px #1b1325bf,0 0 14px #ffd27a8c,inset 0 -5px #00000038}.city-walk{display:none}body.portrait .city-walk{display:flex;position:absolute;left:12px;right:12px;top:calc(var(--game-bottom) + 14px);bottom:calc(32vh + 22px);align-items:center;justify-content:space-between;gap:8px;padding:0 14px;touch-action:none;background:#1b132559;box-shadow:0 0 0 2px #1b1325b3,inset 0 0 0 2px #ffb34726;border-radius:18px}body.portrait .city-walk span{font-size:42px;color:#fff2dc73}body.portrait .city-walk small{color:var(--muted);font-size:12px;text-align:center}body.portrait .city-top h2 small{display:none}body.portrait .wallet{padding:4px 8px;font-size:15px}body.portrait .stall-bar{height:32vh;max-height:none}body.portrait .sb-items{flex:1;align-items:flex-start}.menu-buttons.main,.submenu .menu-buttons{grid-template-columns:1fr 1fr;width:min(520px,92vw);gap:10px 12px}.menu-buttons.main .wide2,.submenu .menu-buttons .wide2{grid-column:1 / 3}.menu-buttons .btn{padding-bottom:18px;min-height:52px}.menu-buttons .btn small{bottom:4px}.menu-buttons .btn.big{min-height:64px;font-size:20px}.menu-buttons .btn.big small{font-size:11px}.submenu{animation:subIn .3s ease-out}.menu:not(.submenu) .menu-buttons{animation:subIn .3s ease-out}.sub-head{display:flex;align-items:center;gap:12px;width:min(520px,92vw);margin-bottom:14px}.sub-head h2{font-size:30px}.sub-head small{color:var(--muted);font-size:13px}.sub-head .back{width:40px;height:40px}.submenu.play h2{color:#c8f08a}.submenu.together h2{color:#ffd27a}.submenu.collection h2{color:#9fe6ff}@keyframes subIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-height:420px){.menu-buttons .btn{min-height:44px;padding-bottom:15px}.menu-buttons .btn.big{min-height:50px;font-size:18px}.sub-head{margin-bottom:8px}.sub-head h2{font-size:24px}}.menu-buttons .btn.primary small{color:#6a3410}.sub-head{background:#1b1325b8;padding:8px 12px;box-shadow:0 0 0 2px var(--ink)}.sub-head h2{text-shadow:0 2px 0 var(--ink)}#notes{position:fixed;z-index:45;left:max(12px,env(safe-area-inset-left));top:calc(max(8px,env(safe-area-inset-top)) + 50px);display:flex;flex-direction:column;gap:10px;pointer-events:none}body.portrait #notes{top:calc(var(--hud-band) + 8px)}.note{position:relative;pointer-events:auto;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;min-width:210px;max-width:70vw;font:inherit;color:var(--text);text-align:left;cursor:pointer;border:0;background:linear-gradient(#3d2c58,#2a1e3e);box-shadow:0 0 0 2px var(--ink),0 0 0 4px #7cdc7c,0 0 0 6px var(--ink),0 0 22px 6px #7cdc7c73;animation:noteIn .45s cubic-bezier(.2,1.4,.4,1),noteGlow 1.6s ease-in-out .45s infinite}.note.out{animation:noteOut .35s ease-in forwards}.note-ic{width:36px;height:36px;display:grid;place-items:center;font-size:24px;background:#1b1325b3;box-shadow:0 0 0 2px var(--ink);flex:none}.note-ic canvas{width:32px;height:32px;image-rendering:pixelated}.note-txt{display:flex;flex-direction:column;gap:1px}.note-txt small{color:#9ff09f;font-size:11px;letter-spacing:.5px}.note-txt b{font-size:16px;font-weight:600;color:var(--warm-hi)}.note i{position:absolute;left:0;top:0;width:4px;height:4px;background:#d8ffc0;pointer-events:none;box-shadow:0 0 6px 2px #7cdc7ce6;animation:noteFly 4.2s linear infinite,noteBlink .9s ease-in-out infinite,noteWob .7s ease-in-out infinite alternate;animation-delay:calc(var(--k) * -.6s),calc(var(--k) * .13s),calc(var(--k) * -.2s)}@keyframes noteFly{0%{left:-8px;top:-8px}35%{left:calc(100% + 4px);top:-8px}50%{left:calc(100% + 4px);top:calc(100% + 4px)}85%{left:-8px;top:calc(100% + 4px)}to{left:-8px;top:-8px}}@keyframes noteWob{0%{transform:translate(-2px,2px)}to{transform:translate(2px,-3px)}}@keyframes noteBlink{50%{opacity:.35}}@keyframes noteIn{0%{transform:translate(-120%) scale(.9);opacity:0}to{transform:none;opacity:1}}@keyframes noteOut{to{transform:translate(-120%);opacity:0}}@keyframes noteGlow{50%{box-shadow:0 0 0 2px var(--ink),0 0 0 4px #a8f0a0,0 0 0 6px var(--ink),0 0 32px 10px #7cdc7c99}}.lock-pop{position:fixed;inset:0;z-index:75;display:grid;place-items:center;background:#0c081499;animation:fsIn .2s ease-out}.lock-card{width:min(360px,88vw);display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.lock-card h3{margin:0;color:var(--warm-hi)}.lock-card p{color:var(--text);font-size:14px}.lock-ic{width:56px;height:56px;display:grid;place-items:center;background:#1b1325cc;box-shadow:0 0 0 2px var(--ink),0 0 0 4px var(--edge);animation:lockShake .5s ease-in-out}.lock-ic i{position:relative;width:22px;height:16px;margin-top:10px;background:var(--warm);box-shadow:inset 0 -4px #c47a2e}.lock-ic i:before{content:"";position:absolute;left:4px;top:-12px;width:14px;height:14px;border:4px solid #c8c0d8;border-bottom:0;box-sizing:border-box;border-radius:7px 7px 0 0}.lock-ic i:after{content:"";position:absolute;left:9px;top:5px;width:4px;height:6px;background:var(--ink)}@keyframes lockShake{20%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(4deg)}}.ed2-item.locked{opacity:.75}.ed2-item.locked canvas{filter:brightness(0) opacity(.45)}.ed2-item{position:relative}.ed2-lock{position:absolute;left:50%;top:13px;transform:translate(-50%);width:12px;height:9px;background:var(--warm);box-shadow:inset 0 -2px #c47a2e}.ed2-lock:before{content:"";position:absolute;left:2px;top:-7px;width:8px;height:8px;border:2px solid #c8c0d8;border-bottom:0;box-sizing:border-box;border-radius:4px 4px 0 0}body.portrait.menu-bg #game{top:0;height:100%;overflow:hidden}body.portrait.menu-bg #game canvas{position:absolute;left:50%;top:0;height:100%!important;width:auto!important;margin:0!important;transform:translate(-50%)}body.portrait.menu-bg:before{display:none}.bell{position:fixed;z-index:55;top:max(6px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;border:0;cursor:pointer;color:var(--text);background:#3b2b52e6;box-shadow:inset 0 -3px #1b132599,0 0 0 2px var(--ink),0 0 0 4px var(--edge)}body.fs-ui .bell{right:calc(max(6px,env(safe-area-inset-right)) + 44px)}.bell:active{transform:translateY(1px)}.bell.new{color:#d8ffc0;background:linear-gradient(#3f6a3a,#24412a);box-shadow:inset 0 -3px #1b132580,0 0 0 2px var(--ink),0 0 0 4px #7cdc7c,0 0 16px 4px #7cdc7c8c;animation:noteGlow 1.6s ease-in-out infinite}.bell.new svg{animation:bellRing 2.4s ease-in-out infinite;transform-origin:50% 10%}@keyframes bellRing{0%,70%,to{transform:rotate(0)}75%{transform:rotate(14deg)}82%{transform:rotate(-12deg)}89%{transform:rotate(8deg)}95%{transform:rotate(-4deg)}}.bell-n{position:absolute;right:-8px;top:-8px;min-width:18px;height:18px;padding:0 4px;font-size:11px;line-height:18px;color:var(--ink);background:#9ff09f;box-shadow:0 0 0 2px var(--ink);border-radius:9px}.bell-flies{position:absolute;inset:0;pointer-events:none;display:none}.bell.new .bell-flies{display:block}.bell-flies i{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;background:#d8ffc0;box-shadow:0 0 6px 2px #7cdc7ce6;animation:bellOrbit 3.2s linear infinite,noteBlink .9s ease-in-out infinite;animation-delay:calc(var(--k) * -.53s),calc(var(--k) * .15s)}@keyframes bellOrbit{0%{transform:rotate(0) translate(27px) rotate(0)}50%{transform:rotate(180deg) translate(22px) rotate(-180deg)}to{transform:rotate(360deg) translate(27px) rotate(-360deg)}}.log-pop{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-start;justify-content:flex-end;padding:calc(max(6px,env(safe-area-inset-top)) + 48px) max(10px,env(safe-area-inset-right)) 16px 10px;background:#0f0a1673}.log-card{width:min(380px,94vw);max-height:min(70vh,560px);display:flex;flex-direction:column;gap:8px;padding:14px;animation:noteIn .3s cubic-bezier(.2,1.4,.4,1)}.log-head{display:flex;align-items:center;gap:8px}.log-head h3{margin:0;font-size:18px}.log-head small{color:var(--muted);font-size:12px;margin-left:auto}.log-bell{color:#9ff09f;display:flex}.log-x{font:inherit;border:0;background:#1b132599;color:var(--text);width:30px;height:30px;box-shadow:0 0 0 2px var(--edge);cursor:pointer}.log-list{overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:4px 2px}.log-row{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;background:#1b132573;box-shadow:0 0 0 2px var(--ink)}.log-row .note-txt b{font-size:14px}.log-row em{margin-left:auto;font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap}.log-row.new{background:linear-gradient(90deg,#7cdc7c38,#1b132573);box-shadow:0 0 0 2px var(--ink),inset 3px 0 #7cdc7c}.log-row.new em{color:#9ff09f;font-weight:600}
