:root{--bg: #1a0a2e;--panel: rgba(255,255,255,.12);--panel2: rgba(255,255,255,.18);--text: #fff5f5;--muted: rgba(255,245,245,.75);--accent: #ff6b6b;--danger: #ff4757;--ok: #2ed573;--gold: #ffd93d}html,body{height:100%;margin:0;background:linear-gradient(135deg,#1a0a2e,#0d1b2a,#1a0a2e);color:var(--text);font-family:Fredoka One,Comic Sans MS,cursive,sans-serif}#root{height:100%}.app{position:relative;height:100%;display:grid;grid-template-columns:1fr}.game-shell{position:relative;height:100%;overflow:hidden}.phaser-host{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.phaser-host canvas{display:block}.hud{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;display:flex;flex-direction:column;padding:12px}.card{pointer-events:auto;background:linear-gradient(145deg,#8b0000d9,#3c1414e6);border:3px solid #ffd93d;border-radius:16px;padding:12px 16px;box-shadow:0 8px 32px #00000080,inset 0 1px #ffffff1a;max-width:220px}.card.pulse-danger{animation:pulse-red .5s ease-in-out infinite}@keyframes pulse-red{0%,to{border-color:#ffd93d}50%{border-color:#ff4757;box-shadow:0 0 20px #ff475799}}.card-header{font-size:14px;font-weight:700;letter-spacing:.15em;color:var(--gold);margin-bottom:10px;display:flex;align-items:center;gap:8px}.order-content{display:flex;flex-direction:column;gap:8px}.order-item{display:flex;align-items:center;gap:10px;background:#0000004d;padding:8px 12px;border-radius:10px}.item-emoji{font-size:28px}.item-name{font-size:16px;font-weight:700;color:#fff}.order-timer{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700}.timer-icon{font-size:18px}.timer-ok{color:var(--ok)}.timer-danger{color:var(--danger);animation:blink .3s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.deliver-hint{font-size:12px;color:var(--muted);text-align:center;padding-top:4px;border-top:1px solid rgba(255,255,255,.1)}.stats-bar{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;gap:24px;background:linear-gradient(145deg,#006400d9,#003c00e6);border:3px solid var(--gold);border-radius:50px;padding:8px 28px;box-shadow:0 6px 24px #0006}.stat{display:flex;align-items:center;gap:8px}.stat-icon{font-size:22px}.stat-value{font-size:24px;font-weight:700;color:#fff;min-width:60px;text-align:center}.controls-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:20px;background:#0009;border-radius:30px;padding:8px 20px;font-size:13px;color:#fffc}.controls-hint kbd{background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:2px 8px;margin-right:4px;font-family:inherit;font-weight:700}.muted{color:var(--muted)}.accent{color:var(--accent);font-weight:800}.ok{color:var(--ok);font-weight:800}.danger{color:var(--danger);font-weight:800}.title-screen{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#1a3a1a,#0d1f0d,#050f05);position:relative;overflow:hidden}.snow-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.snowflake{position:absolute;top:-20px;font-size:16px;opacity:.8;animation:fall linear infinite}@keyframes fall{to{transform:translateY(110vh) rotate(360deg)}}.title-content{text-align:center;z-index:10}.title-decorations{font-size:32px;margin-bottom:20px;animation:twinkle 2s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.6}}.game-title{font-size:48px;color:#fff;text-shadow:0 4px 20px rgba(255,0,0,.5),0 0 40px rgba(255,215,0,.3);margin:0 0 10px;display:flex;align-items:center;justify-content:center;gap:20px}.title-santa{font-size:56px;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.title-text{background:linear-gradient(180deg,#ff6b6b,#c0392b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-subtitle{font-size:24px;color:var(--gold);margin-bottom:30px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.title-toys{font-size:36px;margin-bottom:40px}.start-button{font-family:inherit;font-size:28px;font-weight:700;color:#fff;background:linear-gradient(180deg,#27ae60,#1e8449);border:4px solid var(--gold);border-radius:50px;padding:16px 48px;cursor:pointer;box-shadow:0 8px 30px #0006,inset 0 2px #fff3;transition:all .2s ease;display:flex;align-items:center;gap:12px;margin:0 auto}.start-button:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000080,inset 0 2px #fff3;background:linear-gradient(180deg,#2ecc71,#27ae60)}.start-button:active{transform:translateY(0)}.button-icon{font-size:24px}.title-hint{margin-top:30px;font-size:16px;color:#ffffffb3}.title-footer{margin-top:40px;font-size:28px;animation:sleighRide 4s ease-in-out infinite}@keyframes sleighRide{0%,to{transform:translate(-20px)}50%{transform:translate(20px)}}.results-screen{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#2a1a1a,#1a0d0d,#0a0505)}.results-content{text-align:center;padding:40px 60px;background:linear-gradient(145deg,#8b000066,#3c141499);border:4px solid var(--gold);border-radius:30px;box-shadow:0 20px 60px #0009}.results-header{font-size:36px;color:var(--gold);margin-bottom:30px;text-shadow:0 4px 20px rgba(255,215,0,.4)}.results-score-section{margin-bottom:30px}.results-label{font-size:18px;color:#ffffffb3;margin-bottom:10px}.results-score{font-size:72px;color:#fff;font-weight:700;text-shadow:0 4px 20px rgba(255,255,255,.3);line-height:1}.results-stars{font-size:48px;margin:20px 0}.results-message{font-size:24px;color:var(--gold)}.results-decorations{font-size:32px;margin:30px 0;opacity:.8}.results-buttons{display:flex;gap:20px;justify-content:center;margin-top:30px}.results-button{font-family:inherit;font-size:20px;font-weight:700;color:#fff;border:3px solid var(--gold);border-radius:40px;padding:14px 32px;cursor:pointer;transition:all .2s ease}.results-button.play-again{background:linear-gradient(180deg,#27ae60,#1e8449)}.results-button.to-title{background:linear-gradient(180deg,#3498db,#2980b9)}.results-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0006}.results-footer{margin-top:30px;font-size:36px}
