@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600&display=swap";.sidebar{background-color:var(--bg-sidebar,var(--bg-secondary));border-right:1px solid var(--border-color);z-index:100;width:240px;height:100vh;transition:transform var(--transition-slow);flex-direction:column;flex-shrink:0;display:flex;position:relative}@media (width<=768px){.sidebar{z-index:200;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:20px 0 60px #0000004d}.sidebar.open{transform:translate(0)}}.sidebar-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex}.logo-placeholder{color:var(--text-primary);letter-spacing:-.025em;cursor:default;-webkit-user-select:none;user-select:none;font-family:Plus Jakarta Sans,Inter,sans-serif;font-size:1.0625rem;font-weight:600}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:12px 10px;display:flex;overflow-y:auto}.nav-section-label{letter-spacing:-.005em;color:var(--text-muted);padding:20px 10px 6px;font-size:.75rem;font-weight:500}.nav-section-label:first-child{padding-top:4px}.nav-item{border-radius:var(--radius-sm);height:36px;color:var(--text-secondary);transition:background-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;align-items:center;gap:10px;padding:0 10px;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background-color:var(--bg-elevated);color:var(--text-primary)}.nav-item.active{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-subtle);font-weight:500;box-shadow:inset 0 1px #ffffff0d}.nav-item-icon{width:18px;height:18px;color:var(--text-muted);transition:color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.nav-item.active .nav-item-icon{color:var(--accent-primary)}.nav-item:hover .nav-item-icon{color:var(--text-primary)}.sidebar-footer{border-top:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;gap:8px;padding:12px 10px 14px;display:flex}.user-profile-card{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);color:inherit;transition:background-color var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.user-profile-card:hover{background:var(--bg-primary);border-color:var(--border-color)}.user-avatar{background:var(--accent-light);border:1px solid var(--border-color);width:30px;height:30px;color:var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.user-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.user-plan{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;display:flex}.usage-bar-container{background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);padding:8px 10px;font-size:.75rem}.usage-bar-header{color:var(--text-secondary);justify-content:space-between;align-items:center;margin-bottom:6px;font-weight:500;display:flex}.usage-bar-track{background:var(--border-color);border-radius:99px;width:100%;height:4px;overflow:hidden}.usage-bar-fill{background:var(--accent-primary);border-radius:99px;height:100%;transition:width .4s}.theme-selector-group{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:repeat(2,1fr);gap:2px;padding:2px;display:grid}.theme-selector-btn{border-radius:var(--radius-sm);height:28px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:500;display:flex}.theme-selector-btn:hover{color:var(--text-primary)}.theme-selector-btn.active{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color);box-shadow:var(--shadow-xs)}.mobile-top-bar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:50;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 1rem;display:flex;position:sticky;top:0}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:190;background:#00000080;animation:.2s ease-out fadeIn;position:fixed;inset:0}.close-sidebar-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;display:flex}.close-sidebar-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.icon-button{background:var(--bg-elevated);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.45rem;display:flex}.icon-button:hover{background:var(--accent-light);color:var(--accent-primary)}.icon-button:disabled{opacity:.3;cursor:not-allowed}.ai-progress-card{text-align:center;border-radius:var(--radius-xl,1.5rem);background:var(--bg-surface,var(--bg-secondary));border:1px solid var(--border-color);width:100%;max-width:600px;box-shadow:var(--shadow-lg,0 20px 48px #0000001a);flex-direction:column;justify-content:center;align-items:center;margin:0 auto;padding:3rem 2rem;animation:.3s cubic-bezier(.16,1,.3,1) aiCardFadeIn;display:flex;position:relative;overflow:hidden}.ai-progress-card.overlay-mode{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #db27774d;box-shadow:0 25px 60px -10px #00000059}.ai-progress-card:before{content:"";pointer-events:none;background:radial-gradient(circle,#db277714 0%,#6366f10a 40%,#0000 70%);width:200%;height:200%;animation:4s ease-in-out infinite alternate aiGlowPulse;position:absolute;top:-50%;left:-50%}.ai-progress-icon-wrapper{width:68px;height:68px;color:var(--accent-primary,#db2777);background:linear-gradient(135deg,#db277726,#6366f126);border:1px solid #db277740;border-radius:1.25rem;justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex;position:relative;box-shadow:0 8px 24px -4px #db277740}.ai-progress-icon-ring{border:2px dashed #db277759;border-radius:1.5rem;animation:12s linear infinite aiRotateSlow;position:absolute;inset:-6px}.ai-progress-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.35rem;font-weight:800}.ai-progress-subtitle{color:var(--text-secondary);max-width:460px;margin:0 0 1.75rem;font-size:.925rem;line-height:1.5}.ai-progress-track-wrapper{width:100%;max-width:480px;margin-bottom:1rem}.ai-progress-track{background:var(--bg-elevated,#ffffff14);border:1px solid var(--border-color);border-radius:999px;width:100%;height:10px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #0000000d}.ai-progress-bar{background:linear-gradient(90deg,#ec4899 0%,#db2777 40%,#8b5cf6 80%,#6366f1 100%) 0 0/200% 100%;border-radius:999px;height:100%;transition:width .25s cubic-bezier(.16,1,.3,1);animation:2.5s infinite aiGradientShift;position:relative}.ai-progress-bar:after{content:"";background:linear-gradient(90deg,#fff0 0%,#fff6 50%,#fff0 100%);animation:1.8s infinite aiShimmer;position:absolute;inset:0}.ai-progress-metrics{justify-content:space-between;align-items:center;width:100%;max-width:480px;margin-top:.6rem;font-size:.84rem;display:flex}.ai-progress-percent-badge{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent-primary,#db2777);align-items:center;gap:.35rem;font-weight:800;display:flex}.ai-progress-countdown{color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-color);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:.4rem;padding:.25rem .65rem;font-weight:600;display:inline-flex}.ai-progress-current-step{color:var(--text-primary);background:#db277714;border:1px solid #db27772e;border-radius:.75rem;align-items:center;gap:.5rem;max-width:480px;margin-top:1.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;animation:.2s ease-in-out aiFadeStep;display:inline-flex}.ai-progress-step-indicator-dot{background:var(--accent-primary,#db2777);width:8px;height:8px;box-shadow:0 0 8px var(--accent-primary,#db2777);border-radius:50%;animation:1.5s infinite aiDotPulse}@keyframes aiCardFadeIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes aiGlowPulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.15)}}@keyframes aiRotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes aiGradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes aiShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes aiDotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@keyframes aiFadeStep{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}:root{--bg-sidebar:#f4f4f5;--bg-primary:#fafafa;--bg-secondary:#fff;--bg-elevated:#f4f4f5;--bg-overlay:#fafafae6;--text-primary:#171717;--text-secondary:#525252;--text-muted:#85858b;--border-color:#17171714;--border-subtle:#1717170d;--accent-primary:#6d28d9;--accent-hover:#5b21b6;--accent-light:#6d28d914;--accent-glow:#6d28d926;--accent-secondary:#0284c7;--accent-secondary-light:#e0f2fe;--success:#15803d;--success-light:#dcfce7;--warning:#b45309;--warning-light:#fef3c7;--danger:#dc2626;--danger-light:#fee2e2;--glass-bg:#ffffffe6;--glass-border:#17171714;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f, 0 2px 4px #0000000a;--shadow-lg:0 12px 28px #00000014, 0 4px 10px #0000000a;--shadow-xl:0 24px 48px #0000001a;--shadow-accent:0 2px 8px #6d28d933;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;--transition-fast:.14s cubic-bezier(.16, 1, .3, 1);--transition-base:.2s cubic-bezier(.16, 1, .3, 1);--transition-slow:.32s cubic-bezier(.16, 1, .3, 1);--transition-spring:.25s cubic-bezier(.16, 1, .3, 1)}.dark{--bg-sidebar:#0f0f10;--bg-primary:#141415;--bg-secondary:#19191b;--bg-elevated:#232325;--bg-overlay:#0f0f10d9;--text-primary:#ededed;--text-secondary:#a1a1a6;--text-muted:#85858b;--border-color:#ededed14;--border-subtle:#ededed0d;--accent-primary:#e11d48;--accent-hover:#be123c;--accent-light:#e11d481f;--accent-glow:#e11d4833;--accent-secondary:#fda4af;--accent-secondary-light:#fda4af1f;--success:#4cc38a;--success-light:#4cc38a1f;--warning:#f59e0b;--warning-light:#f59e0b1f;--danger:#e5484d;--danger-light:#e5484d1f;--glass-bg:#19191b;--glass-border:#ededed14;--shadow-xs:0 1px 2px #00000059;--shadow-sm:0 2px 6px #0006, inset 0 1px 0 #ffffff0a;--shadow-md:0 6px 20px #0000007a, 0 2px 6px #0000004d;--shadow-lg:0 16px 40px #00000094, 0 4px 12px #00000059;--shadow-xl:0 28px 64px #000000ad;--shadow-accent:0 2px 8px #00000059}.glass{--bg-primary:#fff5f5;--bg-secondary:#ffffffa6;--bg-elevated:#ffffffd9;--bg-overlay:#fff5f5e6;--text-primary:#3b0764;--text-secondary:#701a75;--text-muted:#a21caf;--border-color:#f43f5e2e;--border-subtle:#f43f5e14;--accent-primary:#db2777;--accent-hover:#be185d;--accent-light:#db27771a;--accent-glow:#db277733;--accent-secondary:#ea580c;--accent-secondary-light:#ea580c1a;--success:#059669;--success-light:#0596691a;--warning:#ea580c;--warning-light:#ea580c1a;--danger:#dc2626;--danger-light:#dc26261a;--glass-bg:#ffffff9e;--glass-border:#fffc;--shadow-xs:0 1px 3px #db27770f;--shadow-sm:0 2px 12px #db277714;--shadow-md:0 8px 32px #db27771a;--shadow-lg:0 20px 60px #db27771f;--shadow-xl:0 32px 80px #db277729;--shadow-accent:0 8px 32px var(--accent-glow)}.glass body{background-color:#ffe4e6;background-image:linear-gradient(135deg,#ffedd5 0%,#fbcfe8 45%,#c084fc 100%),radial-gradient(circle at 10% 20%,#f9731647 0%,#0000 45%),radial-gradient(circle at 90% 80%,#ec489940 0%,#0000 50%),radial-gradient(circle at 50% 10%,#ffffff73 0%,#0000 60%);background-attachment:fixed}.glass .glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(190%);border:1px solid var(--glass-border);box-shadow:0 8px 32px #db27770f,inset 0 1px #ffffffd9}.dark body{background-color:var(--bg-primary);background-image:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-slow), color var(--transition-slow);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;overflow-x:hidden}#root{width:100vw;height:100vh;display:flex;overflow:hidden}@media (width<=768px){#root{flex-direction:column}}h1,h2,h3,h4,h5,h6{letter-spacing:-.025em;color:var(--text-primary);font-family:Plus Jakarta Sans,Inter,sans-serif;font-weight:600;line-height:1.2}h1{letter-spacing:-.025em;font-size:1.5rem;font-weight:600}h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:600}h3{letter-spacing:-.015em;font-size:1.05rem;font-weight:600}h4{font-size:.9375rem;font-weight:600}p{color:var(--text-secondary)}.subtitle{color:var(--text-secondary);margin-top:.25rem;font-size:.875rem}.page-container{background-color:var(--bg-primary);flex-direction:column;flex:1;height:100vh;padding:1.5rem 2rem;display:flex;position:relative;overflow-y:auto}.page-header{margin-bottom:1.5rem}@media (width<=768px){.page-container{height:auto;min-height:calc(100vh - 60px);padding:1rem 1.25rem}}.glass-panel{background:var(--glass-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}:root:not(.dark):not(.glass) .glass-panel{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:none}.btn{border-radius:var(--radius-md);cursor:pointer;min-height:2.25rem;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent-primary);color:#fff;border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff29,0 1px 2px #00000040}.btn-primary:hover{background:var(--accent-hover)}.btn-outline{border-color:var(--border-color);color:var(--text-primary);background:0 0}.btn-outline:hover{background:var(--bg-elevated);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--bg-elevated);color:var(--text-primary)}.btn-danger{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.badge{border-radius:var(--radius-sm);letter-spacing:.01em;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.72rem;font-weight:500;display:inline-flex}.badge-accent{background:var(--accent-light);color:var(--accent-primary);border:1px solid var(--accent-glow)}.badge-success{background:var(--success-light);color:var(--success)}.badge-warning{background:var(--warning-light);color:var(--warning)}.badge-danger{background:var(--danger-light);color:var(--danger)}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:background-color var(--transition-base), border-color var(--transition-base);padding:1.25rem}.card:hover{border-color:#ededed29}.input{background:var(--bg-elevated);border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);width:100%;transition:all var(--transition-fast);outline:none;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:.9rem}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-18px)rotate(1deg)}66%{transform:translateY(-8px)rotate(-1deg)}}@keyframes floatSlow{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-24px)scale(1.04)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 8px #0000}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.fade-in{animation:fadeIn .4s var(--transition-base) both}.fade-in-scale{animation:.35s cubic-bezier(.34,1.56,.64,1) both fadeInScale}.hover-lift{transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.spin{animation:1s linear infinite spin}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.19,1,.22,1),transform .8s cubic-bezier(.19,1,.22,1)}.reveal-up{transform:translateY(40px)}.reveal-left{transform:translate(-50px)}.reveal-right{transform:translate(50px)}.reveal-scale{transform:scale(.88)}.reveal.active{opacity:1;transform:translate(0)scale(1)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.delay-5{transition-delay:.5s}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.text-gradient{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-hero{background:linear-gradient(135deg, #fff 0%, var(--accent-primary) 60%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.mobile-only{display:none!important}@media (width<=768px){.mobile-only{display:flex!important}.desktop-only{display:none!important}}.global-search-input,.glass .global-search-input,.dark .global-search-input{color:var(--text-primary)}.global-search-input::placeholder{color:var(--text-muted)}.page-header{flex-shrink:0;margin-bottom:2rem}.page-header h1{font-size:1.75rem;font-weight:800}mark.ai-highlight,mark[style*=\#fef08a]{color:#4f46e5!important;background-color:#6366f125!important;border:1px solid #6366f140!important;border-radius:.35rem!important;padding:.12em .38rem!important;font-weight:600!important;box-shadow:0 1px 3px #6366f114!important}.dark mark.ai-highlight{color:#cbd5e1!important;background-color:#818cf840!important;border-color:#818cf859!important}.glass mark.ai-highlight{color:#4338ca!important;background-color:#6366f125!important;border-color:#6366f147!important}.table-container{border-radius:var(--radius-md,.75rem);border:1px solid var(--border-color);background:var(--bg-elevated);box-shadow:var(--shadow-sm);margin:1.5rem 0;overflow-x:auto}.sofia-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:.95rem}.sofia-table th{background:var(--bg-secondary);color:var(--accent-primary);border-bottom:2px solid var(--border-color);padding:.85rem 1.15rem;font-weight:700}.sofia-table td{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:.85rem 1.15rem}.sofia-table tbody tr:last-child td{border-bottom:none}.sofia-table tbody tr:hover{background-color:var(--accent-light);transition:background-color .15s}.hover-bg-subtle{transition:background-color var(--transition-fast,.15s ease)}.hover-bg-subtle:hover{background-color:var(--bg-secondary)!important}@keyframes gameTourSlideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes tourPulseHighlight{0%{border-color:#6366f1;transform:scale(1);box-shadow:0 0 #6366f1b3}50%{border-color:#ec4899;transform:scale(1.03);box-shadow:0 0 0 8px #6366f14d}to{border-color:#6366f1;transform:scale(1);box-shadow:0 0 #6366f100}}.tour-highlight-active{border-color:var(--accent-primary,#6366f1)!important;z-index:10!important;animation:1.5s cubic-bezier(.4,0,.6,1) infinite tourPulseHighlight!important;position:relative!important}
