:root{--bg: #0a0b0d;--surface: #111318;--surface-2: #1a1d25;--border: #2a2d38;--accent: #f0c040;--accent-2: #4ade80;--danger: #ef4444;--text-primary: #f0f2f8;--text-secondary: #8b90a0;--text-muted: #4a4f62;--font-display: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;background:var(--bg);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;background:none;color:inherit;touch-action:manipulation}input{font-family:var(--font-body);color:var(--text-primary)}a{color:inherit;text-decoration:none}.app{display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto;position:relative}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;padding-top:calc(8px + var(--safe-top));background:var(--surface);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0}.topbar-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;opacity:.8;transition:opacity .15s ease;font-size:14px;line-height:1;cursor:pointer}.topbar-btn:active{opacity:1}.topbar-timer{font-size:11px;font-family:var(--font-mono)}@media(hover:hover){.topbar-btn:hover{opacity:1}}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;padding-bottom:calc(72px + var(--safe-bottom));padding-top:16px}.page-transition{transition:opacity .15s ease,transform .15s ease}.page-transition.enter{opacity:1;transform:translateY(0)}.page-transition.exit{opacity:0;transform:translateY(6px)}@keyframes resultSlide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;padding:8px 0;padding-bottom:calc(8px + var(--safe-bottom));z-index:100}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;min-width:64px;border-radius:var(--radius-sm);transition:color .15s ease;color:var(--text-muted);font-size:10px;font-weight:500}.nav-item.active{color:var(--accent)}.nav-item svg{width:24px;height:24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;min-height:48px;transition:transform .1s ease,box-shadow .1s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#0a0b0d}.btn-primary:active{box-shadow:0 0 20px #f0c0404d}.btn-danger{background:var(--danger);color:#fff}.btn-outline{border:1px solid var(--border);color:var(--text-primary)}.btn-full{width:100%}.input{width:100%;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;min-height:48px;transition:border-color .15s ease}.input:focus{border-color:var(--accent);outline:none}.input-label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.h1{font-family:var(--font-display);font-size:28px;font-weight:800}.h2{font-family:var(--font-display);font-size:22px;font-weight:700}.h3{font-family:var(--font-display);font-size:18px;font-weight:600}.mono{font-family:var(--font-mono)}.text-accent{color:var(--accent)}.text-green{color:var(--accent-2)}.text-danger{color:var(--danger)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}@media(hover:hover){.btn-primary:hover{box-shadow:0 0 16px #f0c04040}.btn-outline:hover{border-color:var(--text-secondary);background:#ffffff08}.card:hover{border-color:#3a3d48}}.btn:disabled{opacity:.5;cursor:not-allowed}.app-content::-webkit-scrollbar{width:4px}.app-content::-webkit-scrollbar-track{background:transparent}.app-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes shimmer{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.skeleton{background:var(--surface-2);border-radius:var(--radius-sm);animation:shimmer 1.5s infinite}.emote-trigger{position:fixed;bottom:80px;right:12px;z-index:200;width:44px;height:44px;border-radius:50%;border:2px solid var(--accent);background:var(--surface);font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:transform .15s}.emote-trigger:active{transform:scale(.9)}.emote-wheel{position:fixed;bottom:130px;right:12px;z-index:201;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:0 4px 20px #0006;animation:emote-wheel-pop .2s ease-out}.emote-wheel-item{width:48px;height:48px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);font-size:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s,background .1s}.emote-wheel-item:hover{background:var(--accent);transform:scale(1.15)}.emote-wheel-item:active{transform:scale(.95)}.emote-float{position:fixed;z-index:300;font-size:56px;pointer-events:none;animation:emote-bounce-up 2s ease-out forwards}@keyframes emote-bounce-up{0%{transform:scale(0) rotate(-10deg);opacity:0}15%{transform:scale(1.3) rotate(5deg);opacity:1}30%{transform:scale(1) rotate(0);opacity:1}70%{transform:scale(1) translateY(-30px);opacity:1}to{transform:scale(.8) translateY(-80px);opacity:0}}@keyframes emote-wheel-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.emote-bar-root{position:relative;display:inline-flex;align-items:center;gap:8px}.emote-toasts{position:absolute;bottom:calc(100% + 8px);right:0;display:flex;flex-direction:column-reverse;gap:4px;pointer-events:none;z-index:100;min-width:140px}.emote-toast{display:flex;align-items:center;gap:6px;background:#0f1014eb;border:1px solid rgba(240,192,64,.3);border-radius:20px;padding:4px 10px 4px 6px;animation:emoteIn .25s cubic-bezier(.34,1.56,.64,1) both,emoteOut .35s ease 3.65s forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;max-width:180px}.emote-toast-player{border-color:#4ade8066;background:#0f1014f2}.emote-toast-emoji{font-size:20px;line-height:1}.emote-toast-from{font-size:11px;font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis}@keyframes emoteIn{0%{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes emoteOut{to{opacity:0;transform:translate(12px)}}.emote-bar-toggle{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .15s;flex-shrink:0}.emote-bar-toggle:hover{background:#ffffff1a;border-color:#f0c04066;transform:scale(1.05)}.emote-bar-toggle-open{background:#f0c04026;border-color:#f0c04080}.emote-picker{position:absolute;bottom:calc(100% + 10px);right:0;background:var(--surface-1, #151720);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;display:flex;flex-wrap:wrap;gap:6px;max-width:220px;box-shadow:0 8px 32px #00000080;z-index:200;animation:emoteIn .2s cubic-bezier(.34,1.56,.64,1) both}.emote-picker-empty{font-size:11px;color:var(--text-muted);white-space:nowrap}.emote-picker-btn{font-size:24px;width:44px;height:44px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,transform .1s}.emote-picker-btn:hover{background:#f0c04026;border-color:#f0c04066;transform:scale(1.15)}.spec-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:500;display:flex;align-items:flex-end;justify-content:center;padding:0 12px 24px;animation:fadeIn .18s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.spec-panel{background:var(--surface-1, #151720);border:1px solid rgba(255,255,255,.1);border-radius:20px 20px 16px 16px;width:100%;max-width:460px;overflow:hidden;animation:slideUp .22s cubic-bezier(.34,1.56,.64,1) both;box-shadow:0 -4px 40px #0006}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.spec-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid rgba(255,255,255,.07)}.spec-header-info{display:flex;align-items:center;gap:8px}.spec-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 6px #4ade80;animation:pulseDot 1.5s ease infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.5}}.spec-player-name{font-size:15px;font-weight:700;color:var(--text-primary)}.spec-label-tag{font-size:9px;font-weight:800;letter-spacing:1px;background:#ef444433;color:#f87171;border:1px solid rgba(239,68,68,.35);border-radius:4px;padding:2px 6px}.spec-close{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:50%;width:28px;height:28px;font-size:12px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.spec-close:hover{background:#ffffff1f;color:var(--text-primary)}.spec-body{padding:20px 16px;min-height:120px;display:flex;align-items:center;justify-content:center}.spec-waiting,.spec-offline{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-muted);font-size:13px}.spec-spinner{width:28px;height:28px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent, #f0c040);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spec-game-state{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.spec-game-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted)}.spec-mult{font-size:48px;font-weight:800;font-family:var(--font-mono, monospace);color:var(--accent, #f0c040);line-height:1}.spec-mult.spec-crash{color:#f87171}.spec-mult.spec-win{color:#4ade80}.spec-status{font-size:13px;color:var(--text-secondary);text-transform:capitalize}.spec-green{color:#4ade80}.spec-red{color:#f87171}.spec-text-muted{color:var(--text-muted)}.spec-mines-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;margin-top:8px;width:100%;max-width:200px}.spec-mine-tile{aspect-ratio:1;border-radius:3px;background:#ffffff12}.spec-mine-tile.safe{background:#4ade8080}.spec-mine-tile.mine{background:#ef444480}.spec-footer{border-top:1px solid rgba(255,255,255,.07);padding:10px 16px;display:flex;align-items:center;justify-content:space-between}.spec-footer-label{font-size:12px;color:var(--text-muted)}
