body{background-color:#000;margin:0;font-family:Courier New,monospace;overflow:hidden}button{font:inherit}button:focus-visible{outline-offset:4px;outline:3px solid #fff}button:disabled{cursor:wait;opacity:.7}#game-container{width:100vw;height:100vh;position:relative;overflow:hidden}#game-canvas,.camera-background,.hand-overlay,#camera-dim-layer{position:absolute;inset:0;width:100%!important;height:100%!important}.camera-background{z-index:0;object-fit:cover;opacity:.14;transform:scaleX(-1)}#camera-dim-layer{display:none}#game-canvas{z-index:2}.hand-overlay{z-index:3;pointer-events:none}#blade-layer{z-index:4;pointer-events:none;position:absolute;inset:0}#info-container{top:calc(env(safe-area-inset-top,0px) + 16px);left:calc(env(safe-area-inset-left,0px) + 16px);z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000094;border:2px solid #39ff14e6;gap:12px;padding:10px 12px;display:flex;position:absolute;box-shadow:0 0 10px #39ff14b3}#score-container,#lives-container{color:#39ff14;font-variant-numeric:tabular-nums;text-shadow:0 0 5px #39ff14;font-size:18px}#performance-hud{top:calc(env(safe-area-inset-top,0px) + 12px);right:calc(env(safe-area-inset-right,0px) + 12px);z-index:8;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#000000b8;border-radius:4px;padding:5px 8px;font-size:11px;position:absolute}.performance-error{color:#ffb3b3;overflow-wrap:anywhere;max-width:min(70vw,420px);margin-top:3px}#start-screen,#game-over,.gesture-start-overlay{z-index:7;box-sizing:border-box;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));color:#fff;text-align:center;background:#00000073;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gesture-start-overlay{z-index:6;pointer-events:none}.gesture-card,#start-screen,#game-over{text-shadow:1px 1px 2px #000}#start-screen h1,#game-over h1,.gesture-card h1{text-transform:uppercase;letter-spacing:2px;margin:0 0 20px}#start-screen h1,.gesture-card h1{color:#f0f;text-shadow:2px 2px #0ff,6px 6px #000;font-size:3.5rem}#game-over h1{color:red;text-shadow:3px 3px #ff0,6px 6px #000;font-size:4rem}#start-screen p,#game-over p,.gesture-card p{max-width:min(520px,90vw);margin:6px 0}.error-message{color:#ffb3b3}#start-button{letter-spacing:2px;text-transform:uppercase;cursor:pointer;color:#000;background-color:#39ff14;border:3px solid #fff;border-radius:0;margin-top:24px;padding:12px 30px;font-size:1.5rem;font-weight:700;transition:transform .2s,background-color .2s,color .2s,box-shadow .2s;box-shadow:0 0 10px #39ff14}#start-button:hover{color:#000;background-color:#fff;transform:scale(1.05);box-shadow:0 0 15px #fff}#final-score{color:#ff0;font-variant-numeric:tabular-nums;text-shadow:0 0 5px #ff0;font-size:2rem}.ok-flash{color:#39ff14;border:5px solid #39ff14;border-radius:999px;place-items:center;width:160px;height:160px;font-size:3rem;font-weight:700;animation:.5s ease-out ok-pulse;display:grid;box-shadow:0 0 36px #39ff14e6}.countdown{color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 0 30px #39ff14e6;font-size:clamp(5rem,22vw,14rem);font-weight:700;animation:.3s ease-out countdown-pop}.blade-trail{pointer-events:none;border-radius:2px;height:5px;position:absolute}.floating-score{z-index:5;font-variant-numeric:tabular-nums;pointer-events:none;text-shadow:0 2px 8px #000c;font-size:2rem;font-weight:700;position:absolute;transform:translate(-50%,-50%)}.floating-score.positive{color:#39ff14}.floating-score.negative{color:#ff4d4d}.icp-link{bottom:calc(env(safe-area-inset-bottom,0px) + 8px);z-index:8;color:#ffffff6b;text-shadow:0 1px 2px #00000080;font-size:12px;line-height:1.4;text-decoration:none;position:absolute;left:50%;transform:translate(-50%)}.icp-link:hover,.icp-link:focus-visible{color:#ffffffb8;text-decoration:underline}@keyframes ok-pulse{0%{opacity:.4;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes countdown-pop{0%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media screen and (width<=768px){#start-screen h1,#game-over h1,.gesture-card h1{font-size:2.5rem}#start-button{padding:10px 20px;font-size:1.2rem}}@media screen and (width<=480px){#start-screen h1,#game-over h1,.gesture-card h1{font-size:2rem}#info-container{flex-direction:column;gap:2px}#score-container,#lives-container{font-size:14px}}
