@import "https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{color:#2d2116;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fdf6ea;font-family:Chakra Petch,sans-serif;font-weight:500;line-height:1.4}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 20%,#f7954066,#0000 35%),radial-gradient(circle at 80% 12%,#fdcd7859,#0000 40%),linear-gradient(#fff9ee,#f7e7d0 65%,#f3dfbf);min-height:100vh;margin:0}#root{min-height:100vh}.app-shell{box-sizing:border-box;width:min(1100px,100%);margin:0 auto;padding:24px}.game-over-overlay{z-index:3;color:#fff8e8;text-align:center;background:linear-gradient(140deg,#7a1c0ff2,#ab2f17f2);border-radius:16px;min-width:min(420px,90%);padding:10px 24px 20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 30px #3c140c59}.game-over-overlay h2{letter-spacing:.08em;margin:0;font-family:IBM Plex Mono,monospace;font-size:clamp(1.5rem,4vw,2rem)}.game-over-overlay p{margin:6px 0 8px;font-family:IBM Plex Mono,monospace;font-size:1rem}.game-over-enhancements{text-align:left;background:#ffffff1f;border-radius:10px;margin:0 0 16px;padding:10px 14px}.game-over-enhancements-title{text-align:center;text-transform:uppercase;letter-spacing:.04em;opacity:.85;margin:0 0 6px;font-family:IBM Plex Mono,monospace;font-size:.85rem}.game-over-enhancements ul{margin:0;padding:0;font-family:IBM Plex Mono,monospace;font-size:.85rem}.game-over-enhancements li{margin-bottom:4px}.game-over-overlay button{color:#fff8e8;cursor:pointer;background:#ffffff26;border:1px solid #ffffff73;border-radius:999px;padding:8px 14px;font-family:IBM Plex Mono,monospace}.game-over-overlay button.enhancement-button{color:#fff8e8;text-align:center;background:#ffffff26;border:0;border-radius:10px;padding:12px 14px;font-size:.9rem}.game-over-overlay button.enhancement-button .enhancement-cost{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.game-over-overlay button.enhancement-button:hover{background:#ffffff40}.game-over-overlay button.share-score-button{margin:10px auto 0;display:block}.share-fallback{border-top:1px solid #ffffff40;margin-top:14px;padding-top:12px}.share-fallback p{margin:0 0 8px;font-size:.85rem}.share-fallback-links{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.share-fallback-links a{color:#fff8e8;background:#ffffff26;border:1px solid #ffffff73;border-radius:999px;padding:6px 12px;font-family:IBM Plex Mono,monospace;font-size:.85rem;text-decoration:none}.share-fallback-links a:hover{background:#ffffff40}.black-hole-warning{z-index:2;pointer-events:none;color:#ffce6b;letter-spacing:.02em;white-space:nowrap;opacity:1;background:#0a0a0ad1;border-radius:999px;padding:8px 16px;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:700;transition:opacity .5s;position:absolute;top:12px;left:50%;transform:translate(-50%)}.black-hole-warning.is-fading{opacity:0}.clear-all-bonus-banner{z-index:2;pointer-events:none;color:#b6f0a1;letter-spacing:.02em;white-space:nowrap;background:#0a0a0ad1;border-radius:999px;padding:8px 16px;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:700;position:absolute;top:56px;left:50%;transform:translate(-50%)}.black-hole-overlay{z-index:3;color:#fff8e8;text-align:center;background:linear-gradient(140deg,#0a0a0af2,#3b2252f2);border-radius:16px;min-width:min(420px,90%);padding:20px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 30px #00000073}.black-hole-sad-face{margin-bottom:8px;font-size:2.5rem;line-height:1;display:block}.black-hole-overlay p{margin:8px 0;font-family:IBM Plex Mono,monospace;font-size:1rem}.black-hole-overlay button{color:#fff8e8;cursor:pointer;background:#ffffff26;border:1px solid #ffffff73;border-radius:999px;margin-top:12px;padding:8px 14px;font-family:IBM Plex Mono,monospace}.status-bar{justify-content:center;align-items:center;gap:18px;margin-bottom:16px;display:flex}.status-bar h1{text-align:center;margin:0;font-size:clamp(2rem,4vw,3rem)}.status-bar p{letter-spacing:.05em;text-transform:uppercase;color:#6d4f2a;margin:0;font-family:IBM Plex Mono,monospace}.controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;display:flex}.controls button{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(140deg,#c4520d,#f27a1f);border:0;border-radius:999px;padding:8px 12px;font-family:IBM Plex Mono,monospace;font-size:.85rem}.controls button:hover{filter:brightness(1.05)}.controls button:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.2)}.pill{background:#ffffffb8;border:1px solid #7d572c40;border-radius:999px;padding:6px 10px;font-family:IBM Plex Mono,monospace;font-size:.8rem}.coin-pill{align-items:center;gap:6px;display:inline-flex}.coin-icon{width:16px;height:16px}.coin-icon-tight{margin-right:2px}.controls .hamburger-button{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.controls .hamburger-button svg{width:18px;height:18px}.game-stage{box-sizing:border-box;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fff6e699;border:1px solid #694a254d;border-radius:16px;width:100%;padding:12px;position:relative}.center-start-overlay{z-index:2;flex-direction:column;align-items:center;gap:14px;width:min(320px,80%);display:flex;position:absolute;top:calc(50% - 92px);left:50%;transform:translate(-50%,-50%)}.center-start-instruction{color:#6d4f2a;text-align:center;background:#ffffffd9;border-radius:12px;margin:0;padding:10px 16px;font-family:IBM Plex Mono,monospace;font-size:.9rem;box-shadow:0 6px 16px #78360c26}.center-start-button{letter-spacing:.04em;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(140deg,#c4520d,#f27a1f);border:0;border-radius:999px;padding:20px 34px;font-family:IBM Plex Mono,monospace;font-size:1.35rem;box-shadow:0 10px 24px #78360c47}.center-start-button:hover{filter:brightness(1.05)}.help-drawer{z-index:20;background:linear-gradient(170deg,#fff7e9,#f6dfb8 70%);border-left:1px solid #6b482059;flex-direction:column;width:min(340px,92vw);height:100vh;padding:22px 18px;transition:transform .26s;display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(103%);box-shadow:-12px 0 28px #0000001f}.help-drawer-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding-bottom:28px;overflow-y:auto}.help-close-button{color:#4f3a22;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffffb3;border:1px solid #4f3a2240;border-radius:8px;width:32px;height:32px;font-family:IBM Plex Mono,monospace;font-size:.9rem;position:absolute;top:10px;right:10px}.help-close-button:hover{background:#ffffffe6}.help-drawer.open{transform:translate(0)}.help-drawer h2{margin:0 0 12px}.help-drawer p{color:#4f3a22;margin:0 0 10px}.menu-item-button{color:#6b1f14;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c4520d1f;border:0;border-radius:10px;width:100%;margin-bottom:10px;padding:12px 14px;font-family:IBM Plex Mono,monospace;font-size:.9rem;display:block}.menu-view-qr{text-align:center}.qr-code-image{background:#fff;border:1px solid #6b482040;border-radius:12px;margin:0 auto 10px;padding:10px;display:block}.qr-code-label{color:#4f3a22;margin:0 0 16px;font-family:IBM Plex Mono,monospace;font-size:.85rem}.menu-view-qr .share-score-button{color:#6b1f14;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c4520d1f;border:0;border-radius:10px;padding:10px 18px;font-family:IBM Plex Mono,monospace;font-size:.9rem}.menu-view-qr .share-score-button:hover{background:#c4520d33}.menu-view-qr .share-fallback{border-top-color:#6b482040}.menu-view-qr .share-fallback p{color:#4f3a22}.menu-view-qr .share-fallback-links a{color:#6b1f14;background:#c4520d1f;border-color:#6b1f144d}.menu-view-qr .share-fallback-links a:hover,.menu-item-button:hover{background:#c4520d33}.menu-item-button:disabled{cursor:not-allowed;opacity:.45}.menu-back-button{color:#6b1f14;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin-bottom:14px;padding:0;font-family:IBM Plex Mono,monospace;font-size:.85rem;display:block}.enhancement-list{margin:0;padding:0;list-style:none}.enhancement-item{margin-bottom:12px}.enhancement-button{color:#6b1f14;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#c4520d1f;border:0;border-radius:10px;width:100%;padding:12px 14px;font-family:IBM Plex Mono,monospace;font-size:.9rem;display:block}.enhancement-button:hover:not(:disabled){background:#c4520d33}.enhancement-button:disabled{cursor:not-allowed;opacity:.45}.enhancement-active-tag{color:#2e7d32;background:#43a0472e;border-radius:999px;margin-top:6px;padding:2px 10px;font-family:IBM Plex Mono,monospace;font-size:.75rem;display:inline-block}.score-history-list{max-height:60vh;margin:0;padding:0;list-style:none;overflow-y:auto}.help-enhancement-list{margin:0;padding-left:18px;font-size:.9rem}.help-enhancement-list li{margin-bottom:6px}.score-history-entry{color:#4f3a22;border-radius:6px;justify-content:space-between;gap:12px;margin-bottom:4px;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:.85rem;display:flex}.score-history-score{font-weight:700}.score-history-empty{color:#6d4f2a;font-family:IBM Plex Mono,monospace;font-size:.85rem}.ad-slot{box-sizing:border-box;text-align:center;width:100%;margin-top:16px;overflow:hidden}.game-stage canvas{touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;height:auto;display:block;box-shadow:inset 0 0 0 1px #00000014}.charge-bar{background:#fff9;border-radius:999px;width:100%;height:12px;margin-top:10px;overflow:hidden;box-shadow:inset 0 0 0 1px #694a254d}.charge-bar-fill{background:#d95d18;border-radius:999px;height:100%}@media (width<=720px){.app-shell{padding:14px}.center-start-overlay{top:calc(50% - 76px)}.center-start-button{padding:16px 26px;font-size:1.15rem}.status-bar{flex-direction:column;align-items:center}}
