:root{--ink:#1d1a2b;--cream:#fff6dc;--royal:#e63946;--lux:#3a86ff;--pop:#ffd166;--panel:#1d1a2bdb;--display:"Lilita One", "Fredoka", "Arial Rounded MT Bold", system-ui, sans-serif;--body:"Fredoka", "Arial Rounded MT Bold", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--cream);font-family:var(--body);background:#2b2340;margin:0;overflow:hidden}#app canvas{cursor:grab;display:block}#app canvas:active{cursor:grabbing}kbd{font-family:var(--body);background:#fff6dc29;border:1px solid #fff6dc4d;border-radius:4px;padding:0 .35em;font-size:.85em}#loader{z-index:100;font-family:var(--display);background:radial-gradient(circle at 50% 42%,#4a3a66 0%,#2b2340 70%);place-content:center;justify-items:center;gap:16px;font-size:1.4rem;transition:opacity .6s;display:grid;position:fixed;inset:0}#loader .bucket{font-size:4rem;animation:.8s ease-in-out infinite alternate bob}#loader.done{opacity:0;pointer-events:none}@keyframes bob{to{transform:translateY(-12px)rotate(6deg)}}.hud{background:var(--panel);pointer-events:none;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:min(760px,100vw - 28px);padding:10px 16px;display:grid;position:fixed;top:14px;left:50%;translate:-50%;box-shadow:0 8px #0000002e}.hud .team{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;display:flex}.hud .name{font-family:var(--display);letter-spacing:.02em;font-size:1.5rem}.hud .royal .name{color:var(--royal)}.hud .lux .name{color:var(--lux)}.hud .money{min-width:6.5em;font-size:1.1rem;font-weight:700}.hud .royal .money{text-align:left}.hud .lux .money{text-align:right}.hud .middle{gap:4px;display:grid}.hud .bar{background:var(--lux);border-radius:8px;height:16px;position:relative;overflow:hidden;box-shadow:inset 0 2px #0003}.hud .bar i{background:var(--royal);border-right:3px solid var(--cream);width:50%;transition:width .4s;position:absolute;inset:0 auto 0 0}.hud .shift{text-align:center;opacity:.85;font-variant-numeric:tabular-nums;font-size:.85rem}.badge{background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:8px;max-width:calc(100vw - 180px);padding:8px 12px;font-size:.85rem;display:flex;position:fixed;bottom:12px;left:14px}.badge .keys{opacity:.7}.fb-open{font:700 1rem var(--body);color:var(--ink);background:var(--pop);cursor:pointer;border:0;border-radius:14px;padding:10px 16px;position:fixed;bottom:12px;right:14px;box-shadow:0 5px #c99a1e}.fb-open:active{translate:0 3px;box-shadow:0 2px #c99a1e}.fb-open:focus-visible,.modal button:focus-visible,.modal input:focus-visible,.modal textarea:focus-visible{outline:3px solid var(--pop);outline-offset:2px}.toast{background:var(--panel);border-radius:12px;padding:10px 18px;font-weight:700;position:fixed;bottom:70px;left:50%;translate:-50%}.modal{z-index:50;background:#1410208c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[hidden]{display:none}.panel{background:var(--cream);width:min(520px,100%);max-height:calc(100vh - 32px);color:var(--ink);border-radius:20px;gap:8px;padding:20px 22px;display:grid;overflow:auto;box-shadow:0 10px #00000040}.panel.wide{width:min(640px,100%)}.panel h2{font:400 1.7rem var(--display);margin:0 0 4px}.panel img{border-radius:10px;width:100%;display:block}.panel .where{opacity:.6;font-size:.8rem}.panel label{margin-top:4px;font-size:.9rem;font-weight:700}.panel input,.panel textarea{font:500 1rem var(--body);color:var(--ink);resize:vertical;background:#fff;border:2px solid #d8cfe8;border-radius:10px;padding:8px 10px}.panel .row{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.panel button{font:700 1rem var(--body);background:var(--royal);color:var(--cream);cursor:pointer;border:0;border-radius:12px;padding:9px 18px}.panel button.ghost{color:var(--ink);background:0 0;border:2px solid #d8cfe8}.panel .hint{opacity:.6;margin:0;font-size:.8rem}.panel .hint kbd{background:#1d1a2b14;border-color:#1d1a2b33}.log section+section{border-top:2px dashed #d8cfe8;margin-top:10px;padding-top:6px}.log h3{font:400 1.25rem var(--display);align-items:baseline;gap:10px;margin:6px 0;display:flex}.log h3 small{font:500 .85rem var(--body);opacity:.6}.log h4{margin:8px 0 2px}.log p,.log li{line-height:1.45}.log ul{margin:4px 0;padding-left:1.2em}.log code{background:#1d1a2b14;border-radius:4px;padding:0 4px}@media (width<=640px){.hud .name{font-size:1.1rem}.hud .money{min-width:0;font-size:.9rem}.badge .keys{display:none}}
