@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap");:root{--bg-primary:#0a0e1a;--bg-secondary:#111827;--bg-card:rgba(17,24,39,0.8);--bg-glass:rgba(255,255,255,0.05);--border-glass:rgba(255,255,255,0.1);--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent-gold:#f59e0b;--accent-gold-light:#fbbf24;--accent-blue:#3b82f6;--accent-green:#10b981;--accent-red:#ef4444;--accent-purple:#8b5cf6;--player-red:#ef4444;--player-blue:#3b82f6;--player-green:#22c55e;--player-orange:#f97316;--res-wheat:#f59e0b;--res-brick:#dc2626;--res-wood:#16a34a;--res-sheep:#84cc16;--res-ore:#6b7280;--radius:12px;--radius-sm:8px;--radius-lg:16px;--font-body:"Outfit",sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);overflow-x:hidden}.glass{background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius)}.glass-strong{background:rgba(17,24,39,.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:600;font-size:15px;cursor:pointer;transition:all .2s ease;outline:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent-gold),#d97706);color:#1a1a1a;box-shadow:0 4px 14px rgba(245,158,11,.35)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(245,158,11,.5)}.btn-secondary{background:var(--bg-glass);border:1px solid var(--border-glass);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}.btn-danger{background:linear-gradient(135deg,var(--accent-red),#dc2626);color:white}.btn-success{background:linear-gradient(135deg,var(--accent-green),#059669);color:white}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:16px 32px;font-size:17px}.input{width:100%;padding:12px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:15px;outline:none;transition:all .2s ease}.input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px rgba(245,158,11,.15)}.input::placeholder{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(245,158,11,.3)}50%{box-shadow:0 0 20px rgba(245,158,11,.6)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes popIn{0%{opacity:0}50%{opacity:1}to{opacity:1}}@keyframes roadDraw{0%{stroke-dasharray:0 100;opacity:.3}to{stroke-dasharray:100 0;opacity:1}}@keyframes ghostFloat{0%,to{transform:translateY(0);opacity:.45}50%{transform:translateY(-3px);opacity:.7}}@keyframes floatUp{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(-200px);opacity:0}}@keyframes floatDown{0%{transform:translateY(0);opacity:1}70%{opacity:1}to{transform:translateY(200px);opacity:0}}@keyframes svgPulseRing{0%{transform:scale(.45);opacity:.9}50%{transform:scale(1.27);opacity:0}to{transform:scale(.45);opacity:.9}}@keyframes svgExpandPing{0%{transform:scale(.4);opacity:.8}to{transform:scale(1.5);opacity:0}}@keyframes waveSlideRight{0%{transform:translateX(0)}50%{transform:translateX(50px)}to{transform:translateX(0)}}@keyframes waveSlideLeft{0%{transform:translateX(0)}50%{transform:translateX(-50px)}to{transform:translateX(0)}}@keyframes foamPulse{0%,to{opacity:0;transform:scale(.7)}50%{opacity:.7;transform:scale(1.7)}}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-slide-up{animation:slideUp .5s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.25)}.toast{position:fixed;top:20px;right:20px;padding:14px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;z-index:1000;animation:slideUp .3s ease forwards;max-width:360px}.toast-error{background:rgba(239,68,68,.9);border:1px solid rgba(239,68,68,.5);color:white}.toast-success{background:rgba(16,185,129,.9);border:1px solid rgba(16,185,129,.5);color:white}.toast-info{background:rgba(59,130,246,.9);border:1px solid rgba(59,130,246,.5);color:white}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-lg);padding:28px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease}