:root{--color-primary: #9B59FF;--color-primary-light: #B47EFF;--color-primary-dark: #7B3FDF;--color-primary-glow: rgba(155, 89, 255, .25);--color-accent: #00FFFF;--color-accent-light: #33FFFF;--color-accent-dark: #00D4D4;--color-accent-glow: rgba(0, 255, 255, .25);--color-success: #00FF88;--color-warning: #FFB800;--color-error: #FF4444;--color-info: #00BFFF;--color-bg-dark: #0A0A0F;--color-bg-darker: #05050A;--color-bg-card: #1A1A28;--color-bg-card-hover: #22222F;--color-bg-input: #141420;--color-text-primary: #FFFFFF;--color-text-secondary: #A0A0B0;--color-text-muted: #6A6A7A;--color-text-disabled: #4A4A5A;--color-border-default: rgba(255, 255, 255, .05);--color-border-light: rgba(255, 255, 255, .1);--color-border-medium: rgba(255, 255, 255, .15);--color-border-hover: rgba(155, 89, 255, .3);--color-border-accent: rgba(0, 255, 255, .3);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .5);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .6);--shadow-primary: 0 4px 12px var(--color-primary-glow);--shadow-accent: 0 4px 12px var(--color-accent-glow);--shadow-success: 0 4px 12px rgba(0, 255, 136, .25);--shadow-error: 0 4px 12px rgba(255, 68, 68, .25);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "JetBrains Mono", "Courier New", monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--z-base: 1;--z-dropdown: 100;--z-modal: 200;--z-overlay: 300;--z-tooltip: 400;--z-notification: 500;--gradient-brand: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);--gradient-brand-wide: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 50%, var(--color-primary) 100%);--gradient-brand-3: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 50%, var(--color-accent) 100%);--color-primary-tint-06: rgba(155, 89, 255, .06);--color-primary-tint-08: rgba(155, 89, 255, .08);--color-primary-tint-10: rgba(155, 89, 255, .1);--color-primary-tint-15: rgba(155, 89, 255, .15);--color-primary-tint-20: rgba(155, 89, 255, .2);--color-primary-tint-25: rgba(155, 89, 255, .25);--color-primary-tint-30: rgba(155, 89, 255, .3);--color-primary-tint-40: rgba(155, 89, 255, .4);--color-accent-tint-02: rgba(0, 255, 255, .02);--color-accent-tint-03: rgba(0, 255, 255, .03);--color-accent-tint-08: rgba(0, 255, 255, .08);--color-accent-tint-20: rgba(0, 255, 255, .2);--color-success-tint-03: rgba(0, 255, 136, .03);--color-success-tint-08: rgba(0, 255, 136, .08);--color-success-tint-10: rgba(0, 255, 136, .1);--color-success-tint-15: rgba(0, 255, 136, .15);--color-success-tint-20: rgba(0, 255, 136, .2);--color-success-tint-30: rgba(0, 255, 136, .3);--color-success-tint-40: rgba(0, 255, 136, .4);--color-warning-tint-10: rgba(255, 184, 0, .1);--color-warning-tint-15: rgba(255, 184, 0, .15);--color-warning-tint-20: rgba(255, 184, 0, .2);--color-warning-tint-30: rgba(255, 184, 0, .3);--color-warning-tint-40: rgba(255, 184, 0, .4);--color-warning-tint-60: rgba(255, 184, 0, .6);--color-error-tint-06: rgba(255, 68, 68, .06);--color-error-tint-10: rgba(255, 68, 68, .1);--color-error-tint-12: rgba(255, 68, 68, .12);--color-error-tint-15: rgba(255, 68, 68, .15);--color-error-tint-20: rgba(255, 68, 68, .2);--color-error-tint-25: rgba(255, 68, 68, .25);--color-error-tint-30: rgba(255, 68, 68, .3);--color-error-tint-50: rgba(255, 68, 68, .5);--color-error-tint-95: rgba(255, 68, 68, .95);--color-info-tint-03: rgba(0, 191, 255, .03);--color-info-tint-10: rgba(0, 191, 255, .1);--color-info-tint-50: rgba(0, 191, 255, .5);--color-info-tint-95: rgba(0, 191, 255, .95);--color-success-soft: #8bc34a;--color-success-material: rgba(76, 175, 80, .95);--color-error-pink: #e91e63;--color-error-material: rgba(244, 67, 54, .95);--color-warning-gold: #ffc107;--color-warning-amber: #ffd700;--color-info-material: rgba(33, 150, 243, .95);--color-hp-green: #66bb6a;--color-hp-red: #e57373;--color-xpr: #667eea}body{background:radial-gradient(ellipse at 50% 0%,rgba(155,89,255,.07) 0%,transparent 60%),linear-gradient(180deg,#0a0a0f,#12121e,#0a0a0f);background-attachment:fixed;color:var(--color-text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes gradientShimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-brand{color:var(--color-primary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-dark{background-color:var(--color-bg-dark)}.bg-darker{background-color:var(--color-bg-darker)}.bg-card{background-color:var(--color-bg-card)}.bg-primary{background-color:var(--color-primary)}.bg-accent{background-color:var(--color-accent)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-primary{box-shadow:var(--shadow-primary)}.shadow-accent{box-shadow:var(--shadow-accent)}.border{border:1px solid var(--color-border-default)}.border-light{border:1px solid var(--color-border-light)}.border-primary{border:1px solid var(--color-primary)}.border-accent{border:1px solid var(--color-accent)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}:root{line-height:var(--leading-normal);font-weight:var(--font-normal);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:var(--font-medium);color:var(--color-primary);text-decoration:inherit;transition:color var(--transition-fast)}a:active{color:var(--color-primary-light)}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;min-width:320px}body{display:flex;flex-direction:column;color:var(--color-text-primary);font-family:var(--font-sans)}#root{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}h1{font-size:var(--text-4xl);line-height:var(--leading-tight);font-weight:var(--font-bold);color:var(--color-text-primary)}h2{font-size:var(--text-3xl);line-height:var(--leading-tight);font-weight:var(--font-bold)}h3{font-size:var(--text-2xl);line-height:var(--leading-tight);font-weight:var(--font-semibold)}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.6em 1.2em;font-size:var(--text-base);font-weight:var(--font-medium);font-family:inherit;background-color:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}button:active{border-color:var(--color-primary);transform:scale(.98)}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-darker)}::-webkit-scrollbar-thumb{background:var(--color-bg-card);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-bg-card-hover)}::selection{background-color:var(--color-primary);color:var(--color-text-primary)}::-moz-selection{background-color:var(--color-primary);color:var(--color-text-primary)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-dark);color:var(--color-text-primary)}.loading-content{text-align:center;padding:2rem}.loading-logo{width:100px;height:100px;margin-bottom:24px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:pulse 2s ease-in-out infinite}.loading-spinner{width:50px;height:50px;margin:0 auto 20px;border:3px solid var(--color-border-default);border-left-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.loading-message{font-size:1rem;color:var(--color-text-muted);margin:0;font-weight:var(--font-regular)}.loading-version{font-size:.7rem;color:var(--color-text-disabled);margin-top:20px;font-family:var(--font-mono)}.error-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-dark);color:var(--color-text-primary);padding:2rem}.error-content{text-align:center;max-width:400px}.error-icon{font-size:4rem;margin-bottom:1rem}.error-content h1{font-size:1.75rem;margin:0 0 1rem;color:var(--color-error)}.error-message{font-size:1rem;line-height:1.6;color:var(--color-text-secondary);margin:0 0 2rem}.retry-button{background:var(--color-primary);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);padding:.75rem 2rem;font-size:1rem;font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--transition-fast)}.retry-button:hover{opacity:.9}.retry-button:active{opacity:.8;transform:scale(.98)}.wallet-connect-screen{display:flex;align-items:center;justify-content:center;height:100%;width:100%;background:radial-gradient(ellipse at 50% 0%,rgba(155,89,255,.07) 0%,transparent 60%),linear-gradient(180deg,#0a0a0f,#12121e,#0a0a0f);padding:20px;box-sizing:border-box;overflow:auto}.wallet-connect-content{text-align:center;max-width:380px;width:100%;padding:32px 24px;background:linear-gradient(180deg,rgba(155,89,255,.06) 0%,var(--color-bg-card) 100%);border-radius:var(--radius-xl);border:1px solid rgba(155,89,255,.2);box-shadow:var(--shadow-xl)}.wallet-logo{width:80px;height:80px;margin:0 auto 24px;border-radius:20px;object-fit:contain}.wallet-icon{font-size:56px;margin-bottom:20px;display:block;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.wallet-connect-content h1{font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 12px;letter-spacing:-.5px;background:linear-gradient(135deg,#9b59ff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.wallet-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 28px}.wallet-features{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;text-align:left}.wallet-feature{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#9b59ff0f;border-radius:var(--radius-lg);border:1px solid rgba(155,89,255,.12);transition:all var(--transition-fast)}.wallet-feature:active{border-color:#9b59ff4d}.wallet-feature-icon{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#9b59ff26;border-radius:var(--radius-md)}.wallet-feature-text{color:var(--color-text-secondary);font-size:var(--text-xs);flex:1}.wallet-error{background:#ff44441a;border:1px solid rgba(255,68,68,.2);color:var(--color-error);padding:12px 16px;border-radius:var(--radius-lg);margin-bottom:20px;font-size:var(--text-xs);display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-error)}.wallet-error:before{content:"!";font-weight:var(--font-bold);width:20px;height:20px;background:#f443;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.wallet-connect-button{width:100%;padding:16px 24px;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-primary);-webkit-tap-highlight-color:transparent}.wallet-connect-button:active:not(:disabled){background-color:var(--color-primary-dark);transform:scale(.98);box-shadow:var(--shadow-md)}.wallet-connect-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.wallet-waiting-hint{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:20px;padding:16px;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:var(--radius-lg);color:var(--color-success);font-size:var(--text-sm);box-shadow:var(--shadow-success)}.waiting-spinner{width:24px;height:24px;border:3px solid rgba(0,255,136,.2);border-top-color:var(--color-success);border-radius:var(--radius-full);animation:spin 1s linear infinite}.return-instruction{color:var(--color-text-secondary);font-size:var(--text-xs);margin:4px 0 0}.wallet-mobile-hint{background:#9b59ff1a;border:1px solid rgba(155,89,255,.2);border-radius:var(--radius-lg);padding:16px;margin-top:20px;color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-normal);text-align:left}.wallet-mobile-hint strong{color:var(--color-primary);display:block;margin-bottom:8px}.wallet-mobile-hint ol{margin:0;padding-left:20px}.wallet-mobile-hint li{margin-bottom:4px}.wallet-hint{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:24px}.wallet-hint a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium);transition:color var(--transition-fast)}.wallet-hint a:active{color:var(--color-primary-light)}.browser-fallback{margin-top:20px;padding:16px;background:#9b59ff14;border:1px solid rgba(155,89,255,.25);border-radius:var(--radius-lg)}.browser-fallback-hint{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0 0 12px}.wallet-browser-button{width:100%;padding:14px 20px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);background-color:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px #9b59ff4d;-webkit-tap-highlight-color:transparent}.wallet-browser-button:active{background-color:var(--color-primary-dark);transform:scale(.98);box-shadow:var(--shadow-md)}.browser-fallback-note{color:var(--color-text-muted);font-size:11px;margin:10px 0 0;text-align:center}.wallet-manual-open{margin-top:16px;padding:16px;background:#ffb8001a;border:1px solid rgba(255,184,0,.3);border-radius:var(--radius-lg)}.wallet-manual-hint{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0 0 12px}.wallet-open-button{width:100%;padding:12px 20px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-bg-dark);background-color:var(--color-warning);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.wallet-open-button:active{transform:scale(.98);opacity:.9}.version-info{margin-top:32px;padding-top:16px;border-top:1px solid var(--color-border-default);color:var(--color-text-muted);font-size:11px;text-align:center;letter-spacing:.5px}.pre-alpha-badge{display:inline-block;padding:2px 8px;margin-right:6px;font-size:9px;font-weight:700;letter-spacing:1.5px;color:#fff;background:linear-gradient(135deg,#ff6b35,#f44);border-radius:4px;vertical-align:middle}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--color-bg-dark)}.error-boundary-content{text-align:center;max-width:500px;padding:40px;background:var(--color-bg-card);border-radius:var(--radius-xl);border:1px solid var(--color-border-default)}.error-icon{font-size:64px;margin-bottom:20px}.error-boundary h1{color:var(--color-text-primary);font-size:24px;margin-bottom:12px}.error-message{color:var(--color-text-secondary);font-size:16px;margin-bottom:24px;line-height:1.5}.error-details{text-align:left;margin-bottom:24px;padding:16px;background:var(--color-bg-darker);border-radius:var(--radius-md);border:1px solid rgba(255,68,68,.3)}.error-details summary{color:var(--color-error);cursor:pointer;font-weight:var(--font-medium);margin-bottom:12px}.error-details pre{color:var(--color-text-muted);font-size:12px;font-family:var(--font-mono);overflow-x:auto;white-space:pre-wrap;word-break:break-word;margin:8px 0}.error-actions{display:flex;gap:12px;justify-content:center}.error-actions .btn{padding:12px 24px;border-radius:var(--radius-md);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.error-actions .btn-primary{background:var(--color-primary);color:var(--color-text-primary)}.error-actions .btn-primary:hover{opacity:.9}.error-actions .btn-primary:active{transform:scale(.98)}.error-actions .btn-secondary{background:var(--color-bg-card-hover);color:var(--color-text-primary);border:1px solid var(--color-border-light)}.error-actions .btn-secondary:hover{background:#9b59ff1a}.error-actions .btn-secondary:active{transform:scale(.98)}.layout{height:100%;width:100%;display:flex;flex-direction:column;background-color:var(--color-bg-dark);color:var(--color-text-primary);overflow:hidden}.layout-header{padding:1rem 1.5rem;text-align:center;background:linear-gradient(180deg,#9b59ff14,#0a0a0ff2);border-bottom:1px solid rgba(155,89,255,.15)}.layout-header h1{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#9b59ff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pre-alpha-tag{font-size:.5em;font-weight:700;letter-spacing:1.5px;padding:2px 6px;border-radius:4px;background:linear-gradient(135deg,#ff6b35,#f44);-webkit-background-clip:unset;-webkit-text-fill-color:#fff;background-clip:unset;vertical-align:middle;position:relative;top:-2px}.layout-header p{margin:.25rem 0 0;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;background:linear-gradient(135deg,#9b59ff,#b47eff,#0ff);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShimmer 4s ease infinite}.layout-main{flex:1;overflow-y:auto;padding-bottom:70px}.layout-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background-color:#0a0a14f2;border-top:1px solid rgba(155,89,255,.12);padding:.5rem;gap:.5rem;z-index:100}.nav-button{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;background:transparent;border:none;color:var(--color-text-primary);padding:.5rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);opacity:.6;-webkit-tap-highlight-color:transparent}.nav-button:active{opacity:1;background-color:var(--color-bg-card);transform:scale(.95)}.nav-button.active{opacity:1;background-color:var(--color-primary-glow);color:var(--color-primary);box-shadow:0 -2px 8px #9b59ff33}.nav-icon{font-size:1.5rem}.nav-label{font-size:.7rem;font-weight:500}@media(max-width:640px){.layout-header h1{font-size:1.25rem}.layout-header p{font-size:.75rem}.nav-icon{font-size:1.25rem}.nav-label{font-size:.65rem}}.menu-page{padding:var(--space-md);max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md)}.menu-header.compact{text-align:center;margin-bottom:var(--space-sm)}.menu-header.compact h1{margin:0;font-size:1.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 50%,var(--color-primary) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShimmer 4s ease infinite}.menu-header.compact .subtitle{margin:.25rem 0 0;font-size:.75rem;letter-spacing:1px;text-transform:uppercase;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 50%,var(--color-accent) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShimmer 4s ease infinite}.tip-banner{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background-color:var(--color-primary-tint-06);border:none;border-left:3px solid var(--color-primary);border-radius:var(--radius-md)}.tip-icon{font-size:1rem;flex-shrink:0}.daily-box-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,#ffd1001f,#ff333314);border:1px solid rgba(255,209,0,.3);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;margin-top:.5rem}.daily-box-banner:hover{border-color:#ffd10080;background:linear-gradient(135deg,#ffd1002e,#ff33331f)}.daily-box-icon{font-size:1.5rem;flex-shrink:0}.daily-box-text{display:flex;flex-direction:column;flex:1}.daily-box-title{font-size:.9rem;font-weight:600;color:#ffd100}.daily-box-subtitle{font-size:.75rem;color:var(--color-text-secondary)}.daily-box-arrow{font-size:1.2rem;color:var(--color-text-secondary)}.tip-text{font-size:.8rem;color:var(--color-text-secondary);line-height:1.3}.characters-section{margin-bottom:var(--space-sm)}.characters-section h3{margin:0 0 .75rem;font-size:.95rem;color:var(--color-text-secondary)}.characters-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.char-card{position:relative;background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:.75rem;cursor:pointer;transition:all var(--transition-base)}.char-card:hover:not(.injured){background-color:var(--color-bg-card-hover);border-color:var(--color-border-hover)}.char-card.active{border-color:var(--color-primary);background-color:var(--color-primary-tint-08)}.char-card.injured{opacity:.7;cursor:default;border-color:var(--color-error-tint-30)}.active-badge{position:absolute;top:-8px;right:8px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-text-primary);font-size:.6rem;font-weight:var(--font-bold);padding:2px 8px;border-radius:var(--radius-md);text-transform:uppercase}.char-card-wrapper{display:flex;flex-direction:column;gap:.5rem}.injured-status{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;background-color:var(--color-error-tint-10);border:1px solid var(--color-error-tint-20);border-radius:var(--radius-md)}.injured-info{display:flex;align-items:center;gap:.4rem;font-size:.75rem}.injured-icon{font-size:.9rem}.injured-text{color:var(--color-error);font-weight:var(--font-medium)}.recovery-timer{margin-left:auto;font-weight:var(--font-bold);color:var(--color-warning);background-color:var(--color-warning-tint-15);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8rem;min-width:50px;text-align:center;-webkit-font-smoothing:antialiased;white-space:nowrap;flex-shrink:0}.instant-heal-btn{display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.45rem .6rem;background:linear-gradient(135deg,var(--color-success-tint-20) 0%,var(--color-success-tint-10) 100%);border:1px solid rgba(0,255,136,.4);border-radius:var(--radius-md);color:var(--color-success);font-size:.75rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.instant-heal-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-tint-30) 0%,var(--color-success-tint-20) 100%);border-color:#0f89}.instant-heal-btn:disabled{opacity:.5;cursor:not-allowed}.heal-cyphr-icon{width:14px;height:14px}.hp-bar-fill.depleted{background:linear-gradient(90deg,var(--color-error) 0%,var(--color-error) 100%)}.hp-bar-fill.recovering{background:linear-gradient(90deg,var(--color-warning) 0%,var(--color-warning-gold) 100%);animation:pulse-recover 2s ease-in-out infinite;transition:width 1s ease-out}.char-card-header{display:flex;gap:.5rem;margin-bottom:.5rem}.char-card-image{width:40px;height:40px;border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-bg-darker);flex-shrink:0}.char-card-image img{width:100%;height:100%;object-fit:cover}.char-card-image .char-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--color-text-disabled)}.char-card-title{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.char-card-name{font-size:.8rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char-card-rarity{font-size:.65rem;font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.5px}.char-card-rarity.common{color:var(--color-text-secondary)}.char-card-rarity.uncommon{color:var(--color-success)}.char-card-rarity.rare{color:var(--color-info)}.char-card-rarity.epic{color:var(--color-primary)}.char-card-rarity.legendary{color:var(--color-warning)}.hp-bar-wrapper{margin-bottom:.5rem}.hp-bar-bg{position:relative;height:16px;background-color:var(--color-bg-darker);border-radius:var(--radius-md);overflow:hidden}.hp-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success-soft) 100%);border-radius:var(--radius-md)}.hp-bar-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.special-stats{display:flex;flex-wrap:nowrap;gap:2px}.stat-row{display:flex;align-items:center;gap:1px;background-color:var(--color-bg-card-hover);padding:2px 3px;border-radius:var(--radius-sm);font-size:.65rem;flex:1 1 0;min-width:0;justify-content:center}.stat-emoji{font-size:.55rem}.stat-label{font-weight:var(--font-semibold);color:var(--color-text-muted)}.stat-value{font-weight:var(--font-bold);font-family:var(--font-mono)}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1rem .5rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);color:inherit}.action-btn:hover{background-color:var(--color-bg-card-hover);border-color:var(--color-border-medium);transform:translateY(-2px);box-shadow:0 8px 16px var(--color-primary-tint-15)}.action-btn.primary{background:linear-gradient(135deg,var(--color-primary-tint-20) 0%,var(--color-accent-tint-08) 100%);border-color:var(--color-primary-tint-40);box-shadow:0 4px 12px #9b59ff1a}.action-btn.primary:hover{background:linear-gradient(135deg,var(--color-primary-tint-30) 0%,rgba(0,255,255,.12) 100%);border-color:#9b59ff99;box-shadow:0 8px 20px var(--color-primary-tint-20)}.action-icon{font-size:1.5rem}.action-text{font-size:.85rem;font-weight:var(--font-medium)}.action-btn.pvp-brawls{grid-column:span 2;background:linear-gradient(135deg,var(--color-primary-tint-20) 0%,rgba(155,89,255,.05) 100%);border-color:#9b59ff4d}.action-btn.pvp-brawls:hover{background:linear-gradient(135deg,var(--color-primary-tint-30) 0%,rgba(155,89,255,.1) 100%);border-color:#9b59ff80}.action-btn.pvp-coming-soon{position:relative;background:linear-gradient(135deg,var(--color-primary-tint-15) 0%,rgba(155,89,255,.05) 100%);border-color:#9b59ff4d;opacity:.7;cursor:not-allowed;grid-column:span 2}.action-btn.pvp-coming-soon:hover{opacity:.7;transform:none}.coming-soon-badge{position:absolute;top:4px;right:4px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-primary);font-size:.6rem;font-weight:var(--font-semibold);padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase}.rewards-section{padding:.75rem;background-color:var(--color-primary-tint-08);border:1px solid var(--color-primary-tint-25);border-radius:var(--radius-lg)}.rewards-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.cyphr-icon{width:20px;height:20px}.rewards-title{font-size:.9rem;font-weight:var(--font-semibold);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.rewards-header:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--color-primary-tint-40) 0%,var(--color-accent-tint-20) 50%,transparent 100%);margin-left:.5rem}.rewards-desc{margin:.4rem 0 .5rem;font-size:.75rem;color:var(--color-text-secondary)}.rewards-info{display:flex;flex-wrap:wrap;gap:.5rem}.rewards-info span{font-size:.7rem;padding:.2rem .5rem;background-color:var(--color-primary-tint-10);border-radius:var(--radius-sm);color:var(--color-text-secondary);border:1px solid var(--color-primary-tint-15)}.bottom-links{display:flex;gap:.5rem;margin-top:var(--space-sm)}.link-btn{flex:1;padding:.6rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:inherit;font-size:.8rem;cursor:pointer;transition:all var(--transition-base)}.link-btn:hover:not(.disabled){background-color:var(--color-bg-card-hover);border-color:var(--color-border-light)}.link-btn.disabled{opacity:.4;cursor:not-allowed}.no-nft-container{text-align:center;padding:1.5rem .5rem}.no-nft-icon{font-size:3rem;margin-bottom:.75rem;opacity:.4}.no-nft-container h2{margin:0 0 1rem;font-size:1.25rem}.nft-options{display:flex;flex-direction:column;gap:.75rem;max-width:360px;margin:0 auto}.nft-option-card{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-md);text-align:left}.nft-option-card.highlighted{background:linear-gradient(145deg,var(--color-primary-tint-10) 0%,rgba(155,89,255,.03) 100%);border-color:#9b59ff4d}.option-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.option-icon{font-size:1.25rem}.option-header h3{margin:0;font-size:.95rem;font-weight:var(--font-semibold)}.nft-option-card p{margin:0 0 .75rem;font-size:.8rem;color:var(--color-text-secondary)}.option-divider{text-align:center;font-weight:var(--font-semibold);color:var(--color-text-disabled);font-size:.8rem;padding:.25rem 0}.btn-option{display:inline-block;padding:.5rem 1rem;background-color:var(--color-primary-tint-15);color:var(--color-primary);border:1px solid var(--color-primary-tint-30);border-radius:var(--radius-md);font-size:.85rem;font-weight:var(--font-medium);text-decoration:none;transition:all var(--transition-base)}.btn-option:hover{background-color:var(--color-primary-tint-25)}.entry-fee{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background-color:var(--color-bg-darker);border-radius:var(--radius-md);margin-bottom:.75rem}.entry-fee .token-icon{width:22px;height:22px}.entry-fee .fee-amount{font-size:1rem;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-primary)}.btn-primary{width:100%;padding:.65rem 1rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:360px){.menu-page{padding:.75rem}.characters-grid{gap:.5rem}.char-card{padding:.5rem}.quick-actions{gap:.5rem}.action-btn{padding:.75rem .25rem}.action-icon{font-size:1.25rem}.action-text{font-size:.75rem}}.character-card{position:relative;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;min-width:0}.character-card:active{transform:scale(.98);border-color:var(--color-border-light)}.character-card.active{border-color:var(--color-primary);box-shadow:0 0 12px var(--color-primary-tint-15)}.character-card.injured{border-color:var(--color-warning-tint-40)}.character-card .active-badge{position:absolute;top:.5rem;right:.5rem;background-color:var(--color-primary);color:var(--color-text-primary);padding:.15rem .5rem;border-radius:var(--radius-md);font-size:.6rem;font-weight:var(--font-semibold);z-index:2;letter-spacing:.5px}.character-image{position:relative;width:100%;aspect-ratio:4 / 3;background-color:var(--color-bg-darker);display:flex;align-items:center;justify-content:center;overflow:hidden}.character-image img{width:100%;height:100%;object-fit:cover;object-position:top center}.character-placeholder{font-size:2.5rem;opacity:.3}.character-card .injured-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center}.character-card .injured-overlay .injured-icon{font-size:2rem;opacity:.8}.character-card .injured-status{background-color:var(--color-warning-tint-10);border:1px solid var(--color-warning-tint-30);border-radius:var(--radius-md);padding:.3rem;margin-bottom:.3rem}.character-card .injured-info{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;margin-bottom:.3rem}.character-card .injured-info .injured-icon{font-size:.8rem}.character-card .injured-info .injured-text{font-size:.65rem;color:var(--color-warning);font-weight:var(--font-medium)}.character-card .recovery-timer{font-size:.6rem;font-weight:var(--font-semibold);color:var(--color-warning);background-color:var(--color-warning-tint-20);padding:.1rem .35rem;border-radius:var(--radius-sm);font-family:var(--font-mono);text-align:center;-webkit-font-smoothing:antialiased;white-space:nowrap;margin-left:auto}.character-card .instant-heal-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.3rem .5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:.6rem;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.character-card .instant-heal-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary)}.character-card .instant-heal-btn:disabled{opacity:.6;cursor:not-allowed}.character-card .heal-cyphr-icon{width:12px;height:12px}.health-bar-fill.recovering{background:linear-gradient(90deg,var(--color-warning) 0%,var(--color-warning-gold) 100%);animation:pulse-recover 2s ease-in-out infinite;transition:width 1s ease-out}@keyframes pulse-recover{0%,to{opacity:1}50%{opacity:.7}}.health-bar-fill.depleted{background:linear-gradient(90deg,var(--color-error) 0%,var(--color-error-pink) 100%)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.character-info{padding:.4rem .5rem}.character-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.character-name{margin:0;font-size:.75rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-rarity{font-size:.55rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0;margin-left:.25rem}.character-stats{margin-bottom:.25rem}.character-card .stats-grid{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:.2rem}.character-card .stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.15rem 0;background-color:var(--color-bg-card-hover);border-radius:var(--radius-sm);min-width:0;flex:1 1 0;min-width:28px}.character-card .stat-item.boosted{background-color:#00ff8814;border:1px solid rgba(0,255,136,.15)}.character-card .stat-item.penalized{background-color:#ff44440f;border:1px solid rgba(255,68,68,.12)}.character-card .stat-icon{display:none}.character-card .stat-label{font-size:.5rem;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.3px;line-height:1;margin-bottom:1px}.character-card .stat-value{font-weight:var(--font-bold);font-size:.8rem;font-family:var(--font-mono);color:var(--color-primary);line-height:1.1}.character-card .stat-bonus{font-size:.5rem;font-weight:var(--font-bold);font-family:var(--font-mono);line-height:1;margin-top:1px}.character-card .stat-bonus.positive{color:var(--color-success)}.character-card .stat-bonus.negative{color:var(--color-error)}.character-card .body-type{display:flex;justify-content:center;gap:.25rem;font-size:.55rem;padding:.1rem}.character-card .body-label{color:var(--color-text-muted)}.character-card .body-value{font-weight:var(--font-medium);text-transform:capitalize;color:var(--color-primary)}.health-bar{margin-bottom:.3rem}.health-label{display:flex;justify-content:space-between;font-size:.6rem;margin-bottom:.15rem;opacity:.9}.health-bar-bg{height:5px;background-color:var(--color-bg-card-hover);border-radius:var(--radius-sm);overflow:hidden}.health-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success-soft) 100%);transition:width .3s}.health-bar-fill[style*="width: 0%"],.health-bar-fill[style*="width: 1%"],.health-bar-fill[style*="width: 2%"]{background:linear-gradient(90deg,var(--color-error) 0%,var(--color-error-pink) 100%)}.status-badges{display:flex;gap:.3rem;margin-bottom:.3rem;flex-wrap:wrap}.status-badge{padding:.1rem .4rem;border-radius:var(--radius-md);font-size:.6rem;font-weight:var(--font-medium)}.status-badge.injured{background-color:var(--color-warning-tint-20);color:var(--color-warning);border:1px solid var(--color-warning-tint-30)}.status-badge.healing,.status-badge.ready{background-color:var(--color-success-tint-20);color:var(--color-success);border:1px solid var(--color-success-tint-30)}.character-actions{display:flex;gap:.3rem;margin-bottom:.3rem}.btn-select,.btn-heal{flex:1;padding:.35rem .5rem;border-radius:var(--radius-md);font-size:.65rem;font-weight:var(--font-semibold);cursor:pointer;border:none;transition:all var(--transition-fast)}.btn-select{background-color:var(--color-primary);color:var(--color-text-primary)}.btn-select:active{opacity:.9;transform:scale(.98)}.btn-heal{background-color:var(--color-success-tint-20);color:var(--color-success);border:1px solid var(--color-success-tint-30)}.btn-heal:active{background-color:var(--color-success-tint-30)}.nft-info{text-align:center;padding-top:.2rem;border-top:1px solid var(--color-border-default)}.nft-id{font-family:var(--font-mono);font-size:.5rem;color:var(--color-text-disabled)}@media(max-width:360px){.character-info{padding:.3rem .4rem}.character-name,.stat-value{font-size:.65rem}}.modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:1rem}.modal-content{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border-default)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--color-primary)}.modal-close{background:transparent;border:none;color:var(--color-text-primary);font-size:1.5rem;cursor:pointer;opacity:.6;transition:opacity var(--transition-fast);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{opacity:1}.modal-body{padding:1.5rem}.modal-description{margin:0 0 1.5rem;color:var(--color-text-secondary);line-height:1.5}.input-group{margin-bottom:1.5rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:var(--font-medium);color:var(--color-text-secondary)}.wallet-input{width:100%;padding:.75rem 1rem;background:var(--color-bg-darker);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.wallet-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg-card-hover)}.wallet-input:disabled{opacity:.5;cursor:not-allowed}.modal-actions{display:flex;gap:.75rem;margin-bottom:1rem}.button-primary,.button-secondary{flex:1;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);border:none}.button-primary{background:var(--color-primary);color:var(--color-text-primary)}.button-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.button-primary:active:not(:disabled){opacity:.8;transform:translateY(0)}.button-primary:disabled{opacity:.4;cursor:not-allowed}.button-secondary{background:var(--color-bg-card-hover);color:var(--color-text-primary);border:1px solid var(--color-border-light)}.button-secondary:hover:not(:disabled){background:#9b59ff1a}.button-secondary:active:not(:disabled){background:#9b59ff26}.error-message{background:#ff444426;border:1px solid rgba(255,68,68,.3);border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:var(--color-error)}.error-icon{font-size:1.25rem}.modal-note{padding:.75rem;background:var(--color-bg-darker);border-radius:var(--radius-md);font-size:.85rem;color:var(--color-text-muted)}.modal-note p{margin:0}.wallet-connected{text-align:center;padding:2rem 0}.success-icon{font-size:4rem;margin-bottom:1rem}.success-message{margin:0 0 .5rem;font-size:1.25rem;font-weight:var(--font-medium);color:var(--color-success)}.wallet-address{margin:0 0 2rem;font-family:var(--font-mono);color:var(--color-text-secondary);font-size:1.1rem}.modal-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--color-text-disabled)}.modal-divider:before,.modal-divider:after{content:"";flex:1;border-bottom:1px solid var(--color-border-default)}.modal-divider span{padding:0 1rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.button-link{background:transparent;border:none;color:var(--color-primary);cursor:pointer;font-size:.95rem;padding:.5rem;text-decoration:underline;transition:opacity var(--transition-fast);width:100%;text-align:center;margin-bottom:1rem}.button-link:hover:not(:disabled){opacity:.8}.button-link:disabled{opacity:.4;cursor:not-allowed}@media(max-width:640px){.modal-content{border-radius:var(--radius-lg)}.modal-header h2{font-size:1.25rem}.modal-actions{flex-direction:column}.button-primary,.button-secondary{width:100%}}.characters-page{padding:1.5rem;max-width:1200px;margin:0 auto}.page-header{margin-bottom:1.25rem}.header-content h1{margin:0 0 .25rem;font-size:var(--text-2xl);font-weight:var(--font-bold);background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:0;color:var(--color-text-muted);font-size:.8rem}.header-actions{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.btn-campaign{padding:.6rem 1.25rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-medium);cursor:pointer;box-shadow:var(--shadow-primary);transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn-campaign:active{background-color:var(--color-primary-dark);transform:scale(.98)}.wallet-info{padding:.6rem 1rem;background:linear-gradient(135deg,var(--color-primary-tint-06) 0%,var(--color-accent-tint-02) 100%);border:1px solid var(--color-primary-tint-20);border-radius:var(--radius-md);line-height:1.4}.wallet-label{font-weight:var(--font-medium);color:var(--color-text-muted);font-size:.8rem;margin-right:.4rem}.wallet-address{font-family:var(--font-mono);font-size:.8rem;color:var(--color-primary)}.wallet-buttons{display:flex;gap:.5rem}.btn-sync,.btn-connect,.btn-disconnect,.btn-primary{padding:.6rem 1.25rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-medium);cursor:pointer;border:none;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn-sync{background:var(--color-primary-glow);color:var(--color-primary);border:1px solid var(--color-primary-tint-30)}.btn-sync:active{background:var(--color-primary-tint-30);transform:scale(.98)}.btn-disconnect{background:var(--color-error-tint-15);color:var(--color-error);border:1px solid var(--color-error-tint-30)}.btn-disconnect:active{background:var(--color-error-tint-25);transform:scale(.98)}.btn-connect,.btn-primary{background-color:var(--color-primary);color:var(--color-text-primary);box-shadow:var(--shadow-primary)}.btn-connect:active,.btn-primary:active{background-color:var(--color-primary-dark);transform:scale(.98)}.empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg)}.empty-icon{font-size:5rem;margin-bottom:1.5rem;opacity:.3}.empty-state h2{margin:0 0 .75rem;font-size:1.5rem}.empty-state p{margin:0 0 2rem;color:var(--color-text-secondary);max-width:400px;margin-left:auto;margin-right:auto}.empty-description{margin-bottom:1.5rem!important}.empty-options{display:flex;flex-direction:column;gap:1rem;max-width:450px;margin:0 auto;text-align:left}.option-card{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:1.25rem}.option-card.highlighted{background:linear-gradient(145deg,var(--color-primary-tint-10) 0%,rgba(155,89,255,.03) 100%);border-color:var(--color-primary-tint-30)}.option-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.option-icon{font-size:1.5rem}.option-header h3{margin:0;font-size:1rem;font-weight:var(--font-semibold)}.option-card p{margin:0 0 1rem!important;font-size:.85rem;color:var(--color-text-secondary);max-width:none}.option-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.btn-secondary{padding:.5rem 1rem;background-color:var(--color-primary-tint-15);color:var(--color-primary);border:1px solid var(--color-primary-tint-30);border-radius:var(--radius-md);font-size:.85rem;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.btn-secondary:hover{background-color:var(--color-primary-tint-25)}.btn-link{color:var(--color-text-muted);text-decoration:none;font-size:.85rem;transition:color var(--transition-base)}.btn-link:hover{color:var(--color-primary)}.option-divider{text-align:center;font-weight:var(--font-semibold);color:var(--color-text-disabled);font-size:.85rem;padding:.5rem 0}.entry-fee{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background-color:var(--color-bg-darker);border-radius:var(--radius-md);margin-bottom:1rem}.entry-fee .token-icon{width:24px;height:24px}.entry-fee .fee-amount{font-size:1.1rem;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-primary)}.entry-fee .fee-label{font-size:.8rem;color:var(--color-text-muted);margin-left:auto}.option-card .btn-primary{width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%)}.option-card .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.active-character-section{margin-bottom:2rem;padding:1rem;background:linear-gradient(135deg,var(--color-primary-tint-08) 0%,var(--color-accent-tint-03) 100%);border:1px solid var(--color-primary-tint-25);border-radius:var(--radius-lg)}.active-character-section h2{margin:0 0 1rem;font-size:1.1rem;font-weight:var(--font-semibold);background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.active-character-card{max-width:220px}.all-characters-section h2{margin:0 0 .75rem;font-size:1rem;font-weight:var(--font-semibold);color:var(--color-text-secondary)}.characters-page .characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.loading-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.loading-spinner{width:60px;height:60px;border:4px solid var(--color-border-light);border-left-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:640px){.characters-page{padding:1rem}.header-content h1{font-size:1.75rem}.wallet-info{padding:.5rem .75rem}.characters-page .characters-grid{gap:.5rem}.active-character-card{max-width:200px}.empty-state{padding:2rem 1rem}.empty-icon{font-size:3rem}}.characters-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:14px 20px;border-radius:var(--radius-lg);display:flex;align-items:center;gap:10px;z-index:var(--z-notification);animation:toastSlideDown .3s ease-out;cursor:pointer;box-shadow:var(--shadow-lg);max-width:90%;text-align:left}.characters-toast.success{background-color:#00ff88f2;border:1px solid var(--color-success);color:var(--color-bg-dark)}.characters-toast.error{background-color:var(--color-error-tint-95);border:1px solid var(--color-error);color:var(--color-text-primary)}.characters-toast.info{background-color:var(--color-info-tint-95);border:1px solid var(--color-info);color:var(--color-bg-dark)}.characters-toast .toast-icon{font-size:1.2rem;flex-shrink:0}.characters-toast .toast-message{font-size:.95rem;font-weight:var(--font-medium);line-height:1.4}.level-card{position:relative;background-color:var(--color-bg-card);border:2px solid var(--color-border-light);border-radius:var(--radius-xl);padding:1.25rem;transition:all var(--transition-base);display:flex;flex-direction:column}.level-card.unlocked:hover{transform:translateY(-4px);border-color:var(--color-border-hover);box-shadow:var(--shadow-lg)}.level-card.completed{border-color:#00ff884d;background:linear-gradient(135deg,#00ff8814,#00ff8805)}.level-card.locked{opacity:.5;cursor:not-allowed}.lock-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;z-index:2;filter:drop-shadow(0 2px 8px rgba(0,0,0,.5))}.level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.level-number-badge{display:flex;align-items:center;gap:.5rem}.level-num{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:var(--radius-full);font-size:.9rem;font-weight:var(--font-bold);color:var(--color-text-primary)}.checkpoint-badge{font-size:1rem}.level-card.checkpoint{border-color:#00e5ff4d;background:linear-gradient(135deg,#00e5ff0f,#00e5ff05)}.level-card.checkpoint.completed{border-color:#00ff884d;background:linear-gradient(135deg,#00ff8814,#00ff8805)}.checkpoint-info{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:#00e5ff14;border:1px solid rgba(0,229,255,.2);border-radius:var(--radius-md);margin-bottom:.75rem;font-size:.75rem}.checkpoint-info-icon{font-size:.85rem;flex-shrink:0}.checkpoint-info-text{color:#00e5ffd9;line-height:1.4}.level-difficulty{font-size:.75rem;font-weight:var(--font-semibold);display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.level-title{font-size:1.25rem;font-weight:var(--font-bold);margin-bottom:.35rem;color:var(--color-text-primary);word-break:break-word;overflow-wrap:break-word}.level-description{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.4}.level-reward-highlight{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#9b59ff26,#9b59ff0d);border:1px solid rgba(155,89,255,.3);border-radius:var(--radius-lg);margin-bottom:.75rem}.level-reward-highlight .reward-icon{font-size:1.5rem}.level-reward-highlight .reward-icon-img{width:24px;height:24px}.level-reward-highlight .reward-amount{font-size:1.5rem;font-weight:800;font-family:var(--font-mono);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.level-reward-highlight .reward-label{font-size:.8rem;font-weight:var(--font-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.level-tip{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;background-color:#ffb8001a;border:1px solid rgba(255,184,0,.25);border-radius:var(--radius-md);margin-bottom:.75rem;font-size:.75rem}.level-tip .tip-icon{font-size:.9rem;flex-shrink:0}.level-tip .tip-text{line-height:1.4;color:var(--color-warning)}.level-info{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.info-item{display:flex;align-items:center;gap:.35rem;padding:.4rem .6rem;background-color:var(--color-bg-card-hover);border-radius:var(--radius-md);font-size:.75rem}.info-item .info-icon{font-size:.9rem}.info-item .info-text{color:var(--color-text-secondary)}.info-item.tip{background-color:#ffb8001a;border:1px solid rgba(255,184,0,.2)}.info-item.tip .info-text{color:var(--color-warning)}.completion-status{margin-bottom:.75rem;padding:.6rem;background-color:#00ff881a;border:1px solid rgba(0,255,136,.2);border-radius:var(--radius-md);text-align:center}.completed-badge{font-size:.85rem;font-weight:var(--font-semibold);color:var(--color-success)}.level-actions{margin-top:auto;padding-top:.5rem}.btn-start,.btn-locked{width:100%;padding:.75rem 1rem;border-radius:var(--radius-lg);font-size:.95rem;font-weight:var(--font-semibold);cursor:pointer;border:none;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-start{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-primary);box-shadow:var(--shadow-primary)}.btn-start:hover{transform:translateY(-2px);box-shadow:0 6px 16px var(--color-primary-glow)}.btn-start:active{transform:translateY(0)}.btn-start.replay{background:linear-gradient(135deg,var(--color-success) 0%,#00cc6a 100%);box-shadow:var(--shadow-success)}.btn-start.replay:hover{box-shadow:0 6px 16px #0f86}.btn-locked{background-color:var(--color-bg-card-hover);color:var(--color-text-disabled);cursor:not-allowed;font-size:.8rem}@media(max-width:640px){.level-card{padding:1rem}.level-title{font-size:1.1rem}.level-reward-highlight .reward-amount{font-size:1.25rem}.level-info{flex-direction:column}}.modal-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-md)}.loadout-modal-v2{background-color:var(--color-bg-darker);border:1px solid var(--color-border-medium);border-radius:var(--radius-xl);max-width:680px;width:100%;max-height:90vh;overflow-y:auto}.loadout-header{display:flex;align-items:center;gap:.75rem;padding:var(--space-md);border-bottom:1px solid var(--color-border-light)}.loadout-header h2{margin:0;font-size:1.1rem;flex:1}.level-badge-v2{padding:.25rem .6rem;background:linear-gradient(135deg,var(--color-warning) 0%,var(--color-warning) 100%);border-radius:var(--radius-lg);font-size:.7rem;font-weight:var(--font-semibold)}.close-btn{width:28px;height:28px;border:none;background-color:var(--color-bg-card);color:var(--color-text-primary);border-radius:var(--radius-full);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color var(--transition-fast)}.close-btn:hover{background-color:var(--color-bg-card-hover)}.section-title{font-size:.75rem;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.loadout-main{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:var(--space-md)}.character-card-section{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:.75rem}.no-char-message{text-align:center;padding:1rem;font-size:.8rem;opacity:.6}.char-selector{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}.char-mini{width:36px;height:36px;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--color-border-light);cursor:pointer;background-color:var(--color-bg-darker);display:flex;align-items:center;justify-content:center;transition:border-color var(--transition-fast)}.char-mini.selected{border-color:var(--color-primary)}.char-mini img{width:100%;height:100%;object-fit:cover}.char-placeholder{font-size:.9rem;opacity:.4}.char-display{display:flex;gap:.5rem}.char-avatar{width:50px;height:50px;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-darker);flex-shrink:0;display:flex;align-items:center;justify-content:center}.char-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:1.5rem;opacity:.3}.char-info{flex:1;min-width:0}.char-info .char-name{font-size:.85rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.char-info .char-rarity{font-size:.6rem;text-transform:uppercase;margin-bottom:.25rem}.char-info .char-rarity.common{color:var(--color-text-secondary)}.char-info .char-rarity.uncommon{color:var(--color-success)}.char-info .char-rarity.rare{color:var(--color-info)}.char-info .char-rarity.epic{color:var(--color-primary)}.char-info .char-rarity.legendary{color:var(--color-warning)}.hp-bar-compact{position:relative;height:14px;background-color:var(--color-bg-darker);border-radius:7px;overflow:hidden;margin-bottom:.35rem}.hp-bar-compact .hp-fill{width:100%;height:100%;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success) 100%)}.hp-bar-compact .hp-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:var(--font-bold);color:var(--color-text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.special-compact{display:flex;gap:.25rem;flex-wrap:wrap}.special-compact .stat{font-size:.6rem;padding:.1rem .25rem;background-color:var(--color-bg-card-hover);border-radius:var(--radius-sm)}.special-compact .stat b{opacity:.5;margin-right:1px}.combat-stats-section{margin-top:.75rem;padding:.5rem;background-color:#9b59ff1a;border:1px solid rgba(155,89,255,.2);border-radius:var(--radius-md)}.combat-stats-title{font-size:.65rem;font-weight:var(--font-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.combat-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}.combat-stat{display:flex;flex-direction:column;align-items:center;padding:.25rem;background-color:var(--color-bg-darker);border-radius:var(--radius-sm)}.combat-stat .stat-label{font-size:.55rem;color:var(--color-text-muted);text-transform:uppercase}.combat-stat .stat-value{font-size:.7rem;font-weight:var(--font-bold);color:var(--color-primary)}.item-mini-stats{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.15rem}.item-mini-stats span{font-size:.55rem;padding:.1rem .2rem;background-color:var(--color-bg-card-hover);border-radius:3px;color:var(--color-text-secondary)}.equipment-card-section{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.equip-slot{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:var(--color-bg-darker);border-radius:var(--radius-md)}.slot-icon{font-size:1rem;width:24px;text-align:center}.slot-content{flex:1;min-width:0}.slot-label{font-size:.65rem;color:var(--color-text-muted);margin-bottom:.15rem}.equipped-item{display:flex;align-items:center;gap:.35rem}.equipped-item .item-name{font-size:.75rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.remove-btn{width:18px;height:18px;border:none;background-color:#ff44444d;color:var(--color-error);border-radius:var(--radius-full);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color var(--transition-fast)}.remove-btn:hover{background-color:#ff444480}.empty-slot{font-size:.7rem;opacity:.4}.stimpacks-slot{flex-wrap:wrap}.stimpack-controls{display:flex;align-items:center;gap:.5rem}.qty-btn{width:26px;height:26px;border:none;border-radius:var(--radius-full);font-size:1rem;font-weight:var(--font-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.qty-btn.minus{background-color:#f443;color:var(--color-error);border:1px solid rgba(255,68,68,.3)}.qty-btn.plus{background-color:#0f83;color:var(--color-success);border:1px solid rgba(0,255,136,.3)}.qty-btn:hover:not(:disabled){transform:scale(1.1)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-value{font-size:1rem;font-weight:var(--font-bold);min-width:20px;text-align:center}.stimpack-hint{font-size:.6rem;color:var(--color-text-muted);width:100%;margin-top:.25rem;margin-left:34px}.stimpacks-slot.advanced{background:linear-gradient(135deg,rgba(155,89,255,.1) 0%,var(--color-bg-darker) 100%);border:1px solid rgba(155,89,255,.2)}.stimpack-hint.advanced-hint{color:var(--color-primary);font-weight:var(--font-semibold)}.mod-buff{background-color:#0f83!important;color:var(--color-success)!important}.mod-debuff{background-color:#f443!important;color:var(--color-error)!important}.inv-stat.mod-buff{background-color:#00ff8826;color:var(--color-success)}.inv-stat.mod-debuff{background-color:#ff444426;color:var(--color-error)}.effect,.inv-stat.effect{background-color:#ffd70033!important;color:gold!important}.consumable-type-row{display:flex;align-items:center;justify-content:space-between;gap:.35rem;padding:.25rem 0}.consumable-name{font-size:.7rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consumable-avail{font-size:.6rem;color:var(--color-text-muted);flex-shrink:0}.stimpacks-slot.grenade{background:linear-gradient(135deg,rgba(255,152,0,.1) 0%,var(--color-bg-darker) 100%);border:1px solid rgba(255,152,0,.2)}.stimpack-hint.grenade-hint{color:#ff9800;font-weight:var(--font-semibold)}.stimpacks-slot.combat-stim{background:linear-gradient(135deg,rgba(233,30,99,.1) 0%,var(--color-bg-darker) 100%);border:1px solid rgba(233,30,99,.2)}.stimpack-hint.combat-stim-hint{color:#e91e63;font-weight:var(--font-semibold)}.inventory-section{padding:0 var(--space-md) var(--space-md)}.inv-tip{font-size:.65rem;color:var(--color-text-muted);margin-bottom:.5rem;text-align:center}.empty-inventory{text-align:center;padding:var(--space-md);font-size:.8rem;color:var(--color-text-muted);background-color:var(--color-bg-card);border-radius:var(--radius-md)}.inv-categories{display:flex;flex-direction:column;gap:.75rem}.inv-category{background-color:var(--color-bg-card);border-radius:var(--radius-md);padding:.5rem}.category-title{font-size:.7rem;font-weight:var(--font-semibold);margin-bottom:.4rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border-light)}.inv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.inv-stat.durability{background-color:#ffb80026;color:var(--color-warning)}.inv-item.weapon.melee .inv-icon{color:var(--color-error)}.inv-item.weapon.ranged .inv-icon{color:var(--color-warning)}.inv-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.inv-item:hover{background-color:var(--color-bg-card-hover)}.inv-item.selected{border-color:var(--color-primary);background-color:#9b59ff1a}.inv-item.weapon .inv-icon{color:var(--color-error)}.inv-item.armor .inv-icon{color:var(--color-info)}.inv-item-header{display:flex;align-items:center;gap:.35rem}.inv-icon{font-size:.9rem;flex-shrink:0}.inv-name{font-size:.75rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-desc{font-size:.65rem;color:var(--color-text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inv-stats{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.15rem}.inv-stat{font-size:.6rem;font-weight:var(--font-semibold);padding:.1rem .3rem;background-color:#9b59ff26;border-radius:var(--radius-sm);color:var(--color-primary)}.summary-section{margin:0 var(--space-md);padding:.75rem;background-color:#9b59ff14;border:1px solid rgba(155,89,255,.2);border-radius:var(--radius-lg)}.summary-section .section-title{margin-bottom:.5rem;font-size:.7rem}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;padding:.35rem .5rem;background-color:var(--color-bg-darker);border-radius:var(--radius-md)}.summary-row.full-width{grid-column:1 / -1}.summary-row span:first-child{color:var(--color-text-muted);flex-shrink:0}.summary-row .val{font-weight:var(--font-semibold);text-align:right;overflow:hidden;text-overflow:ellipsis;max-width:120px}.loadout-actions{display:flex;gap:.5rem;padding:var(--space-md)}.start-battle-btn,.cancel-btn{flex:1;padding:.7rem;border-radius:var(--radius-lg);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);border:none;display:flex;align-items:center;justify-content:center;gap:.4rem}.start-battle-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-text-primary)}.start-battle-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-primary)}.start-battle-btn:disabled{opacity:.4;cursor:not-allowed}.cancel-btn{background-color:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border-medium)}.cancel-btn:hover{background-color:var(--color-bg-card-hover)}.save-default-label{display:flex;align-items:center;gap:.4rem;padding:0 var(--space-md) .5rem;font-size:.75rem;color:var(--color-text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.save-default-label input[type=checkbox]{accent-color:var(--color-primary);width:14px;height:14px}@media(max-width:480px){.loadout-main,.summary-section{grid-template-columns:1fr}}.campaign-page{padding:1rem;max-width:800px;margin:0 auto}.campaign-header{margin-bottom:1.5rem}.header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.campaign-header h1{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);background:linear-gradient(135deg,#9b59ff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-badge{padding:.35rem .75rem;background:var(--color-primary-glow);border:1px solid rgba(155,89,255,.3);border-radius:var(--radius-full)}.progress-text{font-size:.9rem;font-weight:var(--font-semibold);color:var(--color-primary-light)}.cyphr-earned-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#9b59ff14;border:1px solid rgba(155,89,255,.25);border-radius:var(--radius-lg)}.cyphr-banner-icon{width:32px;height:32px;flex-shrink:0}.cyphr-earned-info{display:flex;align-items:baseline;gap:.5rem}.cyphr-earned-value{font-size:var(--text-2xl);font-weight:var(--font-bold);background:linear-gradient(135deg,#9b59ff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cyphr-earned-label{font-size:.85rem;opacity:.7}.warning-banner{display:flex;gap:.75rem;padding:1rem;margin-bottom:1.5rem;background:#ffb8001a;border:1px solid rgba(255,184,0,.25);border-radius:var(--radius-md)}.warning-icon{font-size:var(--text-2xl);flex-shrink:0}.warning-content{flex:1}.warning-content p{margin:0 0 .4rem;font-size:.9rem}.warning-content p:last-of-type{margin-bottom:.75rem;opacity:.8}.btn-warning{padding:.5rem 1rem;background-color:var(--color-primary);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-primary);-webkit-tap-highlight-color:transparent}.btn-warning:active{background-color:var(--color-primary-dark);transform:scale(.98)}.active-battle-banner{display:flex;gap:.75rem;padding:1rem;margin-bottom:1.5rem;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:var(--radius-md)}.active-battle-icon{font-size:var(--text-2xl);flex-shrink:0}.active-battle-content{flex:1}.active-battle-content p{margin:0 0 .4rem;font-size:.9rem}.active-battle-content p:last-of-type{margin-bottom:.75rem;opacity:.8}.active-battle-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.btn-resume{padding:.6rem 1.5rem;background-color:var(--color-success);color:var(--color-bg-dark);border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-success);-webkit-tap-highlight-color:transparent}.btn-resume:active{transform:scale(.98);opacity:.9}.btn-forfeit{padding:.6rem 1.5rem;background-color:var(--color-error);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-error);-webkit-tap-highlight-color:transparent}.btn-forfeit:active{transform:scale(.98);opacity:.9}.error-banner{display:flex;gap:.75rem;padding:1rem;margin-bottom:1.5rem;background:#ff44441a;border:1px solid rgba(255,68,68,.25);border-radius:var(--radius-md)}.error-icon{font-size:var(--text-2xl);flex-shrink:0}.error-content{flex:1}.error-content p{margin:0 0 .4rem;font-size:.9rem}.error-content p:last-of-type{margin-bottom:.75rem;opacity:.8}.btn-retry{padding:.5rem 1rem;background:#f443;color:var(--color-error);border:1px solid rgba(255,68,68,.3);border-radius:var(--radius-md);font-size:.85rem;font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.btn-retry:active{background:#ff44444d;transform:scale(.98)}.checkpoint-legend{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;margin-bottom:1rem;background:#00e5ff0f;border:1px solid rgba(0,229,255,.15);border-radius:var(--radius-md)}.checkpoint-legend-icon{font-size:1rem;flex-shrink:0}.checkpoint-legend-text{font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.checkpoint-legend-text strong{color:#00e5ffe6}.levels-grid{display:flex;flex-direction:column;gap:1rem}.loading-container{text-align:center;padding:2rem}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-primary);border-radius:var(--radius-full);margin:0 auto 1rem;animation:spin 1s linear infinite}.empty-state{text-align:center;padding:2rem;opacity:.6}@media(max-width:480px){.campaign-page{padding:.75rem}.campaign-header h1{font-size:1.25rem}.cyphr-earned-banner{padding:.6rem .75rem}.cyphr-banner-icon{width:28px;height:28px}.cyphr-earned-value{font-size:1.25rem}.warning-banner{flex-direction:column;text-align:center}}.battle-header{background-color:var(--color-bg-darker);padding:8px 12px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.turn-row{display:flex;justify-content:space-between;align-items:center}.turn-badge{padding:3px 8px;background-color:var(--color-bg-card);border:1px solid var(--color-border-medium);border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-semibold);color:var(--color-text-primary)}.turn-indicator{padding:3px 8px;border-radius:var(--radius-sm);font-weight:var(--font-semibold);font-size:.75rem}@keyframes turn-pulse{0%,to{box-shadow:0 0 #0f80}50%{box-shadow:0 0 12px #0f89}}.turn-indicator.player{background-color:#0f83;color:var(--color-success);border:1px solid rgba(0,255,136,.4);animation:turn-pulse 2s ease-in-out infinite}.turn-indicator.enemy{background-color:#f443;color:var(--color-error);border:1px solid rgba(255,68,68,.4)}.combat-row{display:flex;align-items:stretch;gap:8px}.combatant-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.player-side{align-items:flex-start}.enemy-side{align-items:flex-end}.combatant-header{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.7rem;font-weight:var(--font-semibold);color:var(--color-text-primary)}.combatant-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-text{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-secondary)}.char-subname{font-size:.55rem;color:var(--color-text-disabled)}.hp-bar{width:100%;height:12px;background-color:var(--color-bg-darker);border-radius:3px;overflow:hidden;border:1px solid var(--color-border-medium)}.hp-fill{height:100%;transition:width .3s cubic-bezier(.4,0,.2,1),background-color .5s ease;position:relative}.hp-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#fff3,#fff0,#0003);pointer-events:none}.hp-bar.player .hp-fill{background:linear-gradient(90deg,#0f8,#00cc6a)}.hp-bar.enemy .hp-fill{background:linear-gradient(90deg,#f44,#cc3636)}@keyframes critical-pulse{0%,to{opacity:1;box-shadow:0 0 #f440}50%{opacity:.7;box-shadow:0 0 8px #f44c}}.hp-bar.critical{animation:critical-pulse 1s ease-in-out infinite}@keyframes damage-flash{0%{box-shadow:inset 0 0 20px #f44c}to{box-shadow:none}}.hp-bar.damage-flash{animation:damage-flash .3s ease-out}@keyframes heal-flash{0%{box-shadow:inset 0 0 20px #0f8c}to{box-shadow:none}}.hp-bar.heal-flash{animation:heal-flash .4s ease-out}.ap-text{font-size:.6rem;color:var(--color-primary);font-family:var(--font-mono)}.status-effects-bar{display:flex;flex-wrap:wrap;gap:3px;margin-top:1px}.status-icon{font-size:.55rem;padding:1px 4px;border-radius:3px;white-space:nowrap}.status-icon.buff{background-color:#0f83;color:var(--color-success);border:1px solid rgba(0,255,136,.3)}.status-icon.debuff{background-color:#f443;color:var(--color-error);border:1px solid rgba(255,68,68,.3)}.vs-divider{font-weight:var(--font-bold);font-size:.7rem;color:var(--color-text-disabled);flex-shrink:0;padding:0 4px;display:flex;align-items:center}.equipment-list{display:flex;flex-direction:column;gap:2px;margin-top:2px;width:100%;max-width:100%}@media(min-width:768px){.equipment-list{max-width:280px}}.equip-line{display:flex;align-items:center;gap:3px;padding:2px 4px;border-radius:3px;font-size:.55rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);color:var(--color-text-muted)}.equip-line.has{background-color:#00ff8826;border-color:#00ff884d;color:var(--color-text-secondary)}.equip-line.melee.has{background-color:#9b59ff26;border-color:#9b59ff4d}.equip-line.ranged.has{background-color:#ffb80026;border-color:#ffb8004d}.equip-line.armor.has{background-color:#00bfff26;border-color:#00bfff4d}.equip-line.cover.none{background-color:#ff444426;border-color:#ff44444d}.equip-line.cover.partial{background-color:#ffb80026;border-color:#ffb8004d}.equip-line.cover.full{background-color:#00ff8826;border-color:#00ff884d}.eq-icon{font-size:.65rem;flex-shrink:0}.eq-label{font-weight:var(--font-semibold);flex-shrink:0;font-size:.5rem}.eq-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.52rem}.eq-stats{font-family:var(--font-mono);font-size:.5rem;flex-shrink:0;margin-left:auto}.equip-line.durability-critical{animation:durability-pulse 1.5s ease-in-out infinite;border-color:#ff444480!important}@media(max-width:400px){.battle-header{padding:6px 8px;gap:4px}.turn-badge,.turn-indicator{font-size:.65rem;padding:2px 6px}.hp-bar{height:10px}.combatant-header{font-size:.6rem}.equip-line{padding:1px 3px;gap:2px}.eq-icon{font-size:.55rem}.eq-label{font-size:.45rem}.eq-name{font-size:.47rem}.eq-stats{font-size:.45rem}}.battle-action-bar{background-color:var(--color-bg-darker);padding:8px 12px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--color-border-default);flex-shrink:0;position:relative;z-index:100;overflow:visible}.action-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.battle-action-bar .action-btn{flex:0 0 calc(16.666% - 5px);max-width:calc(16.666% - 5px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.7rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);position:relative;min-height:52px;box-sizing:border-box;-webkit-tap-highlight-color:transparent}@media(hover:hover)and (pointer:fine){.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 8px #0003;border-color:var(--color-primary)}}.action-btn:active:not(:disabled){transform:scale(.95);background-color:var(--color-bg-card-hover)}.action-btn.selected{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary);box-shadow:var(--shadow-primary)}.action-btn:disabled{opacity:.35;cursor:not-allowed}.action-icon{font-size:1.25rem;line-height:1}.action-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px}.action-ap{font-size:.55rem;font-family:var(--font-mono);color:var(--color-primary);font-weight:var(--font-bold)}.stim-count{position:absolute;top:2px;right:4px;background-color:var(--color-warning);color:var(--color-bg-dark);font-size:.6rem;font-weight:var(--font-bold);width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.ammo-count{font-size:.55rem;font-family:var(--font-mono);color:var(--color-warning);font-weight:var(--font-bold)}.reload-btn{background-color:#ffb80033;border-color:#ffb80080;animation:pulse-reload 1.5s infinite}.reload-btn.selected{background-color:var(--color-warning);border-color:var(--color-warning)}@keyframes pulse-reload{0%,to{box-shadow:0 0 #ffb80066}50%{box-shadow:0 0 0 4px #ffb80000}}.stim-btn{background-color:#ffb80026;border-color:#ffb8004d}.stim-btn.selected{background-color:var(--color-warning);border-color:var(--color-warning)}.stim-btn.advanced-stim{background-color:#9b59ff26;border-color:#9b59ff4d}.stim-btn.advanced-stim .stim-count{background-color:#9b59ff}.stim-btn.advanced-stim .action-ap{color:#9b59ff}.grenade-btn{background-color:#ff980026;border-color:#ff98004d}.grenade-btn.selected{background-color:#ff9800;border-color:#ff9800}.grenade-btn .stim-count{background-color:#ff9800}.grenade-btn .action-ap{color:#ff9800}.action-btn-wrapper{flex:0 0 calc(16.666% - 5px);max-width:calc(16.666% - 5px);position:relative}.action-btn-wrapper .action-btn{width:100%;flex:1 1 auto;max-width:100%}.consumable-submenu{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background-color:var(--color-bg-darker);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);padding:4px;z-index:200;min-width:240px;box-shadow:0 -4px 16px #00000080;animation:submenuSlideUp .15s ease}.items-submenu{left:auto;right:0;transform:none}@keyframes submenuSlideUp{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.submenu-item{display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.75rem;cursor:pointer;transition:background .15s;white-space:nowrap}.submenu-item:hover:not(:disabled){background-color:var(--color-bg-card-hover);border-color:var(--color-border-default)}.submenu-item:active:not(:disabled){transform:scale(.97)}.submenu-item:disabled{opacity:.35;cursor:not-allowed}.submenu-icon{font-size:1rem;line-height:1;flex-shrink:0}.submenu-name{flex:1;text-align:left;font-weight:var(--font-semibold)}.submenu-ap{font-family:var(--font-mono);font-size:.65rem;font-weight:var(--font-bold);flex-shrink:0}.grenade-submenu .submenu-ap{color:#ff9800}.stim-submenu .submenu-ap{color:#e91e63}.submenu-count{font-family:var(--font-mono);font-size:.6rem;color:var(--color-text-secondary);flex-shrink:0}.combat-stim-btn{background-color:#e91e6326;border-color:#e91e634d}.combat-stim-btn.selected{background-color:#e91e63;border-color:#e91e63}.combat-stim-btn .stim-count{background-color:#e91e63}.combat-stim-btn .action-ap{color:#e91e63}.end-btn{background-color:#00ff8826;border-color:#00ff884d}.end-btn:active:not(:disabled){background-color:#00ff884d}.forfeit-btn{background-color:#ff444426;border-color:#ff44444d}.forfeit-btn:active:not(:disabled){background-color:#ff44444d}.consumables-desktop{display:contents}.consumables-mobile{display:none;position:relative}.items-btn{background-color:#00bcd426;border-color:#00bcd44d}.items-btn.selected{background-color:#00bcd4;border-color:#00bcd4}.items-btn .stim-count{background-color:#00bcd4}.items-submenu .submenu-ap{color:#00bcd4}.action-hint{text-align:center;padding:6px 8px;margin-top:6px;background-color:#ffb8001a;border:1px solid rgba(255,184,0,.3);border-radius:var(--radius-md);font-size:.75rem;color:var(--color-warning)}@media(max-width:480px){.consumables-desktop{display:none!important}.consumables-mobile{display:contents}.consumables-mobile .action-btn{position:relative}.items-btn{min-height:80px!important}.battle-action-bar .action-btn{flex:0 0 calc(33.333% - 4px);max-width:calc(33.333% - 4px);padding:6px 4px;min-height:48px}.action-btn-wrapper{flex:0 0 calc(33.333% - 4px);max-width:calc(33.333% - 4px)}.battle-action-bar .action-icon{font-size:1.1rem}.battle-action-bar .action-label{font-size:.6rem}.battle-action-bar .action-ap{font-size:.5rem}}@media(max-width:360px){.battle-action-bar{padding:6px 8px}.consumables-mobile{display:contents}.items-btn{min-height:75px!important}.battle-action-bar .action-btn{flex:0 0 calc(33.333% - 4px);max-width:calc(33.333% - 4px);padding:4px 2px;min-height:44px}.action-btn-wrapper{flex:0 0 calc(33.333% - 4px);max-width:calc(33.333% - 4px)}.battle-action-bar .action-icon{font-size:1rem}.battle-action-bar .action-label{font-size:.55rem}.battle-action-bar .action-ap{font-size:.48rem}}.hex-grid-container{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--color-bg-dark);overflow:hidden}.hex-grid-canvas{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.hex-grid-canvas canvas{display:block;width:100%!important;height:100%!important;cursor:crosshair;touch-action:none}.hex-grid-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-text-secondary);font-size:1rem;text-align:center;padding:1rem;background:#00000080;border-radius:var(--radius-md);animation:pulse 1.5s ease-in-out infinite;z-index:10}.hex-grid-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-error);font-size:1rem;text-align:center;padding:1rem;background:#ff444426;border:1px solid var(--color-error);border-radius:var(--radius-md);z-index:20;max-width:90%}@media(max-width:640px){.hex-grid-container{border-radius:0}.hex-grid-canvas{min-height:250px}}.battle-page{width:100%;height:100vh;height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;overflow:hidden;position:fixed;inset:0;background:var(--color-bg-dark)}.battle-page.loading{align-items:center;justify-content:center}.loading-spinner{font-size:1.25rem;color:var(--color-text-secondary);animation:pulse 1.5s ease-in-out infinite}.battle-grid-container{flex:1;min-height:0;min-height:200px;overflow:hidden;position:relative;display:block}.battle-result-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .3s ease-in-out}.battle-result-overlay.victory{background:linear-gradient(160deg,#1b5e20fa,#388e3cf5 40%,#4caf50f2,#66bb6aed)}.battle-result-overlay.defeat{background:var(--color-error-tint-95)}.result-content{text-align:center;color:var(--color-text-primary);padding:2rem}.result-icon{font-size:4rem;margin-bottom:1rem;animation:bounce .5s ease-out}.result-content h1{font-size:2.5rem;margin:0 0 .5rem;font-weight:var(--font-bold);animation:scaleIn .5s ease-out}.result-content p{font-size:1rem;margin:0;opacity:.9}.battle-result-details{margin:.6rem 0;padding:0;width:90%;max-width:320px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:6px}.result-item-row{display:flex;align-items:center;padding:8px 12px;background:#00000059;border-radius:var(--radius-md);font-size:.8rem}.result-item-row .row-icon{font-size:1rem;margin-right:8px;flex-shrink:0}.result-item-row .row-label{font-weight:var(--font-semibold);margin-right:6px;flex-shrink:0}.result-item-row .row-items{color:#ffffffe6;overflow:hidden;text-overflow:ellipsis}.result-item-row.damaged .row-label{color:var(--color-warning)}.result-item-row.broken .row-label{color:var(--color-error)}.result-item-row.used .row-label{color:var(--color-info)}.result-damage-info,.result-broken-info,.result-consumables-info,.damage-label,.broken-label,.consumables-label{display:none}.reward-display{display:flex;align-items:center;justify-content:center;gap:8px;margin:.75rem 0;padding:12px 24px;background:linear-gradient(135deg,var(--color-warning-tint-30),var(--color-warning-tint-15));border:2px solid var(--color-warning-tint-60);border-radius:var(--radius-lg);animation:rewardPulse 2s ease-in-out infinite}.reward-icon{font-size:1.5rem}.reward-amount{font-size:1.4rem;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-warning)}@keyframes rewardPulse{0%,to{box-shadow:0 0 10px var(--color-warning-tint-30)}50%{box-shadow:0 0 20px #ffb80080}}.battle-stats{margin:.75rem 0;padding:.75rem;background:#0006;border-radius:var(--radius-md);width:280px;max-width:90%;margin-left:auto;margin-right:auto}.battle-stats h3{margin:0 0 .6rem;font-size:.85rem;font-weight:var(--font-semibold);color:var(--color-text-primary);text-align:center;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.4rem}.stats-grid{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.stat-item{width:calc(33.33% - 4px);min-width:75px;max-width:85px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;background:#ffffff1a;border-radius:var(--radius-sm)}.stat-label{font-size:9px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.2px;text-align:center;line-height:1.1;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.stat-value{font-size:1.4rem;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-primary);line-height:1}.character-status-notification{margin:.75rem 0;padding:10px 14px;border-radius:var(--radius-md);text-align:center;font-size:.85rem;font-weight:var(--font-medium);width:90%;max-width:320px;margin-left:auto;margin-right:auto}.character-status-notification.injured{background:var(--color-warning-tint-30);border:1px solid var(--color-warning-tint-60);color:var(--color-warning)}.character-status-notification.killed{background:var(--color-error-tint-30);border:1px solid rgba(255,68,68,.6);color:var(--color-error)}.character-status-notification .status-icon{font-size:1.2rem;margin-right:6px;vertical-align:middle}.character-status-notification .status-text{vertical-align:middle}.result-ok-button{margin-top:1.25rem;padding:.75rem 3rem;font-size:1.1rem;font-weight:var(--font-semibold);color:var(--color-text-primary);background:#fff3;border:2px solid rgba(255,255,255,.5);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.result-ok-button:hover{background:#ffffff4d;border-color:#fffc}.result-ok-button:active{transform:scale(.98)}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.bot-turn-indicator{position:absolute;top:52px;left:50%;transform:translate(-50%);z-index:var(--z-dropdown);pointer-events:none}.bot-turn-text{background:#ff3232cc;color:#fff;font-size:.8rem;font-weight:700;padding:5px 16px;border-radius:6px;letter-spacing:.5px;text-transform:uppercase;animation:botTurnPulse 1s ease-in-out infinite}@keyframes botTurnPulse{0%,to{opacity:.75}50%{opacity:1}}.processing-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006;z-index:var(--z-dropdown);pointer-events:none}.processing-spinner{width:48px;height:48px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}@supports (padding: max(0px)){.battle-page{padding-top:max(0px,env(safe-area-inset-top))}}@media(max-width:400px){.result-icon{font-size:3rem}.result-content h1{font-size:2rem}.result-content p{font-size:.9rem}.processing-spinner{width:40px;height:40px}}.error-toast{position:fixed;top:60px;left:50%;transform:translate(-50%);background:#ff4444f2;color:var(--color-text-primary);padding:12px 20px;border-radius:var(--radius-md);display:flex;align-items:center;gap:10px;z-index:var(--z-notification);animation:slideDown .3s ease-out;cursor:pointer;box-shadow:var(--shadow-lg);max-width:90%;text-align:center}.error-toast:hover{background:#f44}.error-icon{font-size:1.2rem;flex-shrink:0}.error-text{font-size:.9rem;font-weight:var(--font-medium)}@keyframes slideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.share-section{margin-top:1.5rem;padding:1rem 1.5rem;background:#00000040;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.15)}.share-label{font-size:1rem;color:var(--color-text-primary);margin:0 0 .85rem;font-weight:var(--font-semibold);border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:.6rem}.share-buttons{display:flex;gap:12px;justify-content:center}.share-button{display:flex;align-items:center;gap:6px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.share-button .share-icon{font-size:1.1rem}.share-button .share-text{color:inherit}.share-button.twitter{background:#000;color:var(--color-text-primary);border:1px solid rgba(255,255,255,.3)}.share-button.twitter:hover{background:#1a1a1a;border-color:#ffffff80}.share-button.twitter:active{transform:scale(.98)}.share-button.telegram{background:#08c;color:var(--color-text-primary)}.share-button.telegram:hover{background:#09d}.share-button.telegram:active{transform:scale(.98)}@media(max-width:400px){.share-section{margin-top:1rem;padding-top:.75rem}.share-label{font-size:.8rem}.share-button{padding:8px 16px;font-size:.85rem}.share-button .share-icon{font-size:1rem}}.pvp-payout-preview{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:.75rem}.payout-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0}.payout-row.highlight{border-top:1px solid var(--color-border-default);margin-top:.25rem;padding-top:.5rem}.payout-label{font-size:.8rem;color:var(--color-text-secondary)}.payout-value{font-size:.85rem;font-weight:var(--font-semibold);color:var(--color-text-primary)}.payout-value.pool{color:var(--color-warning)}.payout-value.winner{color:var(--color-success);font-size:.95rem}.payout-fee{text-align:right;font-size:.7rem;color:var(--color-text-muted);margin-top:.25rem}.pvp-rules-info{background-color:var(--color-primary-tint-06);border:1px solid var(--color-border-default);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:.75rem}.pvp-rules-title{font-size:.8rem;font-weight:var(--font-semibold);color:var(--color-primary-light);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.pvp-rules-list{margin:0;padding:0 0 0 1rem;list-style-type:disc}.pvp-rules-list li{font-size:.75rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:.15rem}.pvp-rules-list li:last-child{margin-bottom:0}.create-challenge-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn .2s ease;padding:1rem}.create-challenge-modal{background-color:var(--color-bg-darker);border:1px solid var(--color-border-medium);border-radius:var(--radius-xl);width:100%;max-width:680px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.ccm-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border-default)}.ccm-header h2{margin:0;font-size:1.1rem;color:var(--color-text-primary)}.ccm-close{background:none;border:none;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;padding:.25rem}.ccm-close:hover{color:var(--color-text-primary)}.ccm-steps{display:flex;gap:.25rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border-default)}.ccm-step{flex:1;text-align:center;font-size:.72rem;padding:.35rem;border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-bg-card);transition:all var(--transition-base)}.ccm-step.active{color:var(--color-text-primary);background:var(--color-primary-tint-20);border:1px solid var(--color-primary-tint-30)}.ccm-step.done{color:var(--color-success);background:var(--color-success-tint-08)}.ccm-content{padding:1rem 1.25rem;flex:1;overflow-y:auto}.ccm-desc{margin:0 0 .75rem;font-size:.85rem;color:var(--color-text-secondary)}.ccm-empty{text-align:center;padding:2rem 1rem;color:var(--color-text-muted);font-size:.85rem}.ccm-char-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.ccm-char-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:.6rem;cursor:pointer;transition:all var(--transition-base)}.ccm-char-card:hover{border-color:var(--color-border-hover)}.ccm-char-card.selected{border-color:var(--color-primary);background:var(--color-primary-tint-08);box-shadow:var(--shadow-primary)}.ccm-char-img{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.4rem;background:var(--color-bg-darker)}.ccm-char-img img{width:100%;height:100%;object-fit:cover}.ccm-char-img span{display:flex;align-items:center;justify-content:center;height:100%;font-size:2rem;color:var(--color-text-muted)}.ccm-char-info{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.3rem}.ccm-char-name{font-size:.8rem;font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccm-char-rarity{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.ccm-char-rarity.common{color:var(--color-text-secondary)}.ccm-char-rarity.uncommon{color:#4caf50}.ccm-char-rarity.rare{color:#2196f3}.ccm-char-rarity.epic{color:#9c27b0}.ccm-char-rarity.legendary{color:#ff9800}.ccm-char-rarity.mythic{color:#f44336}.ccm-char-stats{font-size:.65rem;font-family:var(--font-mono);color:var(--color-text-muted)}.ccm-equip-slots{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.ccm-equip-slot{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:var(--color-bg-darker);border-radius:var(--radius-md)}.ccm-slot-icon{font-size:1rem;width:24px;text-align:center;flex-shrink:0}.ccm-slot-content{flex:1;min-width:0}.ccm-slot-label{font-size:.65rem;color:var(--color-text-muted);margin-bottom:.15rem}.ccm-equipped-item{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .35rem}.ccm-item-name{font-size:.75rem;font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:60%}.ccm-item-mini-stats{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.15rem;flex-basis:100%}.ccm-item-mini-stats span{font-size:.55rem;padding:.1rem .2rem;background-color:var(--color-bg-card-hover);border-radius:3px;color:var(--color-text-secondary)}.ccm-dur{color:var(--color-warning)!important}.ccm-mod-buff{color:var(--color-success)!important}.ccm-mod-debuff{color:var(--color-error)!important}.ccm-remove-btn{width:18px;height:18px;border:none;background-color:#ff44444d;color:var(--color-error);border-radius:var(--radius-full);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color var(--transition-fast)}.ccm-remove-btn:hover{background-color:#ff444480}.ccm-empty-slot{font-size:.7rem;opacity:.4}.ccm-loadout-main{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.75rem}.ccm-section-title{font-size:.75rem;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.ccm-char-section{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:.75rem}.ccm-char-display{display:flex;gap:.5rem}.ccm-char-avatar{width:50px;height:50px;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-bg-darker);flex-shrink:0;display:flex;align-items:center;justify-content:center}.ccm-char-avatar img{width:100%;height:100%;object-fit:cover}.ccm-char-avatar span{font-size:1.5rem;opacity:.3}.ccm-char-detail{flex:1;min-width:0}.ccm-char-detail-name{font-size:.85rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.ccm-char-detail-rarity{font-size:.6rem;text-transform:uppercase;margin-bottom:.25rem;color:var(--color-text-muted)}.ccm-char-detail-rarity.common{color:var(--color-text-secondary)}.ccm-char-detail-rarity.uncommon{color:var(--color-success)}.ccm-char-detail-rarity.rare{color:var(--color-info)}.ccm-char-detail-rarity.epic{color:var(--color-primary)}.ccm-char-detail-rarity.legendary{color:var(--color-warning)}.ccm-char-detail-rarity.mythic{color:#f44336}.ccm-hp-bar{position:relative;height:14px;background-color:var(--color-bg-darker);border-radius:7px;overflow:hidden;margin-bottom:.35rem}.ccm-hp-fill{width:100%;height:100%;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success) 100%)}.ccm-hp-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:var(--font-bold);color:var(--color-text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.ccm-special-compact{display:flex;gap:.25rem;flex-wrap:wrap}.ccm-special-compact span{font-size:.6rem;padding:.1rem .25rem;background-color:var(--color-bg-card-hover);border-radius:var(--radius-sm)}.ccm-special-compact b{opacity:.5;margin-right:1px}.ccm-combat-stats{margin-top:.75rem;padding:.5rem;background-color:#9b59ff1a;border:1px solid rgba(155,89,255,.2);border-radius:var(--radius-md)}.ccm-combat-title{font-size:.65rem;font-weight:var(--font-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.4rem}.ccm-combat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem}.ccm-combat-stat{display:flex;flex-direction:column;align-items:center;padding:.25rem;background-color:var(--color-bg-darker);border-radius:var(--radius-sm)}.ccm-combat-stat.highlight .ccm-stat-value{color:var(--color-error)}.ccm-stat-label{font-size:.55rem;color:var(--color-text-muted);text-transform:uppercase}.ccm-stat-value{font-size:.7rem;font-weight:var(--font-bold);color:var(--color-primary)}.ccm-equip-section{background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.ccm-stim-slot{flex-wrap:wrap}.ccm-stim-controls{display:flex;align-items:center;gap:.5rem}.ccm-qty-btn{width:32px;height:32px;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:var(--font-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.ccm-qty-btn.minus{background-color:#f443;color:var(--color-error);border:1px solid rgba(255,68,68,.3)}.ccm-qty-btn.plus{background-color:#0f83;color:var(--color-success);border:1px solid rgba(0,255,136,.3)}.ccm-qty-btn:hover:not(:disabled){transform:scale(1.1)}.ccm-qty-btn:disabled{opacity:.3;cursor:not-allowed}.ccm-qty-value{font-size:1rem;font-weight:var(--font-bold);min-width:20px;text-align:center}.ccm-stim-hint{font-size:.6rem;color:var(--color-text-muted);width:100%;margin-top:.25rem;margin-left:34px}.ccm-adv-hint{color:var(--color-primary);font-weight:var(--font-semibold)}.ccm-adv-slot{background:linear-gradient(135deg,rgba(155,89,255,.1) 0%,var(--color-bg-darker) 100%);border:1px solid rgba(155,89,255,.2)}.ccm-inventory-section{margin-bottom:.5rem}.ccm-inv-title{font-size:.75rem;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.ccm-inv-tip{font-size:.7rem;color:var(--color-text-muted);opacity:.7;margin-bottom:.5rem}.ccm-inv-empty{text-align:center;padding:1rem;color:var(--color-text-muted);font-size:.8rem}.ccm-inv-categories{display:flex;flex-direction:column;gap:.75rem}.ccm-inv-category{background-color:var(--color-bg-card);border-radius:var(--radius-md);padding:.5rem}.ccm-cat-title{font-size:.7rem;font-weight:var(--font-semibold);color:var(--color-text-secondary);margin-bottom:.4rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border-light)}.ccm-inv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.ccm-inv-item{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.ccm-inv-item:hover{background-color:var(--color-bg-card-hover)}.ccm-inv-item.selected{border-color:var(--color-primary);background-color:#9b59ff1a}.ccm-inv-item-header{display:flex;align-items:center;gap:.3rem;margin-bottom:.2rem}.ccm-inv-icon{font-size:.8rem}.ccm-inv-name{font-size:.72rem;font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccm-inv-stats{display:flex;flex-wrap:wrap;gap:.2rem}.ccm-inv-stats span{font-size:.6rem;font-weight:var(--font-semibold);padding:.1rem .3rem;background-color:#9b59ff26;border-radius:var(--radius-sm);color:var(--color-primary)}.ccm-save-default{display:flex;align-items:center;gap:.4rem;padding:.5rem 0;cursor:pointer;font-size:.78rem;color:var(--color-text-secondary)}.ccm-save-default input[type=checkbox]{accent-color:var(--color-primary)}.ccm-equip-label{display:block;font-size:.8rem;color:var(--color-text-secondary);margin-bottom:.3rem;font-weight:var(--font-medium)}.ccm-input{width:100%;padding:.5rem .75rem;background:var(--color-bg-input);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;outline:none;transition:border-color var(--transition-base);box-sizing:border-box}.ccm-input:focus{border-color:var(--color-primary)}.ccm-counter{display:flex;align-items:center;gap:.75rem}.ccm-counter button{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-bg-card);border:1px solid var(--color-border-light);color:var(--color-text-primary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.ccm-counter button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-tint-10)}.ccm-counter button:disabled{opacity:.3;cursor:not-allowed}.ccm-counter span{font-size:1rem;font-weight:var(--font-semibold);color:var(--color-text-primary);min-width:1.5rem;text-align:center}.ccm-token-select{display:flex;gap:.5rem;margin-bottom:.75rem}.ccm-token-btn{flex:1;padding:.5rem;border-radius:var(--radius-md);background:var(--color-bg-card);border:1px solid var(--color-border-light);color:var(--color-text-secondary);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.ccm-token-btn:hover{border-color:var(--color-border-hover)}.ccm-token-btn.active{background:var(--color-primary-tint-15);border-color:var(--color-primary);color:var(--color-text-primary)}.ccm-amount-section{margin-bottom:.75rem}.ccm-presets{display:flex;gap:.35rem;margin-top:.4rem;flex-wrap:wrap}.ccm-preset-btn{padding:.3rem .6rem;border-radius:var(--radius-sm);background:var(--color-bg-card);border:1px solid var(--color-border-default);color:var(--color-text-muted);font-size:.75rem;cursor:pointer;transition:all var(--transition-base)}.ccm-preset-btn:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.ccm-preset-btn.active{background:var(--color-primary-tint-15);border-color:var(--color-primary);color:var(--color-text-primary)}.ccm-summary{display:flex;gap:.5rem;padding:.5rem 0;font-size:.85rem;color:var(--color-text-secondary)}.ccm-summary-label{color:var(--color-text-muted)}.ccm-equipment-hint{padding:.5rem .75rem;margin-bottom:.75rem;background:var(--color-info-tint-08);border:1px solid var(--color-info-tint-20);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8rem;line-height:1.4}.ccm-error{padding:.5rem .75rem;margin-top:.5rem;background:var(--color-error-tint-10);border:1px solid var(--color-error-tint-25);border-radius:var(--radius-md);color:var(--color-error);font-size:.8rem}.ccm-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border-default)}.ccm-btn{flex:1;padding:.6rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);border:none}.ccm-btn.primary{background:var(--gradient-brand);color:var(--color-text-primary)}.ccm-btn.primary:hover:not(:disabled){box-shadow:var(--shadow-primary)}.ccm-btn.primary:disabled{opacity:.5;cursor:not-allowed}.ccm-btn.secondary{background:var(--color-bg-card);border:1px solid var(--color-border-light);color:var(--color-text-secondary)}.ccm-btn.secondary:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.ccm-stat-buff{background-color:#00ff8826!important;color:var(--color-success)!important}.ccm-stat-debuff{background-color:#ff444426!important;color:var(--color-error)!important}.ccm-stat-effect{background-color:#ffd70033!important;color:gold!important}.ccm-stat-dur{background-color:#ffb80026!important;color:var(--color-warning)!important}@media(max-width:480px){.ccm-loadout-main{grid-template-columns:1fr}.ccm-combat-grid{grid-template-columns:repeat(2,1fr)}}.pvp-challenge-card{display:flex;align-items:center;justify-content:space-between;background-color:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:.75rem 1rem;transition:all var(--transition-base)}.pvp-challenge-card:hover:not(.own){border-color:var(--color-border-hover);background-color:var(--color-bg-card-hover)}.pvp-challenge-card.own{border-color:var(--color-primary-tint-30);background-color:var(--color-primary-tint-06)}.challenge-card-left{display:flex;flex-direction:column;gap:.25rem}.challenge-challenger{display:flex;align-items:center;gap:.5rem}.challenger-name{font-size:.9rem;font-weight:var(--font-semibold);color:var(--color-text-primary)}.challenger-char{font-size:.75rem;color:var(--color-text-muted)}.challenge-time{font-size:.7rem;color:var(--color-text-muted);opacity:.7}.challenge-wager{display:flex;align-items:center;gap:.35rem}.wager-amount{font-size:.85rem;font-weight:var(--font-bold);color:var(--color-warning)}.wager-token{font-size:.75rem;color:var(--color-text-secondary)}.challenge-card-right{flex-shrink:0}.own-badge{font-size:.75rem;color:var(--color-primary-light);background-color:var(--color-primary-tint-15);padding:.3rem .6rem;border-radius:var(--radius-full)}.accept-btn{background:var(--gradient-brand);color:var(--color-text-primary);border:none;border-radius:var(--radius-md);padding:.5rem 1.25rem;font-size:.85rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.accept-btn:hover:not(:disabled){box-shadow:var(--shadow-primary);transform:translateY(-1px)}.accept-btn:disabled{opacity:.5;cursor:not-allowed}.cancel-challenge-btn{background:transparent;color:var(--color-error, #ef5350);border:1px solid var(--color-error-tint-25, rgba(239, 83, 80, .25));border-radius:var(--radius-md);padding:.4rem .9rem;font-size:.8rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.cancel-challenge-btn:hover:not(:disabled){background:var(--color-error-tint-10, rgba(239, 83, 80, .1));border-color:var(--color-error, #ef5350)}.cancel-challenge-btn:disabled{opacity:.5;cursor:not-allowed}.pvp-lobby-page{padding:var(--space-md);max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md);padding-bottom:80px}.pvp-lobby-header{text-align:center}.pvp-lobby-header h1{margin:0;font-size:1.5rem;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pvp-lobby-subtitle{margin:.25rem 0 0;font-size:.8rem;color:var(--color-text-secondary)}.pvp-lobby-actions{display:flex;gap:.5rem}.pvp-btn{padding:.6rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);border:none}.pvp-btn.primary{background:var(--gradient-brand);color:var(--color-text-primary)}.pvp-btn.primary:hover:not(:disabled){box-shadow:var(--shadow-primary)}.pvp-btn.primary:disabled{opacity:.5;cursor:not-allowed}.pvp-btn.primary.large{flex:1;padding:.75rem;font-size:1rem}.pvp-btn.secondary{background:var(--color-bg-card);border:1px solid var(--color-border-light);color:var(--color-text-secondary)}.pvp-btn.secondary:hover:not(:disabled){border-color:var(--color-border-hover);color:var(--color-text-primary)}.pvp-btn.secondary:disabled{opacity:.5;cursor:not-allowed}.pvp-warning{padding:.6rem .75rem;background:var(--color-warning-tint-10);border:1px solid var(--color-warning-tint-30);border-radius:var(--radius-md);font-size:.8rem;color:var(--color-warning)}.pvp-error{padding:.6rem .75rem;background:var(--color-error-tint-10);border:1px solid var(--color-error-tint-25);border-radius:var(--radius-md);font-size:.8rem;color:var(--color-error);display:flex;justify-content:space-between;align-items:center}.pvp-error-dismiss{background:none;border:none;color:var(--color-error);cursor:pointer;font-size:1rem;padding:0 .25rem}.pvp-challenges-section h3{margin:0 0 .5rem;font-size:.95rem;color:var(--color-text-secondary)}.pvp-challenges-list{display:flex;flex-direction:column;gap:.5rem}.pvp-empty{text-align:center;padding:2rem 1rem;color:var(--color-text-muted);font-size:.85rem;background:var(--color-bg-card);border-radius:var(--radius-md);border:1px dashed var(--color-border-default)}.pvp-waiting-container{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.pvp-waiting-spinner{width:48px;height:48px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.pvp-waiting-text{font-size:1rem;color:var(--color-text-secondary);margin:0}.pvp-waiting-info{font-size:.85rem;color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:.35rem}.pvp-waiting-timer{font-size:1.1rem;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-warning)}.pvp-accept-desc{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.pvp-accept-chars{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.pvp-accept-char-card{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:.6rem;cursor:pointer;transition:all var(--transition-base)}.pvp-accept-char-card:hover{border-color:var(--color-border-hover)}.pvp-accept-char-card.selected{border-color:var(--color-primary);background:var(--color-primary-tint-08);box-shadow:var(--shadow-primary)}.pvp-accept-char-img{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.4rem;background:var(--color-bg-darker)}.pvp-accept-char-img img{width:100%;height:100%;object-fit:cover}.pvp-accept-char-img span{display:flex;align-items:center;justify-content:center;height:100%;font-size:2rem;color:var(--color-text-muted)}.pvp-accept-char-info{display:flex;flex-direction:column;gap:.1rem}.pvp-accept-char-name{font-size:.8rem;font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvp-accept-char-rarity{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.pvp-accept-char-rarity.common{color:var(--color-text-secondary)}.pvp-accept-char-rarity.uncommon{color:#4caf50}.pvp-accept-char-rarity.rare{color:#2196f3}.pvp-accept-char-rarity.epic{color:#9c27b0}.pvp-accept-char-rarity.legendary{color:#ff9800}.pvp-accept-char-rarity.mythic{color:#f44336}.pvp-accept-actions{display:flex;gap:.5rem}.pvp-battle-header{background:var(--color-bg-darker);border-bottom:1px solid var(--color-border-default);padding:.4rem .5rem;flex-shrink:0}.pvp-turn-row{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.3rem}.pvp-turn-badge{font-size:.7rem;font-weight:var(--font-semibold);color:var(--color-text-muted);background:var(--color-bg-card);padding:.15rem .4rem;border-radius:var(--radius-sm)}.pvp-turn-indicator{font-size:.75rem;font-weight:var(--font-bold);padding:.15rem .5rem;border-radius:var(--radius-sm)}.pvp-turn-indicator.my-turn{color:var(--color-success);background:var(--color-success-tint-10)}.pvp-turn-indicator.opp-turn{color:var(--color-warning);background:var(--color-warning-tint-10)}.pvp-timer{font-size:.8rem;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-secondary);background:var(--color-bg-card);padding:.15rem .4rem;border-radius:var(--radius-sm);min-width:2.5rem;text-align:center}.pvp-timer.urgent{color:var(--color-error);background:var(--color-error-tint-15);animation:pulse-timer .5s ease-in-out infinite alternate}@keyframes pulse-timer{0%{opacity:.7}to{opacity:1}}.pvp-combat-row{display:flex;align-items:flex-start;gap:.25rem}.pvp-combatant{flex:1;min-width:0}.pvp-combatant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.15rem}.pvp-combatant-name{font-size:.75rem;font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvp-hp-text{font-size:.65rem;font-family:var(--font-mono);color:var(--color-text-secondary)}.pvp-hp-bar{height:6px;background:var(--color-bg-card);border-radius:3px;overflow:hidden;margin-bottom:.15rem}.pvp-hp-bar .pvp-hp-fill{height:100%;border-radius:3px;transition:width .3s ease}.pvp-hp-bar.player .pvp-hp-fill{background:var(--color-success)}.pvp-hp-bar.opponent .pvp-hp-fill{background:var(--color-error)}.pvp-ap-text{font-size:.65rem;color:var(--color-text-muted);margin-bottom:.15rem}.pvp-equip-list{display:flex;flex-direction:column;gap:.05rem}.pvp-eq-line{display:flex;align-items:center;gap:.25rem}.pvp-eq-icon{font-size:.6rem;flex-shrink:0}.pvp-eq-name{font-size:.6rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvp-eq-line.cover-partial .pvp-eq-name{color:var(--color-warning)}.pvp-eq-line.cover-full .pvp-eq-name{color:var(--color-success)}.pvp-status-effects-bar{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:.1rem}.pvp-status-icon{font-size:.5rem;padding:1px 3px;border-radius:3px;white-space:nowrap}.pvp-status-icon.buff{background-color:#0f83;color:var(--color-success);border:1px solid rgba(0,255,136,.3)}.pvp-status-icon.debuff{background-color:#f443;color:var(--color-error);border:1px solid rgba(255,68,68,.3)}.pvp-vs-divider{font-size:.7rem;font-weight:var(--font-bold);color:var(--color-text-muted);padding:0 .15rem;align-self:center}.durability-warning{font-size:.65rem;margin-left:2px;filter:drop-shadow(0 0 2px rgba(255,184,0,.8))}@keyframes durability-pulse{0%,to{filter:drop-shadow(0 0 2px rgba(255,68,68,.6))}50%{filter:drop-shadow(0 0 6px rgba(255,68,68,1))}}.pvp-eq-line.durability-critical{animation:durability-pulse 1.5s ease-in-out infinite;border-color:#ff444480!important}.pvp-result-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .3s ease-in-out}.pvp-result-overlay.victory{background:linear-gradient(160deg,#1b5e20fa,#388e3cf5 40%,#4caf50f2,#66bb6aed)}.pvp-result-overlay.defeat{background:var(--color-error-tint-95)}.pvp-result-overlay.draw{background:var(--color-info-tint-95)}.pvp-result-content{text-align:center;color:var(--color-text-primary);padding:2rem;max-width:360px;width:100%}.pvp-result-icon{font-size:3rem;margin-bottom:.5rem}.pvp-result-title{margin:0 0 .25rem;font-size:2rem;font-weight:var(--font-bold);text-shadow:0 2px 8px rgba(0,0,0,.3)}.pvp-result-opponent{margin:0 0 1.5rem;font-size:1rem;opacity:.8}.pvp-result-payout{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1.5rem;padding:.75rem;background:#ffffff1a;border-radius:var(--radius-md)}.pvp-payout-label{font-size:.85rem;opacity:.8}.pvp-payout-amount{font-size:1.5rem;font-weight:var(--font-bold)}.pvp-result-payout.loss .pvp-payout-amount{color:#ffcdd2}.pvp-result-payout.draw .pvp-payout-amount{color:#b3e5fc}.pvp-result-injury{font-size:.8rem;color:#ffffffb3;margin-bottom:1rem}.pvp-result-stats{margin-bottom:1.5rem;background:#00000026;border-radius:var(--radius-md);padding:.75rem}.pvp-stat-row{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.85rem}.pvp-stat-row span:first-child{opacity:.8}.pvp-stat-row span:last-child{font-weight:var(--font-semibold)}.pvp-result-btn{background:#fff3;color:var(--color-text-primary);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);padding:.75rem 2rem;font-size:1rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.pvp-result-btn:hover{background:#ffffff4d;border-color:#ffffff80}.pvp-battle-page{width:100%;height:100vh;height:100dvh;min-height:-webkit-fill-available;display:flex;flex-direction:column;overflow:hidden;position:fixed;inset:0;background:var(--color-bg-dark)}.pvp-battle-page.loading{align-items:center;justify-content:center}.pvp-loading-spinner{font-size:1.25rem;color:var(--color-text-secondary);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pvp-battle-grid-container{flex:1;min-height:200px;overflow:hidden;position:relative;display:block}.pvp-opponent-turn-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-dropdown);pointer-events:none}.pvp-opponent-turn-text{background:#000000b3;color:var(--color-warning);padding:.5rem 1.5rem;border-radius:var(--radius-md);font-size:1rem;font-weight:var(--font-semibold);animation:pulse 1.5s ease-in-out infinite}.pvp-processing-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-dropdown);pointer-events:none}.pvp-processing-spinner{width:32px;height:32px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.pvp-error-toast{position:absolute;top:80px;left:50%;transform:translate(-50%);z-index:var(--z-notification);background:var(--color-error-tint-95);color:var(--color-text-primary);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.85rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;box-shadow:var(--shadow-lg);animation:slideDown .3s ease}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.pvp-leaderboard-page{max-width:600px;margin:0 auto;padding:var(--space-md);padding-bottom:80px;display:flex;flex-direction:column;gap:var(--space-md)}.pvp-lb-header{text-align:center}.pvp-lb-header h1{margin:0;font-size:1.5rem;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pvp-lb-subtitle{margin:.25rem 0 0;color:var(--color-text-muted);font-size:.85rem}.pvp-my-stats{background:linear-gradient(135deg,var(--color-primary-tint-08),var(--color-accent-tint-03));border:1px solid var(--color-primary-tint-20);border-radius:var(--radius-lg);padding:1rem}.pvp-my-stats-row{display:flex;justify-content:space-around;gap:.5rem}.pvp-my-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem}.pvp-my-stat-value{font-size:1.2rem;font-weight:var(--font-bold);color:var(--color-text-primary)}.pvp-my-stat-label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.pvp-my-streak{text-align:center;font-size:.75rem;color:var(--color-warning);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border-default)}.pvp-lb-loading,.pvp-lb-empty{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:.9rem}.pvp-lb-table-wrapper{overflow-x:auto}.pvp-lb-table{width:100%;border-collapse:collapse;font-size:.85rem}.pvp-lb-table thead th{padding:.5rem .4rem;text-align:left;font-size:.75rem;font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border-light)}.pvp-lb-table tbody tr{border-bottom:1px solid var(--color-border-default);transition:background var(--transition-fast)}.pvp-lb-table tbody tr:hover{background:var(--color-bg-card-hover)}.pvp-lb-table tbody tr.me{background:var(--color-primary-tint-06)}.pvp-lb-table td{padding:.6rem .4rem;color:var(--color-text-secondary)}.rank-cell{width:2.5rem;text-align:center;font-weight:var(--font-semibold)}.rank-medal{font-size:1.1rem}.player-cell{max-width:120px}.player-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;color:var(--color-text-primary);font-weight:var(--font-medium)}.player-name.highlight{color:var(--color-primary-light)}.elo-cell{font-weight:var(--font-bold);color:var(--color-accent)!important;font-family:var(--font-mono)}.wl-cell{font-family:var(--font-mono);font-size:.8rem}.wins{color:var(--color-success)}.losses{color:var(--color-error)}.streak-cell{text-align:center}.streak-badge{background:var(--color-warning-tint-20);color:var(--color-warning);padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-semibold)}.winrate-cell{font-family:var(--font-mono);font-size:.8rem}.pvp-lb-back{background:var(--color-bg-card);border:1px solid var(--color-border-light);border-radius:var(--radius-md);color:var(--color-text-secondary);padding:.6rem 1rem;font-size:.9rem;font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);text-align:center}.pvp-lb-back:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.shop-page{padding:1.5rem;max-width:1200px;margin:0 auto}.shop-header{margin-bottom:1rem}.shop-header h1{margin:0;font-size:var(--text-3xl);font-weight:var(--font-bold);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shop-top-tabs{display:flex;gap:0;margin-bottom:1.5rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border-default)}.shop-top-tab{flex:1;padding:.75rem 1rem;background:var(--color-bg-card);border:none;color:var(--color-text-secondary);font-size:.95rem;font-weight:var(--font-semibold);cursor:pointer;transition:all .2s;position:relative;-webkit-tap-highlight-color:transparent}.shop-top-tab.active{background:var(--color-primary);color:var(--color-text-primary)}.shop-top-tab:first-child{border-right:1px solid var(--color-border-default)}.tab-dot{display:inline-block;width:8px;height:8px;background:#ffd100;border-radius:50%;margin-left:6px;vertical-align:middle;animation:tabDotPulse 1.5s ease-in-out infinite}@keyframes tabDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.mystery-box-page{display:flex;flex-direction:column;gap:1.5rem}.daily-box-banner{padding:1.25rem;border-radius:var(--radius-xl);text-align:center;transition:all .3s}.daily-box-banner.available{background:linear-gradient(135deg,#ffd70026,#ffa50026);border:2px solid rgba(255,215,0,.5);box-shadow:0 0 20px #ffd70026;animation:dailyGlow 2s ease-in-out infinite}.daily-box-banner.claimed{background:var(--color-bg-card);border:1px solid var(--color-border-default)}@keyframes dailyGlow{0%,to{box-shadow:0 0 15px #ffd7001a}50%{box-shadow:0 0 25px #ffd70040}}.daily-box-title{font-size:1.1rem;font-weight:var(--font-bold);margin-bottom:.4rem}.daily-box-desc{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:.75rem}.daily-box-countdown{font-size:.85rem;color:var(--color-text-secondary);font-family:var(--font-mono)}.btn-daily-claim{padding:.6rem 1.5rem;background:linear-gradient(135deg,gold,orange);color:#1a1a2e;border:none;border-radius:10px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-daily-claim:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #ffd7004d}.btn-daily-claim:disabled{opacity:.6;cursor:not-allowed}.premium-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.box-card{background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-xl);overflow:hidden;transition:all .2s}.box-card:active{transform:scale(.98)}.box-card-header{padding:.75rem;text-align:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}.box-emoji{font-size:1.5rem;display:block;margin-bottom:.25rem}.box-name{font-size:.75rem;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.5px}.box-card-body{padding:.75rem}.box-contents{margin-bottom:.5rem}.box-content-line{font-size:.7rem;color:var(--color-text-secondary);line-height:1.5}.box-content-line.tier-range{font-weight:var(--font-semibold);color:var(--color-text-primary)}.box-content-line.bonus{color:var(--color-success);font-size:.65rem}.drop-rates-section{margin-bottom:.5rem}.drop-rates-toggle{width:100%;padding:.35rem;background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:6px;color:var(--color-text-secondary);font-size:.65rem;cursor:pointer;transition:all .2s}.drop-rates-toggle:hover{background:#0000004d}.drop-rates-list{margin-top:.4rem;padding:.4rem;background:#0003;border-radius:6px}.drop-rate-row{display:flex;align-items:center;gap:.4rem;padding:.15rem 0;font-size:.6rem}.drop-rate-tier{width:55px;font-weight:var(--font-semibold);flex-shrink:0}.drop-rate-bar{flex:1;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.drop-rate-fill{height:100%;border-radius:3px;transition:width .3s}.drop-rate-pct{width:28px;text-align:right;font-family:var(--font-mono);font-weight:var(--font-semibold);flex-shrink:0}.btn-open-box{width:100%;padding:.6rem;border:none;border-radius:8px;color:#fff;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;text-shadow:0 1px 2px rgba(0,0,0,.3)}.btn-open-box:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.btn-open-box:disabled{opacity:.5;cursor:not-allowed}.mystery-box-notice{text-align:center;padding:1rem;color:var(--color-text-secondary);font-size:.85rem;background:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.unboxing-overlay{position:fixed;inset:0;background:#000000d9;z-index:3000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.unboxing-modal{width:90%;max-width:360px;min-height:300px;display:flex;align-items:center;justify-content:center;position:relative}.unboxing-anticipation{text-align:center}.unbox-icon{font-size:5rem;display:block;margin-bottom:1rem}.unbox-icon.shake{animation:boxShake .15s ease-in-out infinite}.unbox-icon.crack{animation:boxCrack .5s ease-out forwards}@keyframes boxShake{0%,to{transform:translate(0)}25%{transform:translate(-4px) rotate(-2deg)}75%{transform:translate(4px) rotate(2deg)}}@keyframes boxCrack{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:1}to{transform:scale(2);opacity:0}}.unbox-text{font-size:1rem;color:var(--color-text-secondary);animation:textPulse .8s ease-in-out infinite}@keyframes textPulse{0%,to{opacity:.6}50%{opacity:1}}.btn-skip-animation{margin-top:1.5rem;padding:.4rem 1.2rem;background:transparent;border:1px solid var(--color-text-secondary);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8rem;cursor:pointer;opacity:.6;transition:opacity .2s}.btn-skip-animation:hover{opacity:1}.unboxing-reveal{text-align:center;position:relative;animation:revealSlideUp .5s ease-out}@keyframes revealSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.reveal-card{padding:1.5rem;background:var(--color-bg-card);border:2px solid;border-radius:var(--radius-xl);margin-bottom:1rem;box-shadow:0 0 30px #00000080}.reveal-tier{font-size:.85rem;font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.reveal-name{font-size:1.4rem;font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:.25rem}.reveal-type{font-size:.8rem;color:var(--color-text-secondary);text-transform:capitalize}.god-rays{position:absolute;top:50%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0deg,var(--tier-color, #a335ee) 15deg,transparent 30deg,transparent 90deg,var(--tier-color, #a335ee) 105deg,transparent 120deg,transparent 180deg,var(--tier-color, #a335ee) 195deg,transparent 210deg,transparent 270deg,var(--tier-color, #a335ee) 285deg,transparent 300deg);opacity:.15;border-radius:50%;animation:godRaySpin 6s linear infinite;pointer-events:none;z-index:-1}@keyframes godRaySpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.bonus-items-reveal{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}.bonus-item-tag{padding:.4rem .75rem;background:#4caf5026;border:1px solid rgba(76,175,80,.3);border-radius:8px;color:#4caf50;font-size:.8rem;font-weight:600;animation:slideUp .5s ease-out both}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.unboxing-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.btn-unbox-action{padding:.75rem 1.5rem;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-unbox-action.primary{background:var(--color-primary);color:#fff}.btn-unbox-action.secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--color-text-primary)}.btn-unbox-action:hover{transform:translateY(-1px)}.category-filter{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.category-filter.tier-filter{margin-bottom:1.5rem;margin-top:-1rem}.category-filter.tier-filter .category-btn{padding:.4rem .8rem;font-size:.8rem}.category-btn{padding:.6rem 1rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.category-btn:active{background-color:var(--color-bg-card-hover);border-color:var(--color-border-light)}.category-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary);box-shadow:var(--shadow-primary)}.cart-panel{background-color:var(--color-bg-card);border:1px solid var(--color-primary);border-radius:var(--radius-xl);padding:1.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow-primary)}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cart-header h3{margin:0;color:var(--color-primary);font-size:var(--text-xl);font-weight:var(--font-semibold)}.btn-clear{padding:.4rem .75rem;background:var(--color-error-tint-15);color:var(--color-error);border:1px solid var(--color-error-tint-30);border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-clear:hover{background:var(--color-error-tint-25)}.cart-items{margin-bottom:1rem}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#0000004d;border-radius:8px;margin-bottom:.5rem}.cart-item-info{display:flex;flex-direction:column;gap:.25rem}.cart-item-name{font-size:.9rem;font-weight:500}.cart-item-price{font-size:.8rem;opacity:.7;display:flex;align-items:center;gap:.25rem}.cart-item-controls{display:flex;align-items:center;gap:.5rem}.qty-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-primary-tint-20);border:1px solid var(--color-primary-tint-40);border-radius:6px;color:var(--color-primary);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s}.qty-btn:hover{background:var(--color-primary-tint-30)}.qty-input{width:40px;padding:.25rem;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;text-align:center;font-size:.9rem}.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#0000004d;border-radius:10px;margin-bottom:1rem}.total-label{font-weight:600;font-size:1rem}.total-prices{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.token-icon{width:20px;height:20px;vertical-align:middle;margin-right:4px}.token-icon-sm{width:14px;height:14px;vertical-align:middle;margin-right:2px}.price-tag{display:inline-flex;align-items:center;padding:.3rem .6rem;border-radius:8px;font-weight:600;font-size:.9rem}.price-tag.cyphr{background:#ffd70026;color:var(--color-warning-amber);border:1px solid rgba(255,215,0,.3)}.price-tag.xpr{background:#667eea26;color:var(--color-xpr);border:1px solid rgba(102,126,234,.3)}.btn-checkout{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-checkout:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px var(--color-primary-tint-30)}.btn-checkout:disabled{opacity:.5;cursor:not-allowed}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.shop-item-card{background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:.75rem;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.shop-item-card.high-tier{border-width:2px;box-shadow:0 0 8px #a335ee26}.shop-item-card:active{border-color:var(--color-border-light);transform:scale(.98)}.shop-item-card .item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.shop-item-card .item-type-badge{padding:.15rem .4rem;border-radius:var(--radius-md);font-size:.6rem;font-weight:var(--font-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:.2rem}.shop-item-card .item-rarity{font-size:.6rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.3px}.shop-item-card .item-name{margin:0 0 .25rem;font-size:.85rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-item-card .item-description{margin:0 0 .5rem;font-size:.7rem;color:var(--color-text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shop-item-card .item-stats{margin-bottom:.5rem;padding:.4rem .5rem;background-color:var(--color-primary-tint-10);border:1px solid var(--color-primary-tint-20);border-radius:var(--radius-md)}.shop-item-card .stat-row{display:flex;justify-content:space-between;font-size:.75rem;padding:.15rem 0}.shop-item-card .stat-label{color:var(--color-text-secondary)}.shop-item-card .stat-value{font-weight:var(--font-semibold);font-family:var(--font-mono);color:var(--color-primary)}.shop-item-card .item-price{margin-bottom:.5rem;padding:.4rem;background-color:var(--color-primary-tint-10);border:1px solid var(--color-primary-tint-20);border-radius:var(--radius-md);display:flex;align-items:center;gap:.2rem}.shop-item-card .item-price .price-tag{font-size:.7rem;font-weight:var(--font-semibold);padding:0;border:none;background:none}.shop-item-card .item-price .token-icon{width:14px;height:14px}.shop-item-card .item-actions{display:flex;justify-content:center}.qty-controls{display:flex;align-items:center;gap:.5rem;background:var(--color-primary-tint-10);border:1px solid var(--color-primary-tint-30);border-radius:8px;padding:.35rem}.qty-controls .qty-btn{width:24px;height:24px;font-size:.85rem}.qty-display{min-width:20px;text-align:center;font-weight:600;font-size:.85rem}.btn-add-cart{width:100%;padding:.5rem .75rem;background:var(--color-primary-tint-15);border:1px solid var(--color-primary-tint-40);border-radius:8px;color:var(--color-primary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-cart:hover{background:var(--color-primary-tint-25);border-color:#9b59ff99}.shop-item-card .armor-modifiers{margin-bottom:.5rem;padding:.4rem .5rem;background-color:var(--color-primary-tint-10);border:1px solid var(--color-primary-tint-20);border-radius:var(--radius-md)}.shop-item-card .modifiers-title{font-size:.65rem;font-weight:var(--font-semibold);color:var(--color-text-muted);margin-bottom:.25rem}.shop-item-card .modifiers-list{display:flex;flex-wrap:wrap;gap:.3rem}.shop-item-card .modifier-tag{padding:.2rem .4rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:var(--font-semibold);font-family:var(--font-mono)}.shop-item-card .modifier-tag.buff{background-color:var(--color-success-tint-20);color:var(--color-success);border:1px solid var(--color-success-tint-30)}.shop-item-card .modifier-tag.debuff{background-color:var(--color-error-tint-20);color:var(--color-error);border:1px solid var(--color-error-tint-30)}.shop-item-card .special-effect{margin-bottom:.5rem}.shop-item-card .effect-tag{display:inline-block;padding:.25rem .5rem;background-color:var(--color-warning-tint-20);color:var(--color-warning);border:1px solid var(--color-warning-tint-30);border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--font-semibold)}.shop-page .empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.shop-page .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.4}.shop-page .empty-state h2{margin:0 0 .5rem;font-size:1.3rem}.shop-page .empty-state p{margin:0;color:var(--color-text-secondary);font-size:.9rem}@media(max-width:640px){.shop-page{padding:1rem}.shop-header h1{font-size:1.75rem}.shop-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.category-filter{gap:.5rem}.category-btn{padding:.5rem .75rem;font-size:.85rem}.cart-total{flex-direction:column;gap:.75rem;align-items:flex-start}.total-prices{width:100%;justify-content:flex-start}.premium-boxes{grid-template-columns:repeat(3,1fr);gap:.5rem}.box-emoji{font-size:1.2rem}.box-name{font-size:.65rem}.box-card-body{padding:.5rem}.box-content-line{font-size:.6rem}.btn-open-box{font-size:.65rem;padding:.5rem}}.recent-drops-section{margin-top:1.5rem}.recent-drops-title{font-size:.9rem;margin-bottom:.75rem;color:var(--color-text-primary)}.recent-drops-list{display:flex;flex-direction:column;gap:.4rem}.recent-drop-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:var(--color-bg-card);border-radius:var(--radius-sm);font-size:.8rem}.drop-username{color:var(--color-text-secondary);flex-shrink:0;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-item{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drop-tier-badge{flex-shrink:0;font-size:.7rem;font-weight:600;padding:.1rem .35rem;border:1px solid;border-radius:var(--radius-sm)}.shop-toast{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:14px 20px;border-radius:12px;display:flex;align-items:center;gap:10px;z-index:2000;animation:toastSlideDown .3s ease-out;cursor:pointer;box-shadow:0 4px 20px #0006;max-width:90%;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shop-toast.success{background:var(--color-success-material);border:1px solid rgba(76,175,80,1);color:var(--color-text-primary)}.shop-toast.error{background:var(--color-error-material);border:1px solid rgba(244,67,54,1);color:var(--color-text-primary)}.shop-toast.info{background:var(--color-info-material);border:1px solid rgba(33,150,243,1);color:var(--color-text-primary)}.toast-icon{font-size:1.2rem;flex-shrink:0}.toast-message{font-size:.95rem;font-weight:500;line-height:1.4}@keyframes toastSlideDown{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.inventory-page{padding:1.5rem;max-width:1200px;margin:0 auto}.inventory-header h1{margin:0 0 .5rem;font-size:var(--text-3xl);font-weight:var(--font-bold);background:linear-gradient(135deg,#9b59ff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.inventory-header .subtitle{margin:0 0 1rem;font-size:.85rem;color:var(--color-text-secondary)}.inventory-page .category-filter{display:flex;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.inventory-page .category-filter.tier-filter{margin-bottom:1.5rem;margin-top:-1rem}.inventory-page .category-filter.tier-filter .category-btn{padding:.4rem .8rem;font-size:.8rem}.inventory-page .category-btn{padding:.6rem 1rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;font-weight:var(--font-medium);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent}.inventory-page .category-btn:active{background-color:var(--color-bg-card-hover);border-color:var(--color-border-light)}.inventory-page .category-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-primary);box-shadow:var(--shadow-primary)}.inventory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.inv-item-card{background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:.75rem;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;position:relative}.inv-item-card.high-tier{border-width:2px;box-shadow:0 0 8px #a335ee26}.inv-item-card.equipped{box-shadow:0 0 10px #4caf5033}.inv-item-card:active{border-color:var(--color-border-light);transform:scale(.98)}.equipped-badge{position:absolute;top:6px;right:6px;padding:.15rem .4rem;background:#4caf5033;border:1px solid rgba(76,175,80,.4);border-radius:var(--radius-sm);color:#4caf50;font-size:.55rem;font-weight:var(--font-bold);letter-spacing:.5px;text-transform:uppercase}.inv-item-card .item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.inv-item-card .item-type-badge{padding:.15rem .4rem;border-radius:var(--radius-md);font-size:.6rem;font-weight:var(--font-semibold);color:var(--color-text-primary);display:flex;align-items:center;gap:.2rem}.inv-item-card .item-rarity{font-size:.6rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.3px}.inv-item-card .item-name{margin:0 0 .25rem;font-size:.85rem;font-weight:var(--font-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inv-item-card .item-description{margin:0 0 .5rem;font-size:.7rem;color:var(--color-text-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.inv-item-card .item-stats{margin-bottom:.5rem;padding:.4rem .5rem;background-color:var(--color-primary-tint-10);border:1px solid var(--color-primary-tint-20);border-radius:var(--radius-md)}.inv-item-card .stat-row{display:flex;justify-content:space-between;font-size:.75rem;padding:.15rem 0}.inv-item-card .stat-label{color:var(--color-text-secondary)}.inv-item-card .stat-value{font-weight:var(--font-semibold);font-family:var(--font-mono);color:var(--color-primary)}.inv-item-card .armor-modifiers{margin-bottom:.5rem;padding:.4rem .5rem;background-color:var(--color-primary-tint-10);border:1px solid var(--color-primary-tint-20);border-radius:var(--radius-md)}.inv-item-card .modifiers-title{font-size:.65rem;font-weight:var(--font-semibold);color:var(--color-text-muted);margin-bottom:.25rem}.inv-item-card .modifiers-list{display:flex;flex-wrap:wrap;gap:.3rem}.inv-item-card .modifier-tag{padding:.2rem .4rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:var(--font-semibold);font-family:var(--font-mono)}.inv-item-card .modifier-tag.buff{background-color:var(--color-success-tint-20);color:var(--color-success);border:1px solid var(--color-success-tint-30)}.inv-item-card .modifier-tag.debuff{background-color:var(--color-error-tint-20);color:var(--color-error);border:1px solid var(--color-error-tint-30)}.inv-item-card .special-effect{margin-bottom:.5rem}.inv-item-card .effect-tag{display:inline-block;padding:.25rem .5rem;background-color:var(--color-warning-tint-20);color:var(--color-warning);border:1px solid var(--color-warning-tint-30);border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--font-semibold)}.durability-section{margin-top:.25rem}.durability-label{display:flex;justify-content:space-between;font-size:.65rem;color:var(--color-text-secondary);margin-bottom:.2rem}.durability-bar{height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.durability-fill{height:100%;background:var(--color-success);border-radius:2px;transition:width .3s}.durability-fill.medium{background:var(--color-warning-amber)}.durability-fill.low{background:var(--color-error)}.inventory-page .empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-bg-card);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.inventory-page .empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.4}.inventory-page .empty-state h2{margin:0 0 .5rem;font-size:1.3rem}.inventory-page .empty-state p{margin:0;color:var(--color-text-secondary);font-size:.9rem}@media(max-width:640px){.inventory-page{padding:1rem}.inventory-header h1{font-size:1.75rem}.inventory-page .category-filter{gap:.5rem}.inventory-page .category-btn{padding:.5rem .75rem;font-size:.85rem}.inventory-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}.profile-page{max-width:1200px;margin:0 auto;padding:20px 20px 80px}.profile-header{text-align:center;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,var(--color-primary-tint-10),rgba(155,89,255,.03));border-radius:var(--radius-lg);border:2px solid var(--color-primary-tint-30)}.profile-header h1{margin:0;font-size:2em;background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-section{background-color:var(--color-bg-card);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);box-shadow:var(--shadow-md)}.profile-section h2{margin:0 0 20px;font-size:1.5em;color:var(--color-primary);padding-bottom:12px;border-bottom:2px solid var(--color-primary-tint-30)}.user-info-section .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md)}.user-info-section .info-grid.compact{grid-template-columns:1fr;max-width:500px}.info-value.xpr-account{font-family:var(--font-mono);color:var(--color-primary);font-weight:var(--font-bold)}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--color-bg-card-hover);border:1px solid var(--color-border-default);border-radius:var(--radius-md);transition:all var(--transition-base)}.info-item:hover{background-color:var(--color-primary-tint-08);border-color:var(--color-border-hover)}.info-label{font-weight:var(--font-semibold);color:var(--color-primary);margin-right:12px}.info-value{color:var(--color-text-secondary);font-weight:var(--font-medium);text-align:right}.status-badge{padding:4px 12px;border-radius:var(--radius-full);font-size:.85em;font-weight:var(--font-semibold);text-transform:uppercase}.status-badge.active{background-color:var(--color-success-tint-20);color:var(--color-success);border:1px solid var(--color-success)}.status-badge.inactive{background-color:var(--color-error-tint-20);color:var(--color-error);border:1px solid var(--color-error)}.btn-link{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:1em;padding:0;transition:color var(--transition-base)}.btn-link:hover{color:var(--color-primary-light)}.battle-stats-section .stats-grid,.combat-stats-section .stats-grid,.records-section .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.stat-card{display:flex;align-items:center;padding:20px;background:linear-gradient(135deg,var(--color-primary-tint-10),rgba(155,89,255,.03));border:2px solid var(--color-primary-tint-30);border-radius:var(--radius-lg);transition:all var(--transition-base)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-primary)}.stat-card.wins{border-color:var(--color-success-tint-40);background:linear-gradient(135deg,var(--color-success-tint-10),var(--color-success-tint-03))}.stat-card.losses{border-color:var(--color-error-tint-50);background:linear-gradient(135deg,var(--color-error-tint-10),rgba(255,68,68,.03))}.stat-card.win-rate{border-color:var(--color-info-tint-50);background:linear-gradient(135deg,var(--color-info-tint-10),var(--color-info-tint-03))}.stat-card.damage{border-color:var(--color-error-tint-50);background:linear-gradient(135deg,var(--color-error-tint-10),rgba(255,68,68,.03))}.stat-card.accuracy{border-color:var(--color-info-tint-50);background:linear-gradient(135deg,var(--color-info-tint-10),var(--color-info-tint-03))}.stat-card.crit{border-color:var(--color-warning-tint-60);background:linear-gradient(135deg,var(--color-warning-tint-20),rgba(255,204,0,.03))}.stat-card.healing{border-color:var(--color-success-tint-40);background:linear-gradient(135deg,var(--color-success-tint-10),var(--color-success-tint-03))}.stat-card.record{border-color:#ffd70066;background:linear-gradient(135deg,#ffd7001a,#ffd70008)}.stat-card.streak{border-color:var(--color-primary-tint-40);background:linear-gradient(135deg,var(--color-primary-tint-15),rgba(155,89,255,.03))}.stat-icon{font-size:2.5em;margin-right:var(--space-md)}.stat-content{flex:1}.stat-value{font-size:2em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-primary);line-height:1;margin-bottom:4px}.stat-label{font-size:.9em;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.campaign-stats{display:flex;flex-direction:column;gap:var(--space-lg)}.progress-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.progress-stat{display:flex;align-items:center;padding:var(--space-md);background-color:var(--color-bg-card-hover);border:1px solid var(--color-border-default);border-radius:var(--radius-md);transition:all var(--transition-base)}.progress-stat:hover{background-color:var(--color-primary-tint-08);border-color:var(--color-border-hover)}.progress-icon{font-size:2em;margin-right:12px}.progress-content{flex:1}.progress-value{font-size:1.5em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-primary);line-height:1.2}.progress-label{font-size:.85em;color:var(--color-text-muted);text-transform:uppercase}.cyphr-balance-section{padding:20px;background:linear-gradient(135deg,var(--color-primary-tint-10),rgba(0,255,255,.03));border:2px solid var(--color-primary-tint-30);border-radius:var(--radius-lg)}.balance-header h3{margin:0 0 16px;font-size:1.3em;text-align:center;background:linear-gradient(135deg,#9b59ff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.balance-content{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.balance-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--color-bg-darker);border-radius:var(--radius-md)}.balance-label{font-weight:var(--font-semibold);color:var(--color-primary);font-size:1.1em}.balance-value{font-weight:var(--font-bold);font-family:var(--font-mono);font-size:1.2em}.balance-value.earned{color:var(--color-success)}.balance-value.unclaimed{color:var(--color-primary);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.btn-claim{width:100%;padding:14px 24px;font-size:1.1em;font-weight:var(--font-bold);color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border:2px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-transform:uppercase;letter-spacing:1px}.btn-claim:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.btn-claim:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-card-hover);border-color:var(--color-border-light)}.claim-note{text-align:center;margin-top:12px;color:var(--color-text-muted);font-size:.9em;font-style:italic}.success-message{padding:12px 16px;margin:12px 0;background-color:var(--color-success-tint-20);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);text-align:center;font-weight:var(--font-semibold)}.error-message{padding:12px 16px;margin:12px 0;background-color:var(--color-error-tint-20);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);text-align:center;font-weight:var(--font-semibold)}.character-performance-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md)}.perf-card{position:relative;background:var(--color-bg-card);border:2px solid var(--color-border-default);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.perf-card:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.perf-card.top-performer{border-color:#ffd70099;box-shadow:0 0 25px #ffd70026}.perf-rank{position:absolute;top:8px;left:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-primary);background:#000000b3;border:2px solid var(--color-border-light);border-radius:var(--radius-full);z-index:2}.perf-rank.gold{color:gold;background:#ffd70033;border-color:#ffd70099;box-shadow:0 0 10px #ffd7004d}.perf-rank.silver{color:silver;background:#c0c0c033;border-color:#c0c0c099}.perf-rank.bronze{color:#cd7f32;background:#cd7f3233;border-color:#cd7f3299}.perf-image{width:100%;aspect-ratio:4 / 3;background:var(--color-bg-darker);display:flex;align-items:center;justify-content:center;overflow:hidden}.perf-image img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .3s ease}.perf-card:hover .perf-image img{transform:scale(1.05)}.perf-image-placeholder{font-size:3rem;opacity:.3}.perf-info{padding:var(--space-sm) var(--space-md) var(--space-md)}.perf-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.perf-name{margin:0;font-size:.95em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.perf-rarity{font-size:.65em;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:var(--radius-sm);flex-shrink:0}.perf-rarity[data-rarity=common]{color:var(--color-text-muted);background:#9e9e9e26}.perf-rarity[data-rarity=uncommon]{color:#2ecc71;background:#2ecc7126}.perf-rarity[data-rarity=rare]{color:#3498db;background:#3498db26}.perf-rarity[data-rarity=epic]{color:#9b59b6;background:#9b59b626}.perf-rarity[data-rarity=legendary]{color:#f39c12;background:#f39c1226}.perf-stats-row{display:flex;justify-content:space-around;padding:var(--space-sm);background:var(--color-bg-card-hover);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.perf-stat{display:flex;flex-direction:column;align-items:center;text-align:center}.perf-stat-value{font-size:1.1em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-text-primary);line-height:1.2}.perf-stat-value.win{color:var(--color-success)}.perf-stat-label{font-size:.65em;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.5px}.perf-damage{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm);background:linear-gradient(135deg,#ff44441f,#ff44440d);border:1px solid rgba(255,68,68,.25);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.perf-damage-total{display:flex;align-items:center;gap:6px}.perf-damage-total .damage-icon{font-size:1em}.perf-damage-total .damage-value{font-size:1.3em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-error)}.perf-damage-total .damage-label{font-size:.7em;text-transform:uppercase;color:var(--color-text-muted)}.perf-damage-avg{display:flex;flex-direction:column;align-items:flex-end}.perf-damage-avg .avg-value{font-size:.95em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-primary)}.perf-damage-avg .avg-label{font-size:.6em;color:var(--color-text-muted)}.perf-accuracy{padding:var(--space-xs) 0}.perf-accuracy .accuracy-header{display:flex;justify-content:space-between;align-items:center;font-size:.75em;color:var(--color-text-secondary);margin-bottom:4px}.perf-accuracy .accuracy-bar{height:6px;background:var(--color-bg-darker);border-radius:var(--radius-full);overflow:hidden}.perf-accuracy .accuracy-fill{height:100%;background:linear-gradient(90deg,var(--color-info),#3498db);border-radius:var(--radius-full);transition:width .5s ease}.quick-actions-section .actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.action-btn{padding:16px 24px;font-size:1em;font-weight:var(--font-semibold);color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary-tint-30),var(--color-primary-tint-15));border:2px solid rgba(155,89,255,.5);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:center}.action-btn:hover{background:linear-gradient(135deg,rgba(155,89,255,.5),var(--color-primary-tint-30));transform:translateY(-2px);box-shadow:var(--shadow-primary);border-color:var(--color-primary)}.loading-small{text-align:center;padding:30px;color:var(--color-text-muted);font-size:1.1em}.empty-state p{font-size:1.2em;margin:0}.empty-state-small{text-align:center;padding:30px;color:var(--color-text-muted);font-style:italic}@media(max-width:768px){.profile-page{padding:12px}.profile-header h1{font-size:1.5em}.profile-section{padding:var(--space-md)}.profile-section h2{font-size:1.2em}.info-grid,.stats-grid,.progress-stats-grid,.actions-grid{grid-template-columns:1fr}.stat-value{font-size:1.5em}.stat-icon{font-size:2em}.character-performance-grid{grid-template-columns:1fr}.perf-card{max-width:100%}.perf-image{aspect-ratio:16 / 9}.perf-damage-total .damage-value{font-size:1.1em}}@media(max-width:480px){.profile-header{padding:12px}.profile-header h1{font-size:1.3em}.info-item{flex-direction:column;align-items:flex-start;gap:8px}.info-value{text-align:left}.stat-card{padding:var(--space-md)}.balance-item{flex-direction:column;align-items:flex-start;gap:8px}}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg-card);border:2px solid var(--color-primary-tint-30);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:400px;width:100%;box-shadow:var(--shadow-xl),0 0 40px #9b59ff33;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{margin:0 0 var(--space-lg) 0;font-size:1.5em;text-align:center;color:var(--color-primary)}.claim-modal .claim-details{background:var(--color-bg-darker);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md)}.claim-detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0}.claim-detail-row:not(:last-child){border-bottom:1px solid var(--color-border-light)}.claim-detail-row .detail-label{color:var(--color-text-muted);font-size:.9em}.claim-detail-row .detail-value{font-weight:var(--font-bold);font-family:var(--font-mono)}.claim-detail-row .detail-value.highlight{color:var(--color-primary);font-size:1.2em}.claim-detail-row .detail-value.wallet{color:var(--color-info);font-size:.9em}.claim-warning{text-align:center;color:var(--color-text-muted);font-size:.85em;margin-bottom:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-md)}.btn-cancel,.btn-confirm{flex:1;padding:12px 20px;font-size:1em;font-weight:var(--font-semibold);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.btn-cancel{background:transparent;border:2px solid var(--color-border-light);color:var(--color-text-secondary)}.btn-cancel:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover)}.btn-confirm{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border:2px solid var(--color-primary);color:var(--color-text-primary)}.btn-confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-primary)}.btn-confirm:disabled{opacity:.5;cursor:not-allowed}.success-modal{text-align:center}.success-icon{font-size:4em;margin-bottom:var(--space-md);animation:bounceIn .5s ease}@keyframes bounceIn{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.success-modal h3{color:var(--color-success)}.success-details{background:var(--color-bg-darker);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}.success-amount{font-size:2em;font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-success);margin-bottom:var(--space-md)}.success-tx{display:flex;flex-direction:column;gap:var(--space-xs)}.tx-label{font-size:.85em;color:var(--color-text-muted)}.tx-link{color:var(--color-info);text-decoration:none;font-family:var(--font-mono);font-size:.9em;word-break:break-all}.tx-link:hover{text-decoration:underline;color:var(--color-primary)}.btn-ok{width:100%;padding:14px 24px;font-size:1.1em;font-weight:var(--font-bold);color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-success) 0%,#27ae60 100%);border:2px solid var(--color-success);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.btn-ok:hover{transform:translateY(-2px);box-shadow:0 4px 20px #2ecc7166}@media(max-width:480px){.modal-content{padding:var(--space-lg);margin:10px}.success-amount{font-size:1.5em}.modal-actions{flex-direction:column}}.leaderboard-page{max-width:1400px;margin:0 auto;padding:20px 20px 80px}.leaderboard-header{text-align:center;margin-bottom:30px;padding:24px;background:linear-gradient(135deg,#9b59ff1a,#9b59ff08);border-radius:var(--radius-lg);border:2px solid rgba(155,89,255,.3)}.leaderboard-header h1{margin:0 0 8px;font-size:2em;background:linear-gradient(135deg,#9b59ff,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.leaderboard-subtitle{margin:0;color:var(--color-text-muted);font-size:1em}.sort-selector{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.sort-btn{padding:8px 14px;font-size:.85em;font-weight:var(--font-semibold);color:var(--color-text-muted);background:var(--color-bg-darker);border:1px solid var(--color-border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.sort-btn:hover{color:var(--color-text-primary);border-color:var(--color-primary);background:#9b59ff1a}.sort-btn.active{color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-color:transparent;box-shadow:var(--shadow-primary)}.tab-selector{display:flex;gap:8px;margin-bottom:20px;background:var(--color-bg-darker);padding:6px;border-radius:var(--radius-md);border:1px solid var(--color-border-default)}.tab-btn{flex:1;padding:12px 20px;font-size:1em;font-weight:var(--font-semibold);color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-base)}.tab-btn:hover{color:var(--color-text-primary);background:#9b59ff1a}.tab-btn.active{color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));box-shadow:var(--shadow-primary)}.leaderboard-container{background:var(--color-bg-card);border:2px solid rgba(155,89,255,.3);border-radius:var(--radius-lg);overflow:hidden}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:var(--space-md)}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--color-text-muted);font-size:1.1em}.leaderboard-table{width:100%}.table-header,.table-row{display:grid;grid-template-columns:80px 1fr 100px 80px 120px 100px;gap:var(--space-md);padding:var(--space-md) 20px;align-items:center}.table-header{background:#9b59ff1a;border-bottom:2px solid rgba(155,89,255,.3);font-weight:var(--font-bold);font-size:.9em;text-transform:uppercase;letter-spacing:.5px;color:var(--color-primary)}.table-body{max-height:600px;overflow-y:auto}.table-row{border-bottom:1px solid var(--color-border-default);transition:all var(--transition-base);background:transparent}.table-row:hover{background:#9b59ff0d}.table-row.current-user{background:linear-gradient(135deg,#9b59ff26,#9b59ff14);border-left:4px solid var(--color-primary);border-right:4px solid var(--color-primary)}.table-row.current-user:hover{background:linear-gradient(135deg,#9b59ff33,#9b59ff1f)}.col-rank{display:flex;justify-content:center;align-items:center}.rank-badge{font-size:1.5em;font-weight:var(--font-bold)}.col-player{display:flex;align-items:center;gap:8px}.player-name{font-weight:var(--font-semibold);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-badge{padding:2px 8px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border-radius:var(--radius-full);font-size:.75em;font-weight:var(--font-bold);color:var(--color-text-primary);text-transform:uppercase;flex-shrink:0}.col-damage,.col-battles,.col-cyphr,.col-winrate{text-align:center}.damage-value{font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-error);font-size:1em}.battles-value{font-weight:var(--font-semibold);font-family:var(--font-mono);color:var(--color-primary)}.cyphr-value{font-weight:var(--font-bold);font-family:var(--font-mono);color:var(--color-success)}.winrate-value{font-weight:var(--font-semibold);font-family:var(--font-mono);color:var(--color-info)}.current-user-section{margin-top:20px;padding:20px;background:#9b59ff0d;border-top:2px solid rgba(155,89,255,.3)}.section-title{font-size:1.1em;font-weight:var(--font-bold);color:var(--color-primary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.leaderboard-note{padding:20px;background:#00bfff1a;border-top:2px solid rgba(0,191,255,.3);text-align:center}.leaderboard-note p{margin:4px 0;color:var(--color-text-muted);font-size:.9em;line-height:1.5}.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.empty-state p{font-size:1.1em;margin:8px 0;line-height:1.5}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:var(--space-md)}.error-state p{color:var(--color-error);font-size:1.1em;margin:0}.retry-btn{padding:12px 24px;font-size:1em;font-weight:var(--font-semibold);color:var(--color-text-primary);background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.retry-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary)}.total-players-info{padding:12px 20px;background:#9b59ff0d;border-bottom:1px solid var(--color-border-default);text-align:right}.total-players-info span{color:var(--color-text-muted);font-size:.9em}@media(max-width:1024px){.table-header,.table-row{grid-template-columns:60px 1fr 80px 70px 100px 80px;gap:12px;padding:14px 16px;font-size:.95em}.rank-badge{font-size:1.3em}.damage-value,.battles-value,.cyphr-value,.winrate-value{font-size:.95em}.sort-btn{padding:6px 12px;font-size:.8em}}@media(max-width:768px){.leaderboard-page{padding:12px}.leaderboard-header h1{font-size:1.5em}.leaderboard-subtitle{font-size:.9em}.sort-selector{gap:4px}.sort-btn{padding:6px 10px;font-size:.75em}.tab-btn{padding:10px 16px;font-size:.9em}.table-header{font-size:.75em}.table-header,.table-row{grid-template-columns:50px 1fr 65px 55px 75px 65px;gap:8px;padding:12px;font-size:.85em}.rank-badge{font-size:1.1em}.player-name{font-size:.9em}.current-badge{font-size:.65em;padding:2px 6px}.damage-value{font-size:.85em}.leaderboard-note p{font-size:.8em}}@media(max-width:480px){.leaderboard-header{padding:16px}.leaderboard-header h1{font-size:1.3em}.sort-selector{justify-content:center}.sort-btn{padding:5px 8px;font-size:.7em}.table-header,.table-row{grid-template-columns:40px 1fr 55px 50px 65px 55px;gap:4px;padding:10px 6px;font-size:.7em}.rank-badge{font-size:1em}.player-name{font-size:.75em}.current-badge{display:none}.table-row.current-user .player-name:after{content:" (You)";color:var(--color-primary);font-weight:var(--font-bold);font-size:.9em}.leaderboard-note{padding:16px 12px}}.table-body::-webkit-scrollbar{width:8px}.table-body::-webkit-scrollbar-track{background:var(--color-bg-darker)}.table-body::-webkit-scrollbar-thumb{background:#9b59ff80;border-radius:var(--radius-sm)}.table-body::-webkit-scrollbar-thumb:hover{background:#9b59ffb3}.debug-page{padding:1.5rem;max-width:600px;margin:0 auto}.debug-page h1{text-align:center;margin:0 0 1.5rem;font-size:1.75rem;color:var(--color-primary)}@media(max-width:640px){.debug-page{padding:1rem}.debug-page h1{font-size:1.5rem}}.admin-dashboard{padding:16px;max-width:1200px;margin:0 auto}.admin-header{text-align:center;margin-bottom:24px}.admin-header h1{font-size:1.5rem;font-weight:var(--font-bold);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.admin-header .last-updated{font-size:.75rem;color:var(--color-text-secondary)}.admin-actions{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.refresh-btn{background:var(--color-primary);color:#fff;border:none;padding:8px 16px;border-radius:var(--radius-md);font-size:.875rem;font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast)}.refresh-btn:hover{background:var(--color-primary-hover)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.admin-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px;margin-bottom:16px}.admin-section h2{font-size:1rem;font-weight:var(--font-semibold);color:var(--color-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.stat-card{background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;text-align:center}.stat-card .label{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.stat-card .value{font-size:1rem;font-weight:var(--font-bold);color:var(--color-text-primary);font-family:var(--font-mono)}.stat-card .value.success{color:var(--color-success)}.stat-card .value.warning{color:var(--color-warning)}.stat-card .value.error{color:var(--color-error)}.stat-card .value.primary{color:var(--color-primary)}.stat-card.highlight{background:linear-gradient(135deg,rgba(var(--color-primary-rgb, 99, 102, 241),.1),rgba(var(--color-accent-rgb, 168, 85, 247),.1));border-color:var(--color-primary)}.stat-card .hint{font-size:.65rem;color:var(--color-text-secondary);margin-top:4px}.admin-table{width:100%;border-collapse:collapse;font-size:.8rem}.admin-table th,.admin-table td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--color-border)}.admin-table th{color:var(--color-text-secondary);font-weight:var(--font-semibold);text-transform:uppercase;font-size:.65rem;letter-spacing:.5px}.admin-table td{color:var(--color-text-primary);font-family:var(--font-mono)}.admin-table tr:last-child td{border-bottom:none}.admin-table .amount{color:var(--color-warning);font-weight:var(--font-semibold)}.admin-table .count{color:var(--color-text-secondary)}.admin-table td.success{color:var(--color-success);font-weight:var(--font-semibold)}.admin-table td.warning{color:var(--color-warning);font-weight:var(--font-semibold)}.admin-table td.error{color:var(--color-error);font-weight:var(--font-semibold)}.type-badge{display:inline-block;padding:2px 6px;border-radius:var(--radius-sm);font-size:.65rem;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.3px}.type-badge.weapon,.type-badge.melee_weapon,.type-badge.ranged_weapon{background:#ef444433;color:#ef4444}.type-badge.armor{background:#3b82f633;color:#3b82f6}.type-badge.consumable{background:#22c55e33;color:#22c55e}.settings-section{margin-top:8px}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:8px}.setting-info{flex:1}.setting-info .setting-key{font-size:.875rem;font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:2px}.setting-info .setting-description{font-size:.7rem;color:var(--color-text-secondary)}.toggle-switch{position:relative;width:48px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border);transition:var(--transition-fast);border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.confirm-dialog-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.confirm-dialog{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;max-width:400px;width:90%}.confirm-dialog.edit-rating-dialog{max-width:650px}.confirm-dialog h3{color:var(--color-warning);margin-bottom:12px;font-size:1.1rem}.confirm-dialog p{color:var(--color-text-secondary);margin-bottom:20px;font-size:.875rem;line-height:1.5}.confirm-dialog .dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog button{padding:8px 16px;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast)}.confirm-dialog .cancel-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.confirm-dialog .confirm-btn{background:var(--color-warning);border:none;color:#000}.confirm-dialog .confirm-btn:hover{opacity:.9}.confirm-dialog .confirm-btn:disabled{opacity:.5;cursor:not-allowed}.edit-rating-btn{background:var(--color-primary);color:#fff;border:none;padding:4px 12px;border-radius:var(--radius-sm);font-size:.75rem;font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast)}.edit-rating-btn:hover{background:var(--color-primary-hover)}.edit-rating-form{margin:16px 0}.edit-rating-form label{display:block;color:var(--color-text-secondary);font-size:.875rem;margin-bottom:8px}.edit-rating-form .tier-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.edit-rating-form .tier-btn{padding:8px 12px;border:2px solid;border-radius:var(--radius-md);font-size:.75rem;font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast);text-align:center}.edit-rating-form .tier-btn:hover:not(:disabled){opacity:.8;transform:translateY(-1px)}.edit-rating-form .tier-btn:disabled{opacity:.5;cursor:not-allowed}.edit-rating-form .tier-very-easy{background:#8b451333;border-color:#8b4513;color:#d2691e}.edit-rating-form .tier-easy{background:#80808033;border-color:gray;color:#b0b0b0}.edit-rating-form .tier-normal{background:#00800033;border-color:#0f0;color:#0f0}.edit-rating-form .tier-hard{background:#0070dd33;border-color:#0070dd;color:#0070dd}.edit-rating-form .tier-very-hard{background:#a335ee33;border-color:#a335ee;color:#a335ee}.edit-rating-form .tier-elite{background:#ff800033;border-color:#ff8000;color:#ff8000}.edit-rating-form .rating-input{width:100%;padding:8px 12px;background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:1rem;margin-top:8px}.edit-rating-form .rating-input:focus{outline:none;border-color:var(--color-primary)}.edit-rating-form .tier-preview{margin-top:12px;padding:8px 12px;background:var(--color-bg-dark);border-radius:var(--radius-md);font-size:.875rem;color:var(--color-text-secondary)}.edit-rating-form .tier-preview strong{color:var(--color-primary);margin-right:8px}.admin-loading,.admin-error,.admin-unauthorized{text-align:center;padding:48px 24px}.admin-loading{color:var(--color-text-secondary)}.admin-error{color:var(--color-error)}.admin-unauthorized{color:var(--color-warning)}.admin-unauthorized h2{margin-bottom:8px}.rank-badge{display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;font-size:.7rem;font-weight:var(--font-bold);margin-right:4px}.rank-badge.gold{background:linear-gradient(135deg,gold,orange);color:#000}.rank-badge.silver{background:linear-gradient(135deg,silver,#a0a0a0);color:#000}.rank-badge.bronze{background:linear-gradient(135deg,#cd7f32,sienna);color:#fff}.admin-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--color-border);padding-bottom:12px}.tab-btn{padding:8px 16px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8rem;font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast)}.tab-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.rarity-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:.7rem;font-weight:var(--font-semibold);text-transform:uppercase}.rarity-badge.common{background:#80808033;color:gray}.rarity-badge.uncommon{background:#00c85333;color:#00c853}.rarity-badge.rare{background:#2196f333;color:#2196f3}.rarity-badge.epic{background:#9c27b033;color:#9c27b0}.rarity-badge.legendary{background:#ff980033;color:#ff9800}.rarity-badge.mythic{background:#f4433633;color:#f44336}.char-cell{display:flex;align-items:center;gap:8px}.char-thumb{width:32px;height:32px;border-radius:var(--radius-sm);object-fit:cover}.admin-table tr.highlighted{background:#9b59ff1a}.balance-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.alert-card{padding:12px;border-radius:var(--radius-md);border:1px solid}.alert-card.overpowered{background:#f443361a;border-color:var(--color-error)}.alert-card.underpowered{background:#ff98001a;border-color:var(--color-warning)}.alert-card h3{font-size:.85rem;margin-bottom:8px}.alert-card.overpowered h3{color:var(--color-error)}.alert-card.underpowered h3{color:var(--color-warning)}.alert-card.critical{background:#f4433626;border-color:var(--color-error)}.alert-card.critical h3{color:var(--color-error)}.alert-card.warning{background:#ffc1071a;border-color:#ffc107}.alert-card.warning h3{color:#ffc107}.alert-card .hint{font-size:.7rem;color:var(--color-text-secondary);margin-bottom:12px}.recommendations{padding:12px;background:#6366f11a;border:1px solid var(--color-primary);border-radius:var(--radius-md)}.recommendations h4{font-size:.85rem;color:var(--color-primary);margin-bottom:8px}.recommendations ul{list-style:disc;padding-left:20px;margin:0;font-size:.75rem;color:var(--color-text-secondary)}.recommendations li{padding:4px 0}.stats-cell{cursor:help}.stats-cell span{border-bottom:1px dotted var(--color-text-secondary)}.retention-section{border-color:var(--color-warning)}.alert-card ul{list-style:none;padding:0;margin:0;font-size:.75rem}.alert-card li{padding:4px 0;color:var(--color-text-secondary)}.filter-row{display:flex;align-items:center;gap:12px;font-size:.8rem;flex-wrap:wrap}.filter-row label{color:var(--color-text-secondary);display:flex;align-items:center;gap:6px}.filter-row input[type=range]{flex:1;max-width:200px}.filter-row span{color:var(--color-primary);font-weight:var(--font-semibold);min-width:30px}.players-filters{background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px}.players-filters .filter-row{gap:16px}.filter-input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:.8rem;color:var(--color-text);width:140px}.filter-input.small{width:60px;text-align:center}.filter-input:focus{outline:none;border-color:var(--color-primary)}.checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary);width:16px;height:16px;cursor:pointer}.reset-filters-btn{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);padding:4px 12px;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:var(--transition-fast);margin-left:auto}.reset-filters-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-table th[style*="cursor: pointer"]:hover{color:var(--color-primary)}.loadout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-top:12px}.loadout-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.loadout-card{background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px}.loadout-card h3{font-size:.85rem;color:var(--color-primary);margin-bottom:8px}.level-loadout-section{background:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;margin-bottom:12px}.level-loadout-section h3{font-size:.9rem;color:var(--color-text-primary);margin-bottom:4px}.level-loadout-section .level-stats{font-size:.7rem;color:var(--color-text-secondary);margin-bottom:12px}.mini-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px}.mini-card h4{font-size:.75rem;color:var(--color-text-secondary);margin-bottom:6px}.mini-card.combo{border-color:var(--color-warning)}.mini-card.combo h4{color:var(--color-warning)}.equipment-row{display:flex;align-items:center;gap:6px;font-size:.7rem;padding:3px 0}.equipment-row .rank{color:var(--color-text-secondary);width:20px}.equipment-row .name{flex:1;color:var(--color-text-primary)}.equipment-row .wr{color:var(--color-success);font-weight:var(--font-semibold)}.combo-details{font-size:.7rem;color:var(--color-text-secondary)}.combo-details div{padding:2px 0}.combo-wr{color:var(--color-warning)!important;font-weight:var(--font-semibold);margin-top:4px}.period-filter{display:flex;gap:6px;justify-content:center;margin-bottom:12px}.period-btn{padding:5px 12px;background:transparent;border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);font-size:.7rem;font-weight:var(--font-semibold);cursor:pointer;transition:var(--transition-fast);text-transform:uppercase;letter-spacing:.3px}.period-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.period-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}@media(max-width:480px){.cards-grid{grid-template-columns:repeat(2,1fr)}.admin-table{font-size:.7rem}.admin-table th,.admin-table td{padding:6px 4px}}.top-earners-table{display:block;overflow-x:auto;white-space:nowrap}.top-earners-table th,.top-earners-table td{min-width:50px}.top-earners-table th:nth-child(2),.top-earners-table td:nth-child(2){min-width:100px}.recent-battles{font-size:.65rem;letter-spacing:-.5px;white-space:nowrap}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--tg-bg-color, #1a1a1a);color:var(--tg-text-color, #ffffff)}.app-header{padding:1.5rem;text-align:center;background:linear-gradient(180deg,#ffffff1a,#ffffff0d);border-bottom:1px solid rgba(255,255,255,.1)}.app-header h1{margin:0;font-size:2rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-header p{margin:.5rem 0 0;font-size:.9rem;opacity:.7}.app-main{flex:1;padding:1rem;max-width:600px;width:100%;margin:0 auto}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--tg-bg-color, #1a1a1a);color:var(--tg-text-color, #ffffff)}.loading-screen h1{font-size:1.5rem;opacity:.8}.info-card,.status-card{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.info-card h2,.status-card h3{margin:0 0 1rem;font-size:1.25rem;color:var(--tg-link-color, #667eea)}.info-content p{margin:.5rem 0;font-size:.9rem;line-height:1.5;display:flex;justify-content:space-between;gap:1rem}.info-content p strong{opacity:.7;min-width:120px}.status-card h3{font-size:1.1rem}.status-card p{margin:.5rem 0;opacity:.8;font-size:.9rem}.status-card ul{margin:1rem 0 0;padding-left:1.5rem;text-align:left}.status-card li{margin:.5rem 0;font-size:.9rem;line-height:1.5}.logout-button{margin-top:1rem;width:100%;background:#ff4b4b26;color:#ff6b6b;border:1px solid rgba(255,75,75,.3);border-radius:8px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.logout-button:hover{background:#ff4b4b40;border-color:#ff4b4b80}.logout-button:active{background:#ff4b4b59}:root{--tg-bg-color: #1a1a1a;--tg-text-color: #ffffff;--tg-hint-color: #aaaaaa;--tg-link-color: #667eea;--tg-button-color: #667eea;--tg-button-text-color: #ffffff;--tg-secondary-bg-color: #2a2a2a}@media(max-width:640px){.app-main{padding:.75rem}.info-card,.status-card{padding:1rem}.app-header h1{font-size:1.5rem}.info-content p{flex-direction:column;gap:.25rem}.info-content p strong{min-width:auto}}
