:root{--wood-dark: #3b2415;--wood-mid: #6b3f21;--wood-light: #9c6a3c;--wood-grain: #5a3419;--gold: #e8b84b;--gold-dim: #b5872f;--cream: #f3e3c3;--blood-red: #c0392b;--leaf-green: #7fae3e;--shadow: rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none;background:#10090a;font-family:Trebuchet MS,Segoe UI,sans-serif;color:var(--cream);-webkit-tap-highlight-color:transparent;touch-action:none}#app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;height:100dvh;width:100vw;overflow:hidden;overscroll-behavior:none}.wood-panel{background:repeating-linear-gradient(100deg,var(--wood-mid) 0px,var(--wood-mid) 6px,var(--wood-grain) 7px,var(--wood-mid) 14px),linear-gradient(160deg,var(--wood-light),var(--wood-dark));border:3px solid var(--wood-dark);border-radius:10px;box-shadow:inset 0 0 12px #00000080,0 6px 14px var(--shadow)}.banner-slot{width:100%;min-height:40px;flex-shrink:0;background:#1c1210;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:5}.banner-slot:empty:after{content:""}#stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;overscroll-behavior:none;touch-action:none}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:linear-gradient(180deg,#070c1714,#070a124d),url(./dojo-CvLJPM4m.png) center / cover no-repeat,#14232d;touch-action:none}#stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;pointer-events:none;opacity:0}#stage.bomb-hit:after{background:radial-gradient(circle at 50% 48%,rgba(255,190,58,.32) 0 2%,rgba(224,55,36,.2) 12%,transparent 42%),#6d140f14;box-shadow:inset 0 0 0 5px #ff6625a6,inset 0 0 50px #ff26124d;animation:bomb-impact .42s ease-out}@keyframes bomb-impact{0%{opacity:.7;transform:scale(.7)}55%{opacity:.45;transform:scale(1.02)}to{opacity:0;transform:scale(1.3)}}#ninja-character{position:absolute;left:18px;bottom:8px;width:76px;height:140px;z-index:4;opacity:.48;pointer-events:none;filter:drop-shadow(0 6px 5px rgba(0,0,0,.55))}.ninja-head,.ninja-body,.ninja-sword{position:absolute;display:block}.ninja-head{top:4px;left:25px;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 60% 35%,#35535a 0,#35535a 18%,#07151a 20%,#07151a);border:2px solid #6f9a8e}.ninja-head:after{content:"";position:absolute;left:-4px;top:14px;width:34px;height:7px;background:#b03f36;transform:rotate(-8deg)}.ninja-body{left:15px;top:30px;width:48px;height:88px;background:linear-gradient(115deg,#07151a 0,#07151a 46%,#1c3940 47%,#1c3940 58%,#07151a 59%);clip-path:polygon(28% 0,72% 0,100% 100%,0 100%);border-bottom:3px solid #7fae9a}.ninja-sword{left:52px;top:13px;width:6px;height:108px;border-radius:6px;background:linear-gradient(90deg,#637c87,#e5f4e7 48%,#73939c);transform:rotate(30deg);box-shadow:0 0 8px #cef0dc8c}#hud{position:absolute;top:env(safe-area-inset-top,0px);left:0;right:0;display:flex;justify-content:space-between;padding:8px 10px;pointer-events:none;z-index:10}#score-panel,#lives-panel{padding:5px 10px;gap:6px;display:flex;align-items:center;gap:10px;pointer-events:none}#time-panel{position:absolute;left:50%;transform:translate(-50%);padding:5px 12px;display:flex;gap:8px;align-items:center}#time-panel.hidden,#lives-panel.hidden{display:none}#time-value{color:#9df1dc;font-weight:800;font-variant-numeric:tabular-nums}.icon-btn{position:absolute;right:10px;top:8px;width:36px;height:34px;border:1px solid rgba(230,204,153,.5);border-radius:7px;color:var(--cream);background:#181e23d1;box-shadow:0 3px 10px var(--shadow);font-size:1rem;cursor:pointer;pointer-events:auto}.icon-btn:active{transform:scale(.94)}.hud-label{font-size:.6rem;letter-spacing:.7px;text-transform:uppercase;letter-spacing:1px;color:var(--gold-dim)}#score-value{font-size:1.05rem;font-weight:700;color:var(--gold);text-shadow:0 2px 0 rgba(0,0,0,.6);min-width:2ch}#lives-icons{display:flex;gap:3px}.life-icon{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff8b7a,var(--blood-red) 70%);box-shadow:inset -2px -2px 3px #0006}.life-icon.lost{background:#3a2a26;box-shadow:inset 0 0 4px #0009;opacity:.5}.combo-banner{font-size:1.25rem;position:absolute;top:70px;left:50%;transform:translate(-50%) scale(1);font-size:1.6rem;font-weight:900;color:var(--gold);text-shadow:0 0 12px rgba(255,190,60,.8),0 2px 0 #000;animation:combo-pop .5s ease-out;pointer-events:none}.combo-banner.hidden{display:none}@keyframes combo-pop{0%{transform:translate(-50%) scale(.4);opacity:0}60%{transform:translate(-50%) scale(1.15);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}.overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(380px,calc(100vw - 28px));padding:22px 18px;text-align:center;z-index:20;display:flex;flex-direction:column;align-items:center;gap:12px}.overlay.hidden{display:none}.title{font-size:1.45rem;margin:0;color:var(--gold);text-shadow:0 3px 0 rgba(0,0,0,.6);letter-spacing:1px}.eyebrow{margin:0;color:#86ddce;font-size:.62rem;font-weight:800;letter-spacing:2px}.mode-picker{width:100%;display:grid;gap:7px}.mode-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:38px;padding:7px 9px;border:1px solid rgba(226,210,172,.18);border-radius:6px;background:#0f171d9e;color:var(--cream);text-align:left;cursor:pointer}.mode-option strong{font-size:.77rem}.mode-option span{color:#c4c4b5;font-size:.64rem;text-align:right}.mode-option.selected{border-color:#78d9c7;background:#28706761;box-shadow:inset 3px 0 #70dac8}.best-line{margin:0;color:#c3b89b;font-size:.62rem;letter-spacing:1px}.best-line strong{margin-left:5px;color:var(--gold);font-size:.78rem}.subtitle{margin:0 0 5px;font-size:.86rem;color:var(--cream);opacity:.9}.btn{width:100%;padding:10px 14px;font-size:.88rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;letter-spacing:.5px;transition:transform .08s ease}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(180deg,var(--gold) 0%,var(--gold-dim) 100%);color:#3b2415;box-shadow:0 4px #7a5a1f,0 6px 10px #0006}.btn-secondary{background:#172026d9;color:var(--cream);border:1px solid rgba(232,184,75,.4)}.btn-revive{background:linear-gradient(180deg,#6fbf4f,#3f8a2c);color:#14260c;box-shadow:0 4px #24551a,0 6px 10px #0006}.ad-status{font-size:.8rem;min-height:1em;opacity:.85}.ad-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0605d9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;z-index:30}.ad-veil.hidden{display:none}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(232,184,75,.25);border-top-color:var(--gold);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 420px){#hud{padding:6px 7px}#score-panel,#lives-panel{padding:4px 8px}.hud-label{font-size:.55rem}#score-value{font-size:.95rem}.life-icon{width:12px;height:12px}.combo-banner{top:48px;font-size:1.1rem}.overlay{padding:18px 14px}.title{font-size:1.3rem}#time-panel{top:52px}}@media (min-width: 800px){#hud{padding:10px 14px}#score-panel,#lives-panel{padding:6px 12px}}
