:root{--night: #0f0d17;--night-2: #1b1826;--shell: #b8b3aa;--shell-dark: #8e8981;--bezel: #2b2836;--ink: #14121c;--paper: #f3eee3;--paper-2: #e3dccd;--magenta: #d23a6f;--lamp: #f2c45a;--muted: #8a8496;--font-pixel: "Press Start 2P", ui-monospace, "Courier New", monospace;--font-term: "VT323", ui-monospace, "Courier New", monospace;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}img{max-width:100%}html,body{min-height:100%}body{background:radial-gradient(120% 80% at 50% 0%,var(--night-2),var(--night) 70%) fixed,var(--night);color:var(--paper);font-family:var(--font-term);font-size:20px}.wrap{--device-w: clamp(520px, calc((100dvh - 380px)*1.5 + 84px) , 1180px);min-height:100dvh;margin:0 auto;padding:24px;display:grid;grid-template-columns:minmax(0,var(--device-w)) minmax(280px,360px);gap:32px;justify-content:center;align-content:center;align-items:stretch}.device{display:flex;flex-direction:column}@media(max-width:900px){.wrap{grid-template-columns:minmax(0,min(640px,calc((100dvh - 330px)*1.5 + 64px)));min-height:0;padding:16px 16px 32px;align-items:start}}@media(max-width:900px)and (max-height:700px){.wrap{grid-template-columns:minmax(0,640px)}}html,body,*{touch-action:pan-x pan-y}.device{background:linear-gradient(160deg,#c4bfb6,var(--shell) 40%,#aaa59c);border-radius:14px 14px 60px;padding:20px 20px 24px;box-shadow:inset -5px -6px #00000024,inset 3px 3px #ffffff40,0 30px 70px #0000008c;color:var(--ink);user-select:none;-webkit-user-select:none;touch-action:none}.bezel{background:var(--bezel);border-radius:8px 8px 36px;padding:12px 20px 16px}.bezel-top{display:flex;align-items:center;gap:10px;font-family:var(--font-pixel);font-size:7px;letter-spacing:.12em;color:#9d97ad;margin-bottom:10px}.bezel-top .line{flex:1;height:2px;background:linear-gradient(90deg,var(--magenta) 0 50%,#5b6fd8 50%);opacity:.7}.power{display:flex;align-items:center;gap:6px}.power i{width:8px;height:8px;border-radius:50%;background:#e2304a;box-shadow:0 0 8px #e2304a}.screen{position:relative;width:100%;aspect-ratio:3 / 2;container-type:inline-size;background:#000;overflow:hidden;border-radius:2px}.screen canvas{display:block;width:100%;height:100%;image-rendering:crisp-edges;image-rendering:pixelated}.quests-btn{display:none}.missions{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:grid;place-items:center;background:#0a0810c7;padding:12px}.missions[hidden]{display:none}.missions-panel{width:min(520px,100%);max-height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--paper);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--magenta)}.missions-panel header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-bottom:3px dashed #b9b09c}.missions-panel h2{margin:0;font-family:var(--font-pixel);font-size:12px}.missions-panel header button{width:36px;height:36px;border:0;background:var(--ink);color:var(--paper);font-size:14px;cursor:pointer}.missions-list{list-style:none;margin:0;padding:4px 12px 12px;overflow-y:auto;overscroll-behavior:contain}.mq-club{margin:12px 0 4px;font-family:var(--font-pixel);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#8a2a4a}.mq-club.here:before{content:"▶ "}.mq{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid #ddd4c2}.mq b{display:block;font-family:var(--font-pixel);font-size:10px;font-weight:400;line-height:1.4}.mq small{display:block;font-family:var(--font-term);font-size:16px;line-height:1.1;color:#4c4757}.mq-mark{font-family:var(--font-pixel);font-size:11px;color:#8a8496;padding-top:1px}.mq.done b,.mq.done small{color:#8a8496}.mq.done .mq-mark{color:#3d8f6b}.mq-empty{padding:14px 0;font-size:18px;color:#4c4757}.hud{position:absolute;left:1.6cqw;top:1.6cqw;display:flex;align-items:center;gap:1cqw;font-family:var(--font-pixel);font-size:2cqw;line-height:1;background:var(--paper);color:var(--ink);padding:.9cqw 1.3cqw;border:.45cqw solid var(--ink);pointer-events:none;transition:opacity .25s}.hud-room{color:#8a2a4a}.hud-room:before{content:"· ";color:#6e6878}.hud.dim{opacity:.15}.dialog{position:absolute;left:1.6cqw;right:1.6cqw;bottom:1.6cqw;background:var(--paper);color:var(--ink);border:.8cqw solid var(--ink);box-shadow:inset 0 0 0 .8cqw var(--paper),inset 0 0 0 1.4cqw #6b6580;padding:3.4cqw 4cqw 3.6cqw;font-family:var(--font-pixel);font-size:3.3cqw;line-height:1.75}.dialog p{margin:0;min-height:3.5em;white-space:pre-wrap}.dialog ul{list-style:none;margin:1.6cqw 0 0;padding:0;display:grid;gap:.7cqw}.dialog li{position:relative;padding-left:4.4cqw;cursor:pointer}.dialog li.sel:before{content:"";position:absolute;left:.4cqw;top:.55em;border-left:1.8cqw solid var(--ink);border-block:1.1cqw solid transparent}.dialog li.sel{color:#6a1f3d}.more{position:absolute;right:4cqw;bottom:2.6cqw;width:0;height:0;border-top:1.6cqw solid var(--ink);border-inline:1.2cqw solid transparent;animation:blink .8s steps(2) infinite}.title,.inside{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--font-pixel);gap:3cqw;padding:4cqw}.title{background:linear-gradient(#120f20,#241a3a 60%,#3b1f3a);cursor:pointer}.title .skyline{position:absolute;left:0;right:0;bottom:0;height:24cqw;background:linear-gradient(var(--ink),var(--ink)) 48% 100% / 1.2cqw 22cqw no-repeat,radial-gradient(circle at 50% 50%,var(--ink) 60%,transparent 62%) 48.4% 31% / 7cqw 7cqw no-repeat,linear-gradient(var(--ink),var(--ink)) 0 100% / 100% 8cqw no-repeat;opacity:.9}.title .skyline:before{content:"";position:absolute;inset:auto 0 8cqw 0;height:9cqw;background:linear-gradient(var(--ink),var(--ink)) 6% 100% / 10cqw 6cqw no-repeat,linear-gradient(var(--ink),var(--ink)) 18% 100% / 8cqw 9cqw no-repeat,linear-gradient(var(--ink),var(--ink)) 70% 100% / 14cqw 7cqw no-repeat,linear-gradient(var(--ink),var(--ink)) 88% 100% / 9cqw 9cqw no-repeat}.title h1{margin:0;font-size:7cqw;line-height:1.25;color:var(--lamp);text-shadow:.6cqw .6cqw 0 #8a2a4a,1.2cqw 1.2cqw 0 var(--ink);text-wrap:balance}.title h1 span{display:block;color:var(--paper);font-size:4.6cqw;letter-spacing:.3em;margin-top:1.4cqw}.title p{margin:0;font-size:2.6cqw;color:#c9c2da;line-height:1.7}.title .press{color:var(--paper);font-size:3cqw;animation:blink 1s steps(2) infinite;position:relative;z-index:1}.inside{background:#07060b;color:var(--paper);overflow:hidden}.beams{position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;background:repeating-conic-gradient(from 0deg,var(--club, #ff4d6d) 0 6deg,transparent 6deg 24deg);opacity:.28;animation:spin 7s linear infinite}.inside>*:not(.beams){position:relative}.inside .in-club{font-size:5cqw;color:var(--club, #ff4d6d);margin:0;text-shadow:.6cqw .6cqw 0 var(--ink)}.inside .in-text{font-size:2.9cqw;line-height:1.8;margin:0;max-width:80cqw;text-shadow:.4cqw .4cqw 0 var(--ink)}.inside .in-stamp{font-size:2.6cqw;color:var(--ink);background:var(--club, #ff4d6d);padding:1.4cqw 2.4cqw;transform:rotate(-6deg);border:.6cqw solid var(--ink)}.inside .in-hint{font-size:2.3cqw;color:#bdb6cc;margin:0}.shop{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 .3cqw,transparent .3cqw 6cqw),linear-gradient(#3a2a33 0,#3a2a33 30%,#5b4030 30%);color:var(--ink);font-family:var(--font-pixel);padding:3cqw;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:2cqw}.shop-head{display:flex;align-items:baseline;justify-content:space-between;gap:2cqw}.shop-name{margin:0;font-size:4.2cqw;color:var(--lamp);text-shadow:.5cqw .5cqw 0 var(--ink)}.shop-area{margin:0;font-size:1.8cqw;color:#d9cfe0}.shop-body{display:grid;grid-template-columns:34% minmax(0,1fr);gap:2.4cqw;min-height:0}.shop-preview{background:var(--paper);border:.6cqw solid var(--ink);display:grid;justify-items:center;align-content:start;gap:1.2cqw;padding:2cqw 1.6cqw;text-align:center}.shop-preview canvas{width:70%;aspect-ratio:1;image-rendering:pixelated;background:#e3dccd;border:.4cqw solid var(--ink)}.shop-tags{margin:0;font-size:1.7cqw;color:#8a2a4a}.shop-fits{margin:0;font-family:var(--font-term);font-size:2.6cqw;line-height:1.05;color:#3a3545}.shop-list{list-style:none;margin:0;padding:1.4cqw;background:var(--paper);border:.6cqw solid var(--ink);display:grid;align-content:start;gap:.6cqw;overflow:auto}.shop-list li{display:grid;grid-template-columns:5cqw minmax(0,1fr);align-items:center;gap:1.6cqw;padding:.8cqw 1.2cqw;font-size:2.1cqw;line-height:1.4;cursor:pointer;border:.3cqw solid transparent}.shop-list li.sel{background:var(--ink);color:var(--paper)}.shop-list li.worn .nm:after{content:" (on)";color:var(--magenta)}.shop-list .mini{width:5cqw;height:5cqw;image-rendering:pixelated}.shop-msg{margin:0;background:var(--paper);border:.6cqw solid var(--ink);padding:1.6cqw 2cqw;font-size:2.1cqw;line-height:1.6;min-height:5.6cqw}.shop-hint{margin:0;font-size:1.6cqw;color:#d9cfe0;text-align:right}.creator{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#120f20,#241a3a 65%,#3b1f3a);color:var(--paper);font-family:var(--font-pixel);text-align:center;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:2.2cqw;padding:3.4cqw 4cqw}.cr-step{margin:0;font-size:1.8cqw;letter-spacing:.14em;color:#ff8cc4}.cr-q{margin:0;font-size:4cqw;font-weight:400;color:var(--lamp);text-shadow:.5cqw .5cqw 0 var(--ink);text-wrap:balance}.cr-list{--n: 4;list-style:none;margin:0;padding:0;min-height:0;display:grid;gap:2cqw;align-content:center;grid-template-columns:repeat(var(--cols, 4),minmax(0,1fr))}.cr-list[data-n="2"]{--cols: 2;padding-inline:14cqw}.cr-list[data-n="3"]{--cols: 3;padding-inline:6cqw}.cr-list li{background:var(--paper);color:var(--ink);border:.6cqw solid var(--ink);display:grid;justify-items:center;gap:1.2cqw;padding:1.6cqw 1cqw 1.8cqw;font-size:1.6cqw;line-height:1.4;cursor:pointer;min-width:0;transition:transform .12s ease}.cr-list li canvas{width:70%;aspect-ratio:1;image-rendering:pixelated;background:var(--paper-2)}.cr-list li span{text-align:center;max-width:100%}.cr-list li.sel{background:var(--lamp);transform:translateY(-.8cqw);box-shadow:0 .8cqw 0 var(--magenta)}.cr-desc{margin:0 auto;max-width:80cqw;font-family:var(--font-term);font-size:3.2cqw;line-height:1.1;color:#e3dcf0;min-height:2.2em}.cr-hint{margin:0;font-size:1.6cqw;color:#9d97ad}.cr-hint .tc{display:none}.fade{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;pointer-events:none;transition:opacity .22s ease}.fade.on{opacity:1}.floor-tag{position:absolute;right:2.5cqw;top:2.5cqw;font-family:var(--font-pixel);font-size:2.2cqw;line-height:1;background:var(--ink);color:var(--paper);border:.5cqw solid var(--paper);padding:1.3cqw 1.6cqw}.floor-card{position:absolute;left:50%;top:34%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:1.4cqw;text-align:center;font-family:var(--font-pixel);color:var(--paper);pointer-events:none;text-shadow:.5cqw .5cqw 0 var(--ink);transition:opacity .4s ease}.floor-card b{font-size:6cqw;font-weight:400;color:var(--lamp)}.floor-card span{font-size:2.4cqw;letter-spacing:.1em;text-transform:uppercase}.floor-card.out,.toast.out{opacity:0}.toast{position:absolute;left:50%;top:11cqw;transform:translate(-50%);font-family:var(--font-pixel);font-size:2.2cqw;line-height:1.4;white-space:nowrap;background:var(--lamp);color:var(--ink);border:.5cqw solid var(--ink);padding:1.2cqw 2cqw;transition:opacity .4s ease;pointer-events:none;box-shadow:.6cqw .6cqw 0 var(--magenta)}.cr-name{display:grid;gap:1.6cqw;justify-items:center;align-content:center}.cr-name label{font-size:2cqw;letter-spacing:.1em;text-transform:uppercase;color:#ff8cc4}.cr-name input{width:min(70cqw,100%);font-family:var(--font-pixel);text-align:center;font-size:max(16px,3.4cqw);background:var(--paper);color:var(--ink);border:.6cqw solid var(--ink);padding:1.8cqw 2cqw;box-shadow:.8cqw .8cqw 0 var(--magenta)}.cr-name input:focus-visible{outline:.6cqw solid var(--lamp);outline-offset:.4cqw}.cr-name-err{margin:0;min-height:1.4em;font-size:1.9cqw;color:var(--lamp)}.title-players{position:relative;z-index:1;font-family:var(--font-pixel);font-size:2.2cqw;background:transparent;color:var(--paper);border:.4cqw solid var(--paper);padding:1.2cqw 2cqw;cursor:pointer}.title-players:hover,.title-players:focus-visible{background:var(--paper);color:var(--ink);outline:none}.players-btn{display:block;width:100%;margin:12px 0 0;padding:10px 12px;cursor:pointer;text-align:left;font-family:var(--font-pixel);font-size:10px;letter-spacing:.04em;background:var(--ink);color:var(--paper);border:0;box-shadow:4px 4px 0 var(--magenta)}.players-btn:hover,.players-btn:focus-visible{background:#2a2636;outline:none}.players{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0a0810d1;padding:24px 16px}.players-panel{width:min(820px,100%);max-height:100%;overflow-y:auto;overscroll-behavior:contain;background:var(--paper);color:var(--ink);padding:22px 24px 26px;border-radius:4px;box-shadow:0 24px 60px #00000080}.players-panel header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:3px dashed #b9b09c;padding-bottom:12px}.players-panel h2{margin:0;font-family:var(--font-pixel);font-size:16px;line-height:1.4}.players-actions{display:flex;gap:8px}.players-actions button{font-family:var(--font-pixel);font-size:10px;min-height:36px;padding:0 12px;cursor:pointer;background:transparent;border:2px solid var(--ink);color:var(--ink)}.players-actions button:hover,.players-actions button:focus-visible{background:var(--ink);color:var(--paper);outline:none}.players-status{margin:12px 0 0;font-size:20px;color:#4c4757}.players-body h3{margin:18px 0 6px;font-family:var(--font-pixel);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8a2a4a}.pl-list{list-style:none;margin:0;padding:0}.pl-row{display:grid;grid-template-columns:36px minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.4fr);gap:12px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--paper-2)}.pl-row.me{background:#fff2b0;box-shadow:inset 4px 0 0 var(--magenta)}.pl-sprite{width:32px;height:32px;image-rendering:pixelated;background:var(--paper-2)}.pl-who b{font-family:var(--font-pixel);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.pl-id{font-family:var(--font-pixel);font-size:9px;color:#8a8496;margin-left:6px}.pl-who small,.pl-status small{display:block;font-size:17px;line-height:1.05;color:#6e6878}.pl-stats{display:grid;font-size:19px;line-height:1.1;font-variant-numeric:tabular-nums}.pl-status{font-size:19px;line-height:1.1}.pl-status.done{color:#2f7d4f}@media(max-width:600px){.players{padding:0}.players-panel{max-height:100%;height:100%;border-radius:0;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(20px + env(safe-area-inset-bottom,0px))}.pl-row{grid-template-columns:36px minmax(0,1fr)}.pl-stats,.pl-status{grid-column:2}.pl-stats{display:flex;gap:12px}}.ending{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;transition:opacity 1.2s ease}.ending.show{opacity:1}.ending canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;display:block}.end-title{position:absolute;left:50%;top:6cqw;transform:translate(-50%);display:grid;justify-items:center;gap:1.4cqw;text-align:center;white-space:nowrap;font-family:var(--font-pixel);color:var(--lamp);text-shadow:.5cqw .5cqw 0 var(--ink);animation:endPop .6s ease-out}.end-title b{font-size:5.4cqw;font-weight:400}.end-title span{font-size:2.6cqw;color:var(--paper);letter-spacing:.08em;text-transform:uppercase}@keyframes endPop{0%{transform:translate(-50%) scale(.6);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.quests{padding:12px 0 10px;border-bottom:3px dashed #b9b09c}.quests .eyebrow{display:flex;justify-content:space-between}.quests ol{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.quests li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start;padding:4px 0;border:0}.quests .qmark{font-family:var(--font-pixel);font-size:11px;color:#b9b09c;padding-top:2px}.quests li.done .qmark{color:#2f7d4f}.quests li b{font-family:var(--font-pixel);font-size:10px;line-height:1.5;display:block}.quests li.done b{color:#6e6878;text-decoration:line-through}.quests li small{font-size:18px;line-height:1;color:#6e6878;display:block}.zoom{position:absolute;right:2.5cqw;bottom:2.5cqw;display:grid;gap:1cqw;justify-items:end}.zoom button{min-width:6.4cqw;height:6.4cqw;padding:0 1.2cqw;font-family:var(--font-pixel);font-size:2.4cqw;line-height:1;background:var(--paper);color:var(--ink);border:.5cqw solid var(--ink);cursor:pointer;touch-action:pan-x pan-y}.zoom button:hover{background:var(--lamp)}.zoom button.on{background:var(--magenta);color:var(--paper)}.zoom button.off{text-decoration:line-through;opacity:.55}.zoom button:focus-visible{outline:.6cqw solid var(--lamp);outline-offset:.3cqw}@keyframes blink{50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.brand{margin:14px 4px 0;font-family:var(--font-pixel);font-size:13px;letter-spacing:.04em;color:#2c2a6b;font-style:italic}.brand span{color:var(--magenta)}.controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding:0 6px}.stick{--size: 120px;position:relative;width:var(--size);height:var(--size);flex:none;border-radius:50%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;background:radial-gradient(circle at 50% 45%,#2e2b38,#1c1a23 70%);box-shadow:0 4px #00000040,inset 0 2px 6px #00000080}.stick:before,.stick:after{content:"";position:absolute;left:50%;top:50%;background:#ffffff0d;border-radius:4px}.stick:before{width:30%;height:84%;transform:translate(-50%,-50%)}.stick:after{width:84%;height:30%;transform:translate(-50%,-50%)}.stick-arrows{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;font:10px/1 var(--font-pixel);color:#5d5a68}.stick-arrows span{position:absolute}.stick-arrows .u{top:7%;left:50%;transform:translate(-50%)}.stick-arrows .d{bottom:7%;left:50%;transform:translate(-50%)}.stick-arrows .l{left:7%;top:50%;transform:translateY(-50%)}.stick-arrows .r{right:7%;top:50%;transform:translateY(-50%)}.stick-knob{position:absolute;left:30%;top:30%;width:40%;height:40%;z-index:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 38% 32%,#5a5668,#3a3746 60%,#2a2833);box-shadow:0 3px #00000059,inset 0 -2px #00000040;transition:transform .12s ease}.stick.on{cursor:grabbing}.stick.on .stick-knob{transition:none}.ab{display:flex;gap:18px;transform:rotate(-22deg);padding:10px 4px 0 0}.ab div{display:grid;justify-items:center;gap:6px;font-family:var(--font-pixel);font-size:9px;color:#2c2a6b}.ab div:first-child{margin-top:26px}.ab button{width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#ea5f8f,var(--magenta) 55%,#a52858);box-shadow:0 4px #7a1d41,inset 0 -2px #0003;color:transparent;touch-action:none}.ab button:active,.ab button.on{transform:translateY(3px);box-shadow:0 1px #7a1d41}.device button:focus-visible{outline:3px solid var(--lamp);outline-offset:2px}.keys{margin:16px 4px 0;font-size:18px;line-height:1.2;color:#4a4655;text-align:center}.keys kbd{font-family:var(--font-pixel);font-size:9px;background:var(--paper);color:var(--ink);border:2px solid var(--ink);padding:2px 5px;margin:0 2px;display:inline-block;line-height:1.3}@media(max-width:420px){.device{padding:14px 14px 18px;border-radius:12px 12px 44px}.bezel{padding:10px 12px 12px}.stick{--size: 108px}.ab button{width:48px;height:48px}.ab{gap:12px}}.card{background:radial-gradient(circle at 0 50%,var(--night) 9px,transparent 10px) 0 0 / 100% 36px repeat-y,radial-gradient(circle at 100% 50%,var(--night) 9px,transparent 10px) 0 0 / 100% 36px repeat-y,var(--paper);color:var(--ink);padding:22px 24px 20px;border-radius:4px;box-shadow:0 20px 50px #00000073;min-width:0}.card header{display:flex;align-items:end;justify-content:space-between;gap:12px;border-bottom:3px dashed #b9b09c;padding-bottom:14px}.eyebrow{margin:0 0 6px;font-family:var(--font-pixel);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#8a2a4a}.card h2{margin:0;font-family:var(--font-pixel);font-size:15px;line-height:1.4;text-wrap:balance}.count{margin:0;font-family:var(--font-pixel);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.count b{font-size:26px;color:var(--magenta)}.card{display:flex;flex-direction:column}.wearing{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:3px dashed #b9b09c}.wearing canvas{width:40px;height:40px;image-rendering:pixelated;background:var(--paper-2);border:2px solid var(--ink)}.wearing p{margin:0;min-width:0}.wearing span{display:block;font-family:var(--font-pixel);font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#8a2a4a;margin-bottom:4px}.wearing b{font-family:var(--font-pixel);font-size:11px;line-height:1.4}.card li small.dress{color:#a23a3a}.card li small.dress.ok{color:#2f7d4f}.card ol{list-style:none;margin:0;padding:4px 0 0;flex:1;display:flex;flex-direction:column;justify-content:space-around}.card li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--paper-2)}.card li b{display:block;font-family:var(--font-pixel);font-size:11px;line-height:1.5}.card li small{display:block;font-size:19px;line-height:1.05;color:#6e6878}.st{width:46px;height:46px;border-radius:50%;border:2px dashed #b9b09c;display:grid;place-items:center;font-family:var(--font-pixel);font-size:9px;color:#b9b09c}.st.done{border:3px double var(--c);color:var(--c);transform:rotate(-12deg);background:color-mix(in srgb,var(--c) 10%,transparent);font-size:10px;letter-spacing:-.02em}.card footer{margin-top:20px;display:grid;gap:12px}.card footer p{margin:0;font-size:19px;line-height:1.15;color:#4c4757}.reset{justify-self:start;font-family:var(--font-pixel);font-size:9px;letter-spacing:.06em;background:transparent;border:2px solid var(--ink);color:var(--ink);padding:8px 10px;cursor:pointer}.reset:hover{background:var(--ink);color:var(--paper)}.reset:focus-visible{outline:3px solid var(--magenta);outline-offset:2px}.reset.armed{background:var(--magenta);color:var(--paper);border-color:var(--magenta)}@media(prefers-reduced-motion:reduce){.more,.title .press,.beams{animation:none}}@media(min-width:901px)and (min-height:501px){.card{height:0;min-height:100%;overflow-y:auto;scrollbar-width:thin}}.mbar,.card-close,.touch-hint,.in-hint .tc{display:none}@media(prefers-reduced-motion:reduce){.cr-list li{transition:none}}html{-webkit-tap-highlight-color:transparent}.device,.screen{-webkit-touch-callout:none}@media(max-width:700px),(max-height:500px){html,body{height:100%;overflow:hidden;overscroll-behavior:none}body{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--shell)}.wrap{display:block;height:100%;min-height:0;padding:0;max-width:none}.device{height:100%;display:flex;flex-direction:column;border-radius:0;box-shadow:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.mbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}.mbar-title{font-family:var(--font-pixel);font-size:11px;color:#2c2a6b;font-style:italic}.mbar-title b{color:var(--magenta);font-weight:400}.mbar-card{display:flex;align-items:center;gap:8px;font-family:var(--font-pixel);font-size:11px;color:var(--ink);background:var(--paper);border:2px solid var(--ink);padding:4px 10px 4px 4px;min-height:40px;cursor:pointer}.mbar-card canvas{width:30px;height:30px;image-rendering:pixelated;background:var(--paper-2)}.bezel{flex:1;min-height:0;display:flex;border-radius:6px;margin:0 8px;padding:6px}.bezel-top,.brand,.keys{display:none}.screen{flex:1;min-height:0;aspect-ratio:auto;width:auto;touch-action:none}.screen canvas#game{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto}.hud{font-size:clamp(9px,2.6cqw,12px)}.quests-btn{display:block;position:absolute;left:2.5cqw;top:calc(6.1cqw + clamp(9px,2.6cqw,12px) + 8px);z-index:2;font-family:var(--font-pixel);font-size:clamp(9px,2.6cqw,12px);line-height:1;cursor:pointer;background:var(--magenta);color:#fff;border:2px solid var(--ink);padding:7px 9px;box-shadow:2px 2px 0 var(--ink)}.quests-btn[hidden]{display:none}.dialog{font-size:clamp(11px,3.6cqw,15px);padding:14px 16px 16px;border-width:3px;box-shadow:inset 0 0 0 3px var(--paper),inset 0 0 0 5px #6b6580}.dialog li{padding:6px 0 6px 20px}.dialog li.sel:before{left:2px;top:1em;border-left-width:8px;border-block-width:5px}.more{right:14px;bottom:10px;border-top-width:7px;border-inline-width:5px}.in-hint .kb{display:none}.in-hint .tc{display:inline}.inside .in-text{font-size:clamp(11px,3.4cqw,15px)}.inside .in-hint,.inside .in-stamp{font-size:clamp(9px,2.8cqw,12px)}.title p{font-size:clamp(9px,3cqw,13px)}.title .press{font-size:clamp(11px,3.6cqw,15px)}.touch-hint{display:block;position:relative;z-index:1}.floor-tag,.toast{font-size:clamp(8px,2.6cqw,11px)}.zoom{bottom:10px;right:8px;gap:6px}.zoom button{min-width:34px;height:34px;font-size:11px;border-width:2px;padding:0 6px}.floor-card b{font-size:clamp(20px,8cqw,32px)}.floor-card span{font-size:clamp(9px,3cqw,12px)}.creator{padding:12px;gap:10px}.cr-step,.cr-hint{font-size:clamp(8px,2.4cqw,11px)}.cr-hint .kb{display:none}.cr-hint .tc{display:inline}.cr-q{font-size:clamp(14px,5cqw,20px)}.cr-list{gap:10px}.cr-list[data-n="4"]{--cols: 2}.cr-list[data-n="2"],.cr-list[data-n="3"]{padding-inline:0}.cr-list li{font-size:clamp(9px,3cqw,12px);padding:8px 6px 10px;gap:6px;border-width:3px;grid-template-rows:auto auto;align-content:start}.cr-list li canvas{width:clamp(44px,20vw,96px);height:clamp(44px,20vw,96px);aspect-ratio:auto}.cr-list[data-n="3"] li canvas{width:clamp(40px,17vw,80px);height:clamp(40px,17vw,80px)}.cr-list li span{text-align:center;overflow-wrap:anywhere}.cr-list li.sel{transform:translateY(-3px);box-shadow:0 3px 0 var(--magenta)}.cr-desc{font-size:clamp(15px,4.4cqw,19px)}.shop{padding:10px;gap:8px}.shop-name{font-size:clamp(14px,5cqw,20px)}.shop-area,.shop-hint{font-size:clamp(8px,2.4cqw,11px)}.shop-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:8px}.shop-preview{grid-template-columns:64px minmax(0,1fr);justify-items:start;align-items:center;text-align:left;padding:8px;border-width:3px;column-gap:10px;row-gap:4px}.shop-preview canvas{grid-row:span 2;width:64px}.shop-tags{font-size:clamp(8px,2.6cqw,11px)}.shop-fits{font-size:clamp(15px,4.4cqw,19px)}.shop-list{padding:6px;border-width:3px;gap:2px}.shop-list li{grid-template-columns:32px minmax(0,1fr);gap:10px;font-size:clamp(10px,3.2cqw,13px);padding:6px 8px;min-height:44px}.shop-list .mini{width:32px;height:32px}.shop-msg{font-size:clamp(9px,3cqw,12px);padding:8px 10px;border-width:3px;min-height:0}.controls{margin:0;padding:14px 22px 16px}.stick{--size: 150px}.ab{gap:16px}.ab button{width:64px;height:64px}.ab div:first-child{margin-top:30px}.card{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;overflow-y:auto;overscroll-behavior:contain;border-radius:0;padding:calc(16px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));transform:translateY(100%);visibility:hidden;transition:transform .28s ease,visibility 0s .28s}.card.open{transform:none;visibility:visible;transition:transform .28s ease}.card-close{display:grid;place-items:center;width:40px;height:40px;flex:none;background:var(--ink);color:var(--paper);border:0;font-size:16px;cursor:pointer;align-self:start}.card header{align-items:center}}@media(max-height:500px)and (orientation:landscape){.device{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"bar bar bar" "pad screen ab"}.mbar{grid-area:bar;padding-block:4px}.mbar-card{min-height:34px}.bezel{grid-area:screen;margin:0 0 8px}.controls{display:contents}.stick{grid-area:pad;align-self:center;margin:0 16px;--size: 128px}.ab{grid-area:ab;align-self:center;margin:0 18px 0 10px}}@media(prefers-reduced-motion:reduce){.card,.card.open,.fade,.floor-card,.toast,.ending,.runner{transition:none}.end-title{animation:none}}.quests li.qclub.here:before{content:"▶ "}.quests li.qclub{display:block;font-family:var(--font-pixel);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#8a2a4a;padding:8px 0 2px}.runner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;background:#0d0b14;opacity:0;transition:opacity .35s ease;touch-action:none}.runner.show{opacity:1}.runner canvas{width:100%;height:100%;display:block;image-rendering:crisp-edges;image-rendering:pixelated}.smack{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-8deg);font-family:var(--font-pixel);font-size:9cqw;color:#fff;pointer-events:none;text-shadow:.8cqw .8cqw 0 #d42a1e,1.6cqw 1.6cqw 0 var(--ink)}.smack.go{animation:smack .8s ease-out forwards}@keyframes smack{0%{transform:translate(-50%,-50%) scale(.3) rotate(-8deg);opacity:0}20%{transform:translate(-50%,-50%) scale(1.25) rotate(-8deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(-8deg);opacity:0}}.screen.shake{animation:shake .45s linear}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-1px)}80%{transform:translate(3px,1px)}}.photo{position:absolute;top:0;right:0;bottom:0;left:0;background:#0c040aed;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5cqw;padding:4cqw 7cqw}.photo canvas{height:58cqw;width:auto;aspect-ratio:56 / 200;image-rendering:pixelated;transform:rotate(-3deg);box-shadow:1cqw 1.4cqw #00000080}.photo-side{display:grid;gap:2.4cqw;font-family:var(--font-pixel);color:var(--paper);min-width:0}.photo-title{margin:0;font-size:3.4cqw;color:#ff5fa2;line-height:1.4}.photo-note{margin:0;font-family:var(--font-term);font-size:3.4cqw;line-height:1.1;color:#d9cfe0}.photo-actions{display:flex;flex-wrap:wrap;gap:1.6cqw}.photo-actions button{font-family:var(--font-pixel);font-size:2.2cqw;padding:1.6cqw 2.2cqw;cursor:pointer;background:var(--paper);color:var(--ink);border:.5cqw solid var(--ink)}.photo-actions button:first-child{background:#ff5fa2}.photo-actions button:focus-visible{outline:3px solid var(--lamp);outline-offset:2px}@media(max-width:700px),(max-height:500px){.smack{font-size:clamp(28px,10cqw,48px)}.photo{grid-template-columns:1fr;justify-items:center;align-content:center;padding:12px;gap:12px;text-align:center}.photo canvas{height:min(52cqh,60vh);max-height:300px}.photo-title{font-size:clamp(10px,3.4cqw,14px)}.photo-note{font-size:clamp(15px,4.4cqw,19px)}.photo-actions{justify-content:center}.photo-actions button{font-size:clamp(9px,2.8cqw,12px);padding:10px 12px;min-height:40px}}@media(prefers-reduced-motion:reduce){.smack.go{animation:none;opacity:1}.screen.shake{animation:none}}
