.offline-banner{position:fixed;top:0;left:0;right:0;z-index:9999;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px var(--space-md);background:linear-gradient(180deg,#f44a4af2,#cc3636f2);color:#fff;font-family:var(--font-ui);font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;box-shadow:0 2px 12px #00000059;backdrop-filter:blur(6px);animation:offlineBannerSlideDown .3s ease}.offline-banner__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.offline-banner__text{text-align:center}@keyframes offlineBannerSlideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media (max-width: 480px){.offline-banner{padding:8px var(--space-sm);font-size:var(--text-xs)}}:root{--color-bg-deep: #06060f;--color-bg-scene: #0d0d1e;--color-bg-elevated: #12122a;--color-gold-primary: #c9a84c;--color-gold-light: #e8c96a;--color-gold-dim: #7a6030;--color-gold-glow: rgba(201, 168, 76, .35);--color-gold-gradient: linear-gradient(135deg, #c9a84c 0%, #e8c96a 50%, #c9a84c 100%);--color-gold-gradient-h: linear-gradient( 90deg, #7a6030 0%, #c9a84c 30%, #e8c96a 50%, #c9a84c 70%, #7a6030 100% );--color-low-primary: #4ab3f4;--color-low-light: #6cc8ff;--color-low-dim: #2a7ab0;--color-low-bg: #0d2a45;--color-low-glow: rgba(74, 179, 244, .35);--color-low-gradient: linear-gradient(135deg, #2a7ab0 0%, #4ab3f4 50%, #6cc8ff 100%);--color-high-primary: #f4844a;--color-high-light: #ff9e6c;--color-high-dim: #b05a2a;--color-high-bg: #3a1a0d;--color-high-glow: rgba(244, 132, 74, .35);--color-high-gradient: linear-gradient(135deg, #b05a2a 0%, #f4844a 50%, #ff9e6c 100%);--color-bonus-primary: #a855f7;--color-bonus-light: #d946ef;--color-bonus-accent: #ec4899;--color-bonus-dim: #6b21a8;--color-bonus-glow: rgba(168, 85, 247, .4);--color-bonus-gradient: linear-gradient(135deg, #a855f7 0%, #d946ef 50%, #ec4899 100%);--color-panel-bg: #0f0f1e;--color-panel-bg-alpha: rgba(15, 15, 30, .85);--color-panel-border: #1e1e38;--color-panel-border-light: #2a2a50;--color-panel-glass: rgba(15, 15, 30, .6);--color-text-primary: #f0f0f8;--color-text-secondary: #b0b0c8;--color-text-muted: #555580;--color-text-gold: #e8c96a;--color-win: #4af4a0;--color-win-glow: rgba(74, 244, 160, .4);--color-lose: #f44a4a;--color-lose-glow: rgba(244, 74, 74, .4);--font-display: "Cinzel Decorative", serif;--font-ui: "Rajdhani", sans-serif;--font-numbers: "Orbitron", sans-serif;--font-body: "DM Sans", sans-serif;--text-xs: .675rem;--text-sm: .8rem;--text-base: .925rem;--text-md: 1.05rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.5rem;--text-4xl: 3.5rem;--space-xxs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 9999px;--border-thin: 1px solid var(--color-panel-border);--border-gold: 1px solid var(--color-gold-dim);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow-gold: 0 0 20px rgba(201, 168, 76, .3), 0 0 60px rgba(201, 168, 76, .1);--shadow-glow-blue: 0 0 20px rgba(74, 179, 244, .3), 0 0 60px rgba(74, 179, 244, .1);--shadow-glow-orange: 0 0 20px rgba(244, 132, 74, .3), 0 0 60px rgba(244, 132, 74, .1);--shadow-glow-win: 0 0 20px rgba(74, 244, 160, .3), 0 0 60px rgba(74, 244, 160, .1);--transition-fast: .18s ease;--transition-base: .2s ease;--transition-slow: .4s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--z-canvas: 1;--z-panel: 10;--z-controls: 20;--z-header: 30;--z-toast: 50;--z-modal: 60;--z-tooltip: 70;--header-height: 56px;--left-panel-width: 320px;--right-panel-width: 300px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-body);font-weight:400;color:var(--color-text-primary);background-color:var(--color-bg-deep);line-height:1.5;overflow:hidden;min-height:100vh;min-height:100dvh}#root{width:100vw;height:100vh;height:100dvh;overflow:hidden}a{color:var(--color-gold-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-gold-light)}button{font-family:var(--font-ui);cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,select,textarea{font-family:var(--font-body);color:var(--color-text-primary);background:transparent;border:none;outline:none;font-size:inherit}ul,ol{list-style:none}img,svg{display:block;max-width:100%}table{border-collapse:collapse;width:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-deep)}::-webkit-scrollbar-thumb{background:var(--color-panel-border-light);border-radius:var(--radius-pill);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-gold-dim)}*{scrollbar-width:thin;scrollbar-color:var(--color-panel-border-light) var(--color-bg-deep)}::selection{background:var(--color-gold-dim);color:var(--color-text-primary)}.font-display{font-family:var(--font-display)}.font-ui{font-family:var(--font-ui)}.font-numbers{font-family:var(--font-numbers)}.font-body{font-family:var(--font-body)}.text-gold{color:var(--color-gold-primary)}.text-muted{color:var(--color-text-muted)}.text-win{color:var(--color-win)}.text-lose{color:var(--color-lose)}.text-low{color:var(--color-low-primary)}.text-high{color:var(--color-high-primary)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.glass-panel{background:var(--color-panel-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--border-thin);border-radius:var(--radius-lg)}.glass-panel-gold{background:var(--color-panel-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--border-gold);border-radius:var(--radius-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);font-family:var(--font-ui);font-weight:600;font-size:var(--text-base);border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden;user-select:none}.btn:before{content:"";position:absolute;inset:0;opacity:0;transition:opacity var(--transition-fast);background:radial-gradient(circle at center,rgba(255,255,255,.15) 0%,transparent 70%)}.btn:hover:before{opacity:1}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn:disabled:before{display:none}.btn-gold{background:var(--color-gold-gradient);color:var(--color-bg-deep);font-weight:700;box-shadow:var(--shadow-glow-gold)}.btn-gold:hover{box-shadow:0 0 30px #c9a84c80,0 0 80px #c9a84c26}.btn-low{background:var(--color-low-gradient);color:#fff;box-shadow:var(--shadow-glow-blue)}.btn-low:hover{box-shadow:0 0 30px #4ab3f480,0 0 80px #4ab3f426}.btn-high{background:var(--color-high-gradient);color:#fff;box-shadow:var(--shadow-glow-orange)}.btn-high:hover{box-shadow:0 0 30px #f4844a80,0 0 80px #f4844a26}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:var(--border-thin)}.btn-ghost:hover{border-color:var(--color-gold-dim);color:var(--color-gold-primary)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xxs) var(--space-sm);font-family:var(--font-ui);font-weight:600;font-size:var(--text-xs);border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.05em}.badge-low{background:var(--color-low-bg);color:var(--color-low-primary);border:1px solid var(--color-low-dim)}.badge-high{background:var(--color-high-bg);color:var(--color-high-primary);border:1px solid var(--color-high-dim)}.badge-gold{background:#c9a84c26;color:var(--color-gold-light);border:1px solid var(--color-gold-dim)}.input{width:100%;padding:var(--space-md) var(--space-lg);background:#06060f99;border:1px solid var(--color-panel-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-primary);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.input:focus{border-color:var(--color-gold-dim);box-shadow:0 0 0 3px #c9a84c1a}.input::placeholder{color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #c9a84c4d}50%{box-shadow:0 0 40px #c9a84c99,0 0 80px #c9a84c33}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-fade-in-up{animation:fadeInUp .4s ease forwards}.tab-pane-active{animation:fadeIn .2s ease}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}@media (max-width: 1024px){:root{--left-panel-width: 0px;--right-panel-width: 100%}}@media (max-width: 768px){:root{--header-height: 48px}html{font-size:14px}}
