html,body{background:#10141a;width:100%;height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#app{width:100vw;height:100vh;position:relative}#game-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}#hud{pointer-events:none;color:#f0f0f0;position:absolute;inset:0}#hud .ink-bar{background:repeating-linear-gradient(90deg, #f0f0f02e 0 var(--ink-dash), transparent var(--ink-dash) var(--ink-period));height:5px;position:absolute}#hud .ink-bar-fill{background:repeating-linear-gradient(90deg, #f0f0f0 0 var(--ink-dash), transparent var(--ink-dash) var(--ink-period));width:100%;height:100%}#hud .ink-bar.low .ink-bar-fill{background:repeating-linear-gradient(90deg, #ffb347 0 var(--ink-dash), transparent var(--ink-dash) var(--ink-period))}#hud.editing .ink-bar{display:none}#hud .top-bar{text-shadow:0 1px 3px #000c;justify-content:space-between;align-items:center;font-size:18px;display:flex;position:absolute;top:12px;left:12px;right:12px}#hud button{pointer-events:auto;color:#f0f0f0;cursor:pointer;background:#2b3444;border:1px solid #46536a;border-radius:6px;padding:6px 14px;font-size:14px}#hud button:hover{background:#384258}#hud .top-buttons{gap:8px;display:flex}#hud.editing .restart-btn,#hud.editing .levels-btn,#hud.editing .mode-buttons{display:none}#hud .mode-buttons{align-items:center;display:flex;position:absolute;transform:translate(-50%,-50%)}#hud button.mode-btn{pointer-events:auto;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0;overflow:hidden}#hud button.mode-btn:hover:not(:disabled){filter:brightness(1.15);background:0 0}#hud button.mode-btn:disabled{cursor:default}#hud button.select-all-btn:disabled img,#hud button.select-none-btn:disabled img,#hud button.bang-btn:disabled img{filter:grayscale()brightness(.6)}#hud .mode-btn img{width:100%;height:100%;display:block}#hud button.select-none-btn,#hud .mode-buttons.selection-locked .select-all-btn{display:none}#hud .home-percent{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 2px 6px #000000d9;pointer-events:none;justify-content:center;align-items:center;font-weight:800;line-height:1;transition:color .25s;display:flex;position:relative}#hud .home-percent.complete{color:#7dffa0;animation:.6s ease-out home-swell}@keyframes home-swell{0%{transform:scale(1)}35%{transform:scale(1.55)}to{transform:scale(1)}}#hud .home-particle{pointer-events:none;background:#7dffa0;border-radius:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;animation:.7s ease-out forwards home-burst;position:absolute;top:50%;left:50%;box-shadow:0 0 7px #7dffa0}@keyframes home-burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(.3);opacity:0}}#hud .level-picker{box-sizing:border-box;pointer-events:auto;background:#10141a;flex-direction:column;align-items:center;gap:24px;padding:32px 16px;display:none;position:absolute;inset:0;overflow-y:auto}#hud .level-picker.visible{display:flex}#hud .level-picker h1{align-items:flex-end;gap:12px;margin:0;display:flex}#hud .picker-title .title-word{color:#fff;text-shadow:0 2px 6px #0009;font-size:40px}#hud .crumb-trail{align-items:flex-end;gap:9px;margin-bottom:9px;display:flex}#hud .crumb{background:#fff;border-radius:50%;animation:1.8s ease-in-out infinite crumb-pulse;box-shadow:0 0 6px #ffffff80}@keyframes crumb-pulse{0%,to{opacity:.35;transform:translateY(1px)scale(.85)}50%{opacity:1;transform:translateY(-1px)scale(1.1)}}#hud .picker-grid{flex:auto;grid-auto-rows:1fr;gap:18px;width:100%;min-height:0;display:grid}#hud button.picker-tile{cursor:pointer;background:#1b2230;border:1px solid #46536a;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:0;padding:12px;display:flex;position:relative;overflow:hidden}#hud button.picker-tile:hover:not(:disabled){background:#26304a;border-color:#7dffa0}#hud button.picker-tile.locked{opacity:.35;filter:grayscale(.7);cursor:default}#hud .picker-tile canvas{object-fit:contain;border-radius:4px;flex:1 1 0;width:100%;min-height:0}#hud .picker-label{color:#cfe3ff;font-size:14px}#hud .picker-badge{color:#7dffa0;text-shadow:0 1px 3px #000c;font-size:36px;line-height:1;position:absolute;top:4px;right:8px}#hud .picker-percent{color:#7dffa0;text-shadow:0 1px 3px #000c;font-size:14px;font-weight:600;position:absolute;top:42px;right:8px}#hud .picker-badge.partial,#hud .picker-percent.partial{color:#ffb347}#hud .picker-actions{gap:12px;display:flex}#hud button.picker-clear{opacity:.8;font-size:13px}#hud .leaderboard-panel{box-sizing:border-box;background:#080a0ed9;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}#hud .leaderboard-panel.visible{display:flex}#hud .leaderboard-card{box-sizing:border-box;background:#161c26;border:1px solid #46536a;border-radius:12px;flex-direction:column;gap:14px;width:min(460px,92vw);max-height:85vh;padding:24px 28px;display:flex;box-shadow:0 12px 40px #00000080}#hud .leaderboard-card h2{color:#7dffa0;margin:0;font-size:26px}#hud .lb-sub{color:#9fb0c8;margin:-8px 0 0;font-size:13px}#hud .lb-name-row{gap:8px;display:flex}#hud .lb-name-input{color:#f0f0f0;pointer-events:auto;background:#0e131b;border:1px solid #46536a;border-radius:6px;flex:auto;min-width:0;padding:8px 12px;font-size:15px}#hud .lb-list{color:#cfe3ff;flex-direction:column;gap:4px;min-height:60px;display:flex;overflow-y:auto}#hud .lb-row{background:#1b2230;border-radius:6px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}#hud .lb-row.me{background:#1e3a2b;outline:1px solid #7dffa0}#hud .lb-rank{text-align:right;color:#9fb0c8;font-variant-numeric:tabular-nums}#hud .lb-player{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#hud .lb-total{color:#7dffa0;font-variant-numeric:tabular-nums;font-weight:700}#hud .lb-close{align-self:center}#hud .overlay-buttons{gap:12px;display:flex}#hud .editor-panel{pointer-events:auto;background:#141a23e0;border:1px solid #46536a;border-radius:8px;flex-direction:column;align-items:center;gap:10px;max-height:calc(100% - 72px);padding:10px 8px;display:none;position:absolute;top:56px;left:12px;overflow-y:auto}#hud.editing .editor-panel{display:flex}#hud .editor-tools{flex-direction:column;gap:6px;display:flex}#hud button.editor-tool{width:44px;height:44px;padding:0;font-size:22px;line-height:1}#hud button.editor-tool.selected{background:#384258;outline:2px solid #7dffa0}#hud .editor-selected{text-align:center;color:#cfe3ff;font-size:12px}#hud .editor-dims{flex-direction:column;gap:4px;width:100%;display:flex}#hud .editor-dim{align-items:center;gap:4px;display:flex}#hud .editor-dim-label{color:#9fb0c8;width:12px;font-size:11px}#hud .editor-dim button{width:22px;height:22px;padding:0;font-size:14px;line-height:1}#hud .editor-dim input{text-align:center;color:#cfe3ff;-moz-appearance:textfield;background:#222b3d;border:1px solid #384258;border-radius:4px;flex:1;width:30px;min-width:0;padding:3px 0;font-size:12px}#hud .editor-dim input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#hud .editor-dim input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}#hud .editor-actions{flex-direction:column;gap:6px;width:100%;display:flex}#hud .editor-actions button{width:100%;padding:6px 0;font-size:12px}#hud .editor-status{text-align:center;color:#9fb0c8;max-width:76px;min-height:14px;font-size:11px}#hud .editor-status.error{color:#ff6b6b}#hud .overlay-message{pointer-events:auto;background:#0a0c10b8;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:none;position:absolute;inset:0}#hud .overlay-message.visible{display:flex}#hud .overlay-message h1{margin:0;font-size:36px}#hud .overlay-message.fail h1{color:#ff6b6b}#hud .overlay-message.win h1{color:#7dffa0}#hud .overlay-percent{color:#7dffa0;text-shadow:0 1px 3px #000c;font-size:22px;font-weight:600}#hud .overlay-percent.partial{color:#ffb347}#hud .level-prompt{color:#cfe3ff;margin-top:10px;font-size:15px}#hud .level-prompt:empty{display:none}#hud .level-intro{box-sizing:border-box;pointer-events:none;justify-content:center;align-items:center;padding:24px;display:none;position:absolute;inset:0}#hud .level-intro.visible{display:flex}#hud .level-intro-card{text-align:center;pointer-events:auto;background:#141a23f5;border:1px solid #46536a;border-radius:10px;flex-direction:column;align-items:center;gap:16px;max-width:560px;padding:20px 24px;display:flex;box-shadow:0 8px 24px #00000073}#hud .level-intro-prompt{color:#f0f0f0;font-size:20px}#hud button.level-intro-btn{padding:8px 28px;font-size:15px}
