:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a26;--bg-elevated: #222232;--bg-hover: #2a2a3c;--bg-active: #333348;--border-primary: rgba(255, 255, 255, .06);--border-secondary: rgba(255, 255, 255, .1);--border-focus: rgba(99, 102, 241, .5);--text-primary: #f0f0f5;--text-secondary: #c8c8d6;--text-tertiary: #9a9aae;--text-inverse: #0a0a0f;--accent-primary: #6366f1;--accent-primary-hover: #818cf8;--accent-primary-subtle: rgba(99, 102, 241, .12);--xp-green: #22c55e;--xp-green-glow: rgba(34, 197, 94, .2);--streak-orange: #f97316;--streak-orange-glow: rgba(249, 115, 22, .2);--guild-purple: #a855f7;--guild-purple-glow: rgba(168, 85, 247, .2);--mission-blue: #3b82f6;--mission-blue-glow: rgba(59, 130, 246, .2);--lockin-cyan: #06b6d4;--lockin-cyan-glow: rgba(6, 182, 212, .2);--success: #22c55e;--success-subtle: rgba(34, 197, 94, .12);--warning: #eab308;--warning-subtle: rgba(234, 179, 8, .12);--danger: #ef4444;--danger-subtle: rgba(239, 68, 68, .12);--info: #3b82f6;--info-subtle: rgba(59, 130, 246, .12);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow-accent: 0 0 20px rgba(99, 102, 241, .15);--shadow-glow-xp: 0 0 20px rgba(34, 197, 94, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.375rem;--text-3xl: 1.75rem;--text-4xl: 2.25rem;--weight-light: 300;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 900;--leading-tight: 1.2;--leading-normal: 1.5;--leading-relaxed: 1.65;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--topbar-height: 56px;--page-max: 1600px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--monolith-black: #07070d;--monolith-surface: #0f0f17;--monolith-surface-2: #14141d;--monolith-edge: rgba(255, 255, 255, .06);--monolith-edge-strong: rgba(255, 255, 255, .12);--monolith-paper: #16161f;--monolith-paper-warm: #1a1812;--gold-cham: #e7c87a;--gold-cham-hot: #f5d98a;--gold-cham-deep: #b39553;--gold-glow: rgba(231, 200, 122, .35);--gold-glow-soft: rgba(231, 200, 122, .12);--ember: #ff7a1a;--ember-soft: #ffb27a;--ember-deep: #c45a0e;--ember-glow: rgba(255, 122, 26, .45);--ember-glow-soft: rgba(255, 122, 26, .12);--violet-electric: #8b5cf6;--violet-electric-soft: #b89cff;--violet-glow: rgba(139, 92, 246, .35);--violet-glow-soft: rgba(139, 92, 246, .12);--forge-ease: cubic-bezier(.22, 1, .36, 1);--forge-fast: .18s var(--forge-ease);--forge-base: .28s var(--forge-ease);--forge-slow: .42s var(--forge-ease)}:root[data-theme=light]{--bg-primary: #f6f6fb;--bg-secondary: #ffffff;--bg-tertiary: #eef0f6;--bg-elevated: #ffffff;--bg-hover: #e8eaf2;--bg-active: #dde0ec;--border-primary: rgba(15, 18, 32, .08);--border-secondary: rgba(15, 18, 32, .14);--border-focus: rgba(99, 102, 241, .4);--text-primary: #0f1220;--text-secondary: #4a4f63;--text-tertiary: #6b7080;--text-inverse: #ffffff;--accent-primary: #5358e9;--accent-primary-hover: #4248db;--accent-primary-subtle: rgba(99, 102, 241, .1);--monolith-black: #fdfdff;--monolith-surface: #ffffff;--monolith-surface-2: #f6f7fc;--monolith-edge: rgba(15, 18, 32, .08);--monolith-edge-strong: rgba(15, 18, 32, .16);--monolith-paper: #ffffff;--monolith-paper-warm: #fff8eb;--gold-cham: #b89234;--gold-cham-hot: #a17a1c;--gold-cham-deep: #8b6915;--gold-glow: rgba(184, 146, 52, .25);--gold-glow-soft: rgba(184, 146, 52, .1);--ember: #d4521a;--ember-soft: #f1844f;--ember-deep: #a13c0a;--ember-glow: rgba(212, 82, 26, .35);--ember-glow-soft: rgba(212, 82, 26, .1);--violet-electric: #6b46d6;--violet-electric-soft: #8a64f0;--violet-glow: rgba(107, 70, 214, .28);--violet-glow-soft: rgba(107, 70, 214, .1);--xp-green-glow: rgba(34, 197, 94, .16);--streak-orange-glow: rgba(249, 115, 22, .16);--guild-purple-glow: rgba(168, 85, 247, .16);--mission-blue-glow: rgba(59, 130, 246, .16);--lockin-cyan-glow: rgba(6, 182, 212, .16);--shadow-sm: 0 1px 2px rgba(15, 18, 32, .08);--shadow-md: 0 4px 14px rgba(15, 18, 32, .1);--shadow-lg: 0 16px 40px rgba(15, 18, 32, .14);--shadow-glow-accent: 0 0 18px rgba(99, 102, 241, .18);--shadow-glow-xp: 0 0 18px rgba(34, 197, 94, .18)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}button{font-family:var(--font-family);cursor:pointer;border:none;background:none;color:inherit;font-size:inherit}input,textarea,select{font-family:var(--font-family);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;width:100%}input:focus,textarea:focus,select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-primary-subtle)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes progressFill{0%{width:0}}@keyframes glow{0%,to{box-shadow:0 0 8px var(--accent-primary-subtle)}50%{box-shadow:0 0 20px var(--accent-primary-subtle)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes streakFlame{0%,to{transform:scaleY(1) scaleX(1)}50%{transform:scaleY(1.15) scaleX(.9)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-slide-in-left{animation:slideInLeft .3s ease-out}.animate-bounce-in{animation:bounceIn .5s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass{background:#12121acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;height:36px}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-primary-hover);box-shadow:var(--shadow-glow-accent)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-secondary)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-focus)}.btn-ghost{color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--success);color:var(--text-inverse)}.btn-success:hover{background:#16a34a}.btn-sm{height:28px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{height:44px;padding:var(--space-3) var(--space-6);font-size:var(--text-lg)}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:28px}.card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--transition-base)}.card:hover{border-color:var(--border-secondary)}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary);cursor:pointer}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background:var(--accent-primary-subtle);color:var(--accent-primary-hover)}.badge-success{background:var(--success-subtle);color:var(--success)}.badge-warning{background:var(--warning-subtle);color:var(--warning)}.badge-danger{background:var(--danger-subtle);color:var(--danger)}.badge-info{background:var(--info-subtle);color:var(--info)}.badge-xp{background:var(--xp-green-glow);color:var(--xp-green)}.badge-streak{background:var(--streak-orange-glow);color:var(--streak-orange)}.badge-guild{background:var(--guild-purple-glow);color:var(--guild-purple)}.badge-mission{background:var(--mission-blue-glow);color:var(--mission-blue)}.tabs{display:flex;gap:var(--space-1);border-bottom:1px solid var(--border-primary);margin-bottom:var(--space-6)}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition-fast);cursor:pointer}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.table-wrapper{overflow-x:auto;border:1px solid var(--border-primary);border-radius:var(--radius-lg)}table{width:100%;border-collapse:collapse}th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-bottom:1px solid var(--border-primary);color:var(--text-secondary)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-hover)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary)}.form-hint{font-size:var(--text-xs);color:var(--text-tertiary)}.avatar{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-bold);color:#fff;flex-shrink:0;position:relative}.avatar-sm{width:24px;height:24px;font-size:10px}.avatar-lg{width:40px;height:40px;font-size:var(--text-sm)}.avatar-xl{width:56px;height:56px;font-size:var(--text-lg)}.avatar-stack{display:flex}.avatar-stack .avatar{border:2px solid var(--bg-secondary);margin-left:-8px}.avatar-stack .avatar:first-child{margin-left:0}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);position:absolute;bottom:0;right:0;border:2px solid var(--bg-secondary)}.status-dot.online{background:var(--success)}.status-dot.away{background:var(--warning)}.status-dot.offline{background:var(--text-tertiary)}.status-dot.lockin{background:var(--lockin-cyan);animation:pulse 1.5s ease-in-out infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center;color:var(--text-tertiary)}.empty-state svg{margin-bottom:var(--space-4);opacity:.4}.empty-state p{font-size:var(--text-sm);max-width:320px}.divider{height:1px;background:var(--border-primary);margin:var(--space-4) 0}.search-input{position:relative}.search-input svg{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--text-tertiary);width:16px;height:16px}.search-input input{padding-left:var(--space-10)}.tooltip-wrapper{position:relative}.tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-elevated);color:var(--text-primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-fast);box-shadow:var(--shadow-md);z-index:1000}.tooltip-wrapper:hover .tooltip{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease-out}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:var(--radius-xl);padding:var(--space-6);max-width:520px;width:90%;max-height:85vh;overflow-y:auto;animation:fadeInUp .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.modal-title{font-size:var(--text-xl);font-weight:var(--weight-semibold)}
