*{box-sizing:border-box}html,body{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;background:#1c1724;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app{position:fixed;inset:0}#hud{pointer-events:none;position:fixed;inset:0}.bar{align-items:flex-start;gap:10px;padding:10px 12px;display:flex;position:absolute;top:0;left:0;right:0}.stats{text-shadow:0 1px 3px #000;flex-wrap:wrap;flex:1;align-items:center;gap:6px 14px;font-size:15px;display:flex}.stats b{color:#ffd166}.lives{color:#ff5d73;letter-spacing:2px;font-size:20px}.lives i{color:#fff3;font-style:normal}.outfit{flex-wrap:wrap;gap:4px;display:flex}.outfit span{color:#ffffff59;background:#ffffff14;border-radius:10px;padding:2px 7px;font-size:11px}.outfit span.on{color:#fff;background:#ff6fa8}.btns{pointer-events:auto;gap:8px;display:none}.btns.on{display:flex}.btns .icon{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14101cbf;border:0;border-radius:12px;width:44px;height:44px;padding:0;font-size:20px;line-height:44px}.btns .icon:active{background:#ff6fa8}.card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;pointer-events:auto;background:#14101cdb;border-radius:16px;width:min(420px,100% - 32px);padding:20px 22px;display:none;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.card.on{display:block}.card.big{width:min(520px,100% - 32px);max-height:calc(100% - 90px);margin-top:24px;top:50%;bottom:auto;overflow-y:auto;transform:translate(-50%,-50%)}.card h1{color:#ffd166;margin:0 0 8px;font-family:Georgia,serif;font-size:28px}.card h2{color:#ff6fa8;margin:0 0 10px;font-size:16px;font-weight:600}.card p{color:#eee;margin:6px 0;line-height:1.4}.card .unlock b{color:#ff6fa8}.card button{font:inherit;color:#fff;cursor:pointer;background:#ff6fa8;border:0;border-radius:24px;margin-top:12px;padding:10px 26px;font-size:17px;font-weight:700}.card button.alt{background:#ffffff1f}.row-btns{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.controls{text-align:left;gap:10px;display:grid}.controls .row{grid-template-columns:auto 1fr;align-items:center;gap:7px 12px;font-size:14px;display:grid}.controls .row.dim{display:none}.controls .keys{justify-content:flex-end;gap:4px;display:flex}kbd{color:#1c1724;background:#f4f1de;border-radius:7px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 6px;font:700 14px system-ui,sans-serif;display:inline-flex;box-shadow:0 3px #9d97a8}kbd.wide{min-width:70px}.pad{color:#ffd166;text-align:center;width:34px;font-size:26px;font-style:normal}.goal{text-align:left;color:#ddd;margin:14px 0 0;padding:0;font-size:14px;line-height:1.5;list-style:none}.goal b{color:#7ee0b5}.toast{opacity:0;white-space:nowrap;background:#0009;border-radius:20px;padding:8px 16px;font-weight:600;transition:opacity .2s;position:absolute;top:22%;left:50%;transform:translate(-50%)}.toast.on{opacity:1}.stick{pointer-events:none;background:#ffffff0f;border:2px solid #ffffff59;border-radius:50%;width:110px;height:110px;margin:-55px 0 0 -55px;display:none;position:fixed}.stick.on{display:block}.stick i{background:#ff6fa8cc;border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%}.finale{z-index:10;background:#000;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.finale.out{opacity:0}.finale video{object-fit:contain;width:100%;height:100%}.finale button{color:#fff;cursor:pointer;border:0;border-radius:20px;padding:9px 18px;font:700 15px system-ui,sans-serif;position:absolute}.finale .skip{background:#ffffff2e;bottom:16px;right:16px}.finale .sound{background:#ff6fa8;display:none;bottom:16px;left:16px}.finale .sound.on{display:block}.fatal{z-index:30;text-align:center;background:#14101ceb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:fixed;inset:0}.fatal p{margin:0;font-size:17px}.fatal button,.pl-error button{color:#fff;cursor:pointer;background:#ff6fa8;border:0;border-radius:22px;padding:10px 24px;font:700 16px system-ui,sans-serif}.errbar{z-index:40;color:#fff;word-break:break-word;background:#a01e32eb;border-radius:10px;padding:8px 12px;font:12px/1.35 ui-monospace,monospace;position:fixed;bottom:8px;left:8px;right:8px}
