.back-link{margin-bottom:var(--space-xl);color:var(--color-text-muted);transition:color .2s;display:inline-block}.back-link:hover{color:var(--color-accent)}.game-container{margin:0 auto}.game-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.game-header h1{align-items:center;gap:var(--space-sm);font-size:1.75rem;display:flex}.scores{gap:var(--space-lg);flex-wrap:wrap;display:flex}.score-item{text-align:center}.score-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.75rem;display:block}.score-value{color:var(--color-accent);font-size:1.35rem;font-weight:700}.game-area{background:var(--color-bg-secondary);border:2px solid var(--color-border);border-radius:1rem;position:relative;overflow:hidden}.game-area,.game-overlay{--color-text:#e5e5e5;--color-text-muted:#a3a3a3;--color-border:#404040;--color-bg-secondary:#1a1a1a;color:var(--color-text)}.canvas-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.game-overlay{padding:var(--space-md);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0;overflow-y:auto}.overlay-content{padding:var(--space-xl);text-align:center;margin:auto}.play-icon{margin-bottom:var(--space-lg);font-size:4rem;display:block}.btn.btn-large{padding:var(--space-md) var(--space-2xl);font-size:1.1rem}.final-stats{font-size:1.1rem}.hint{margin-top:var(--space-sm);color:var(--color-text-muted);text-align:center;font-size:.75rem}.btn.sound-btn{padding:var(--space-xs) var(--space-sm);justify-content:center;min-width:44px;min-height:44px;font-size:1.1rem;line-height:1}.btn.sound-btn.muted{opacity:.45;text-decoration:line-through}@media (width<=600px){.game-header{text-align:center;justify-content:center}.game-area:has(.game-overlay:not([style*=none])){min-height:30rem}.game-area .game-overlay .overlay-content{padding:var(--space-md)}.game-area .game-overlay .play-icon{margin-bottom:var(--space-sm);font-size:2.5rem}}.hs-panel{font-family:var(--font-mono);margin:var(--space-lg) auto;max-width:300px;padding:var(--space-md) var(--space-lg);text-align:center;border:1px solid color-mix(in srgb, var(--hs-accent) 45%, transparent);box-shadow:inset 0 0 24px #0009, 0 0 14px color-mix(in srgb, var(--hs-accent) 18%, transparent);background:linear-gradient(#0c1018 0%,#10141f 100%);border-radius:.6rem}.hs-panel .hs-new{color:var(--hs-accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--space-sm);font-size:.9rem;font-weight:700;animation:1s step-end infinite hsBlink}@keyframes hsBlink{50%{opacity:.35}}.hs-panel .hs-prompt{color:#ffffffbf;text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-sm);font-size:.7rem;display:block}.hs-panel .hs-entry-row{justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-lg);display:flex}.hs-panel .hs-input{text-align:center;text-transform:uppercase;letter-spacing:.35em;width:5.5ch;color:var(--hs-accent);border:2px solid var(--hs-accent);caret-color:var(--hs-accent);background:#0009;border-radius:.4rem;padding:.35rem .5rem;font-family:inherit;font-size:1.4rem;font-weight:700}.hs-panel .hs-input:focus{outline:2px solid var(--hs-accent);outline-offset:2px}.hs-panel .hs-ok{color:#0a0a0a;background:var(--hs-accent);cursor:pointer;border:none;border-radius:.4rem;padding:.35rem .9rem;font-family:inherit;font-size:1rem;font-weight:700}.hs-panel .hs-ok:hover{filter:brightness(1.15)}.hs-panel .hs-record{color:var(--hs-accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-sm);font-size:.8rem;font-weight:700}.hs-panel .hs-title{color:var(--hs-accent);text-transform:uppercase;letter-spacing:.25em;text-shadow:0 0 8px var(--hs-accent);margin-bottom:var(--space-sm);font-size:.85rem;font-weight:700}.hs-panel .hs-list{max-height:12.5rem;margin:0;padding:0;list-style:none;overflow-y:auto}.hs-panel .hs-row{justify-content:space-between;gap:var(--space-md);color:#ffffffd9;white-space:pre;padding:.15rem .4rem;font-size:.85rem;display:flex}.hs-panel .hs-row.hs-current{color:var(--hs-accent);background:color-mix(in srgb, var(--hs-accent) 16%, transparent);border-radius:.25rem;animation:1s step-end 3 hsBlink}.hs-panel .hs-rank{text-align:right;opacity:.7;width:2.5ch}.hs-panel .hs-initials{text-align:left;letter-spacing:.3em;flex:1}.hs-panel .hs-empty,.hs-panel .hs-note{color:#fff9;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem}
