:root{--bg-color:#0f172a;--text-color:#f8fafc;--card-bg:#1e293b;--primary:#3b82f6;--primary-hover:#2563eb;--danger:#ef4444;--danger-hover:#dc2626;--font-family:system-ui, -apple-system, sans-serif;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);line-height:1.5}#arcade-title{text-align:center;padding:3rem 1rem;font-size:2.5rem}.catalog{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 1rem 3rem;display:grid}.game-card{background-color:var(--card-bg);border-radius:var(--radius);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.game-info h2{margin-bottom:.25rem;font-size:1.25rem}.game-info p{color:#94a3b8;font-size:.875rem}.game-card .primary-btn{margin-top:auto}button,a.primary-btn,a.secondary-btn{cursor:pointer;border-radius:var(--radius);border:none;padding:.75rem 1.5rem;font-family:inherit;font-weight:600;text-decoration:none;transition:background-color .2s,transform .1s;display:inline-block}button:active,a.primary-btn:active,a.secondary-btn:active{transform:scale(.98)}button:focus-visible,a.primary-btn:focus-visible,a.secondary-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.primary-btn{background-color:var(--primary);color:#fff}.primary-btn:hover{background-color:var(--primary-hover)}.secondary-btn{background-color:var(--danger);color:#fff;padding:.5rem 1rem;font-size:.875rem}.secondary-btn:hover{background-color:var(--danger-hover)}#game-container{z-index:100;background-color:#000;flex-direction:column;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.game-overlay{z-index:101;position:absolute;top:1rem;right:1rem}#game-root{flex:1;width:100%;height:100%}#game-root canvas{display:block}.not-found{text-align:center;padding:4rem 1rem}.not-found h1{margin-bottom:1rem;font-size:2rem}.not-found p{color:#94a3b8;margin-bottom:2rem}.invaders-game{--invaders-ink:#f3ead3;--invaders-brass:#e6b85c;width:100%;height:100%;color:var(--invaders-ink);touch-action:none;background:#071d2b;grid-template-rows:auto minmax(0,1fr) auto auto;font-family:Georgia,Times New Roman,serif;display:grid;position:relative;overflow:hidden}.invaders-stage{min-width:0;min-height:0}.invaders-stage canvas{width:100%;height:100%}.invaders-hud{z-index:2;letter-spacing:.06em;background:#0b2937;border-bottom:1px solid #e6b85c73;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:1rem;padding:.7rem clamp(8.5rem,14vw,11rem) .7rem clamp(.8rem,3vw,2rem);display:grid}.invaders-hud span:nth-child(2){color:#b9d8d4;text-align:center;text-transform:uppercase;font-size:.86rem}.invaders-hud span:last-child{text-align:right}.invaders-hud strong{color:var(--invaders-brass);font-variant-numeric:tabular-nums}.invaders-help{color:#b9d8d4;text-align:center;background:#071d2b;margin:0;padding:.45rem 1rem;font-size:.82rem}.invaders-controls{z-index:2;padding:.55rem max(.75rem, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));background:#0b2937;grid-template-columns:repeat(3,minmax(4.5rem,1fr));gap:.55rem;display:none}.invaders-controls button,.invaders-result button{color:#1d251f;background:var(--invaders-brass);cursor:pointer;border:1px solid #bf9142;border-radius:.2rem;min-height:2.75rem;font:700 1rem/1 Georgia,Times New Roman,serif}.invaders-controls button:nth-child(2){color:var(--invaders-ink);background:#9f3b31;border-color:#d87866}.invaders-controls button:hover,.invaders-result button:hover{filter:brightness(1.08)}.invaders-controls button:active{transform:translateY(1px)}.invaders-controls button:focus-visible,.invaders-result button:focus-visible{outline-offset:2px;outline:3px solid #f6d997}.invaders-result{z-index:4;background:#031018d1;place-items:center;padding:1rem;position:absolute;inset:0}.invaders-result:not([hidden]){display:grid}.invaders-result>div{border-block:2px solid var(--invaders-brass);text-align:center;background:#0b2937;width:min(24rem,100%);padding:clamp(1.4rem,5vw,2.5rem);box-shadow:0 1rem 3rem #00000059}.invaders-result h2{color:var(--invaders-brass);margin:0 0 .6rem;font-size:clamp(1.7rem,6vw,2.5rem)}.invaders-result p{margin:0 0 1.25rem}.invaders-result button{padding-inline:1.2rem}@media (hover:none),(pointer:coarse){.invaders-controls{display:grid}.invaders-help{display:none}}@media (width<=34rem){.invaders-hud{grid-template-columns:1fr 1fr;gap:.45rem;padding-left:.65rem;padding-right:9rem;font-size:.85rem}.invaders-hud span:nth-child(2){display:none}}.flappy-plane-game{--plane-navy:#173b4b;--plane-cream:#f5e7bf;--plane-red:#c64e3d;width:100%;height:100%;min-height:0;color:var(--plane-navy);touch-action:none;-webkit-user-select:none;user-select:none;background:#9ccbd2;grid-template-rows:auto minmax(0,1fr) auto auto;font-family:Trebuchet MS,Avenir Next,sans-serif;display:grid;position:relative;overflow:hidden}.flappy-plane-hud{z-index:3;color:#f8edcf;background:var(--plane-navy);letter-spacing:.055em;text-transform:uppercase;border-bottom:3px solid #d6a64c;grid-template-columns:minmax(max-content,1fr) auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.65rem clamp(8.5rem,15vw,11rem) .65rem clamp(.8rem,3vw,2rem);font-size:.9rem;display:grid;box-shadow:0 .3rem 1rem #1a30363d}.flappy-plane-score{text-align:center;font-weight:700}.flappy-plane-status{color:#cde0da;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.flappy-plane-seed{color:#ffd475;font:inherit;font-variant-numeric:tabular-nums;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:#234e5e;border:1px solid #d6a64c;border-radius:.25rem;padding:.35rem .55rem}.flappy-plane-seed:hover{color:#173b4b;background:#ffd475}.flappy-plane-seed:focus-visible{outline-offset:2px;outline:3px solid #ffe29a}.flappy-plane-hud strong{color:#ffd475;font-variant-numeric:tabular-nums;min-width:2ch;font-size:1.25rem;display:inline-block}.flappy-plane-brand{letter-spacing:.12em;font-weight:800}.flappy-plane-brand b{color:#ffd475}.flappy-plane-stage{background:#79b1c7;place-items:stretch stretch;min-width:0;min-height:0;display:grid;overflow:hidden}.flappy-plane-stage canvas{cursor:pointer;touch-action:none;width:100%;height:100%;display:block;box-shadow:0 0 2.5rem #16394347}.flappy-plane-help{z-index:3;color:#e8dfc7;letter-spacing:.025em;text-align:center;background:#294c54;margin:0;padding:.48rem 1rem;font-size:.8rem}.flappy-plane-controls{z-index:3;padding:.55rem max(.75rem, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));background:var(--plane-navy);justify-content:center;display:flex}.flappy-plane-controls button,.flappy-plane-overlay button{color:#fff4d5;background:var(--plane-red);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:2px solid #7e3029;border-radius:.3rem;min-height:3rem;font:800 1rem/1 Trebuchet MS,Avenir Next,sans-serif;box-shadow:inset 0 1px #ffffff40,0 3px #7e3029}.flappy-plane-controls button{width:min(20rem,100%)}.flappy-plane-controls button span{color:#ffd475;margin-right:.4rem;font-size:1.35rem;display:inline-block}.flappy-plane-controls button:hover,.flappy-plane-overlay button:hover{background:#d65a46}.flappy-plane-controls button:active,.flappy-plane-overlay button:active{transform:translateY(2px);box-shadow:inset 0 1px #fff3,0 1px #7e3029}.flappy-plane-controls button:focus-visible,.flappy-plane-overlay button:focus-visible{outline-offset:3px;outline:3px solid #ffe29a}.flappy-plane-overlay{z-index:4;background:#11323e94;place-items:center;padding:clamp(1rem,4vw,2rem);display:grid;position:absolute;inset:0}.flappy-plane-overlay[hidden]{display:none}.flappy-plane-overlay>div{width:min(27rem,100%);color:var(--plane-navy);background:var(--plane-cream);text-align:left;background-image:linear-gradient(#5a442512 1px,#0000 1px);background-size:100% 1.65rem;border:3px solid #d6a64c;border-radius:.45rem;padding:clamp(1.4rem,5vw,2.5rem);box-shadow:0 1.2rem 3rem #0f262e61}.flappy-plane-kicker{color:#986133;letter-spacing:.18em;text-transform:uppercase;margin:0 0 .35rem;font-size:.72rem;font-weight:800}.flappy-plane-overlay h2{color:#183b4a;margin:0 0 .8rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,7vw,3rem);line-height:.98}.flappy-plane-overlay p{margin:0 0 1rem;line-height:1.55}.flappy-plane-overlay button{padding-inline:1.35rem}@media (width<=34rem){.flappy-plane-hud{grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem;padding-left:.65rem;padding-right:8.5rem;font-size:.74rem}.flappy-plane-status{display:none}.flappy-plane-seed{text-overflow:ellipsis;white-space:nowrap;max-width:9.5rem;padding-inline:.4rem;overflow:hidden}.flappy-plane-help{display:none}.flappy-plane-overlay>div{padding:1.25rem}}@media (height<=34rem) and (orientation:landscape){.flappy-plane-help{display:none}.flappy-plane-controls{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));background:0 0;width:8rem;padding:0;position:absolute}.flappy-plane-overlay>div{padding:1rem 1.3rem}.flappy-plane-overlay h2{font-size:1.8rem}.flappy-plane-overlay p{margin-bottom:.65rem}}
