:root{font-family:"Press Start 2P",VT323,Lucida Console,Monaco,monospace;line-height:1.4;font-weight:400;color:#2a1a2a;background-color:#fef3f7;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff2f7,#ffe5ee 45%,#ffd5e3);color:inherit}#app{min-height:100vh}.game-shell{min-height:100vh;display:flex;flex-direction:column;padding:24px clamp(16px,4vw,48px) 36px;background-image:linear-gradient(transparent 90%,#ffffff59),repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 2px,transparent 2px 6px)}.top-bar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}.logo-card{display:flex;gap:12px;align-items:center;padding:12px 16px;border:2px solid #2a1a2a;background:#fff7fb;box-shadow:6px 6px #2a1a2a}.logo-icon{font-size:26px}.logo-title{margin:0;font-size:14px}.logo-sub{margin:4px 0 0;font-size:10px;color:#7c466f}.score-card{display:flex;gap:16px;padding:12px 16px;border:2px solid #2a1a2a;background:#fff0f6;box-shadow:6px 6px #2a1a2a;font-size:11px}.screen-frame{flex:1;display:flex}.screen{width:100%;animation:pop-in .42s ease}@keyframes pop-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.hero{max-width:860px;margin:0 auto;padding:32px;border:3px solid #2a1a2a;background:#fff;box-shadow:10px 10px #2a1a2a}.hero h1{margin:16px 0 12px;font-size:clamp(22px,4vw,34px)}.hero-copy{font-size:12px;color:#6d3c63;margin-bottom:24px}.chip{display:inline-block;padding:6px 10px;border:2px solid #2a1a2a;background:#ffe1ee;font-size:10px}.hero-actions{display:grid;gap:24px}.rules{border:2px dashed #2a1a2a;padding:16px;font-size:10px;background:#fff7fb}.rules ul{margin:8px 0 0;padding-left:18px}.btn{border:2px solid #2a1a2a;padding:12px 18px;font-family:inherit;font-size:12px;cursor:pointer;text-transform:uppercase;letter-spacing:.04em;box-shadow:4px 4px #2a1a2a;background:#fff0f6;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #2a1a2a}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none;box-shadow:4px 4px #2a1a2a}.btn.primary{background:#ff87b9;color:#2a1a2a}.btn.danger{background:#ffb14d}.btn.ghost{background:#fff}.game-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.game-header h2{margin:12px 0 6px;font-size:clamp(18px,3vw,26px)}.muted{color:#7c466f;font-size:11px}.goal{margin-top:10px;font-size:11px;color:#2a1a2a}.mini-legend{font-size:10px;display:grid;gap:6px;text-align:right}.game-card,.result-card,.final-card{border:3px solid #2a1a2a;background:#fff;box-shadow:8px 8px #2a1a2a;padding:24px;display:grid;gap:20px}.reaction-pad{border:3px solid #2a1a2a;height:180px;display:grid;place-items:center;background:#ffcadf;font-size:22px;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:uppercase;box-shadow:inset 0 0 0 4px #fff}.reaction-pad.ready{background:#b8ffb8}.reaction-pad.tooSoon{background:#ffd27b}.game-info{font-size:11px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.typing-box{display:grid;gap:12px}.typing-phrase{font-size:12px;padding:12px;border:2px dashed #2a1a2a;background:#fff7fb}.typing-input{border:2px solid #2a1a2a;padding:12px;font-family:inherit;font-size:12px;background:#fff}.memory-grid{display:grid;--memory-tile-size: clamp(42px, 18vw, 54px);grid-template-columns:repeat(3,var(--memory-tile-size));gap:clamp(6px,2vw,8px);justify-content:center}.memory-tile{width:var(--memory-tile-size);aspect-ratio:1 / 1;border:2px solid #2a1a2a;background:#fff0f6;font-size:16px;cursor:pointer}.memory-tile.active{background:#ff87b9}.aim-field{position:relative;height:260px;border:3px solid #2a1a2a;background:repeating-linear-gradient(135deg,#fff7fb 0 12px,#ffe1ee 12px 24px);overflow:hidden}.aim-target{position:absolute;transform:translate(-50%,-50%);border:2px solid #2a1a2a;background:#ff87b9;width:48px;height:48px;font-size:20px;cursor:pointer;box-shadow:4px 4px #2a1a2a}.timing-track{position:relative;height:64px;border:3px solid #2a1a2a;background:#fff7fb;overflow:hidden}.timing-target{position:absolute;top:0;bottom:0;width:16%;background:#b8ffb8;border-left:2px dashed #2a1a2a;border-right:2px dashed #2a1a2a}.timing-slider{position:absolute;top:8px;width:18px;height:48px;background:#ff87b9;border:2px solid #2a1a2a}.maze-board{display:grid;--maze-cell-size: clamp(12px, 3.2vw, 18px);grid-template-columns:repeat(var(--maze-size),var(--maze-cell-size));grid-auto-rows:var(--maze-cell-size);justify-content:center;border:3px solid #2a1a2a;background:#fff7fb}.maze-cell{display:grid;place-items:center;font-size:clamp(10px,2.5vw,12px)}.maze-cell.wall{background:#2a1a2a}.maze-cell.path{background:#fff}.maze-cell.exit{background:#b8ffb8}.result-card,.final-card{max-width:520px;margin:0 auto;text-align:center}.final-card{position:relative;overflow:hidden}.final-content{position:relative;z-index:1}.final-hearts{position:absolute;inset:0;pointer-events:none;z-index:0}.pixel-heart{position:absolute;left:var(--x);bottom:-12%;font-size:calc(var(--size) * 1.35);color:#ff2f86;text-shadow:2px 2px 0 #2a1a2a,0 0 10px rgba(255,47,134,.7);transform:translate(-50%);animation:pixel-heart-rise var(--duration) ease-in infinite;animation-delay:var(--delay);opacity:0}@keyframes pixel-heart-rise{0%{transform:translate(-50%) scale(1);opacity:0}10%{opacity:1}80%{opacity:1}to{transform:translate(-50%,-140%) scale(1.2);opacity:0}}.result-actions,.final-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.result-detail,.final-message{font-size:12px;color:#6d3c63}@media(max-width:720px){.top-bar,.game-header{flex-direction:column;align-items:flex-start}.score-card{width:100%;justify-content:space-between}.game-info{flex-direction:column}.game-card{padding:18px}}
