@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.view-as-bar[data-v-c9b18796]{position:fixed;top:0;left:0;right:0;z-index:200;background:linear-gradient(90deg,rgba(var(--primary-rgb),.2),rgba(var(--primary-rgb),.12)),var(--bg-card);border-bottom:1px solid var(--border-subtle);box-shadow:inset 0 -1px rgba(var(--primary-rgb),.3),0 8px 24px -14px #00000073;color:var(--text-white);font-family:var(--body-font);padding:.55rem 1rem}.view-as-content[data-v-c9b18796]{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.view-as-info[data-v-c9b18796]{display:flex;align-items:center;gap:.75rem;min-width:0}.view-as-icon[data-v-c9b18796]{width:1.25rem;height:1.25rem;flex-shrink:0;color:var(--primary-light)}.view-as-text[data-v-c9b18796]{font-size:.9rem;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-as-text strong[data-v-c9b18796]{font-weight:600;color:var(--text-white)}.view-as-email[data-v-c9b18796]{color:var(--text-muted);font-size:.85rem}.exit-btn[data-v-c9b18796]{display:flex;align-items:center;gap:.5rem;flex-shrink:0;background:linear-gradient(135deg,var(--primary-light),var(--primary));border:1px solid transparent;color:#2a1206;padding:.4rem .85rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.exit-btn[data-v-c9b18796]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.exit-btn[data-v-c9b18796]:focus-visible{outline:none;box-shadow:var(--ring)}.exit-btn[data-v-c9b18796]:active{transform:translateY(0)}.exit-btn[data-v-c9b18796]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.exit-btn svg[data-v-c9b18796]{width:1rem;height:1rem}@media(max-width:640px){.view-as-email[data-v-c9b18796]{display:none}.view-as-text[data-v-c9b18796]{font-size:.85rem}}.view-as-modal-overlay[data-v-47b6d6ce]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1.5rem}.view-as-modal[data-v-47b6d6ce]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);width:90%;max-width:400px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-47b6d6ce]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.modal-header h3[data-v-47b6d6ce]{margin:0;font-family:var(--display-font);font-size:1.1rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white)}.close-btn[data-v-47b6d6ce]{background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease)}.close-btn[data-v-47b6d6ce]:hover{color:var(--primary-light);border-color:var(--primary);background:rgba(var(--primary-rgb),.08)}.close-btn[data-v-47b6d6ce]:focus-visible{outline:none;box-shadow:var(--ring)}.close-btn[data-v-47b6d6ce]:active{background:rgba(var(--primary-rgb),.14)}.close-btn svg[data-v-47b6d6ce]{width:20px;height:20px}.modal-body[data-v-47b6d6ce]{padding:1.25rem;overflow-y:auto}.search-input[data-v-47b6d6ce]{width:100%;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-family:var(--body-font);font-size:.9rem;margin-bottom:1rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.search-input[data-v-47b6d6ce]:hover{border-color:rgba(var(--primary-rgb),.4)}.search-input[data-v-47b6d6ce]:focus,.search-input[data-v-47b6d6ce]:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.search-input[data-v-47b6d6ce]:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-dark)}.search-input[data-v-47b6d6ce]::placeholder{color:var(--text-muted)}.user-list[data-v-47b6d6ce]{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.user-option[data-v-47b6d6ce]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);width:100%;text-align:left}.user-option[data-v-47b6d6ce]:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.08)}.user-option[data-v-47b6d6ce]:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.user-option[data-v-47b6d6ce]:active{background:rgba(var(--primary-rgb),.14);transform:translateY(0)}.user-option[data-v-47b6d6ce]:disabled{opacity:.55;cursor:not-allowed}.user-avatar-small[data-v-47b6d6ce]{width:36px;height:36px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display-font);font-weight:700;font-size:.85rem;flex-shrink:0}.user-info-small[data-v-47b6d6ce]{display:flex;flex-direction:column;overflow:hidden}.user-name-small[data-v-47b6d6ce]{font-family:var(--body-font);font-size:.9rem;font-weight:600;color:var(--text-white)}.user-email-small[data-v-47b6d6ce]{font-family:var(--body-font);font-size:.8rem;color:var(--text-muted)}.no-results[data-v-47b6d6ce],.loading-hint[data-v-47b6d6ce]{text-align:center;color:var(--text-muted);font-family:var(--body-font);font-size:.9rem;padding:1rem}.recent-users-section[data-v-47b6d6ce]{margin-top:.5rem}.section-label[data-v-47b6d6ce]{font-family:var(--body-font);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.modal-overlay[data-v-371fa6c6]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem}.modal-content[data-v-371fa6c6]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:2rem;max-width:400px;width:90%;text-align:center}.modal-icon[data-v-371fa6c6]{width:4rem;height:4rem;background:rgba(var(--primary-rgb),.14);border:1px solid var(--border-subtle);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}.modal-icon svg[data-v-371fa6c6]{width:2rem;height:2rem;color:var(--primary)}.modal-icon.warning[data-v-371fa6c6]{background:#d9770626}.modal-icon.warning svg[data-v-371fa6c6]{color:var(--warning)}.modal-icon.success[data-v-371fa6c6]{background:#16a34a26}.modal-icon.success svg[data-v-371fa6c6]{color:var(--success)}.modal-icon.error[data-v-371fa6c6]{background:#dc262626}.modal-icon.error svg[data-v-371fa6c6]{color:var(--error)}.modal-title[data-v-371fa6c6]{font-family:var(--display-font);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:0 0 .5rem}.modal-message[data-v-371fa6c6]{font-family:var(--body-font);color:var(--text-muted);font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.modal-actions[data-v-371fa6c6]{display:flex;gap:.75rem;justify-content:center}.modal-btn[data-v-371fa6c6]{font-family:var(--body-font);padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);border:1px solid transparent}.modal-btn.primary[data-v-371fa6c6]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;box-shadow:var(--accent-glow)}.modal-btn.primary[data-v-371fa6c6]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.modal-btn.primary[data-v-371fa6c6]:focus-visible{outline:none;box-shadow:var(--ring)}.modal-btn.primary[data-v-371fa6c6]:active{transform:translateY(0)}.modal-btn.primary[data-v-371fa6c6]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.modal-btn.primary.warning[data-v-371fa6c6]{background:var(--warning);color:#2a1206;box-shadow:none}.modal-btn.primary.warning[data-v-371fa6c6]:hover{filter:brightness(1.08);transform:translateY(-1px)}.modal-btn.primary.success[data-v-371fa6c6]{background:var(--success);color:#052e16;box-shadow:none}.modal-btn.primary.success[data-v-371fa6c6]:hover{filter:brightness(1.08);transform:translateY(-1px)}.modal-btn.primary.error[data-v-371fa6c6]{background:var(--error);color:#fff;box-shadow:none}.modal-btn.primary.error[data-v-371fa6c6]:hover{filter:brightness(1.08);transform:translateY(-1px)}.modal-btn.primary.warning[data-v-371fa6c6]:focus-visible,.modal-btn.primary.success[data-v-371fa6c6]:focus-visible,.modal-btn.primary.error[data-v-371fa6c6]:focus-visible{outline:none;box-shadow:var(--ring)}.modal-btn.secondary[data-v-371fa6c6]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-light);box-shadow:none}.modal-btn.secondary[data-v-371fa6c6]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.modal-btn.secondary[data-v-371fa6c6]:focus-visible{outline:none;box-shadow:var(--ring)}.modal-btn.secondary[data-v-371fa6c6]:active{transform:translateY(0)}.modal-btn.secondary[data-v-371fa6c6]:disabled{opacity:.55;cursor:not-allowed;transform:none}.modal-enter-active[data-v-371fa6c6],.modal-leave-active[data-v-371fa6c6]{transition:opacity .2s var(--ease)}.modal-enter-active .modal-content[data-v-371fa6c6],.modal-leave-active .modal-content[data-v-371fa6c6]{transition:opacity .2s var(--ease),transform .2s var(--ease-spring)}.modal-enter-from[data-v-371fa6c6],.modal-leave-to[data-v-371fa6c6]{opacity:0}.modal-enter-from .modal-content[data-v-371fa6c6],.modal-leave-to .modal-content[data-v-371fa6c6]{opacity:0;transform:scale(.95) translateY(-10px)}.sidebar-nav[data-v-ef218758]{position:fixed;top:0;left:0;bottom:0;width:240px;background:var(--bg-darker);border-right:1px solid var(--border-subtle);transition:width .25s var(--ease);z-index:50;overflow:visible;font-family:var(--body-font)}.sidebar-nav[data-v-ef218758]:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,rgba(var(--primary-rgb),.18) 12%,rgba(var(--primary-rgb),.18) 88%,transparent 100%)}.sidebar-content[data-v-ef218758]{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.sidebar-content[data-v-ef218758]::-webkit-scrollbar{width:4px}.sidebar-content[data-v-ef218758]::-webkit-scrollbar-track{background:transparent}.sidebar-content[data-v-ef218758]::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.sidebar-content[data-v-ef218758]::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary-rgb),.5)}.sidebar-nav.collapsed[data-v-ef218758]{width:56px}.sidebar-header[data-v-ef218758]{display:flex;align-items:center;justify-content:space-between;padding:.875rem .75rem;min-height:52px;flex-shrink:0;position:relative;overflow:visible}.sidebar-nav.collapsed .sidebar-header[data-v-ef218758]{justify-content:center;padding:.875rem .5rem}.brand-link[data-v-ef218758]{display:flex;align-items:center;gap:.625rem;text-decoration:none;color:var(--text-white);font-family:var(--display-font);font-weight:600;font-size:.95rem;overflow:hidden;letter-spacing:-.02em;border-radius:var(--radius-sm);transition:color .2s var(--ease)}.brand-link[data-v-ef218758]:hover{color:var(--primary-light)}.brand-link[data-v-ef218758]:focus-visible{outline:none;box-shadow:var(--ring)}.brand-icon[data-v-ef218758]{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--accent-glow);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}.brand-link:hover .brand-icon[data-v-ef218758]{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.brand-icon svg[data-v-ef218758]{width:18px;height:18px;color:#2a1206}.brand-name[data-v-ef218758]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-toggle[data-v-ef218758]{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:22px;height:22px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),opacity .2s var(--ease);z-index:51;opacity:0}.sidebar-nav:hover .collapse-toggle[data-v-ef218758]{opacity:1}.sidebar-nav.collapsed .collapse-toggle[data-v-ef218758]{right:-22px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;opacity:1}.collapse-toggle[data-v-ef218758]:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary));border-color:transparent;color:#2a1206}.collapse-toggle[data-v-ef218758]:focus-visible{outline:none;box-shadow:var(--ring)}.collapse-toggle[data-v-ef218758]:active{transform:translateY(-50%)}.collapse-toggle svg[data-v-ef218758]{width:12px;height:12px}.nav-section[data-v-ef218758]{padding:.5rem .5rem .375rem;display:flex;flex-direction:column;gap:2px}.nav-section-bottom[data-v-ef218758]{margin-top:auto;padding-top:.5rem;position:relative}.nav-section-bottom[data-v-ef218758]:before{content:"";position:absolute;top:0;left:.75rem;right:.75rem;height:1px;background:var(--border-subtle)}.theme-toggle-btn[data-v-ef218758]{background:none;border:none;width:100%;text-align:left;margin-top:.25rem;padding-top:.5rem;border-radius:0;position:relative}.theme-toggle-btn[data-v-ef218758]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--border-subtle)}.theme-toggle-btn[data-v-ef218758]:hover{background:rgba(var(--primary-rgb),.08);border-radius:var(--radius-sm)}.nav-label[data-v-ef218758]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-family:var(--body-font);padding:.5rem .625rem .25rem}.nav-label-inline[data-v-ef218758]{margin-top:.375rem}.nav-item[data-v-ef218758]{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:var(--radius-sm);border:1px solid transparent;color:var(--text-muted);text-decoration:none;font-size:.8rem;font-weight:500;transition:background-color .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),transform .18s var(--ease);white-space:nowrap;position:relative}.sidebar-nav.collapsed .nav-item[data-v-ef218758]{justify-content:center;padding:.5rem}.nav-item[data-v-ef218758]:hover{background:rgba(var(--primary-rgb),.08);color:var(--text-white)}.nav-item[data-v-ef218758]:focus-visible{outline:none;box-shadow:var(--ring)}.nav-item[data-v-ef218758]:active{transform:translateY(.5px)}.nav-item.active[data-v-ef218758]{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.nav-item.active[data-v-ef218758]:hover{background:rgba(var(--primary-rgb),.16);color:var(--primary-light)}.nav-item.active[data-v-ef218758]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--primary);border-radius:0 2px 2px 0}.nav-item.active .nav-icon[data-v-ef218758]{color:var(--primary);opacity:1}.nav-icon[data-v-ef218758]{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.85}.nav-icon svg[data-v-ef218758]{width:100%;height:100%;stroke-width:1.75}.bootcamp-icon[data-v-ef218758]{width:20px;height:20px;padding:2px;border-radius:var(--radius-sm)}.bootcamp-icon.icon-web[data-v-ef218758],.bootcamp-icon.icon-mobile[data-v-ef218758],.bootcamp-icon.icon-data[data-v-ef218758],.bootcamp-icon.icon-design[data-v-ef218758],.bootcamp-icon.icon-default[data-v-ef218758]{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.bootcamp-item.active .bootcamp-icon[data-v-ef218758]{background:rgba(var(--primary-rgb),.22)}.nav-item.add-link[data-v-ef218758]{border:1px dashed var(--border-subtle);color:var(--text-muted);margin-top:.25rem}.nav-item.add-link[data-v-ef218758]:hover{border-color:var(--primary);color:var(--primary);background:rgba(var(--primary-rgb),.08)}.nav-item.add-link .nav-icon[data-v-ef218758]{color:var(--primary)}.nav-text[data-v-ef218758]{flex:1;overflow:hidden;text-overflow:ellipsis}.badge[data-v-ef218758]{background:var(--primary);color:#2a1206;font-size:.6rem;font-weight:600;padding:.1rem .4rem;border-radius:9999px;min-width:1rem;text-align:center}.user-info[data-v-ef218758]{display:flex;align-items:center;gap:.625rem;padding:.75rem;margin:.25rem .5rem .5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.sidebar-nav.collapsed .user-info[data-v-ef218758]{justify-content:center;padding:.625rem;margin:.25rem}.user-avatar[data-v-ef218758]{width:28px;height:28px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem;flex-shrink:0}.user-details[data-v-ef218758]{display:flex;flex-direction:column;overflow:hidden;gap:.1rem}.user-name[data-v-ef218758]{font-size:.75rem;font-weight:600;color:var(--text-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.user-email[data-v-ef218758]{font-size:.65rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.admin-section[data-v-ef218758]{background:rgba(var(--primary-rgb),.05);margin:0;padding-bottom:.5rem;position:relative}.admin-section[data-v-ef218758]:after{content:"";position:absolute;bottom:0;left:.75rem;right:.75rem;height:1px;background:rgba(var(--primary-rgb),.18)}.admin-section .nav-label[data-v-ef218758]{color:var(--primary)}.view-as-btn[data-v-ef218758],.logout-btn[data-v-ef218758]{background:none;border:none;width:100%;text-align:left;cursor:pointer}.logout-btn[data-v-ef218758]:hover{color:var(--error);background:rgba(var(--primary-rgb),.06)}.logout-btn:hover .nav-icon[data-v-ef218758]{color:var(--error)}@media(max-width:768px){.sidebar-nav[data-v-ef218758]{display:none}}.admin-sidebar[data-v-93e10ed4]{position:fixed;top:0;left:0;bottom:0;width:240px;background:var(--bg-card);border-right:1px solid var(--border-subtle);font-family:var(--body-font);transition:width .25s var(--ease);z-index:50;overflow:visible}.admin-sidebar[data-v-93e10ed4]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 50%,var(--primary) 100%)}.admin-sidebar[data-v-93e10ed4]:after{content:"";position:absolute;right:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent 0%,var(--border-subtle) 10%,var(--border-subtle) 90%,transparent 100%)}.sidebar-content[data-v-93e10ed4]{display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.sidebar-content[data-v-93e10ed4]::-webkit-scrollbar{width:4px}.sidebar-content[data-v-93e10ed4]::-webkit-scrollbar-track{background:transparent}.sidebar-content[data-v-93e10ed4]::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.admin-sidebar.collapsed[data-v-93e10ed4]{width:56px}.sidebar-header[data-v-93e10ed4]{display:flex;align-items:center;justify-content:space-between;padding:.875rem .75rem;min-height:52px;flex-shrink:0;position:relative;overflow:visible}.admin-sidebar.collapsed .sidebar-header[data-v-93e10ed4]{justify-content:center;padding:.875rem .5rem}.brand-link[data-v-93e10ed4]{display:flex;align-items:center;gap:.625rem;text-decoration:none;color:var(--text-white);font-family:var(--display-font);font-weight:600;font-size:.95rem;overflow:hidden;letter-spacing:-.01em;transition:color .18s var(--ease)}.brand-link[data-v-93e10ed4]:hover{color:var(--primary)}.brand-link[data-v-93e10ed4]:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.brand-icon[data-v-93e10ed4]{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--accent-glow)}.brand-icon svg[data-v-93e10ed4]{width:18px;height:18px;color:#2a1206}.brand-name[data-v-93e10ed4]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-badge[data-v-93e10ed4]{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);background:rgba(var(--primary-rgb),.12);padding:.15rem .4rem;border-radius:var(--radius-sm);border:1px solid rgba(var(--primary-rgb),.25)}.collapse-toggle[data-v-93e10ed4]{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:22px;height:22px;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),opacity .18s var(--ease);z-index:51;opacity:0}.admin-sidebar:hover .collapse-toggle[data-v-93e10ed4]{opacity:1}.admin-sidebar.collapsed .collapse-toggle[data-v-93e10ed4]{right:-22px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:none;opacity:1}.collapse-toggle[data-v-93e10ed4]:hover{background:var(--primary);border-color:var(--primary);color:#2a1206}.collapse-toggle[data-v-93e10ed4]:focus-visible{outline:none;border-color:var(--primary);color:var(--primary);box-shadow:var(--ring);opacity:1}.collapse-toggle[data-v-93e10ed4]:active{transform:translateY(-50%) scale(.92)}.collapse-toggle svg[data-v-93e10ed4]{width:12px;height:12px}.nav-section[data-v-93e10ed4]{padding:.5rem .5rem .375rem;display:flex;flex-direction:column;gap:2px}.nav-section-tools[data-v-93e10ed4]{margin-top:.5rem;padding-top:.75rem;position:relative}.nav-section-tools[data-v-93e10ed4]:before{content:"";position:absolute;top:0;left:.75rem;right:.75rem;height:1px;background:var(--border-subtle)}.nav-section-bottom[data-v-93e10ed4]{margin-top:auto;padding-top:.5rem;position:relative}.nav-section-bottom[data-v-93e10ed4]:before{content:"";position:absolute;top:0;left:.75rem;right:.75rem;height:1px;background:var(--border-subtle)}.nav-label[data-v-93e10ed4]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.5rem .625rem .25rem}.nav-item[data-v-93e10ed4]{display:flex;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-size:.8rem;font-weight:500;transition:background-color .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease);white-space:nowrap;position:relative}.admin-sidebar.collapsed .nav-item[data-v-93e10ed4]{justify-content:center;padding:.5rem}.nav-item[data-v-93e10ed4]:hover{background:rgba(var(--primary-rgb),.08);color:var(--text-white)}.nav-item[data-v-93e10ed4]:focus-visible{outline:none;color:var(--text-white);box-shadow:var(--ring)}.nav-item[data-v-93e10ed4]:active{background:rgba(var(--primary-rgb),.14)}.nav-item.active[data-v-93e10ed4]{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.nav-item.active[data-v-93e10ed4]:hover{background:rgba(var(--primary-rgb),.16);color:var(--primary)}.nav-item.active[data-v-93e10ed4]:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2px;height:60%;background:var(--primary);border-radius:0 1px 1px 0}.nav-item.active .nav-icon[data-v-93e10ed4]{color:var(--primary);opacity:1}.nav-icon[data-v-93e10ed4]{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.85}.nav-icon svg[data-v-93e10ed4]{width:100%;height:100%;stroke-width:1.75}.nav-text[data-v-93e10ed4]{flex:1;overflow:hidden;text-overflow:ellipsis}.external-icon[data-v-93e10ed4]{width:12px;height:12px;opacity:.4;flex-shrink:0}.external-icon svg[data-v-93e10ed4]{width:100%;height:100%}.nav-item:hover .external-icon[data-v-93e10ed4]{opacity:.7}.badge[data-v-93e10ed4]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-size:.6rem;font-weight:600;padding:.1rem .4rem;border-radius:9999px;min-width:1rem;text-align:center;box-shadow:var(--accent-glow)}.view-as-btn[data-v-93e10ed4],.logout-btn[data-v-93e10ed4]{background:none;border:none;width:100%;text-align:left;cursor:pointer;font-family:inherit}.theme-toggle-btn[data-v-93e10ed4]{background:none;border:none;width:100%;text-align:left;margin-top:.25rem;padding-top:.5rem;border-radius:0;position:relative;cursor:pointer;font-family:inherit}.theme-toggle-btn[data-v-93e10ed4]:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--border-subtle)}.theme-toggle-btn[data-v-93e10ed4]:hover{background:rgba(var(--primary-rgb),.06);border-radius:var(--radius-sm)}.logout-btn[data-v-93e10ed4]:hover{color:var(--error)}.logout-btn:hover .nav-icon[data-v-93e10ed4]{color:var(--error);opacity:1}.user-info[data-v-93e10ed4]{display:flex;align-items:center;gap:.625rem;padding:.75rem;margin:.25rem .5rem .5rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.admin-sidebar.collapsed .user-info[data-v-93e10ed4]{justify-content:center;padding:.625rem;margin:.25rem}.user-avatar[data-v-93e10ed4]{width:28px;height:28px;background:linear-gradient(135deg,var(--primary-light) 0%,var(--primary) 100%);color:#2a1206;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.7rem;flex-shrink:0;box-shadow:var(--accent-glow)}.user-details[data-v-93e10ed4]{display:flex;flex-direction:column;overflow:hidden;gap:.1rem}.user-name[data-v-93e10ed4]{font-size:.75rem;font-weight:600;color:var(--text-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.user-role[data-v-93e10ed4]{font-size:.65rem;color:var(--primary);opacity:.8;white-space:nowrap;line-height:1.2}:root:not(.dark) .admin-sidebar[data-v-93e10ed4]{box-shadow:var(--shadow-card)}:root:not(.dark) .nav-item[data-v-93e10ed4]:hover{background:rgba(var(--primary-rgb),.06)}:root:not(.dark) .user-info[data-v-93e10ed4]{background:var(--bg-darker)}@media(max-width:768px){.admin-sidebar[data-v-93e10ed4]{display:none}}.mobile-navbar[data-v-6310cafe]{display:none;position:fixed;top:0;left:0;right:0;height:64px;background:var(--bg-body);border-bottom:1px solid var(--border-subtle);z-index:100;padding:0 1rem;align-items:center;justify-content:space-between;font-family:var(--body-font)}.mobile-navbar.has-view-as-offset[data-v-6310cafe]{top:40px}.brand-link[data-v-6310cafe]{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-white);font-family:var(--display-font);font-weight:700;font-size:1.1rem;letter-spacing:-.02em;transition:opacity .18s var(--ease)}.brand-link[data-v-6310cafe]:hover{opacity:.85}.brand-icon[data-v-6310cafe]{width:36px;height:36px;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;box-shadow:var(--accent-glow)}.brand-icon svg[data-v-6310cafe]{width:20px;height:20px;color:#2a1206}.menu-toggle[data-v-6310cafe]{width:40px;height:40px;background:none;border:1px solid transparent;color:var(--text-white);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .15s var(--ease)}.menu-toggle[data-v-6310cafe]:hover{background:rgba(var(--primary-rgb),.1);border-color:var(--border-subtle);color:var(--primary)}.menu-toggle[data-v-6310cafe]:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--primary);color:var(--primary)}.menu-toggle[data-v-6310cafe]:active{transform:scale(.94)}.menu-toggle svg[data-v-6310cafe]{width:24px;height:24px}.mobile-menu[data-v-6310cafe]:before{content:"";position:fixed;inset:0;background:#0009;opacity:0;pointer-events:none;transition:opacity .25s var(--ease);z-index:-1}.mobile-menu.open[data-v-6310cafe]:before{opacity:1}.mobile-menu[data-v-6310cafe]{display:flex;position:fixed;inset:64px 0 0;background:var(--bg-card);border-left:1px solid var(--border-subtle);flex-direction:column;padding:1rem;overflow-y:auto;z-index:99;transform:translate(100%);visibility:hidden;box-shadow:var(--shadow-card);transition:transform .3s var(--ease),visibility 0s linear .3s;will-change:transform}.mobile-navbar.has-view-as-offset+.mobile-menu[data-v-6310cafe],.mobile-navbar.has-view-as-offset~.mobile-menu[data-v-6310cafe]{top:104px}.mobile-menu.open[data-v-6310cafe]{transform:translate(0);visibility:visible;transition:transform .3s var(--ease),visibility 0s linear 0s}.menu-section[data-v-6310cafe]{display:flex;flex-direction:column;gap:.25rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.menu-section[data-v-6310cafe]:last-of-type{border-bottom:none;margin-bottom:0}.menu-label[data-v-6310cafe]{font-family:var(--display-font);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.5rem .75rem}.menu-item[data-v-6310cafe]{display:flex;align-items:center;gap:.75rem;padding:.875rem;border-radius:var(--radius-sm);color:var(--text-light);text-decoration:none;font-size:.95rem;font-weight:500;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .12s var(--ease);background:none;border:1px solid transparent;width:100%;text-align:left;cursor:pointer}.menu-item[data-v-6310cafe]:hover{background:rgba(var(--primary-rgb),.08);color:var(--primary)}.menu-item[data-v-6310cafe]:focus-visible{outline:none;box-shadow:var(--ring);color:var(--primary)}.menu-item[data-v-6310cafe]:active{transform:scale(.99)}.menu-item.router-link-active[data-v-6310cafe]{background:rgba(var(--primary-rgb),.14);color:var(--primary);border-color:rgba(var(--primary-rgb),.28)}.menu-item svg[data-v-6310cafe]{width:22px;height:22px;flex-shrink:0}.menu-section.admin-section[data-v-6310cafe]{background:rgba(var(--primary-rgb),.06);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-sm);padding:.75rem}.menu-section.admin-section .menu-label[data-v-6310cafe]{color:var(--primary)}.menu-sublabel[data-v-6310cafe]{display:block;font-family:var(--display-font);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.75rem .75rem .25rem;margin-top:.5rem}.bootcamp-icon[data-v-6310cafe]{width:24px;height:24px;padding:2px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .2s var(--ease)}.bootcamp-icon svg[data-v-6310cafe]{width:100%;height:100%}.bootcamp-icon.icon-web[data-v-6310cafe],.bootcamp-icon.icon-mobile[data-v-6310cafe],.bootcamp-icon.icon-data[data-v-6310cafe],.bootcamp-icon.icon-design[data-v-6310cafe],.bootcamp-icon.icon-default[data-v-6310cafe]{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.menu-item.bootcamp-item.router-link-active .bootcamp-icon[data-v-6310cafe]{background:rgba(var(--primary-rgb),.25)}.menu-icon[data-v-6310cafe]{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.menu-icon svg[data-v-6310cafe]{width:100%;height:100%}.menu-item.add-link[data-v-6310cafe]{border:1px dashed var(--border-subtle);color:var(--text-muted)}.menu-item.add-link[data-v-6310cafe]:hover{border-style:dashed;border-color:var(--primary);color:var(--primary);background:rgba(var(--primary-rgb),.1)}.menu-item.add-link[data-v-6310cafe]:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--primary);color:var(--primary)}.menu-item.add-link .menu-icon[data-v-6310cafe]{color:var(--primary)}.menu-item .badge[data-v-6310cafe]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:9999px;min-width:1.25rem;text-align:center;margin-left:auto}.user-info[data-v-6310cafe]{display:flex;align-items:center;gap:.75rem;padding:1rem;border-top:1px solid var(--border-subtle);margin-top:auto}.user-avatar[data-v-6310cafe]{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display-font);font-weight:600;font-size:.9rem;flex-shrink:0;box-shadow:var(--accent-glow)}.user-details[data-v-6310cafe]{display:flex;flex-direction:column}.user-name[data-v-6310cafe]{font-size:.9rem;font-weight:600;color:var(--text-white)}.user-email[data-v-6310cafe]{font-size:.8rem;color:var(--text-muted)}@media(max-width:768px){.mobile-navbar[data-v-6310cafe]{display:flex}}.fb-launch[data-v-3bcc5c6b]{position:fixed;left:18px;bottom:18px;z-index:70;width:46px;height:46px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease),opacity .2s var(--ease)}.fb-launch[data-v-3bcc5c6b]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.fb-launch[data-v-3bcc5c6b]:focus-visible{outline:none;box-shadow:var(--ring)}.fb-launch[data-v-3bcc5c6b]:active{transform:translateY(0)}.fb-launch svg[data-v-3bcc5c6b]{width:22px;height:22px}.fb-panel[data-v-3bcc5c6b]{position:fixed;left:18px;bottom:18px;z-index:71;width:320px;max-width:calc(100vw - 36px);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;font-family:var(--body-font);color:var(--text-white)}.fb-head[data-v-3bcc5c6b]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);color:var(--text-white);font-size:.95rem}.fb-head strong[data-v-3bcc5c6b]{font-family:var(--display-font);letter-spacing:-.01em;font-weight:600}.fb-x[data-v-3bcc5c6b]{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:.15rem .3rem;border-radius:var(--radius-sm);transition:color .18s var(--ease),background-color .18s var(--ease)}.fb-x[data-v-3bcc5c6b]:hover{color:var(--text-white);background:rgba(var(--primary-rgb),.1)}.fb-x[data-v-3bcc5c6b]:focus-visible{outline:none;box-shadow:var(--ring)}.fb-body[data-v-3bcc5c6b]{padding:.85rem 1rem 1rem}.fb-types[data-v-3bcc5c6b]{display:flex;gap:.5rem;margin-bottom:.6rem}.fb-types button[data-v-3bcc5c6b]{flex:1;padding:.4rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-family:var(--body-font);font-weight:500;transition:border-color .18s var(--ease),color .18s var(--ease),background-color .18s var(--ease),transform .18s var(--ease)}.fb-types button[data-v-3bcc5c6b]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.fb-types button[data-v-3bcc5c6b]:focus-visible{outline:none;box-shadow:var(--ring)}.fb-types button[data-v-3bcc5c6b]:active{transform:translateY(0)}.fb-types button.on[data-v-3bcc5c6b]{border-color:var(--primary);color:var(--primary);background:rgba(var(--primary-rgb),.12)}.fb-body textarea[data-v-3bcc5c6b]{width:100%;box-sizing:border-box;padding:.6rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-body);color:var(--text-white);font-size:.85rem;font-family:var(--body-font);resize:vertical;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background-color .18s var(--ease)}.fb-body textarea[data-v-3bcc5c6b]::placeholder{color:var(--text-muted);opacity:1}.fb-body textarea[data-v-3bcc5c6b]:hover:not(:disabled){border-color:rgba(var(--primary-rgb),.4)}.fb-body textarea[data-v-3bcc5c6b]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.fb-body textarea[data-v-3bcc5c6b]:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-dark)}.fb-err[data-v-3bcc5c6b]{color:var(--error);font-size:.78rem;margin:.4rem 0 0}.fb-send[data-v-3bcc5c6b]{width:100%;margin-top:.6rem;padding:.55rem;border:none;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-weight:600;font-family:var(--body-font);cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease),opacity .2s var(--ease)}.fb-send[data-v-3bcc5c6b]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.fb-send[data-v-3bcc5c6b]:focus-visible{outline:none;box-shadow:var(--ring)}.fb-send[data-v-3bcc5c6b]:active:not(:disabled){transform:translateY(0)}.fb-send[data-v-3bcc5c6b]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.fb-thanks[data-v-3bcc5c6b]{padding:1.5rem 1rem;text-align:center;color:var(--text-light)}.fb-tick[data-v-3bcc5c6b]{display:inline-block;width:2.2rem;height:2.2rem;line-height:2.2rem;border-radius:50%;background:rgba(var(--primary-rgb),.14);color:var(--success);font-size:1.1rem;margin-bottom:.5rem}.loading-overlay{position:fixed;inset:0;background:var(--bg-dark, #0a0a0f);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{width:48px;height:48px;border:3px solid var(--border-subtle, #2a2a3a);border-top-color:var(--primary, #f97316);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner p{color:var(--text-muted, #a0a0b0);font-size:.95rem}.app-content{min-height:100vh}.view-as-active .app-content{padding-top:40px}.view-as-active .sidebar-nav{top:40px}@media(max-width:768px){.has-sidebar .app-content{margin-left:0!important;padding-top:64px}.has-sidebar.view-as-active .app-content{padding-top:104px}}.v2[data-v-b1136828]{--bg: #0c0a09;--raised: #1c1917;--sunken: #060403;--s1: rgba(26,22,18,.55);--s2: rgba(34,29,24,.7);--line: rgba(255,255,255,.1);--line-soft: rgba(255,255,255,.06);--line-em: rgba(251,146,60,.22);--em: #f97316;--em4: #fb923c;--em3: #fdba74;--mint: #fff1e3;--lime: #fb923c;--teal: #ea580c;--teal-deep: #9a3412;--cyan: #fdba74;--red: #f4502a;--hi: #fff7ed;--body: #d6ccc4;--muted: #a8a29e;--on-em: #2a1206;--fdisp: "Space Grotesk", system-ui, sans-serif;--fbody: "Inter", system-ui, sans-serif;--fmono: "JetBrains Mono", ui-monospace, monospace;--ease-out: cubic-bezier(.22,1,.36,1);--ease-spring: cubic-bezier(.34,1.56,.64,1);position:relative;min-height:100vh;background:var(--bg);color:var(--body);font-family:var(--fbody);line-height:1.6;overflow-x:clip}[data-v-b1136828]{box-sizing:border-box}.reveal[data-v-b1136828]{opacity:0;will-change:opacity,transform}.v2.reduced .reveal[data-v-b1136828]{opacity:1!important;transform:none!important}.bg[data-v-b1136828]{position:fixed;inset:0;z-index:0;pointer-events:none}.aurora[data-v-b1136828]{position:absolute;inset:-20% -10% 0;filter:blur(64px) saturate(135%);opacity:.92;background:radial-gradient(42% 55% at 20% 24%,#f97316 0%,transparent 60%),radial-gradient(40% 46% at 52% 6%,rgba(255,237,213,.45) 0%,transparent 60%),radial-gradient(45% 50% at 82% 20%,#fb923c 0%,transparent 62%),radial-gradient(40% 48% at 64% 70%,#ea580c 0%,transparent 64%),radial-gradient(26% 36% at 31% 82%,rgba(249,115,22,.5) 0%,transparent 60%);background-blend-mode:screen;background-size:160% 160%;-webkit-mask:radial-gradient(120% 85% at 50% 14%,#000 28%,transparent 76%);mask:radial-gradient(120% 85% at 50% 14%,#000 28%,transparent 76%);animation:drift-b1136828 14s ease-in-out infinite alternate}@keyframes drift-b1136828{0%{transform:translate3d(-2%,-1%,0) scale(1.05)}50%{transform:translate3d(3%,2%,0) scale(1.13)}to{transform:translate3d(-1%,1%,0) scale(1.08)}}.grid-overlay[data-v-b1136828]{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask:linear-gradient(to bottom,#000,transparent 70%);mask:linear-gradient(to bottom,#000,transparent 70%)}.noise[data-v-b1136828]{position:absolute;inset:0;opacity:.04;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.v2.reduced .aurora[data-v-b1136828]{animation:none}main[data-v-b1136828]{position:relative;z-index:1}.eyebrow[data-v-b1136828]{display:inline-flex;align-items:center;gap:.5rem;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}.eyebrow .dot[data-v-b1136828]{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);animation:pulse-b1136828 2s infinite}@keyframes pulse-b1136828{50%{opacity:.35}}.grad[data-v-b1136828]{background:linear-gradient(100deg,var(--em4),var(--em),var(--em4));background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradflow-b1136828 7s ease-in-out infinite}@keyframes gradflow-b1136828{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.v2.reduced .grad[data-v-b1136828]{animation:none}.glitch[data-v-b1136828]{position:relative}.glitch[data-v-b1136828]:hover{animation:gl-b1136828 .3s steps(2) 1}@keyframes gl-b1136828{0%{transform:translate(0)}30%{transform:translate(-1.5px,1px) skew(-2deg)}60%{transform:translate(1.5px,-1px) skew(2deg)}to{transform:translate(0)}}.glitch[data-v-b1136828]:hover:before,.glitch[data-v-b1136828]:hover:after{content:attr(data-text);position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none}.glitch[data-v-b1136828]:hover:before{color:var(--cyan);transform:translate(-1.5px);clip-path:inset(0 0 55% 0)}.glitch[data-v-b1136828]:hover:after{color:var(--lime);transform:translate(1.5px);clip-path:inset(55% 0 0 0)}.v2.reduced .glitch[data-v-b1136828]:hover{animation:none}.btn[data-v-b1136828]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--fbody);font-weight:600;font-size:.92rem;border-radius:14px;padding:.65rem 1.2rem;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease-spring),box-shadow .25s,background .2s,border-color .2s}.btn-lg[data-v-b1136828]{padding:.9rem 1.6rem;font-size:1rem}.btn-block[data-v-b1136828]{width:100%}.btn-primary[data-v-b1136828]{background:linear-gradient(135deg,var(--em4),var(--em));color:var(--on-em);box-shadow:0 0 0 1px #fb923c40,0 10px 36px -8px #f9731680}.btn-primary[data-v-b1136828]:hover{box-shadow:0 0 0 1px #fb923c66,0 16px 48px -8px #f97316b3}.btn-ghost[data-v-b1136828]{color:var(--hi);border-color:var(--line);background:#ffffff05}.btn-ghost[data-v-b1136828]:hover{border-color:var(--em4);color:var(--em3)}.nav[data-v-b1136828]{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,5vw,3.5rem);transition:background .3s,border-color .3s,backdrop-filter .3s;border-bottom:1px solid transparent}.nav.scrolled[data-v-b1136828]{background:#0c0a09b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--line-soft)}.wordmark[data-v-b1136828]{font-family:var(--fdisp);font-weight:700;font-size:1.2rem;letter-spacing:-.02em;color:var(--hi);text-decoration:none}.wordmark .g[data-v-b1136828]{color:var(--em4)}.bracket[data-v-b1136828]{color:var(--em)}.bracket.blink[data-v-b1136828]{animation:blink-b1136828 1.1s steps(1) infinite}@keyframes blink-b1136828{50%{opacity:0}}.nav-mid[data-v-b1136828]{display:flex;gap:1.7rem}.nav-mid a[data-v-b1136828]{color:var(--muted);text-decoration:none;font-size:.9rem;position:relative}.nav-mid a[data-v-b1136828]:after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--em4);transition:width .2s var(--ease-out)}.nav-mid a[data-v-b1136828]:hover{color:var(--hi)}.nav-mid a[data-v-b1136828]:hover:after{width:100%}.nav-cta[data-v-b1136828]{display:flex;align-items:center;gap:.8rem}.lnk[data-v-b1136828]{color:var(--body);text-decoration:none;font-size:.9rem}.lnk[data-v-b1136828]:hover{color:var(--em3)}.hero[data-v-b1136828]{max-width:1240px;margin:0 auto;padding:clamp(2.5rem,7vw,5.5rem) clamp(1rem,5vw,3.5rem) 3rem;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}.hero-copy .eyebrow[data-v-b1136828]{margin-bottom:1.3rem}.hero h1[data-v-b1136828]{font-family:var(--fdisp);font-weight:600;font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:.98;letter-spacing:-.035em;color:var(--hi);margin:0 0 1.3rem}.lead[data-v-b1136828]{font-size:clamp(1rem,1.6vw,1.18rem);color:var(--body);max-width:30rem;margin:0 0 1.8rem}.hero-btns[data-v-b1136828]{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:1.4rem}.trust[data-v-b1136828]{font-family:var(--fmono);font-size:.8rem;color:var(--muted)}.grader[data-v-b1136828]{position:relative;border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,#140d08e6,#0c0906eb);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 0 1px #fb923c2e,0 40px 90px -30px #000c,0 0 60px -20px #f9731666;overflow:hidden}.g-bar[data-v-b1136828]{display:flex;align-items:center;gap:.45rem;padding:.7rem 1rem;border-bottom:1px solid var(--line-soft)}.g-bar .d[data-v-b1136828]{width:11px;height:11px;border-radius:50%;background:#3a322a}.d.r[data-v-b1136828]{background:#f4502aaa}.d.y[data-v-b1136828],.d.g[data-v-b1136828]{background:#fb923caa}.g-bar em[data-v-b1136828]{margin-left:.5rem;font-style:normal;font-family:var(--fmono);font-size:.76rem;color:var(--muted)}.g-bar .run[data-v-b1136828]{margin-left:auto;font-family:var(--fmono);font-size:.68rem;color:var(--em3);border:1px solid var(--line-em);padding:.15rem .5rem;border-radius:6px}.g-code[data-v-b1136828]{position:relative;margin:0;padding:1.1rem 1.2rem;font-family:var(--fmono);font-size:.82rem;line-height:2;color:#ece0d6;white-space:pre;overflow-x:auto}.g-code .ln[data-v-b1136828]{display:inline-block;width:1.4rem;color:#524a3f;-webkit-user-select:none;user-select:none}.g-code .kw[data-v-b1136828]{color:var(--em4)}.g-code .fn[data-v-b1136828]{color:var(--mint)}.g-code .nul[data-v-b1136828]{color:var(--lime)}.badge[data-v-b1136828]{font-family:var(--fbody);font-size:.68rem;padding:.12rem .5rem;border-radius:6px;margin-left:.6rem;opacity:0;animation:badgeIn-b1136828 .4s var(--ease-out) forwards}.badge.pass[data-v-b1136828]{color:var(--em3);background:#fb923c1f;border:1px solid rgba(251,146,60,.3);animation-delay:2.4s}.badge.fail[data-v-b1136828]{color:#fb8154;background:#f4502a24;border:1px solid rgba(244,80,42,.32);animation-delay:2.9s}@keyframes badgeIn-b1136828{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.caret[data-v-b1136828]{color:var(--em4);animation:blink-b1136828 1.1s steps(1) infinite}.scanline[data-v-b1136828]{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--em4),transparent);box-shadow:0 0 14px var(--em4);animation:scan-b1136828 9s var(--ease-out) infinite;opacity:0}@keyframes scan-b1136828{0%{top:0;opacity:0}6%{opacity:1}22%{top:100%;opacity:1}26%{opacity:0}to{opacity:0}}.verdict[data-v-b1136828]{border-top:1px solid var(--line-soft);padding:.9rem 1.2rem;background:#f973160d;opacity:0;animation:vIn-b1136828 .5s var(--ease-out) 3.2s forwards}@keyframes vIn-b1136828{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.v-head[data-v-b1136828]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.v-ai[data-v-b1136828]{font-family:var(--fmono);font-size:.78rem;color:var(--em3)}.v-grade[data-v-b1136828]{font-size:.8rem;color:var(--muted)}.v-grade b[data-v-b1136828]{color:var(--hi);font-size:1rem}.verdict p[data-v-b1136828]{font-size:.82rem;color:var(--body);margin:0}.verdict code[data-v-b1136828]{font-family:var(--fmono);color:var(--em3)}.v2.reduced .scanline[data-v-b1136828]{display:none}.v2.reduced .badge[data-v-b1136828],.v2.reduced .verdict[data-v-b1136828]{opacity:1;animation:none}.proof[data-v-b1136828]{max-width:1100px;margin:1rem auto 0;padding:0 1.5rem;text-align:center}.proof-eyebrow[data-v-b1136828]{font-family:var(--fbody);font-size:12px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.stat-grid[data-v-b1136828]{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:16px;background:#14100c73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow:hidden}.stat[data-v-b1136828]{padding:1.4rem 1rem;border-right:1px solid var(--line-soft)}.stat[data-v-b1136828]:last-child{border-right:0}.stat b[data-v-b1136828]{display:block;font-family:var(--fdisp);font-size:1.9rem;font-weight:700;color:var(--mint);text-shadow:0 0 22px rgba(249,115,22,.35);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat b i[data-v-b1136828]{font-style:normal}.stat span[data-v-b1136828]{font-size:.72rem;color:var(--muted);letter-spacing:.04em}@media(max-width:680px){.stat-grid[data-v-b1136828]{grid-template-columns:repeat(2,1fr)}.stat[data-v-b1136828]:nth-child(2){border-right:0}.stat[data-v-b1136828]:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}}.soon-grid[data-v-b1136828]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:820px){.soon-grid[data-v-b1136828]{grid-template-columns:1fr}}.soon[data-v-b1136828]{border:1px solid var(--line);border-radius:16px;background:var(--s1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.3rem;display:flex;flex-direction:column;gap:.6rem}.soon-head[data-v-b1136828]{display:flex;align-items:center;justify-content:space-between}.soon-id[data-v-b1136828]{font-family:var(--fmono);color:var(--em3);font-size:.92rem}.soon-tag[data-v-b1136828]{font-family:var(--fmono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}.soon-line[data-v-b1136828]{color:var(--muted);font-size:.85rem;font-style:italic;margin:0}.soon .shimmer[data-v-b1136828]{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--teal-deep),var(--cyan),var(--teal-deep));background-size:200% 100%;animation:shimmer-b1136828 2.4s linear infinite}@keyframes shimmer-b1136828{to{background-position:-200% 0}}.v2.reduced .soon .shimmer[data-v-b1136828]{animation:none;background:var(--teal-deep)}.marquee[data-v-b1136828]{margin-top:1.2rem;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.mq-track[data-v-b1136828]{display:inline-flex;gap:3rem;white-space:nowrap;animation:mq-b1136828 38s linear infinite}.mq-track span[data-v-b1136828]{font-family:var(--fmono);font-size:1rem;color:#7a6e60}@keyframes mq-b1136828{to{transform:translate(-50%)}}.v2.reduced .mq-track[data-v-b1136828]{animation:none}.section[data-v-b1136828]{max-width:1200px;margin:0 auto;padding:clamp(4rem,9vw,8rem) clamp(1rem,5vw,3.5rem) 0}.sec-head[data-v-b1136828]{text-align:center;max-width:640px;margin:0 auto 3rem}.sec-head .eyebrow[data-v-b1136828]{margin-bottom:1rem}.sec-head h2[data-v-b1136828]{font-family:var(--fdisp);font-weight:600;font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-.02em;color:var(--hi);margin:0 0 .8rem;line-height:1.05}.sec-head .lead[data-v-b1136828]{margin:0 auto}.bento[data-v-b1136828]{position:relative;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:168px;gap:16px}.bento[data-v-b1136828]:before{content:"";position:absolute;inset:0;border-radius:24px;background:radial-gradient(220px circle at var(--mx,-200px) var(--my,-200px),rgba(251,146,60,.12),transparent 65%);opacity:1;pointer-events:none;z-index:3;transition:opacity .3s}.tile[data-v-b1136828]{position:relative;border:1px solid var(--line);border-radius:24px;background:var(--s1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.3rem;overflow:hidden;transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s;display:flex;flex-direction:column}.tile[data-v-b1136828]:hover{transform:translateY(-4px);border-color:var(--line-em);box-shadow:0 0 0 1px #fb923c40,0 24px 60px -24px #000c}.tile h3[data-v-b1136828]{font-family:var(--fdisp);font-weight:600;font-size:1.05rem;color:var(--hi);margin:auto 0 .35rem}.tile p[data-v-b1136828]{font-size:.85rem;color:var(--muted);margin:0}.tile.a[data-v-b1136828]{grid-column:span 2;grid-row:span 2}.tile.b[data-v-b1136828],.tile.e[data-v-b1136828]{grid-column:span 2}.tile-live[data-v-b1136828]{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--em3);font-family:var(--fmono)}.tile-live .pulse[data-v-b1136828]{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);animation:pulse-b1136828 1.8s infinite}.mini-grader[data-v-b1136828]{margin:1rem 0;border:1px solid var(--line-soft);border-radius:12px;background:#06040399;padding:.8rem;font-family:var(--fmono);font-size:.8rem;position:relative;overflow:hidden}.mini-grader code[data-v-b1136828]{color:#ece0d6}.mini-grader .mini-badge[data-v-b1136828]{margin-top:.5rem;font-family:var(--fbody);font-size:.72rem;color:var(--em3)}.mini-scan[data-v-b1136828]{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--em4),transparent);animation:scan-b1136828 6s var(--ease-out) infinite}.v2.reduced .mini-scan[data-v-b1136828]{display:none}.split[data-v-b1136828]{display:flex;gap:0;height:100%}.split .half[data-v-b1136828]{flex:1;display:flex;flex-direction:column;gap:.15rem;padding:.4rem;transition:transform .25s var(--ease-out)}.tile.b:hover .web[data-v-b1136828]{transform:translate(-4px)}.tile.b:hover .cyber[data-v-b1136828]{transform:translate(4px)}.split .ic[data-v-b1136828]{font-family:var(--fmono);font-size:1.4rem;color:var(--em4);margin-bottom:.3rem}.split .cyber .ic[data-v-b1136828]{color:var(--teal)}.split strong[data-v-b1136828]{font-family:var(--fdisp);color:var(--hi);font-size:1.02rem}.split .meta[data-v-b1136828]{color:var(--em3);font-size:.76rem}.split .sub[data-v-b1136828]{color:var(--muted);font-size:.74rem}.split .web[data-v-b1136828]{border-right:1px solid var(--line-soft);padding-right:1rem}.split .cyber[data-v-b1136828]{padding-left:1rem}.ic-box[data-v-b1136828]{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f973161f;color:var(--em4);font-size:1.1rem}.hint-tile .quiz-q[data-v-b1136828]{font-size:.82rem;color:var(--body)}.hint-tile .quiz-q code[data-v-b1136828],.hint-tile .hint code[data-v-b1136828]{font-family:var(--fmono);color:var(--em3)}.hint-tile .hint[data-v-b1136828]{font-size:.78rem;color:var(--warn, #fb923c);margin-top:.5rem;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}.hint-tile:hover .hint[data-v-b1136828]{opacity:1;transform:none}.proj-rows[data-v-b1136828]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.3rem}.proj[data-v-b1136828]{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--body)}.proj b[data-v-b1136828]{margin-left:auto;color:var(--em3);font-family:var(--fmono)}.proj .ring[data-v-b1136828]{width:16px;height:16px;border-radius:50%;border:2px solid var(--em);border-right-color:transparent}.how .steps[data-v-b1136828]{position:relative;max-width:720px;margin:0 auto;padding-left:2.5rem}.rail[data-v-b1136828]{position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--line);border-radius:2px}.rail-fill[data-v-b1136828]{display:block;width:100%;height:0;background:linear-gradient(var(--em4),var(--teal));box-shadow:0 0 12px var(--em4);border-radius:2px;transition:height .2s linear}.step[data-v-b1136828]{display:flex;gap:1.2rem;padding:1.4rem 0;align-items:baseline}.step-n[data-v-b1136828]{font-family:var(--fmono);font-size:1.1rem;color:var(--em4);min-width:2rem}.step h4[data-v-b1136828]{font-family:var(--fdisp);font-weight:600;font-size:1.25rem;color:var(--hi);margin:0 0 .3rem}.step p[data-v-b1136828]{color:var(--muted);margin:0;font-size:.95rem}.projects-grid[data-v-b1136828]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-bottom:3rem}.project-card[data-v-b1136828]{border:1px solid var(--line);border-radius:20px;background:var(--s1);overflow:hidden;transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s;transition-delay:var(--delay, 0ms)}.project-card[data-v-b1136828]:hover{transform:translateY(-4px);border-color:var(--line-em);box-shadow:0 0 0 1px #fb923c33,0 20px 50px -20px #000000b3}.pc-img-wrap[data-v-b1136828]{position:relative;height:160px;overflow:hidden;background:var(--s2)}.pc-img[data-v-b1136828]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.project-card:hover .pc-img[data-v-b1136828]{transform:scale(1.04)}.pc-img-placeholder[data-v-b1136828]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted)}.pc-img-placeholder svg[data-v-b1136828]{width:36px;height:36px}.pc-img-shimmer[data-v-b1136828]{background:linear-gradient(90deg,var(--s2) 25%,var(--s3,#1a1a2e) 50%,var(--s2) 75%);background-size:200% 100%;animation:shimmer-b1136828 1.6s linear infinite}.pc-badge[data-v-b1136828]{position:absolute;top:10px;left:10px;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:99px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pc-badge--beginner[data-v-b1136828]{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.pc-badge--intermediate[data-v-b1136828]{background:#fbbf2426;color:#fbbf24;border:1px solid rgba(251,191,36,.3)}.pc-badge--advanced[data-v-b1136828]{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.pc-body[data-v-b1136828]{padding:1.1rem 1.2rem 1.3rem}.pc-title[data-v-b1136828]{font-family:var(--fdisp);font-weight:600;font-size:1rem;color:var(--hi);margin:0 0 .4rem}.pc-desc[data-v-b1136828]{font-size:.82rem;color:var(--muted);margin:0 0 .75rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pc-meta[data-v-b1136828]{display:flex;align-items:center;gap:.75rem;font-size:.78rem;color:var(--muted)}.pc-hours[data-v-b1136828]{display:flex;align-items:center;gap:.3rem}.pc-shimmer-line[data-v-b1136828]{height:10px;border-radius:5px;background:linear-gradient(90deg,var(--s2) 25%,var(--s3,#1a1a2e) 50%,var(--s2) 75%);background-size:200% 100%;animation:shimmer-b1136828 1.6s linear infinite;margin-bottom:.5rem}.pc-shimmer-line--sm[data-v-b1136828]{width:40%}.project-card--skeleton[data-v-b1136828]{pointer-events:none}.projects-cta[data-v-b1136828]{text-align:center;padding-top:1rem}.projects-cta-text[data-v-b1136828]{color:var(--muted);margin-bottom:1.25rem;font-size:.95rem}@media(max-width:600px){.projects-grid[data-v-b1136828]{grid-template-columns:1fr 1fr}.pc-img-wrap[data-v-b1136828]{height:130px}}@media(max-width:400px){.projects-grid[data-v-b1136828]{grid-template-columns:1fr}}.cert-sec[data-v-b1136828]{perspective:1400px}.cert-stage[data-v-b1136828]{display:flex;justify-content:center;padding:1rem 0 2rem}.cert3d[data-v-b1136828]{position:relative;width:min(560px,92vw);border-radius:18px;padding:1.8rem;transform:rotateX(8deg) rotateY(-14deg);transform-style:preserve-3d;transition:transform .3s var(--ease-out);background:linear-gradient(150deg,#1c1410,#14100a);border:1px solid var(--line-em);box-shadow:0 60px 120px -40px #000000e6,0 0 80px -20px #f9731666;animation:certFloat-b1136828 7s ease-in-out infinite alternate}@keyframes certFloat-b1136828{0%{transform:rotateX(8deg) rotateY(-14deg) translateY(-4px)}to{transform:rotateX(10deg) rotateY(-10deg) translateY(6px)}}.v2.reduced .cert3d[data-v-b1136828]{animation:none}.cert-sheen[data-v-b1136828]{position:absolute;inset:0;border-radius:18px;background:linear-gradient(115deg,transparent 30%,rgba(254,215,170,.14) 48%,transparent 62%);background-size:250% 100%;animation:sheen-b1136828 5s linear infinite;pointer-events:none}@keyframes sheen-b1136828{to{background-position:-250% 0}}.v2.reduced .cert-sheen[data-v-b1136828]{display:none}.cert-top[data-v-b1136828]{display:flex;align-items:center;justify-content:space-between}.cert-brand[data-v-b1136828]{font-family:var(--fdisp);font-weight:700;color:var(--hi)}.cert-brand .g[data-v-b1136828]{color:var(--em4)}.cert-kicker[data-v-b1136828]{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}.cert-title[data-v-b1136828]{font-family:var(--fdisp);font-size:1.7rem;color:var(--hi);margin:1.4rem 0 .2rem}.cert-to[data-v-b1136828]{font-size:.76rem;color:var(--muted)}.cert-name[data-v-b1136828]{font-family:var(--fdisp);font-size:1.5rem;color:var(--em3);margin:.1rem 0 1.4rem}.cert-foot[data-v-b1136828]{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-soft);padding-top:1rem}.cert-foot span[data-v-b1136828]{display:block;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.cert-foot b[data-v-b1136828]{font-family:var(--fmono);font-size:.8rem;color:var(--body)}.cert-foot .r[data-v-b1136828]{text-align:right}.cert-seal[data-v-b1136828]{width:46px;height:46px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--lime),var(--em));color:var(--on-em);display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 0 24px #f9731699}.prices[data-v-b1136828]{display:grid;grid-template-columns:repeat(2,minmax(0,380px));gap:1.2rem;justify-content:center;align-items:stretch}.plan[data-v-b1136828]{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:24px;background:var(--s1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem}.plan.featured[data-v-b1136828]{border-color:var(--line-em);background:linear-gradient(180deg,rgba(249,115,22,.07),var(--s1));box-shadow:0 0 0 1px #fb923c40,0 30px 80px -30px #f9731680}.ribbon[data-v-b1136828]{position:absolute;top:-.8rem;left:2rem;background:linear-gradient(135deg,var(--em4),var(--em));color:var(--on-em);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .7rem;border-radius:999px}.p-eyebrow[data-v-b1136828]{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}.p-amt[data-v-b1136828]{font-family:var(--fdisp);font-size:3rem;font-weight:600;color:var(--hi);letter-spacing:-.02em;margin:.3rem 0}.p-amt span[data-v-b1136828]{font-size:1rem;color:var(--muted);font-weight:400;font-family:var(--fbody)}.p-for[data-v-b1136828]{color:var(--muted);font-size:.9rem;margin:0 0 1.3rem}.plan ul[data-v-b1136828]{list-style:none;padding:0;margin:0 0 1.6rem;display:flex;flex-direction:column;gap:.65rem;flex:1}.plan li[data-v-b1136828]{position:relative;padding-left:1.6rem;font-size:.9rem;color:var(--body)}.plan li b[data-v-b1136828]{color:var(--hi)}.plan li[data-v-b1136828]:before{content:"✓";position:absolute;left:0;color:var(--em4);font-weight:700}.fine[data-v-b1136828]{text-align:center;color:var(--muted);font-size:.82rem;margin-top:1.5rem}.stories[data-v-b1136828]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:820px){.stories[data-v-b1136828]{grid-template-columns:1fr}}.story[data-v-b1136828]{margin:0;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.story blockquote[data-v-b1136828]{margin:0;color:var(--hi);font-size:1rem;line-height:1.5;font-weight:500}.story figcaption[data-v-b1136828]{display:flex;flex-direction:column;gap:.15rem;border-top:1px solid var(--line);padding-top:.9rem}.story figcaption strong[data-v-b1136828]{color:var(--mint);font-size:.9rem}.story figcaption span[data-v-b1136828]{color:var(--muted);font-size:.8rem}.final[data-v-b1136828]{position:relative;max-width:1000px;margin:clamp(4rem,10vw,8rem) auto 0;padding:clamp(3rem,7vw,5rem) 1.5rem;text-align:center;border:1px solid var(--line-em);border-radius:32px;overflow:hidden;background:var(--raised)}.final-aurora[data-v-b1136828]{position:absolute;inset:0;z-index:0;opacity:.5;background:radial-gradient(50% 80% at 30% 0%,var(--em) 0%,transparent 60%),radial-gradient(50% 80% at 80% 20%,var(--teal) 0%,transparent 60%);filter:blur(50px)}.final[data-v-b1136828]>*{position:relative;z-index:1}.final .eyebrow[data-v-b1136828]{margin-bottom:1rem}.final h2[data-v-b1136828]{font-family:var(--fdisp);font-weight:600;font-size:clamp(2rem,5vw,3.4rem);color:var(--hi);letter-spacing:-.02em;line-height:1.05;margin:0 0 .8rem}.final p[data-v-b1136828]{color:var(--body);max-width:30rem;margin:0 auto 1.8rem}.foot[data-v-b1136828]{position:relative;z-index:1;background:var(--sunken);border-top:1px solid var(--line-soft);margin-top:5rem;padding:3.5rem clamp(1rem,5vw,3.5rem) 2rem}.f-grid[data-v-b1136828]{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}.f-brand .wordmark[data-v-b1136828]{font-family:var(--fdisp);font-weight:700;font-size:1.15rem;color:var(--hi)}.f-brand .g[data-v-b1136828]{color:var(--em4)}.f-brand p[data-v-b1136828]{color:var(--muted);font-size:.85rem;margin:.7rem 0 0;max-width:22rem}.foot h5[data-v-b1136828]{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .9rem}.foot a[data-v-b1136828]{display:block;color:var(--body);text-decoration:none;font-size:.88rem;margin-bottom:.5rem}.foot a[data-v-b1136828]:hover{color:var(--em3)}.f-bottom[data-v-b1136828]{max-width:1100px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.8rem}@media(max-width:900px){.nav-mid[data-v-b1136828]{display:none}.hero[data-v-b1136828]{grid-template-columns:1fr}.bento[data-v-b1136828]{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.tile.a[data-v-b1136828]{grid-column:span 2;grid-row:span 2}.tile.b[data-v-b1136828],.tile.e[data-v-b1136828]{grid-column:span 2}.prices[data-v-b1136828]{grid-template-columns:1fr}.f-grid[data-v-b1136828]{grid-template-columns:1fr 1fr}}@media(max-width:560px){.bento[data-v-b1136828]{grid-template-columns:1fr}.tile.a[data-v-b1136828],.tile.b[data-v-b1136828],.tile.e[data-v-b1136828]{grid-column:span 1}.tile.a[data-v-b1136828]{grid-row:span 2}.f-grid[data-v-b1136828]{grid-template-columns:1fr}}@media(max-width:1024px){.nav.scrolled[data-v-b1136828],.grader[data-v-b1136828],.tile[data-v-b1136828],.plan[data-v-b1136828],.stat-grid[data-v-b1136828],.soon[data-v-b1136828],.mini-grader[data-v-b1136828]{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.nav.scrolled[data-v-b1136828]{background:#0c0a09f0}.grader[data-v-b1136828]{background:#120c08}.tile[data-v-b1136828],.soon[data-v-b1136828],.plan[data-v-b1136828]{background:#161109}.stat-grid[data-v-b1136828]{background:#140f0a}.plan.featured[data-v-b1136828]{background:linear-gradient(180deg,#f973161a,#161109)}.grad[data-v-b1136828]{animation:none}.scanline[data-v-b1136828],.mini-scan[data-v-b1136828]{display:none}.cert-sheen[data-v-b1136828],.soon .shimmer[data-v-b1136828]{animation:none}.soon .shimmer[data-v-b1136828]{background:var(--teal-deep)}.aurora[data-v-b1136828]{filter:blur(48px) saturate(125%);opacity:.8;animation-duration:22s}}@media(max-width:1024px)and (prefers-reduced-motion:no-preference){.aurora[data-v-b1136828]{will-change:transform}}.theme-toggle[data-v-b1136828]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;transition:color .2s var(--ease-out),border-color .2s var(--ease-out),background .2s var(--ease-out)}.theme-toggle[data-v-b1136828]:hover{color:var(--em3);border-color:var(--em4);background:#fb923c0f}.theme-toggle svg[data-v-b1136828]{width:16px;height:16px}html:not(.dark) .v2[data-v-b1136828]{--bg: #faf7f3;--raised: #f1ebe4;--sunken: #ece5dc;--s1: rgba(255,255,255,.78);--s2: rgba(255,255,255,.9);--line: rgba(27,19,13,.1);--line-soft: rgba(27,19,13,.06);--line-em: rgba(249,115,22,.3);--hi: #1b130d;--body: #2a201a;--muted: #786b60}html:not(.dark) .v2 .nav.scrolled[data-v-b1136828]{background:#ffffffd9;border-bottom-color:var(--line-soft)}html:not(.dark) .v2 .nav-mid a[data-v-b1136828]:after{background:var(--em)}html:not(.dark) .v2 .aurora[data-v-b1136828]{filter:blur(72px) saturate(115%);opacity:.55}html:not(.dark) .v2 .grid-overlay[data-v-b1136828]{background-image:linear-gradient(to right,rgba(27,19,13,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(27,19,13,.06) 1px,transparent 1px)}html:not(.dark) .v2 .noise[data-v-b1136828]{opacity:0}html:not(.dark) .v2 .stat-grid[data-v-b1136828]{background:#ffffffd9}html:not(.dark) .v2 .soon[data-v-b1136828],html:not(.dark) .v2 .tile[data-v-b1136828],html:not(.dark) .v2 .plan[data-v-b1136828]{background:#fff}html:not(.dark) .v2 .plan.featured[data-v-b1136828]{background:linear-gradient(180deg,#f9731612,#fff)}html:not(.dark) .v2 .tile[data-v-b1136828]:hover{box-shadow:0 0 0 1px #f9731640,0 24px 60px -24px #1b130d2e}html:not(.dark) .v2 .stat b[data-v-b1136828]{color:var(--em);text-shadow:0 0 24px rgba(249,115,22,.18)}html:not(.dark) .v2 .grader[data-v-b1136828],html:not(.dark) .v2 .cert3d[data-v-b1136828]{color:#d6ccc4}html:not(.dark) .v2 .final[data-v-b1136828]{background:#fff}html:not(.dark) .v2 .final-aurora[data-v-b1136828]{opacity:.35}html:not(.dark) .v2 .foot[data-v-b1136828]{background:var(--raised)}html:not(.dark) .v2 .theme-toggle[data-v-b1136828]{border-color:var(--line);color:var(--muted)}html:not(.dark) .v2 .theme-toggle[data-v-b1136828]:hover{color:var(--em);border-color:var(--em);background:#f973160f}html:not(.dark) .v2 .trust[data-v-b1136828],html:not(.dark) .v2 .fine[data-v-b1136828]{color:var(--muted)}html:not(.dark) .v2 .story[data-v-b1136828]{background:#fff}html:not(.dark) .v2 .soon .shimmer[data-v-b1136828]{background:linear-gradient(90deg,var(--em3),var(--em),var(--em3));background-size:200% 100%}html:not(.dark) .v2 .glitch[data-v-b1136828]:hover:before{color:var(--em)}html:not(.dark) .v2 .glitch[data-v-b1136828]:hover:after{color:var(--em-dark, var(--teal-deep))}.bootcamps-page[data-v-dbe70d8a]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);flex:1;padding:1.25rem 1.5rem;max-width:100%}.container[data-v-dbe70d8a]{max-width:1100px;margin:0 auto}.hero-header[data-v-dbe70d8a]{position:relative;padding:1.25rem 0 2rem;text-align:center}.hero-badge[data-v-dbe70d8a]{display:inline-flex;align-items:center;gap:.375rem;background:rgba(var(--primary-rgb),.1);border:1px solid var(--border-subtle);padding:.375rem .75rem;border-radius:var(--radius-lg);font-size:.7rem;font-weight:600;color:var(--primary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.03em}.hero-badge svg[data-v-dbe70d8a]{width:.875rem;height:.875rem}.hero-header h1[data-v-dbe70d8a]{font-family:var(--display-font);font-size:2rem;font-weight:700;line-height:1.15;margin-bottom:.75rem;letter-spacing:-.02em;color:var(--text-white)}.highlight[data-v-dbe70d8a]{color:var(--primary)}.hero-header p[data-v-dbe70d8a]{font-size:.9rem;color:var(--text-muted);max-width:500px;margin:0 auto 1rem;line-height:1.5}.price-tag[data-v-dbe70d8a]{display:inline-block;background:rgba(var(--primary-rgb),.1);border:1px solid var(--border-subtle);padding:.5rem 1rem;border-radius:var(--radius-lg);color:var(--text-muted);font-size:.8rem}.price-tag strong[data-v-dbe70d8a]{color:var(--primary);font-size:1rem;font-weight:700}@media(max-width:640px){.hero-header h1[data-v-dbe70d8a]{font-size:1.5rem}}.modal-overlay[data-v-dbe70d8a]{position:fixed;inset:0;background:#000000c7;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-content[data-v-dbe70d8a]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.5rem;max-width:380px;text-align:center}.modal-content[data-v-dbe70d8a]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary))}.modal-icon[data-v-dbe70d8a]{width:3rem;height:3rem;background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.modal-icon svg[data-v-dbe70d8a]{width:1.5rem;height:1.5rem;color:var(--primary)}.modal-content h3[data-v-dbe70d8a]{font-family:var(--display-font);font-size:1.1rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.01em;color:var(--text-white)}.modal-content>p[data-v-dbe70d8a]{color:var(--text-muted);font-size:.85rem;margin-bottom:1rem;line-height:1.5}.modal-tip[data-v-dbe70d8a]{display:flex;align-items:flex-start;gap:.5rem;background:rgba(var(--primary-rgb),.08);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem;text-align:left;margin-bottom:1rem}.modal-tip svg[data-v-dbe70d8a]{width:1rem;height:1rem;color:var(--primary);flex-shrink:0;margin-top:.125rem}.modal-tip span[data-v-dbe70d8a]{font-size:.75rem;color:var(--text-muted);line-height:1.4}.modal-btn[data-v-dbe70d8a]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;padding:.55rem 1.5rem;border-radius:var(--radius);font-family:var(--body-font);font-weight:600;font-size:.8rem;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease)}.modal-btn[data-v-dbe70d8a]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.modal-btn[data-v-dbe70d8a]:focus-visible{outline:none;box-shadow:var(--ring)}.modal-btn[data-v-dbe70d8a]:active{transform:translateY(0)}.bootcamps-section[data-v-dbe70d8a]{padding:0}.loading-state[data-v-dbe70d8a]{text-align:center;padding:3rem 0}.spinner[data-v-dbe70d8a]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin-dbe70d8a 1s linear infinite;margin:0 auto .75rem}@keyframes spin-dbe70d8a{to{transform:rotate(360deg)}}.loading-state p[data-v-dbe70d8a]{color:var(--text-muted);font-size:.8rem}.empty-state[data-v-dbe70d8a]{text-align:center;padding:3rem 0;color:var(--text-muted);font-size:.85rem}.bootcamps-grid[data-v-dbe70d8a]{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(max-width:768px){.bootcamps-grid[data-v-dbe70d8a]{grid-template-columns:1fr}}.bootcamp-card[data-v-dbe70d8a]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.125rem 1.25rem;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .2s var(--ease)}.bootcamp-card[data-v-dbe70d8a]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary));opacity:.55;transition:opacity .2s var(--ease)}.bootcamp-card[data-v-dbe70d8a]:hover:before{opacity:1}.bootcamp-card[data-v-dbe70d8a]:hover{transform:translateY(-3px);border-color:rgba(var(--primary-rgb),.35);box-shadow:var(--accent-glow-strong)}.card-header[data-v-dbe70d8a]{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.625rem}.card-header h3[data-v-dbe70d8a]{font-family:var(--display-font);font-size:.95rem;font-weight:600;margin:0;letter-spacing:-.01em;color:var(--text-white)}.subject-count[data-v-dbe70d8a]{display:inline-flex;align-items:center;gap:.25rem;background:rgba(var(--primary-rgb),.12);color:var(--primary);padding:.25rem .5rem;border-radius:var(--radius-lg);font-size:.65rem;font-weight:600;white-space:nowrap}.subject-count svg[data-v-dbe70d8a]{width:.7rem;height:.7rem}.card-description[data-v-dbe70d8a]{color:var(--text-muted);margin-bottom:1rem;line-height:1.5;font-size:.8rem}.card-footer[data-v-dbe70d8a]{display:flex;justify-content:space-between;align-items:center}.price-info[data-v-dbe70d8a]{display:flex;align-items:baseline;gap:.125rem}.price-info .label[data-v-dbe70d8a]{font-size:.7rem;color:var(--text-muted)}.price-info .price[data-v-dbe70d8a]{font-family:var(--display-font);font-size:1.125rem;font-weight:700;color:var(--primary)}.view-btn[data-v-dbe70d8a]{display:inline-flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;padding:.45rem .9rem;border-radius:var(--radius);text-decoration:none;font-weight:600;font-size:.75rem;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease)}.view-btn[data-v-dbe70d8a]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong);color:#2a1206}.view-btn[data-v-dbe70d8a]:focus-visible{outline:none;box-shadow:var(--ring)}.view-btn[data-v-dbe70d8a]:active{transform:translateY(0)}.view-btn:hover svg[data-v-dbe70d8a]{transform:translate(2px)}.view-btn svg[data-v-dbe70d8a]{width:.875rem;height:.875rem;transition:transform .2s var(--ease)}.bootcamp-card.enrolled[data-v-dbe70d8a]:before{background:var(--success);opacity:.7}.bootcamp-card.enrolled[data-v-dbe70d8a]:hover:before{opacity:1}.bootcamp-card.enrolled[data-v-dbe70d8a]:hover{border-color:rgba(var(--primary-rgb),0)}.enrolled-badge[data-v-dbe70d8a]{display:inline-flex;align-items:center;gap:.25rem;background:#16a34a24;color:var(--success);padding:.25rem .5rem;border-radius:var(--radius-lg);font-size:.65rem;font-weight:600;white-space:nowrap}.enrolled-badge svg[data-v-dbe70d8a]{width:.7rem;height:.7rem}.access-info[data-v-dbe70d8a]{display:flex;align-items:center;gap:.375rem;color:var(--success);font-weight:600;font-size:.75rem}.access-info svg[data-v-dbe70d8a]{width:1rem;height:1rem}.view-btn.enrolled-btn[data-v-dbe70d8a]{background:var(--success);color:var(--text-white)}.view-btn.enrolled-btn[data-v-dbe70d8a]:hover{color:var(--text-white)}@media(max-width:480px){.bootcamp-card[data-v-dbe70d8a]{padding:.9rem 1rem}.view-btn[data-v-dbe70d8a]{width:100%;justify-content:center;text-align:center;display:flex}}.bootcamp-detail-page[data-v-250c39bd]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);flex:1;padding:1.25rem 1.5rem;max-width:100%}.container[data-v-250c39bd]{max-width:1100px;margin:0 auto}.loading-container[data-v-250c39bd]{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.spinner[data-v-250c39bd]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin-250c39bd 1s linear infinite;margin-bottom:.75rem}.loading-container p[data-v-250c39bd]{color:var(--text-muted);font-size:.8rem}.hero-section[data-v-250c39bd]{position:relative;padding:1.75rem 0 2.25rem;text-align:center;overflow:hidden}.hero-section[data-v-250c39bd]:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(46% 60% at 50% -10%,rgba(var(--primary-rgb),.22),transparent 62%),radial-gradient(40% 50% at 14% 8%,rgba(var(--primary-rgb),.1),transparent 64%)}.hero-section[data-v-250c39bd]>*{position:relative;z-index:1}.hero-badge[data-v-250c39bd]{display:inline-flex;align-items:center;gap:.375rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.22);padding:.375rem .75rem;border-radius:2rem;font-size:.7rem;font-weight:600;color:var(--primary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}.hero-badge svg[data-v-250c39bd]{width:.875rem;height:.875rem}.hero-section h1[data-v-250c39bd]{font-family:var(--display-font);font-size:2rem;font-weight:700;margin-bottom:.75rem;letter-spacing:-.02em;color:var(--text-white)}.hero-description[data-v-250c39bd]{font-size:.9rem;color:var(--text-muted);max-width:600px;margin:0 auto 1.5rem;line-height:1.5}.hero-stats[data-v-250c39bd]{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap}.stat-item[data-v-250c39bd]{display:flex;align-items:center;gap:.375rem;background:var(--bg-card);border:1px solid var(--border-subtle);padding:.5rem .85rem;border-radius:var(--radius-sm);font-size:.75rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.stat-item[data-v-250c39bd]:hover{border-color:rgba(var(--primary-rgb),.4);transform:translateY(-1px);box-shadow:var(--accent-glow)}.stat-item svg[data-v-250c39bd]{width:1rem;height:1rem;color:var(--primary)}.stat-item strong[data-v-250c39bd]{color:var(--primary);font-weight:700}.stat-item span[data-v-250c39bd]{color:var(--text-muted)}@media(max-width:640px){.hero-section h1[data-v-250c39bd]{font-size:1.5rem}.hero-stats[data-v-250c39bd]{flex-direction:column;align-items:center}}.main-content[data-v-250c39bd]{padding:1rem 0 0}.content-grid[data-v-250c39bd]{display:grid;grid-template-columns:1fr 340px;gap:1.5rem;align-items:start}@media(max-width:968px){.content-grid[data-v-250c39bd]{grid-template-columns:1fr}}.section-card[data-v-250c39bd]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-card)}.section-card[data-v-250c39bd]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary))}.section-card h2[data-v-250c39bd]{font-family:var(--display-font);font-size:1.1rem;font-weight:600;margin-bottom:.375rem;letter-spacing:-.01em;color:var(--text-white)}.section-intro[data-v-250c39bd]{color:var(--text-muted);font-size:.8rem;margin-bottom:1.25rem}.subject-block[data-v-250c39bd]{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-subtle)}.subject-block[data-v-250c39bd]:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.subject-header[data-v-250c39bd]{display:flex;gap:.75rem;margin-bottom:.75rem}.subject-number[data-v-250c39bd]{width:1.75rem;height:1.75rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0;box-shadow:var(--accent-glow)}.subject-info h3[data-v-250c39bd]{font-family:var(--display-font);font-size:.9rem;font-weight:600;margin-bottom:.125rem;color:var(--text-white)}.subject-info p[data-v-250c39bd]{font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.4}.module-list[data-v-250c39bd]{list-style:none;padding:0;margin:0 0 0 2.5rem}.module-list li[data-v-250c39bd]{display:flex;gap:.5rem;margin-bottom:.5rem;padding:.5rem .625rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color .2s var(--ease),background-color .2s var(--ease)}.module-list li[data-v-250c39bd]:last-child{margin-bottom:0}.module-list li[data-v-250c39bd]:hover{border-color:rgba(var(--primary-rgb),.35);background:rgba(var(--primary-rgb),.04)}.module-list li svg[data-v-250c39bd]{width:1rem;height:1rem;color:var(--primary);flex-shrink:0;margin-top:.125rem}.module-list li strong[data-v-250c39bd]{display:block;font-size:.8rem;font-weight:600;margin-bottom:.125rem;color:var(--text-white)}.lesson-count[data-v-250c39bd]{font-size:.7rem;color:var(--text-muted);margin-left:.375rem}.module-list li p[data-v-250c39bd]{font-size:.75rem;color:var(--text-muted);margin:.125rem 0 0}.project-item[data-v-250c39bd]{padding:.875rem;margin-bottom:.625rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease)}.project-item[data-v-250c39bd]:last-child{margin-bottom:0}.project-item[data-v-250c39bd]:hover{border-color:rgba(var(--primary-rgb),.35);background:rgba(var(--primary-rgb),.04);transform:translateY(-1px)}.instructor-card[data-v-250c39bd]{margin-top:1.5rem}.instructor-bio-wrap[data-v-250c39bd]{display:flex;gap:1.25rem;align-items:flex-start}.instructor-avatar[data-v-250c39bd]{flex-shrink:0}.avatar-img[data-v-250c39bd]{width:5rem;height:5rem;border-radius:50%;object-fit:cover;border:2px solid rgba(var(--primary-rgb),.3)}.avatar-placeholder[data-v-250c39bd]{width:5rem;height:5rem;border-radius:50%;background:rgba(var(--primary-rgb),.1);border:2px solid rgba(var(--primary-rgb),.2);display:flex;align-items:center;justify-content:center}.avatar-placeholder svg[data-v-250c39bd]{width:2.5rem;height:2.5rem;color:var(--primary)}.instructor-details[data-v-250c39bd]{flex:1}.instructor-name[data-v-250c39bd]{font-family:var(--display-font);font-size:1.15rem;font-weight:700;color:var(--text-white);margin:0 0 .2rem}.instructor-title-text[data-v-250c39bd]{font-size:.8rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem}.instructor-bio-text[data-v-250c39bd]{font-size:.875rem;color:var(--text-muted);line-height:1.65;margin:0}.project-header[data-v-250c39bd]{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem}.project-info h4[data-v-250c39bd]{font-family:var(--display-font);font-size:.85rem;font-weight:600;margin-bottom:.125rem;color:var(--text-white)}.project-info p[data-v-250c39bd]{font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.4}.difficulty-badge[data-v-250c39bd]{font-size:.6rem;padding:.2rem .5rem;border-radius:2rem;font-weight:600;text-transform:capitalize;border:1px solid transparent;white-space:nowrap}.difficulty-badge.beginner[data-v-250c39bd]{background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.difficulty-badge.intermediate[data-v-250c39bd]{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.difficulty-badge.advanced[data-v-250c39bd]{background:color-mix(in srgb,var(--error) 14%,transparent);color:var(--error);border-color:color-mix(in srgb,var(--error) 30%,transparent)}.project-meta[data-v-250c39bd]{display:flex;align-items:center;gap:.75rem;font-size:.7rem;color:var(--text-muted)}.project-meta .meta-item[data-v-250c39bd]{display:flex;align-items:center;gap:.25rem}.project-meta svg[data-v-250c39bd]{width:.875rem;height:.875rem;color:var(--primary)}.pricing-sticky[data-v-250c39bd]{position:sticky;top:1.25rem}.pricing-title[data-v-250c39bd]{font-family:var(--display-font);font-size:1rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.01em;color:var(--text-white)}.pricing-card[data-v-250c39bd]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem 1.25rem 1.25rem;margin-bottom:.75rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.pricing-card[data-v-250c39bd]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow)}.pricing-card.popular[data-v-250c39bd]{border-color:var(--primary);background:rgba(var(--primary-rgb),.07);box-shadow:var(--accent-glow)}.pricing-card.popular[data-v-250c39bd]:hover{box-shadow:var(--accent-glow-strong)}.popular-badge[data-v-250c39bd]{position:absolute;top:-.6rem;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-size:.6rem;font-weight:700;padding:.22rem .7rem;border-radius:2rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;box-shadow:var(--accent-glow)}.advanced-card[data-v-250c39bd]{border:1px solid rgba(var(--primary-rgb),.45);background:linear-gradient(135deg,rgba(var(--primary-rgb),.08),rgba(var(--primary-rgb),.02))}.advanced-card[data-v-250c39bd]:hover{border-color:var(--primary);box-shadow:var(--accent-glow-strong)}.popular-badge.alt[data-v-250c39bd]{background:linear-gradient(135deg,var(--primary-light),var(--primary))}.tier-price .amount-full[data-v-250c39bd]{font-family:var(--display-font);font-size:2rem;font-weight:700;color:var(--primary)}.pricing-card h4[data-v-250c39bd]{font-family:var(--display-font);font-size:1rem;font-weight:600;margin-bottom:.25rem;color:var(--text-white)}.tier-description[data-v-250c39bd]{font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem}.tier-price[data-v-250c39bd]{margin-bottom:1rem}.tier-price .currency[data-v-250c39bd]{font-size:1.125rem;color:var(--primary);vertical-align:top}.tier-price .amount[data-v-250c39bd]{font-family:var(--display-font);font-size:2rem;font-weight:700;color:var(--primary)}.tier-price .period[data-v-250c39bd]{font-size:.75rem;color:var(--text-muted);margin-left:.125rem}.feature-list[data-v-250c39bd]{list-style:none;padding:0;margin:0 0 1rem}.feature-list li[data-v-250c39bd]{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-light);margin-bottom:.5rem}.feature-list li strong[data-v-250c39bd]{color:var(--text-white)}.feature-list li svg[data-v-250c39bd]{width:.875rem;height:.875rem;color:var(--primary);flex-shrink:0}.enroll-btn[data-v-250c39bd]{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.7rem;border-radius:var(--radius);font-family:var(--body-font);font-weight:600;font-size:.8rem;text-decoration:none;background:linear-gradient(135deg,var(--primary-light),var(--primary));border:1px solid transparent;color:#2a1206;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease)}.enroll-btn[data-v-250c39bd]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong);color:#2a1206}.enroll-btn.primary[data-v-250c39bd]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206}.enroll-btn.primary[data-v-250c39bd]:hover{color:#2a1206}.enroll-btn svg[data-v-250c39bd]{width:.875rem;height:.875rem}.billing-toggle[data-v-250c39bd]{display:flex;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.25rem;margin-bottom:1rem}.billing-toggle button[data-v-250c39bd]{flex:1;padding:.4rem .5rem;border:none;background:transparent;color:var(--text-muted);font-family:var(--body-font);font-weight:600;font-size:.7rem;border-radius:calc(var(--radius-sm) - 4px);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);display:flex;align-items:center;justify-content:center;gap:.25rem}.billing-toggle button[data-v-250c39bd]:hover{color:var(--text-white)}.billing-toggle button.active[data-v-250c39bd]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;box-shadow:var(--accent-glow)}.save-badge[data-v-250c39bd]{background:color-mix(in srgb,var(--success) 22%,transparent);color:var(--success);font-size:.55rem;padding:.1rem .35rem;border-radius:1rem;font-weight:700}.billing-toggle button.active .save-badge[data-v-250c39bd]{background:#2a12062e;color:#2a1206}.addons-hint[data-v-250c39bd]{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle);font-size:.7rem;color:var(--text-muted)}.addons-hint svg[data-v-250c39bd]{width:.875rem;height:.875rem;color:var(--primary)}.access-status[data-v-250c39bd]{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid color-mix(in srgb,var(--success) 20%,transparent);font-size:.75rem;color:var(--success)}.access-status svg[data-v-250c39bd]{width:1rem;height:1rem}.enroll-btn.enrolled[data-v-250c39bd]{background:linear-gradient(135deg,color-mix(in srgb,var(--success) 88%,white),var(--success));color:#06210f;box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 30%,transparent),0 12px 32px -10px color-mix(in srgb,var(--success) 55%,transparent)}.enroll-btn.enrolled[data-v-250c39bd]:hover{color:#06210f}.cert-download-banner[data-v-250c39bd]{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#10b9811a,#f59e0b1a);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius);padding:.875rem 1rem;margin-bottom:.75rem;flex-wrap:wrap}.cert-banner-icon[data-v-250c39bd]{font-size:1.5rem;flex-shrink:0}.cert-banner-text[data-v-250c39bd]{flex:1;display:flex;flex-direction:column}.cert-banner-text strong[data-v-250c39bd]{font-size:.875rem;color:#10b981}.cert-banner-text span[data-v-250c39bd]{font-size:.78rem;color:var(--text-muted)}.cert-download-btn[data-v-250c39bd]{background:#10b981;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s;white-space:nowrap}.cert-download-btn[data-v-250c39bd]:hover{background:#059669}.cert-download-btn[data-v-250c39bd]:disabled{opacity:.6;cursor:not-allowed}.cert-progress-hint[data-v-250c39bd]{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--text-muted);margin-bottom:.75rem}.cert-progress-hint svg[data-v-250c39bd]{width:1rem;height:1rem;color:#f59e0b;flex-shrink:0}.guarantee-box[data-v-250c39bd]{position:relative;display:flex;gap:.75rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:.875rem 1rem;margin-top:.75rem}.guarantee-box[data-v-250c39bd]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius) 0 0 var(--radius);background:var(--success)}.guarantee-box svg[data-v-250c39bd]{width:1.5rem;height:1.5rem;color:var(--success);flex-shrink:0}.guarantee-box strong[data-v-250c39bd]{display:block;font-size:.75rem;font-weight:700;color:var(--success);margin-bottom:.125rem}.guarantee-box p[data-v-250c39bd]{font-size:.7rem;color:var(--text-muted);margin:0;line-height:1.4}.error-container[data-v-250c39bd]{min-height:50vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1.5rem}.error-container h2[data-v-250c39bd]{font-family:var(--display-font);font-size:1.1rem;font-weight:600;margin-bottom:.375rem;color:var(--text-white)}.error-container p[data-v-250c39bd]{color:var(--text-muted);font-size:.85rem;margin-bottom:1rem}.back-btn[data-v-250c39bd]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.6rem 1.25rem;border-radius:var(--radius);text-decoration:none;font-family:var(--body-font);font-weight:600;font-size:.8rem;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease)}.back-btn[data-v-250c39bd]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong);color:#2a1206}@media(max-width:480px){.hero-section[data-v-250c39bd]{padding:1.5rem 1rem}.hero-section h1[data-v-250c39bd]{font-size:1.25rem;line-height:1.3}.hero-section p[data-v-250c39bd]{font-size:.85rem}.cta-buttons[data-v-250c39bd]{flex-direction:column;gap:.5rem}.cta-buttons[data-v-250c39bd]>*{width:100%;text-align:center}.module-header[data-v-250c39bd]{padding:.5rem .75rem}.pricing-card[data-v-250c39bd],.section-card[data-v-250c39bd]{padding:1rem}}.testimonials-card[data-v-250c39bd]{margin-top:1.5rem}.testimonial-list[data-v-250c39bd]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.testimonial-item[data-v-250c39bd]{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1rem}.testimonial-stars[data-v-250c39bd]{display:flex;gap:.15rem;margin-bottom:.5rem}.testimonial-stars svg[data-v-250c39bd]{width:.875rem;height:.875rem;color:var(--primary-light)}.testimonial-content[data-v-250c39bd]{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin:0 0 .75rem;font-style:italic}.testimonial-author[data-v-250c39bd]{display:flex;align-items:center;gap:.5rem}.testimonial-avatar[data-v-250c39bd]{width:1.75rem;height:1.75rem;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#1a0a00;flex-shrink:0}.testimonial-author span[data-v-250c39bd]{font-size:.8rem;font-weight:600;color:var(--text-white)}.testimonials-empty[data-v-250c39bd]{font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}.testimonial-form-wrap[data-v-250c39bd]{border-top:1px solid var(--border-subtle);padding-top:1.25rem}.testimonial-form-wrap h3[data-v-250c39bd]{font-size:.9rem;font-weight:600;margin:0 0 .75rem;color:var(--text-white)}.testimonial-form[data-v-250c39bd]{display:flex;flex-direction:column;gap:.5rem}.testimonial-textarea[data-v-250c39bd]{width:100%;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-family:var(--body-font);font-size:.85rem;padding:.75rem;resize:vertical;transition:border-color .2s var(--ease);box-sizing:border-box}.testimonial-textarea[data-v-250c39bd]:focus{outline:none;border-color:rgba(var(--primary-rgb),.5)}.testimonial-form-footer[data-v-250c39bd]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.char-count[data-v-250c39bd]{font-size:.75rem;color:var(--text-muted)}.submit-testimonial-btn[data-v-250c39bd]{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#1a0a00;border:none;border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.8rem;font-weight:700;cursor:pointer;transition:opacity .2s var(--ease)}.submit-testimonial-btn[data-v-250c39bd]:disabled{opacity:.5;cursor:not-allowed}.submit-testimonial-btn svg[data-v-250c39bd]{width:.9rem;height:.9rem}.spin-icon[data-v-250c39bd]{animation:spin-250c39bd 1s linear infinite}@keyframes spin-250c39bd{to{transform:rotate(360deg)}}.testimonial-error[data-v-250c39bd]{font-size:.8rem;color:var(--danger);margin:0}.testimonial-success[data-v-250c39bd]{display:flex;align-items:center;gap:.5rem;background:color-mix(in srgb,var(--success) 15%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent);border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.85rem;color:var(--success)}.testimonial-success svg[data-v-250c39bd]{width:1rem;height:1rem;flex-shrink:0}.auth-page[data-v-7e5e47e8]{--brand-primary: #f97316;--brand-primary-light: #fb923c;--brand-primary-dark: #ea580c;--brand-rgb: 249, 115, 22}.auth-page[data-v-7e5e47e8]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden;background:var(--bg-body);font-family:var(--body-font)}.auth-page[data-v-7e5e47e8]:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(42% 52% at 16% 10%,rgba(var(--primary-rgb),.3),transparent 60%),radial-gradient(46% 54% at 84% 20%,rgba(var(--primary-rgb),.15),transparent 62%),radial-gradient(52% 56% at 72% 98%,rgba(var(--primary-rgb),.22),transparent 64%)}.auth-page[data-v-7e5e47e8]:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:54px 54px;-webkit-mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);opacity:.5}.loading-overlay[data-v-7e5e47e8]{position:fixed;inset:0;background:#111827b3;z-index:100;display:flex;align-items:center;justify-content:center}.loading-card[data-v-7e5e47e8]{background:#fff;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;box-shadow:0 25px 50px #00000040}.spinner[data-v-7e5e47e8]{width:2.5rem;height:2.5rem;color:var(--brand-primary);animation:spin-7e5e47e8 1s linear infinite}.spinner-track[data-v-7e5e47e8]{opacity:.25}.spinner-head[data-v-7e5e47e8]{opacity:.75}@keyframes spin-7e5e47e8{to{transform:rotate(360deg)}}.auth-container[data-v-7e5e47e8]{width:100%;max-width:28rem;position:relative;z-index:1}.logo-section[data-v-7e5e47e8]{text-align:center;margin-bottom:2rem}.logo-link[data-v-7e5e47e8]{display:inline-block;text-decoration:none}.logo-wrapper[data-v-7e5e47e8]{display:inline-block;position:relative}.logo-circle[data-v-7e5e47e8]{background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle);border-radius:50%;padding:1.25rem;position:relative}.logo-icon[data-v-7e5e47e8]{width:3rem;height:3rem;color:var(--primary-light);display:block}.app-name[data-v-7e5e47e8]{font-family:var(--display-font);font-size:1.875rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:1.5rem 0 .5rem}.portal-badge[data-v-7e5e47e8]{display:inline-flex;align-items:center;gap:.5rem;background:rgba(var(--primary-rgb),.14);border:1px solid var(--border-subtle);padding:.375rem 1rem;border-radius:9999px}.badge-icon[data-v-7e5e47e8]{width:1rem;height:1rem;color:var(--primary-light)}.portal-badge span[data-v-7e5e47e8]{font-size:.875rem;font-weight:500;color:var(--primary-light)}@keyframes float-7e5e47e8{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-animation[data-v-7e5e47e8]{animation:float-7e5e47e8 4s ease-in-out infinite}@keyframes pulse-ring-7e5e47e8{0%{transform:scale(1);opacity:1}to{transform:scale(1.3);opacity:0}}.pulse-ring[data-v-7e5e47e8]:before{content:"";position:absolute;inset:-8px;border:2px solid rgba(var(--brand-rgb),.5);border-radius:50%;animation:pulse-ring-7e5e47e8 2s ease-out infinite}.glow[data-v-7e5e47e8]{box-shadow:0 0 30px rgba(var(--brand-rgb),.3)}.auth-card[data-v-7e5e47e8]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-card)}.card-title[data-v-7e5e47e8]{font-family:var(--display-font);font-size:1.3rem;font-weight:600;letter-spacing:-.01em;color:var(--text-white);text-align:center;margin-bottom:1.5rem}.tier-badge[data-v-7e5e47e8]{display:flex;justify-content:space-between;align-items:center;background:rgba(var(--brand-rgb),.15);border:1px solid rgba(var(--brand-rgb),.3);border-radius:.5rem;padding:.75rem 1rem;margin-bottom:1.5rem}.tier-info strong[data-v-7e5e47e8]{color:#fff;display:block}.tier-price[data-v-7e5e47e8]{font-size:.875rem;color:#fed7aa}.tier-change-btn[data-v-7e5e47e8]{background:transparent;border:1px solid rgba(var(--brand-rgb),.5);color:#fdba74;padding:.25rem .75rem;border-radius:.375rem;font-size:.875rem;cursor:pointer;transition:all .2s}.tier-change-btn[data-v-7e5e47e8]:hover{background:rgba(var(--brand-rgb),.2);color:#fff}.alert[data-v-7e5e47e8]{padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1.5rem;font-size:.875rem}.alert-error[data-v-7e5e47e8]{background:#ef444433;border:1px solid rgba(239,68,68,.5);color:#fca5a5}.alert-success[data-v-7e5e47e8]{background:#10b98133;border:1px solid rgba(16,185,129,.5);color:#6ee7b7}.form-group[data-v-7e5e47e8]{margin-bottom:1.25rem}.form-label[data-v-7e5e47e8]{display:block;font-size:.875rem;font-weight:500;color:var(--text-light);margin-bottom:.5rem}.input-wrapper[data-v-7e5e47e8]{position:relative}.input-icon[data-v-7e5e47e8]{position:absolute;left:0;top:0;bottom:0;width:2.75rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.input-icon svg[data-v-7e5e47e8]{width:1.25rem;height:1.25rem;color:var(--primary-light)}.form-input[data-v-7e5e47e8]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem 1rem .75rem 2.75rem;color:var(--text-white);font-size:1rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.form-input[data-v-7e5e47e8]::placeholder{color:var(--text-muted)}.form-input[data-v-7e5e47e8]:hover{border-color:rgba(var(--primary-rgb),.4)}.form-input[data-v-7e5e47e8]:focus{outline:none;border-color:var(--primary);background:var(--bg-card);box-shadow:var(--ring)}.form-input[data-v-7e5e47e8]:-webkit-autofill,.form-input[data-v-7e5e47e8]:-webkit-autofill:hover,.form-input[data-v-7e5e47e8]:-webkit-autofill:focus,.form-input[data-v-7e5e47e8]:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--bg-body) inset!important;-webkit-text-fill-color:var(--text-white)!important;transition:background-color 5000s ease-in-out 0s;caret-color:var(--primary);border-color:var(--border-subtle)!important}.form-hint[data-v-7e5e47e8]{display:block;font-size:.75rem;color:#9ca3af;margin-top:.25rem}.form-options[data-v-7e5e47e8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.remember-me[data-v-7e5e47e8]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.remember-me input[data-v-7e5e47e8]{width:1rem;height:1rem;border-radius:.25rem;border:1px solid var(--border-subtle);background:var(--bg-body);cursor:pointer;accent-color:var(--primary)}.remember-me span[data-v-7e5e47e8]{font-size:.875rem;color:var(--text-muted)}.forgot-link[data-v-7e5e47e8]{font-size:.875rem;color:var(--primary-light);text-decoration:none;transition:color .2s}.forgot-link[data-v-7e5e47e8]:hover{color:var(--primary)}.submit-btn[data-v-7e5e47e8]{width:100%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-family:var(--body-font);font-weight:600;padding:.85rem 1rem;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease);box-shadow:var(--accent-glow)}.submit-btn[data-v-7e5e47e8]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.submit-btn[data-v-7e5e47e8]:disabled{opacity:.55;cursor:not-allowed}.toggle-section[data-v-7e5e47e8]{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.toggle-section p[data-v-7e5e47e8]{color:var(--text-muted);font-size:.875rem;margin:0}.toggle-link[data-v-7e5e47e8]{color:var(--primary-light);font-weight:600;text-decoration:none;transition:color .2s}.toggle-link[data-v-7e5e47e8]:hover{color:var(--primary)}.terms-text[data-v-7e5e47e8]{text-align:center;font-size:.75rem;color:#9ca3af;margin-top:1rem}.footer-section[data-v-7e5e47e8]{text-align:center;margin-top:2rem}.back-link[data-v-7e5e47e8]{display:inline-flex;align-items:center;gap:.25rem;color:var(--primary-light);font-size:.875rem;text-decoration:none;transition:color .2s}.back-link[data-v-7e5e47e8]:hover{color:var(--primary)}.back-link svg[data-v-7e5e47e8]{width:1rem;height:1rem}.checkout-page[data-v-60dcf4cf]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.container[data-v-60dcf4cf]{max-width:1200px;margin:0 auto;padding:0 1.5rem}.loading-container[data-v-60dcf4cf]{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:5rem;color:var(--text-muted)}.spinner[data-v-60dcf4cf]{width:3rem;height:3rem;border:3px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin-60dcf4cf 1s linear infinite;margin-bottom:1rem}.spinner-sm[data-v-60dcf4cf]{width:1.25rem;height:1.25rem;border:2px solid rgba(42,18,6,.3);border-top-color:#2a1206;border-radius:50%;animation:spin-60dcf4cf 1s linear infinite;display:inline-block;margin-right:.5rem}@keyframes spin-60dcf4cf{to{transform:rotate(360deg)}}.checkout-container[data-v-60dcf4cf]{flex:1;padding:2rem;max-width:100%}.checkout-grid[data-v-60dcf4cf]{display:grid;grid-template-columns:1fr 380px;gap:2rem;align-items:start}@media(max-width:968px){.checkout-grid[data-v-60dcf4cf]{grid-template-columns:1fr}}.selection-panel[data-v-60dcf4cf]{display:flex;flex-direction:column;gap:1.5rem}.panel-section[data-v-60dcf4cf]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card)}.panel-section h2[data-v-60dcf4cf]{font-family:var(--display-font);font-size:1.5rem;color:var(--text-white);margin-bottom:.5rem}.panel-section h3[data-v-60dcf4cf]{font-family:var(--display-font);font-size:1.125rem;color:var(--text-white);margin-bottom:1rem}.bootcamp-desc[data-v-60dcf4cf]{color:var(--text-muted);margin:0}.section-subtitle[data-v-60dcf4cf]{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.order-sidebar[data-v-60dcf4cf]{position:sticky;top:5rem;display:flex;flex-direction:column;gap:1rem}.order-summary[data-v-60dcf4cf]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card)}.order-summary h3[data-v-60dcf4cf]{font-family:var(--display-font);font-size:1rem;font-weight:600;color:var(--text-white);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-subtle)}.order-items[data-v-60dcf4cf]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.order-line[data-v-60dcf4cf]{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem}.order-line .item-name[data-v-60dcf4cf]{color:var(--text-light)}.order-line .item-price[data-v-60dcf4cf]{font-family:var(--mono-font);font-weight:500;color:var(--text-muted)}.order-line.addon-line[data-v-60dcf4cf]{font-size:.875rem}.order-line.addon-line .item-name[data-v-60dcf4cf]{color:var(--text-muted)}.order-line.addon-line .item-price[data-v-60dcf4cf]{font-family:var(--mono-font);color:var(--primary)}.order-total[data-v-60dcf4cf]{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-subtle);color:var(--text-white);font-weight:600}.order-total .total-price[data-v-60dcf4cf]{font-family:var(--mono-font);font-size:1.25rem;color:var(--primary)}.order-total .total-price small[data-v-60dcf4cf]{font-family:var(--body-font);font-size:.75rem;font-weight:400;color:var(--text-muted)}.order-line.discount-line .item-name[data-v-60dcf4cf]{color:var(--success);font-weight:500}.order-line.discount-line .item-price[data-v-60dcf4cf]{font-family:var(--mono-font);color:var(--success);font-weight:600}.order-line.discount-line .item-name small[data-v-60dcf4cf]{color:var(--text-muted);font-weight:400}.order-total--split[data-v-60dcf4cf]{flex-direction:column;align-items:stretch;gap:.35rem}.order-total--split .total-row[data-v-60dcf4cf]{display:flex;justify-content:space-between;align-items:center}.order-total--split .then-row[data-v-60dcf4cf]{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:400;color:var(--text-muted)}.order-total--split .then-row span[data-v-60dcf4cf]:last-child{font-family:var(--mono-font)}.promo-block[data-v-60dcf4cf]{padding:1rem 0;margin-bottom:.25rem;border-top:1px dashed var(--border-subtle)}.promo-label[data-v-60dcf4cf]{display:block;font-size:.8125rem;font-weight:500;color:var(--text-light);margin-bottom:.5rem}.promo-row[data-v-60dcf4cf]{display:flex;gap:.5rem}.promo-input[data-v-60dcf4cf]{flex:1;min-width:0;padding:.6rem .75rem;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-family:var(--mono-font);font-size:.85rem;letter-spacing:.03em;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.promo-input[data-v-60dcf4cf]::placeholder{color:var(--text-muted);opacity:1;letter-spacing:normal}.promo-input[data-v-60dcf4cf]:hover:not(:focus){border-color:rgba(var(--primary-rgb),.4)}.promo-input[data-v-60dcf4cf]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.promo-apply[data-v-60dcf4cf]{padding:.6rem 1rem;background:transparent;border:1px solid var(--primary);color:var(--primary-light);border-radius:var(--radius-sm);font-family:var(--body-font);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease),opacity .2s var(--ease)}.promo-apply[data-v-60dcf4cf]:hover:not(:disabled){background:rgba(var(--primary-rgb),.1);transform:translateY(-1px)}.promo-apply[data-v-60dcf4cf]:focus-visible{outline:none;box-shadow:var(--ring)}.promo-apply[data-v-60dcf4cf]:disabled{opacity:.5;cursor:not-allowed;transform:none}.promo-error[data-v-60dcf4cf]{margin:.5rem 0 0;font-size:.8125rem;color:var(--error)}.promo-applied[data-v-60dcf4cf]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.promo-applied-text[data-v-60dcf4cf]{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--success)}.promo-applied-text svg[data-v-60dcf4cf]{width:1rem;height:1rem}.promo-applied-text strong[data-v-60dcf4cf]{color:var(--text-white);font-family:var(--mono-font)}.promo-remove[data-v-60dcf4cf]{background:none;border:none;color:var(--text-muted);font-size:.8125rem;font-weight:500;cursor:pointer;text-decoration:underline;transition:color .2s var(--ease)}.promo-remove[data-v-60dcf4cf]:hover{color:var(--error)}.promo-remove[data-v-60dcf4cf]:focus-visible{outline:none;color:var(--error)}.billing-toggle[data-v-60dcf4cf]{display:flex;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.25rem;margin-bottom:2rem}.billing-toggle button[data-v-60dcf4cf]{flex:1;padding:.75rem 1rem;border:none;background:transparent;color:var(--text-muted);font-family:var(--body-font);font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);display:flex;align-items:center;justify-content:center;gap:.5rem}.billing-toggle button.active[data-v-60dcf4cf]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;box-shadow:var(--accent-glow)}.save-badge[data-v-60dcf4cf]{background:var(--success);color:#2a1206;font-size:.625rem;padding:.125rem .375rem;border-radius:1rem;font-weight:600}.addons-section h3[data-v-60dcf4cf]{font-size:1.125rem;margin-bottom:.25rem}.addons-subtitle[data-v-60dcf4cf]{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.addon-item[data-v-60dcf4cf]{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:var(--radius);margin-bottom:.75rem;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease)}.addon-item[data-v-60dcf4cf]:hover{border-color:rgba(var(--primary-rgb),.3);transform:translateY(-1px)}.addon-item.selected[data-v-60dcf4cf]{border-color:var(--primary);background:rgba(var(--primary-rgb),.06)}.addon-checkbox[data-v-60dcf4cf]{position:relative;cursor:pointer;flex-shrink:0}.addon-checkbox input[data-v-60dcf4cf]{position:absolute;opacity:0;cursor:pointer}.checkbox-custom[data-v-60dcf4cf]{width:1.25rem;height:1.25rem;border:2px solid var(--text-muted);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color .2s var(--ease),border-color .2s var(--ease)}.addon-checkbox input:checked+.checkbox-custom[data-v-60dcf4cf]{background:var(--primary);border-color:var(--primary)}.addon-checkbox input:checked+.checkbox-custom[data-v-60dcf4cf]:after{content:"✓";color:#2a1206;font-size:.75rem}.addon-checkbox input:focus-visible+.checkbox-custom[data-v-60dcf4cf]{box-shadow:var(--ring)}.addon-icon[data-v-60dcf4cf]{width:2.5rem;height:2.5rem;background:rgba(var(--primary-rgb),.15);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.addon-icon svg[data-v-60dcf4cf]{width:1.25rem;height:1.25rem;color:var(--primary)}.addon-info[data-v-60dcf4cf]{flex:1}.addon-info h4[data-v-60dcf4cf]{font-family:var(--display-font);font-size:.9375rem;color:var(--text-white);margin-bottom:.25rem}.addon-info p[data-v-60dcf4cf]{font-size:.8125rem;color:var(--text-muted);margin:0}.addon-price[data-v-60dcf4cf]{font-family:var(--mono-font);font-weight:600;color:var(--primary);white-space:nowrap}.payment-form[data-v-60dcf4cf]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card)}.payment-form h3[data-v-60dcf4cf]{font-family:var(--display-font);font-size:1rem;font-weight:600;color:var(--text-white);margin-bottom:1rem}.payment-security[data-v-60dcf4cf]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-sm);margin-bottom:1.5rem;font-size:.875rem;color:var(--text-light)}.payment-security svg[data-v-60dcf4cf]{color:var(--success)}.payment-security svg[data-v-60dcf4cf]{width:1.25rem;height:1.25rem}.card-input-wrapper[data-v-60dcf4cf]{margin-bottom:1.5rem}.card-input-wrapper label[data-v-60dcf4cf]{display:block;font-size:.875rem;font-weight:500;color:var(--text-light);margin-bottom:.5rem}.card-element[data-v-60dcf4cf]{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1rem;min-height:3rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.card-element[data-v-60dcf4cf]:hover{border-color:rgba(var(--primary-rgb),.4)}.card-element.StripeElement--focus[data-v-60dcf4cf],.card-element[data-v-60dcf4cf]:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.card-element.StripeElement--invalid[data-v-60dcf4cf]{border-color:var(--error)}.card-error[data-v-60dcf4cf]{color:var(--error);font-size:.875rem;margin-top:.5rem}.submit-btn[data-v-60dcf4cf]{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:none;border-radius:var(--radius);font-family:var(--body-font);font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease);box-shadow:var(--accent-glow);display:flex;align-items:center;justify-content:center;text-decoration:none}.submit-btn[data-v-60dcf4cf]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.submit-btn[data-v-60dcf4cf]:focus-visible{box-shadow:var(--ring);outline:none}.submit-btn[data-v-60dcf4cf]:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.error-message[data-v-60dcf4cf]{color:var(--error);font-size:.875rem;margin-top:1rem;text-align:center}.terms-text[data-v-60dcf4cf]{font-size:.75rem;color:var(--text-muted);text-align:center;margin-top:1rem}.checkout-card[data-v-60dcf4cf]{max-width:600px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-card)}.add-bootcamp-card h2[data-v-60dcf4cf]{font-family:var(--display-font);color:var(--text-white);margin-bottom:.5rem}.add-bootcamp-card .subtitle[data-v-60dcf4cf]{color:var(--text-muted);margin-bottom:2rem}.add-options[data-v-60dcf4cf]{margin-bottom:2rem}.add-option[data-v-60dcf4cf]{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border:2px solid var(--border-subtle);border-radius:var(--radius);margin-bottom:1rem;cursor:pointer;transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease);position:relative}.add-option[data-v-60dcf4cf]:hover{border-color:rgba(var(--primary-rgb),.3);transform:translateY(-1px)}.add-option.selected[data-v-60dcf4cf]{border-color:var(--primary);background:rgba(var(--primary-rgb),.06)}.add-option.recommended[data-v-60dcf4cf]{border-color:var(--primary)}.recommended-badge[data-v-60dcf4cf]{position:absolute;top:-.625rem;right:1rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:1rem;box-shadow:var(--accent-glow)}.option-radio[data-v-60dcf4cf]{width:1.25rem;height:1.25rem;border:2px solid var(--text-muted);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-option.selected .option-radio[data-v-60dcf4cf]{border-color:var(--primary)}.radio-fill[data-v-60dcf4cf]{width:.625rem;height:.625rem;background:var(--primary);border-radius:50%}.option-content h4[data-v-60dcf4cf]{font-family:var(--display-font);color:var(--text-white);margin-bottom:.25rem}.option-content p[data-v-60dcf4cf]{font-size:.875rem;color:var(--text-muted);margin:0}.success-card[data-v-60dcf4cf]{text-align:center}.success-icon[data-v-60dcf4cf]{width:4rem;height:4rem;background:rgba(var(--primary-rgb),.12);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-icon svg[data-v-60dcf4cf]{width:2rem;height:2rem;color:var(--success)}.success-card h2[data-v-60dcf4cf]{font-family:var(--display-font);color:var(--text-white);margin-bottom:.5rem}.success-card p[data-v-60dcf4cf]{color:var(--text-muted);margin-bottom:2rem}.success-overlay[data-v-60dcf4cf]{position:fixed;inset:0;background:#080605cc;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.success-modal[data-v-60dcf4cf]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:3rem;max-width:400px;text-align:center;box-shadow:var(--shadow-card)}.success-icon-lg[data-v-60dcf4cf]{width:5rem;height:5rem;background:rgba(var(--primary-rgb),.15);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.success-icon-lg svg[data-v-60dcf4cf]{width:2.5rem;height:2.5rem;color:var(--success)}.success-modal h2[data-v-60dcf4cf]{font-family:var(--display-font);color:var(--text-white);margin-bottom:.5rem}.success-modal p[data-v-60dcf4cf]{color:var(--text-muted);margin-bottom:2rem}.nav-link[data-v-60dcf4cf]{color:var(--text-muted);text-decoration:none;font-weight:500;transition:color .2s}.nav-link[data-v-60dcf4cf]:hover{color:var(--primary-light)}.back-link[data-v-60dcf4cf]{display:inline-flex;align-items:center;gap:.5rem}.back-link svg[data-v-60dcf4cf]{width:1rem;height:1rem}.footer[data-v-60dcf4cf]{padding:2rem 0;border-top:1px solid var(--border-subtle);text-align:center;margin-top:4rem}.footer p[data-v-60dcf4cf]{color:var(--text-muted);font-size:.875rem;margin:0}.bootcamp-card[data-v-a229c9d2]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.25rem 1.375rem;cursor:pointer;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.bootcamp-card[data-v-a229c9d2]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary));opacity:.5;transition:opacity .25s var(--ease),transform .25s var(--ease);transform-origin:left}.bootcamp-card[data-v-a229c9d2]:hover:before,.bootcamp-card[data-v-a229c9d2]:focus-visible:before{opacity:1;transform:scaleX(1.6)}.bootcamp-card[data-v-a229c9d2]:hover,.bootcamp-card[data-v-a229c9d2]:focus-visible{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--shadow-card),var(--accent-glow)}.bootcamp-card[data-v-a229c9d2]:focus-visible{outline:none;box-shadow:var(--shadow-card),var(--ring)}.bootcamp-card[data-v-a229c9d2]:active{transform:translateY(-2px)}.card-header[data-v-a229c9d2]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.bootcamp-icon[data-v-a229c9d2]{width:2.25rem;height:2.25rem;background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}.bootcamp-card:hover .bootcamp-icon[data-v-a229c9d2]{background:rgba(var(--primary-rgb),.18);border-color:rgba(var(--primary-rgb),.4);box-shadow:var(--accent-glow)}.bootcamp-icon svg[data-v-a229c9d2]{width:1.125rem;height:1.125rem;color:var(--primary);stroke-width:1.75}.bootcamp-title[data-v-a229c9d2]{font-family:var(--display-font);font-size:.95rem;font-weight:600;color:var(--text-white);margin:0;letter-spacing:-.01em;flex:1}.progress-ring-wrap[data-v-a229c9d2]{position:relative;width:2.5rem;height:2.5rem;flex-shrink:0}.progress-ring[data-v-a229c9d2]{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg[data-v-a229c9d2]{fill:none;stroke:rgba(var(--primary-rgb),.12);stroke-width:3}.ring-fill[data-v-a229c9d2]{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .5s ease}.ring-pct[data-v-a229c9d2]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono-font);font-size:.55rem;font-weight:700;color:var(--primary);line-height:1}.ring-pct-sym[data-v-a229c9d2]{font-size:.42rem;margin-top:.05rem}.progress-section[data-v-a229c9d2]{margin-bottom:.875rem}.progress-bar[data-v-a229c9d2]{height:4px;background:rgba(var(--primary-rgb),.15);border-radius:999px;overflow:hidden;margin-bottom:.5rem}.progress-fill[data-v-a229c9d2]{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:999px;transition:width .4s var(--ease)}.progress-info[data-v-a229c9d2]{display:flex;justify-content:space-between;font-size:.75rem}.progress-percentage[data-v-a229c9d2]{font-family:var(--mono-font);color:var(--primary);font-weight:600}.progress-count[data-v-a229c9d2]{font-family:var(--mono-font);color:var(--text-muted)}.next-lesson[data-v-a229c9d2]{background:rgba(var(--primary-rgb),.06);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.625rem .75rem;margin-bottom:.875rem}.next-label[data-v-a229c9d2]{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-weight:600;margin-bottom:.2rem}.next-title[data-v-a229c9d2]{display:block;font-size:.8rem;font-weight:500;color:var(--text-white);margin-bottom:.1rem;line-height:1.3}.next-module[data-v-a229c9d2]{display:block;font-size:.7rem;color:var(--text-muted)}.completed-badge[data-v-a229c9d2]{display:flex;align-items:center;justify-content:center;gap:.375rem;background:rgba(var(--primary-rgb),.08);border:1px solid var(--border-subtle);color:var(--success);padding:.5rem .75rem;border-radius:var(--radius-sm);margin-bottom:.875rem;font-weight:600;font-size:.75rem}.completed-badge svg[data-v-a229c9d2]{width:.875rem;height:.875rem}.card-actions[data-v-a229c9d2]{display:flex;gap:.5rem;align-items:center}.continue-btn[data-v-a229c9d2]{flex:1;display:flex;align-items:center;justify-content:center;gap:.375rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;padding:.55rem 1rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease)}.continue-btn[data-v-a229c9d2]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.continue-btn[data-v-a229c9d2]:focus-visible{outline:none;box-shadow:var(--ring)}.continue-btn[data-v-a229c9d2]:active{transform:translateY(0)}.continue-btn[data-v-a229c9d2]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.timeline-btn[data-v-a229c9d2]{display:flex;align-items:center;gap:.3rem;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:.55rem .75rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-size:.78rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;flex-shrink:0}.timeline-btn svg[data-v-a229c9d2]{width:14px;height:14px}.timeline-btn[data-v-a229c9d2]:hover{color:var(--primary-light);border-color:var(--primary);background:rgba(var(--primary-rgb),.06)}.continue-btn svg[data-v-a229c9d2]{width:1rem;height:1rem;transition:transform .2s var(--ease)}.bootcamp-card:hover .continue-btn svg[data-v-a229c9d2]{transform:translate(3px)}.admin-dashboard[data-v-95a87295]{padding:1.5rem 2rem;max-width:1200px}.welcome-header[data-v-95a87295]{margin-bottom:1.5rem}.welcome-header h1[data-v-95a87295]{font-size:1.5rem;font-weight:600;color:var(--text-white);margin:0 0 .25rem}.welcome-header p[data-v-95a87295]{font-size:.9rem;color:var(--text-muted);margin:0}.stats-grid[data-v-95a87295]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card[data-v-95a87295]{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-card);border-radius:.5rem;border-left:2px solid var(--border-subtle);transition:all .15s ease}.stat-card.clickable[data-v-95a87295]{cursor:pointer}.stat-card.clickable[data-v-95a87295]:hover{border-left-color:var(--primary);background:rgba(var(--primary-rgb),.02)}.stat-icon[data-v-95a87295]{width:44px;height:44px;border-radius:.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-95a87295]{width:22px;height:22px}.stat-icon.students[data-v-95a87295]{background:#3b82f61a;color:#3b82f6}.stat-icon.subscriptions[data-v-95a87295]{background:#10b9811a;color:#10b981}.stat-icon.bootcamps[data-v-95a87295]{background:#a855f71a;color:#a855f7}.stat-icon.messages[data-v-95a87295]{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.stat-content[data-v-95a87295]{display:flex;flex-direction:column}.stat-label[data-v-95a87295]{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.stat-value[data-v-95a87295]{font-size:1.5rem;font-weight:600;color:var(--text-white)}.dashboard-section[data-v-95a87295]{margin-bottom:2rem}.section-title[data-v-95a87295]{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.quick-actions[data-v-95a87295]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.action-card[data-v-95a87295]{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;background:var(--bg-card);border:none;border-radius:.5rem;text-decoration:none;transition:all .15s ease;cursor:pointer;position:relative;text-align:left;border-left:2px solid transparent}.action-card[data-v-95a87295]:hover{border-left-color:var(--primary);background:rgba(var(--primary-rgb),.02)}.action-card.highlight-action[data-v-95a87295]{border-left-color:rgba(var(--primary-rgb),.5);background:rgba(var(--primary-rgb),.05);text-decoration:none;color:inherit}.action-card.highlight-action[data-v-95a87295]:hover{border-left-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.action-icon[data-v-95a87295]{width:40px;height:40px;border-radius:.5rem;background:rgba(var(--primary-rgb),.1);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon svg[data-v-95a87295]{width:20px;height:20px}.action-content[data-v-95a87295]{display:flex;flex-direction:column;flex:1}.action-title[data-v-95a87295]{font-weight:600;color:var(--text-white);font-size:.9rem}.action-desc[data-v-95a87295]{font-size:.75rem;color:var(--text-muted)}.activity-list[data-v-95a87295]{display:flex;flex-direction:column;gap:.5rem}.activity-item[data-v-95a87295]{display:flex;align-items:center;gap:.875rem;padding:.75rem 1rem;background:var(--bg-card);border-radius:.5rem;border-left:2px solid transparent;transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.activity-item.clickable[data-v-95a87295]{cursor:pointer}.activity-item.clickable[data-v-95a87295]:hover{border-left-color:var(--primary);background:rgba(var(--primary-rgb),.06);transform:translate(2px)}.activity-avatar[data-v-95a87295]{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.75rem;flex-shrink:0}.activity-content[data-v-95a87295]{flex:1;min-width:0}.activity-user[data-v-95a87295]{font-weight:600;color:var(--text-white);font-size:.85rem}.activity-action[data-v-95a87295]{color:var(--text-muted);font-size:.85rem}.activity-time[data-v-95a87295]{font-size:.75rem;color:var(--text-muted);flex-shrink:0}@media(max-width:768px){.admin-dashboard[data-v-95a87295]{padding:1rem}.stats-grid[data-v-95a87295]{grid-template-columns:repeat(2,1fr)}.quick-actions[data-v-95a87295]{grid-template-columns:1fr}}.dashboard-page[data-v-7ab05502]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.dashboard-layout[data-v-7ab05502]{display:flex}.main-content[data-v-7ab05502]{flex:1;padding:1.5rem 2rem;max-width:100%}.welcome-header[data-v-7ab05502]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.welcome-header h1[data-v-7ab05502]{font-family:var(--display-font);font-size:1.5rem;font-weight:600;margin-bottom:.15rem;letter-spacing:-.02em;color:var(--text-white)}.welcome-header p[data-v-7ab05502]{color:var(--text-muted);font-size:.875rem}.streak-badge[data-v-7ab05502]{display:flex;align-items:center;gap:.375rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);padding:.375rem .75rem;border-radius:2rem;color:var(--primary);font-size:.8rem;font-weight:500;transition:background .2s var(--ease),border-color .2s var(--ease)}.streak-icon[data-v-7ab05502]{font-family:var(--display-font);font-size:1rem;font-weight:700;color:var(--primary-light)}.xp-card[data-v-7ab05502]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.1rem 1.35rem;margin-bottom:1.75rem;position:relative;overflow:hidden}.xp-card[data-v-7ab05502]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.7}.xp-header[data-v-7ab05502]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.xp-badge[data-v-7ab05502]{display:flex;align-items:center;gap:.6rem}.xp-badge-icon[data-v-7ab05502]{font-size:1.5rem;line-height:1}.xp-badge-text[data-v-7ab05502]{display:flex;flex-direction:column}.xp-level-name[data-v-7ab05502]{font-size:.95rem;font-weight:700;color:var(--text-white);line-height:1.2}.xp-level-num[data-v-7ab05502]{font-size:.75rem;color:var(--text-muted);line-height:1}.xp-total[data-v-7ab05502]{display:flex;align-items:baseline;gap:.25rem}.xp-total-num[data-v-7ab05502]{font-size:1.4rem;font-weight:700;color:var(--primary-light);font-family:var(--display-font)}.xp-total-label[data-v-7ab05502]{font-size:.75rem;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.xp-progress-wrap[data-v-7ab05502]{display:flex;flex-direction:column;gap:.35rem}.xp-progress-bar[data-v-7ab05502]{width:100%;height:6px;background:var(--border-subtle);border-radius:3px;overflow:hidden}.xp-progress-fill[data-v-7ab05502]{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:3px;transition:width .6s ease}.xp-progress-label[data-v-7ab05502]{font-size:.72rem;color:var(--text-muted);text-align:right}.stats-grid[data-v-7ab05502]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.75rem}.stat-card[data-v-7ab05502]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.1rem 1.35rem;display:flex;gap:.875rem;align-items:flex-start;overflow:hidden;transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.stat-card[data-v-7ab05502]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.5;transition:opacity .2s var(--ease),width .2s var(--ease)}.stat-card[data-v-7ab05502]:hover{transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.45);box-shadow:var(--accent-glow)}.stat-card[data-v-7ab05502]:hover:before{opacity:1;width:3px}.stat-icon[data-v-7ab05502]{width:2.25rem;height:2.25rem;background:rgba(var(--primary-rgb),.12);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg[data-v-7ab05502]{width:1.125rem;height:1.125rem;color:var(--primary);stroke-width:1.75}.stat-content[data-v-7ab05502]{flex:1;min-width:0}.stat-label[data-v-7ab05502]{display:block;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.stat-value[data-v-7ab05502]{font-family:var(--display-font);font-size:1.4rem;font-weight:600;color:var(--text-white);letter-spacing:-.02em}.stat-total[data-v-7ab05502]{font-family:var(--mono-font);font-size:.875rem;color:var(--text-muted);font-weight:400}.progress-bar[data-v-7ab05502]{height:4px;background:rgba(var(--primary-rgb),.15);border-radius:2px;margin-top:.625rem;overflow:hidden}.progress-fill[data-v-7ab05502]{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:2px;transition:width .4s var(--ease)}.content-card[data-v-7ab05502]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.35rem;margin-bottom:1.25rem;overflow:hidden}.content-card[data-v-7ab05502]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.35}.card-header[data-v-7ab05502]{margin-bottom:1.25rem}.card-header h2[data-v-7ab05502]{font-family:var(--display-font);font-size:1.125rem;font-weight:600;margin-bottom:.2rem;color:var(--text-white)}.bootcamps-section[data-v-7ab05502]{margin-bottom:1.75rem}.bootcamps-section>.section-title[data-v-7ab05502]{font-family:var(--display-font);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.875rem;padding-left:.125rem}.bootcamps-grid[data-v-7ab05502]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.loading-state[data-v-7ab05502]{text-align:center;padding:2.5rem}.spinner[data-v-7ab05502]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.18);border-top-color:var(--primary);border-radius:50%;animation:spin-7ab05502 .8s linear infinite;margin:0 auto .75rem}@keyframes spin-7ab05502{to{transform:rotate(360deg)}}.loading-state p[data-v-7ab05502]{color:var(--text-muted);font-size:.85rem}.empty-state[data-v-7ab05502]{text-align:center;padding:2.5rem}.empty-state svg[data-v-7ab05502]{width:2.5rem;height:2.5rem;color:var(--text-muted);margin-bottom:.875rem;opacity:.6}.empty-state h3[data-v-7ab05502]{font-family:var(--display-font);font-size:1rem;font-weight:600;margin-bottom:.375rem;color:var(--text-white)}.empty-state p[data-v-7ab05502]{color:var(--text-muted);margin-bottom:1.25rem;font-size:.85rem;max-width:280px;margin-left:auto;margin-right:auto}.cta-btn[data-v-7ab05502]{display:inline-block;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.65rem 1.3rem;border-radius:var(--radius);font-weight:600;font-size:.85rem;text-decoration:none;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease),color .2s var(--ease)}.cta-btn[data-v-7ab05502]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.cta-btn[data-v-7ab05502]:focus-visible{outline:none;color:#2a1206;box-shadow:var(--ring)}.cta-btn[data-v-7ab05502]:active{transform:translateY(0)}.dashboard-section[data-v-7ab05502]{margin-bottom:1.5rem}.section-header[data-v-7ab05502]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:0 .125rem}.dashboard-section .section-title[data-v-7ab05502]{font-family:var(--display-font);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);display:flex;align-items:center;gap:.375rem;margin-bottom:0}.premium-sparkle[data-v-7ab05502]{color:var(--primary);font-size:.75rem}.section-action[data-v-7ab05502]{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color .2s var(--ease)}.section-action[data-v-7ab05502]:hover,.section-action[data-v-7ab05502]:focus-visible{color:var(--primary);outline:none}.section-action svg[data-v-7ab05502]{width:.75rem;height:.75rem;transition:transform .2s var(--ease)}.section-action:hover svg[data-v-7ab05502],.section-action:focus-visible svg[data-v-7ab05502]{transform:translate(2px)}.accent-card[data-v-7ab05502]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.accent-card[data-v-7ab05502]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.5;transition:width .2s var(--ease),opacity .2s var(--ease)}.accent-card[data-v-7ab05502]:hover:before{width:3px;opacity:1}.accent-card[data-v-7ab05502]:hover{transform:translateY(-2px);border-color:rgba(var(--primary-rgb),.45);box-shadow:var(--accent-glow)}.accent-card.accent-active[data-v-7ab05502]:before{background:var(--success)}.accent-card.accent-cancelled[data-v-7ab05502]:before{background:var(--warning)}.accent-card.accent-past_due[data-v-7ab05502]:before{background:var(--error)}.accent-card.accent-premium[data-v-7ab05502]:before{background:var(--primary)}.accent-card-inner[data-v-7ab05502]{padding:1rem 1.25rem}.subscription-row[data-v-7ab05502]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.subscription-main[data-v-7ab05502]{flex:1}.status-indicator[data-v-7ab05502]{display:inline-flex;align-items:center;gap:.375rem;font-size:.85rem;font-weight:600;color:var(--text-white);margin-bottom:.375rem}.status-dot[data-v-7ab05502]{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:pulse-glow-7ab05502 2s ease-in-out infinite}.status-indicator.active .status-dot[data-v-7ab05502]{background:var(--success)}.status-indicator.cancelled .status-dot[data-v-7ab05502]{background:var(--warning);animation:none}.status-indicator.past_due .status-dot[data-v-7ab05502]{background:var(--error);animation:pulse-warning-7ab05502 1s ease-in-out infinite}@keyframes pulse-glow-7ab05502{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes pulse-warning-7ab05502{0%,to{opacity:1}50%{opacity:.5}}.subscription-meta[data-v-7ab05502]{display:flex;align-items:center;gap:.375rem;color:var(--text-muted);font-size:.75rem}.meta-item[data-v-7ab05502]{display:inline-flex;align-items:center;gap:.25rem}.meta-item svg[data-v-7ab05502]{width:.875rem;height:.875rem;opacity:.7}.meta-divider[data-v-7ab05502]{opacity:.4}.subscription-renewal[data-v-7ab05502]{text-align:right;flex-shrink:0}.renewal-label[data-v-7ab05502]{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.125rem}.renewal-date[data-v-7ab05502]{font-family:var(--mono-font);font-size:.85rem;font-weight:600;color:var(--text-white)}.addons-row[data-v-7ab05502]{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.addon-chip[data-v-7ab05502]{display:inline-flex;align-items:center;gap:.25rem;padding:.28rem .55rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.18);border-radius:2rem;font-size:.65rem;font-weight:500;color:var(--primary-light);transition:background .2s var(--ease),border-color .2s var(--ease)}.addon-chip[data-v-7ab05502]:hover{background:rgba(var(--primary-rgb),.16);border-color:rgba(var(--primary-rgb),.3)}.addon-chip svg[data-v-7ab05502]{width:.7rem;height:.7rem;opacity:.85}.dashboard-duo-grid[data-v-7ab05502]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;align-items:start}.dashboard-duo-grid .dashboard-section[data-v-7ab05502]{margin-bottom:0}.benefits-list[data-v-7ab05502]{display:flex;flex-direction:column}.benefit-item-compact[data-v-7ab05502]{display:flex;align-items:center;gap:.625rem;padding:.625rem 1rem;text-decoration:none;transition:background .2s var(--ease);border-bottom:1px solid var(--border-subtle)}.benefit-item-compact[data-v-7ab05502]:last-child{border-bottom:none}.benefit-item-compact[data-v-7ab05502]:hover,.benefit-item-compact[data-v-7ab05502]:focus-visible{background:rgba(var(--primary-rgb),.06);outline:none}.benefit-item-compact:hover .benefit-arrow[data-v-7ab05502],.benefit-item-compact:focus-visible .benefit-arrow[data-v-7ab05502]{opacity:1;transform:translate(0)}.benefit-item-compact:hover .benefit-icon-sm[data-v-7ab05502],.benefit-item-compact:focus-visible .benefit-icon-sm[data-v-7ab05502]{transform:scale(1.05)}.benefit-icon-sm[data-v-7ab05502]{width:1.625rem;height:1.625rem;display:flex;align-items:center;justify-content:center;background:rgba(var(--primary-rgb),.12);border-radius:var(--radius-sm);flex-shrink:0;transition:transform .2s var(--ease)}.benefit-icon-sm svg[data-v-7ab05502]{width:.875rem;height:.875rem;color:var(--primary)}.benefit-label[data-v-7ab05502]{flex:1;font-size:.8rem;font-weight:500;color:var(--text-light)}.benefit-item-compact .benefit-arrow[data-v-7ab05502]{width:.75rem;height:.75rem;color:var(--primary);opacity:0;transform:translate(-3px);transition:opacity .2s var(--ease),transform .2s var(--ease);flex-shrink:0}.benefits-grid[data-v-7ab05502]{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.benefit-item[data-v-7ab05502]{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;background:var(--bg-card);text-decoration:none;transition:background .2s var(--ease);position:relative}.benefit-item[data-v-7ab05502]:hover,.benefit-item[data-v-7ab05502]:focus-visible{background:rgba(var(--primary-rgb),.06);outline:none}.benefit-item:hover .benefit-arrow[data-v-7ab05502],.benefit-item:focus-visible .benefit-arrow[data-v-7ab05502]{opacity:1;transform:translate(0)}.benefit-item:hover .benefit-icon[data-v-7ab05502],.benefit-item:focus-visible .benefit-icon[data-v-7ab05502]{transform:scale(1.05)}.benefit-icon[data-v-7ab05502]{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:rgba(var(--primary-rgb),.12);border-radius:var(--radius-sm);flex-shrink:0;transition:transform .2s var(--ease)}.benefit-icon svg[data-v-7ab05502]{width:1.25rem;height:1.25rem;color:var(--primary)}.benefit-content[data-v-7ab05502]{flex:1;min-width:0}.benefit-content h3[data-v-7ab05502]{font-family:var(--display-font);font-size:.9rem;font-weight:600;color:var(--text-white);margin-bottom:.15rem}.benefit-content p[data-v-7ab05502]{font-size:.8rem;color:var(--text-muted);margin:0}.benefit-arrow[data-v-7ab05502]{width:1rem;height:1rem;color:var(--primary);opacity:0;transform:translate(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease);flex-shrink:0}.upsell-card[data-v-7ab05502]{background:var(--bg-card)}.upsell-card[data-v-7ab05502]:before{background:linear-gradient(180deg,var(--primary-light) 0%,var(--primary-dark) 100%);opacity:.85}.upsell-content[data-v-7ab05502]{display:flex;align-items:center;gap:1rem}.upsell-icon[data-v-7ab05502]{width:2.5rem;height:2.5rem;background:rgba(var(--primary-rgb),.12);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.upsell-icon svg[data-v-7ab05502]{width:1.25rem;height:1.25rem;color:var(--primary)}.upsell-text[data-v-7ab05502]{flex:1}.upsell-text h3[data-v-7ab05502]{font-family:var(--display-font);font-size:.95rem;font-weight:600;margin-bottom:.15rem;color:var(--text-white)}.upsell-text p[data-v-7ab05502]{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.4}.upsell-btn[data-v-7ab05502]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.55rem 1.1rem;border-radius:var(--radius);font-weight:600;font-size:.8rem;text-decoration:none;box-shadow:var(--accent-glow);white-space:nowrap;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease),color .2s var(--ease)}.upsell-btn[data-v-7ab05502]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.upsell-btn[data-v-7ab05502]:focus-visible{outline:none;color:#2a1206;box-shadow:var(--ring)}.upsell-btn[data-v-7ab05502]:active{transform:translateY(0)}@media(max-width:1024px){.stats-grid[data-v-7ab05502],.benefits-grid[data-v-7ab05502],.bootcamps-grid[data-v-7ab05502],.dashboard-duo-grid[data-v-7ab05502]{grid-template-columns:1fr}.dashboard-duo-grid .dashboard-section[data-v-7ab05502]{margin-bottom:1.5rem}.dashboard-duo-grid .dashboard-section[data-v-7ab05502]:last-child{margin-bottom:0}}@media(max-width:768px){.main-content[data-v-7ab05502]{margin-left:0;max-width:100%;padding:1.5rem}.welcome-header[data-v-7ab05502]{flex-direction:column;align-items:flex-start;gap:1rem}.subscription-row[data-v-7ab05502]{flex-direction:column;gap:1rem}.subscription-renewal[data-v-7ab05502]{text-align:left}}@media(max-width:640px){.accent-card-inner[data-v-7ab05502],.benefit-item[data-v-7ab05502]{padding:1rem 1.25rem}.upsell-content[data-v-7ab05502]{flex-direction:column;text-align:center}}.manage-subscription-page[data-v-a034928b]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.page-container[data-v-a034928b]{flex:1;padding:1.5rem 2rem;max-width:100%}.page-header[data-v-a034928b]{margin-bottom:1.5rem}.page-header h1[data-v-a034928b]{font-family:var(--display-font);font-size:1.5rem;font-weight:700;color:var(--text-white);margin-bottom:.25rem;letter-spacing:-.02em}.page-header p[data-v-a034928b]{color:var(--text-muted);font-size:.875rem}.loading-state[data-v-a034928b]{text-align:center;padding:2.5rem}.spinner[data-v-a034928b]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.15);border-top-color:var(--primary);border-radius:50%;animation:spin-a034928b .8s linear infinite;margin:0 auto .75rem}@keyframes spin-a034928b{to{transform:rotate(360deg)}}.loading-state p[data-v-a034928b]{color:var(--text-muted);font-size:.85rem}.no-subscription[data-v-a034928b]{position:relative;text-align:center;padding:2.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.no-subscription[data-v-a034928b]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary))}.empty-state-icon[data-v-a034928b]{width:2.75rem;height:2.75rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.empty-state-icon svg[data-v-a034928b]{width:1.25rem;height:1.25rem;color:var(--primary)}.no-subscription h2[data-v-a034928b]{font-family:var(--display-font);font-size:1.125rem;font-weight:600;color:var(--text-white);margin-bottom:.375rem}.no-subscription p[data-v-a034928b]{color:var(--text-muted);font-size:.85rem;margin-bottom:1.25rem}.section-card[data-v-a034928b]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.25rem 1.5rem;margin-bottom:1.25rem;overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.section-card[data-v-a034928b]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary));opacity:.6;transition:opacity .2s var(--ease),transform .2s var(--ease);transform-origin:left center}.section-card[data-v-a034928b]:hover:before{opacity:1;transform:scaleX(1.4)}.section-card[data-v-a034928b]:hover{border-color:rgba(var(--primary-rgb),.3)}.section-header[data-v-a034928b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2[data-v-a034928b]{font-family:var(--display-font);font-size:.95rem;font-weight:600;color:var(--text-white)}.status-badge[data-v-a034928b]{padding:.375rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:600;font-family:var(--mono-font);border:1px solid transparent}.status-badge.active[data-v-a034928b]{background:rgba(var(--primary-rgb),.12);border-color:rgba(var(--primary-rgb),.3);color:var(--success)}.status-badge.cancelled[data-v-a034928b]{background:rgba(var(--primary-rgb),.1);border-color:rgba(var(--primary-rgb),.22);color:var(--warning)}.status-badge.past_due[data-v-a034928b]{background:rgba(var(--primary-rgb),.06);border-color:rgba(var(--primary-rgb),.18);color:var(--error)}.overview-grid[data-v-a034928b]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:1.25rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);margin-bottom:1.5rem}.overview-item[data-v-a034928b]{text-align:center}.overview-item .label[data-v-a034928b]{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.overview-item .value[data-v-a034928b]{font-size:1.25rem;font-weight:600;color:var(--text-white)}.overview-item .value.price[data-v-a034928b]{color:var(--primary);font-family:var(--mono-font)}.subscription-actions[data-v-a034928b]{display:flex;gap:1rem}.primary-btn[data-v-a034928b]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-family:var(--body-font);padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.primary-btn[data-v-a034928b]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.primary-btn[data-v-a034928b]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.secondary-btn[data-v-a034928b]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-white);padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.secondary-btn[data-v-a034928b]:hover:not(:disabled){border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.secondary-btn[data-v-a034928b]:disabled{opacity:.55;cursor:not-allowed;transform:none}.danger-btn[data-v-a034928b]{background:transparent;border:1px solid var(--error);color:var(--error);padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.danger-btn[data-v-a034928b]:hover:not(:disabled){background:var(--error);color:var(--bg-card);transform:translateY(-1px)}.danger-btn[data-v-a034928b]:disabled{opacity:.55;cursor:not-allowed;transform:none}.add-btn[data-v-a034928b]{display:inline-flex;align-items:center;gap:.375rem;background:transparent;border:1px solid var(--border-subtle);color:var(--text-white);padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;text-decoration:none;transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.add-btn[data-v-a034928b]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.add-btn svg[data-v-a034928b]{width:1rem;height:1rem}.all-bootcamps-badge[data-v-a034928b]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.35);border-radius:var(--radius);color:var(--primary);box-shadow:var(--accent-glow)}.all-bootcamps-badge svg[data-v-a034928b]{width:1.5rem;height:1.5rem;flex-shrink:0}.bootcamp-list[data-v-a034928b]{display:flex;flex-direction:column;gap:.75rem}.bootcamp-item[data-v-a034928b]{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:border-color .2s var(--ease),transform .2s var(--ease)}.bootcamp-item[data-v-a034928b]:hover{border-color:rgba(var(--primary-rgb),.3);transform:translateY(-1px)}.bootcamp-info h3[data-v-a034928b]{font-family:var(--display-font);font-size:1rem;color:var(--text-white);margin-bottom:.25rem}.bootcamp-price[data-v-a034928b]{font-size:.85rem;font-family:var(--mono-font);color:var(--text-muted)}.empty-list[data-v-a034928b]{text-align:center;padding:2rem;color:var(--text-muted)}.addons-grid[data-v-a034928b]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.addon-card[data-v-a034928b]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.25rem;display:flex;flex-direction:column;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.addon-card[data-v-a034928b]:hover{border-color:rgba(var(--primary-rgb),.3);transform:translateY(-2px)}.addon-card.active[data-v-a034928b]{border-color:var(--primary);background:rgba(var(--primary-rgb),.05);box-shadow:var(--accent-glow)}.addon-icon[data-v-a034928b]{width:2.5rem;height:2.5rem;background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.addon-icon svg[data-v-a034928b]{width:1.25rem;height:1.25rem;color:var(--primary)}.addon-content[data-v-a034928b]{flex:1}.addon-content h3[data-v-a034928b]{font-family:var(--display-font);font-size:1rem;color:var(--text-white);margin-bottom:.5rem}.addon-content p[data-v-a034928b]{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.4}.addon-price[data-v-a034928b]{font-size:1.25rem;font-weight:700;font-family:var(--mono-font);color:var(--primary);margin-bottom:1rem}.addon-price span[data-v-a034928b]{font-size:.9rem;font-weight:400;color:var(--text-muted)}.addon-action[data-v-a034928b]{margin-top:auto}.add-addon-btn[data-v-a034928b]{width:100%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-family:var(--body-font);padding:.625rem 1rem;border:1px solid transparent;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.add-addon-btn[data-v-a034928b]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.add-addon-btn[data-v-a034928b]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.remove-btn[data-v-a034928b]{width:100%;background:transparent;color:var(--error);border:1px solid var(--error);padding:.625rem 1rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.remove-btn[data-v-a034928b]:hover:not(:disabled){background:var(--error);color:var(--bg-card);transform:translateY(-1px)}.remove-btn[data-v-a034928b]:disabled{opacity:.55;cursor:not-allowed;transform:none}.modal-overlay[data-v-a034928b]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-a034928b]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:2rem;max-width:400px;width:100%;text-align:center}.modal-icon[data-v-a034928b]{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.modal-icon.danger[data-v-a034928b]{background:rgba(var(--primary-rgb),.06);border:1px solid var(--error)}.modal-icon.danger svg[data-v-a034928b]{color:var(--error)}.modal-icon.primary[data-v-a034928b]{background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.3)}.modal-icon.primary svg[data-v-a034928b]{color:var(--primary)}.modal-icon svg[data-v-a034928b]{width:2rem;height:2rem}.modal-price[data-v-a034928b]{font-size:1.5rem;font-weight:700;font-family:var(--mono-font);color:var(--primary);margin-bottom:.5rem!important}.modal-price span[data-v-a034928b]{font-size:1rem;font-weight:400;color:var(--text-muted)}.modal-content h3[data-v-a034928b]{font-family:var(--display-font);font-size:1.25rem;color:var(--text-white);margin-bottom:.75rem}.modal-content p[data-v-a034928b]{color:var(--text-muted);margin-bottom:1.5rem;line-height:1.5}.modal-actions[data-v-a034928b]{display:flex;gap:1rem}.modal-actions button[data-v-a034928b]{flex:1}.toast[data-v-a034928b]{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:1rem 1.5rem;border-radius:var(--radius);font-weight:600;z-index:1001;cursor:pointer;box-shadow:var(--shadow-card);animation:slideUp-a034928b .3s var(--ease)}.toast.success[data-v-a034928b]{background:var(--success);color:var(--bg-card)}.toast.error[data-v-a034928b]{background:var(--error);color:var(--bg-card)}@keyframes slideUp-a034928b{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.overview-grid[data-v-a034928b]{grid-template-columns:1fr;gap:1rem}.addons-grid[data-v-a034928b]{grid-template-columns:1fr}.modal-actions[data-v-a034928b],.subscription-actions[data-v-a034928b]{flex-direction:column}}.community-page[data-v-974ca894]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.page-container[data-v-974ca894]{flex:1;padding:1.5rem;max-width:100%}.page-header[data-v-974ca894]{margin-bottom:1.25rem}.back-btn[data-v-974ca894]{display:inline-flex;align-items:center;gap:.375rem;color:var(--text-muted);text-decoration:none;font-size:.8rem;margin-bottom:.75rem;transition:color .2s var(--ease);background:none;border:none;cursor:pointer;padding:0}.back-btn[data-v-974ca894]:hover{color:var(--primary)}.back-btn[data-v-974ca894]:focus-visible{outline:none;color:var(--primary);box-shadow:var(--ring);border-radius:var(--radius-sm)}.back-btn[data-v-974ca894]:active{color:var(--primary-dark)}.back-btn svg[data-v-974ca894]{width:.875rem;height:.875rem}.page-header h1[data-v-974ca894]{font-family:var(--display-font);font-size:1.25rem;font-weight:600;margin-bottom:.25rem;letter-spacing:-.02em;color:var(--text-white)}.page-header p[data-v-974ca894]{color:var(--text-muted);font-size:.8rem}.loading-state[data-v-974ca894]{text-align:center;padding:3rem 1.5rem}.loading-state p[data-v-974ca894]{font-size:.8rem;color:var(--text-muted)}.spinner[data-v-974ca894]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin-974ca894 1s linear infinite;margin:0 auto .75rem}@keyframes spin-974ca894{to{transform:rotate(360deg)}}.no-access[data-v-974ca894]{position:relative;text-align:center;padding:2.5rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.no-access[data-v-974ca894]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.5}.empty-state-icon[data-v-974ca894],.empty-icon[data-v-974ca894]{width:3rem;height:3rem;background:rgba(var(--primary-rgb),.1);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.empty-state-icon svg[data-v-974ca894],.empty-icon svg[data-v-974ca894]{width:1.5rem;height:1.5rem;color:var(--primary)}.no-access h2[data-v-974ca894],.no-posts h3[data-v-974ca894]{font-family:var(--display-font);font-size:1rem;font-weight:600;margin-bottom:.375rem;letter-spacing:-.02em;color:var(--text-white)}.no-access p[data-v-974ca894],.no-posts p[data-v-974ca894]{color:var(--text-muted);font-size:.8rem;margin-bottom:1.25rem}.toolbar[data-v-974ca894]{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.filters[data-v-974ca894]{display:flex;gap:.75rem}.filter-group[data-v-974ca894]{display:flex;flex-direction:column;gap:.25rem}.filter-group label[data-v-974ca894]{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.filter-group select[data-v-974ca894]{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.375rem .75rem;color:var(--text-white);font-family:var(--body-font);font-size:.8rem;min-width:130px;cursor:pointer;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}.filter-group select[data-v-974ca894]:hover{border-color:rgba(var(--primary-rgb),.4)}.filter-group select[data-v-974ca894]:focus,.filter-group select[data-v-974ca894]:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.primary-btn[data-v-974ca894]{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.5rem .875rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;border:1px solid transparent;cursor:pointer;text-decoration:none;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease)}.primary-btn[data-v-974ca894]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.primary-btn[data-v-974ca894]:focus-visible{outline:none;box-shadow:var(--ring)}.primary-btn[data-v-974ca894]:active:not(:disabled){transform:translateY(0)}.primary-btn[data-v-974ca894]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.primary-btn svg[data-v-974ca894]{width:1rem;height:1rem}.secondary-btn[data-v-974ca894]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-white);padding:.5rem .875rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease)}.secondary-btn[data-v-974ca894]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.secondary-btn[data-v-974ca894]:focus-visible{outline:none;box-shadow:var(--ring)}.secondary-btn[data-v-974ca894]:active{transform:translateY(0)}.posts-list[data-v-974ca894]{display:flex;flex-direction:column;gap:.625rem}.post-card[data-v-974ca894]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem 1.125rem;cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}.post-card[data-v-974ca894]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.5;transition:width .2s var(--ease),opacity .2s var(--ease)}.post-card[data-v-974ca894]:hover:before{width:3px;opacity:1}.post-card[data-v-974ca894]:hover{border-color:rgba(var(--primary-rgb),.4);background:rgba(var(--primary-rgb),.04);transform:translateY(-1px)}.post-card[data-v-974ca894]:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.post-card[data-v-974ca894]:active{transform:translateY(0)}.post-header[data-v-974ca894]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.post-meta[data-v-974ca894]{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.post-author[data-v-974ca894]{color:var(--primary);font-weight:500}.post-date[data-v-974ca894]{color:var(--text-muted)}.post-tags[data-v-974ca894]{display:flex;gap:.375rem}.group-tag[data-v-974ca894],.category-tag[data-v-974ca894]{padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.6rem;text-transform:uppercase;font-weight:600;letter-spacing:.03em}.group-tag[data-v-974ca894]{background:rgba(var(--primary-rgb),.06);border:1px solid var(--border-subtle);color:var(--text-light)}.category-tag[data-v-974ca894]{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.post-card h3[data-v-974ca894]{font-family:var(--display-font);font-size:.9rem;font-weight:600;margin-bottom:.375rem;line-height:1.35;letter-spacing:-.02em;color:var(--text-white)}.post-preview[data-v-974ca894]{color:var(--text-muted);font-size:.8rem;line-height:1.45;margin-bottom:.5rem}.post-footer[data-v-974ca894]{display:flex;align-items:center}.reply-count[data-v-974ca894]{display:flex;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.7rem}.reply-count svg[data-v-974ca894]{width:.875rem;height:.875rem}.no-posts[data-v-974ca894]{position:relative;text-align:center;padding:2.5rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.no-posts[data-v-974ca894]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.5}.pagination[data-v-974ca894]{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem}.page-btn[data-v-974ca894]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-white);padding:.375rem .75rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease),transform .2s var(--ease)}.page-btn[data-v-974ca894]:hover:not(:disabled){border-color:var(--primary);background:rgba(var(--primary-rgb),.08);color:var(--primary-light);transform:translateY(-1px)}.page-btn[data-v-974ca894]:focus-visible{outline:none;box-shadow:var(--ring)}.page-btn[data-v-974ca894]:active:not(:disabled){transform:translateY(0)}.page-btn[data-v-974ca894]:disabled{opacity:.4;cursor:not-allowed;transform:none}.page-info[data-v-974ca894]{color:var(--text-muted);font-size:.75rem}.post-detail[data-v-974ca894]{margin-top:.75rem}.post-full[data-v-974ca894]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.125rem;margin-bottom:1rem;box-shadow:var(--shadow-card)}.post-full[data-v-974ca894]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.6}.post-full .post-meta[data-v-974ca894]{margin-bottom:.75rem}.post-full h2[data-v-974ca894]{font-family:var(--display-font);font-size:1.125rem;font-weight:600;margin-bottom:.75rem;line-height:1.35;letter-spacing:-.02em;color:var(--text-white)}.post-content[data-v-974ca894]{color:var(--text-light);font-size:.85rem;line-height:1.6;white-space:pre-wrap}.post-actions[data-v-974ca894]{display:flex;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.edit-btn[data-v-974ca894],.delete-btn[data-v-974ca894]{padding:.375rem .75rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease);border:1px solid transparent}.edit-btn[data-v-974ca894]{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.edit-btn[data-v-974ca894]:hover{background:rgba(var(--primary-rgb),.2)}.edit-btn[data-v-974ca894]:focus-visible{outline:none;box-shadow:var(--ring)}.delete-btn[data-v-974ca894]{background:rgba(var(--primary-rgb),.04);border-color:var(--border-subtle);color:var(--error)}.delete-btn[data-v-974ca894]:hover{background:rgba(var(--primary-rgb),.04);border-color:var(--error)}.delete-btn[data-v-974ca894]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.32)}.edit-btn.small[data-v-974ca894],.delete-btn.small[data-v-974ca894]{padding:.25rem .5rem;font-size:.7rem}.replies-section[data-v-974ca894]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.125rem;box-shadow:var(--shadow-card)}.replies-section[data-v-974ca894]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.4}.replies-section h3[data-v-974ca894]{font-family:var(--display-font);font-size:.85rem;font-weight:600;margin-bottom:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.replies-list[data-v-974ca894]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.reply-item[data-v-974ca894]{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.reply-item[data-v-974ca894]:hover{border-color:rgba(var(--primary-rgb),.3);background:rgba(var(--primary-rgb),.03)}.reply-meta[data-v-974ca894]{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem;font-size:.75rem}.reply-author[data-v-974ca894]{color:var(--primary);font-weight:500}.reply-date[data-v-974ca894]{color:var(--text-muted)}.reply-content[data-v-974ca894]{color:var(--text-light);font-size:.8rem;line-height:1.5;white-space:pre-wrap}.reply-actions[data-v-974ca894]{display:flex;gap:.375rem;margin-top:.5rem}.no-replies[data-v-974ca894]{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.8rem;margin-bottom:1rem}.reply-form[data-v-974ca894]{border-top:1px solid var(--border-subtle);padding-top:.75rem}.reply-form textarea[data-v-974ca894]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.625rem;color:var(--text-white);font-family:var(--body-font);font-size:.8rem;resize:vertical;margin-bottom:.5rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}.reply-form textarea[data-v-974ca894]::placeholder{color:var(--text-muted);opacity:1}.reply-form textarea[data-v-974ca894]:hover{border-color:rgba(var(--primary-rgb),.4)}.reply-form textarea[data-v-974ca894]:focus,.reply-form textarea[data-v-974ca894]:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.modal-overlay[data-v-974ca894]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content[data-v-974ca894]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;max-width:550px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-card)}.modal-content[data-v-974ca894]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary)}.modal-content h3[data-v-974ca894]{font-family:var(--display-font);font-size:1rem;font-weight:600;color:var(--text-white);margin-bottom:1rem;letter-spacing:-.02em}.form-group[data-v-974ca894]{margin-bottom:.875rem}.form-group label[data-v-974ca894]{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.375rem;color:var(--text-muted)}.form-group input[data-v-974ca894],.form-group textarea[data-v-974ca894],.form-group select[data-v-974ca894]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.625rem .75rem;color:var(--text-white);font-family:var(--body-font);font-size:.8rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}.form-group input[data-v-974ca894]::placeholder,.form-group textarea[data-v-974ca894]::placeholder{color:var(--text-muted);opacity:1}.form-group input[data-v-974ca894]:hover,.form-group textarea[data-v-974ca894]:hover,.form-group select[data-v-974ca894]:hover{border-color:rgba(var(--primary-rgb),.4)}.form-group input[data-v-974ca894]:focus,.form-group textarea[data-v-974ca894]:focus,.form-group select[data-v-974ca894]:focus,.form-group input[data-v-974ca894]:focus-visible,.form-group textarea[data-v-974ca894]:focus-visible,.form-group select[data-v-974ca894]:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.form-group textarea[data-v-974ca894]{resize:vertical;min-height:100px}.form-group select[data-v-974ca894]{cursor:pointer}.form-row[data-v-974ca894]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.modal-actions[data-v-974ca894]{display:flex;gap:.5rem;margin-top:1rem;justify-content:flex-end}.toast[data-v-974ca894]{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.625rem 1rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;z-index:1001;cursor:pointer;animation:slideUp-974ca894 .25s var(--ease);box-shadow:var(--shadow-card)}.toast.success[data-v-974ca894]{background:var(--success);color:#2a1206}.toast.error[data-v-974ca894]{background:var(--error);color:#2a1206}@keyframes slideUp-974ca894{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.page-header[data-v-974ca894]{flex-direction:column;align-items:flex-start;gap:.75rem}.toolbar[data-v-974ca894]{flex-direction:column;align-items:stretch;gap:.75rem}.filters[data-v-974ca894]{flex-direction:column;gap:.5rem}.filter-group select[data-v-974ca894]{width:100%}.form-row[data-v-974ca894]{grid-template-columns:1fr}.post-header[data-v-974ca894]{flex-direction:column;gap:.375rem}.modal-content[data-v-974ca894]{padding:1rem 1.25rem;max-height:90vh}.modal-actions[data-v-974ca894]{flex-direction:column}.modal-actions button[data-v-974ca894]{width:100%}.post-detail-header[data-v-974ca894]{flex-direction:column;align-items:flex-start;gap:.5rem}.reply-header[data-v-974ca894]{flex-direction:column;align-items:flex-start;gap:.25rem}}.messages-page[data-v-87665ffc]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.page-container[data-v-87665ffc]{flex:1;padding:1.5rem;max-width:100%;height:calc(100vh - 3rem);display:flex;flex-direction:column}.page-header[data-v-87665ffc]{flex-shrink:0;margin-bottom:1rem}.page-header h1[data-v-87665ffc]{font-family:var(--display-font);font-size:1.25rem;font-weight:600;margin-bottom:.25rem;letter-spacing:-.01em;color:var(--text-white)}.page-header p[data-v-87665ffc]{color:var(--text-muted);font-size:.8rem}.loading-state[data-v-87665ffc]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-state p[data-v-87665ffc]{font-size:.8rem;color:var(--text-muted)}.spinner[data-v-87665ffc]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin-87665ffc 1s linear infinite;margin-bottom:.75rem}@keyframes spin-87665ffc{to{transform:rotate(360deg)}}.dms-upsell[data-v-87665ffc]{background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.35);color:var(--text-light);border-radius:var(--radius-sm);padding:.7rem 1rem;font-size:.85rem;margin-bottom:1rem}.dms-upsell a[data-v-87665ffc]{color:var(--primary-light);font-weight:600;text-decoration:underline}.dms-upsell a[data-v-87665ffc]:hover{color:var(--primary)}.no-access[data-v-87665ffc]{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.no-access[data-v-87665ffc]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.6}.empty-state-icon[data-v-87665ffc],.empty-icon[data-v-87665ffc]{width:3rem;height:3rem;background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.empty-state-icon svg[data-v-87665ffc],.empty-icon svg[data-v-87665ffc]{width:1.5rem;height:1.5rem;color:var(--primary)}.no-access h2[data-v-87665ffc]{font-family:var(--display-font);font-size:1rem;font-weight:600;margin-bottom:.375rem;color:var(--text-white)}.no-access p[data-v-87665ffc]{color:var(--text-muted);font-size:.8rem;margin-bottom:1.25rem}.primary-btn[data-v-87665ffc]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.6rem 1.15rem;border-radius:var(--radius);font-weight:600;font-size:.8rem;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.375rem;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.primary-btn[data-v-87665ffc]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.primary-btn[data-v-87665ffc]:focus-visible{outline:none;box-shadow:var(--ring)}.messages-content[data-v-87665ffc]{flex:1;display:flex;flex-direction:column;min-height:0}.chat-container[data-v-87665ffc]{position:relative;flex:1;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.chat-container[data-v-87665ffc]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--primary);opacity:.6;z-index:1}.mentor-info[data-v-87665ffc]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-dark)}.mentor-avatar[data-v-87665ffc]{width:2.25rem;height:2.25rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--accent-glow)}.mentor-avatar svg[data-v-87665ffc]{width:1.125rem;height:1.125rem;color:#2a1206}.mentor-details h3[data-v-87665ffc]{font-family:var(--display-font);font-size:.85rem;font-weight:600;margin-bottom:.125rem;color:var(--text-white)}.mentor-details p[data-v-87665ffc]{font-size:.7rem;color:var(--text-muted)}.messages-list[data-v-87665ffc]{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.625rem}.no-messages[data-v-87665ffc]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem}.no-messages h3[data-v-87665ffc]{font-family:var(--display-font);font-size:.95rem;font-weight:600;margin-bottom:.375rem;color:var(--text-white)}.no-messages p[data-v-87665ffc]{color:var(--text-muted);font-size:.8rem;max-width:280px}.message[data-v-87665ffc]{display:flex;max-width:75%}.message.from-me[data-v-87665ffc]{align-self:flex-end}.message.from-mentor[data-v-87665ffc]{align-self:flex-start}.message-bubble[data-v-87665ffc]{padding:.625rem .875rem;border-radius:var(--radius);max-width:100%}.message.from-me .message-bubble[data-v-87665ffc]{background:rgba(var(--primary-rgb),.14);border:1px solid rgba(var(--primary-rgb),.28);color:var(--text-white);border-bottom-right-radius:var(--radius-sm)}.message.from-mentor .message-bubble[data-v-87665ffc]{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-white);border-bottom-left-radius:var(--radius-sm)}.message-bubble p[data-v-87665ffc]{margin:0;font-size:.85rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.message-time[data-v-87665ffc]{display:block;font-size:.65rem;margin-top:.25rem;opacity:.65}.message-form[data-v-87665ffc]{padding:.75rem 1rem;border-top:1px solid var(--border-subtle);background:var(--bg-dark)}.input-wrapper[data-v-87665ffc]{display:flex;gap:.5rem;align-items:flex-end}.input-wrapper textarea[data-v-87665ffc]{flex:1;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.5rem .875rem;color:var(--text-white);font-family:var(--body-font);font-size:.85rem;resize:none;max-height:120px;line-height:1.4;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}.input-wrapper textarea[data-v-87665ffc]:hover{border-color:rgba(var(--primary-rgb),.4)}.input-wrapper textarea[data-v-87665ffc]:focus{outline:none;border-color:var(--primary);background:var(--bg-body);box-shadow:var(--ring)}.input-wrapper textarea[data-v-87665ffc]::placeholder{color:var(--text-muted);opacity:1}.send-btn[data-v-87665ffc]{width:2.25rem;height:2.25rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));border:1px solid transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease);flex-shrink:0}.send-btn[data-v-87665ffc]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.send-btn[data-v-87665ffc]:focus-visible{outline:none;box-shadow:var(--ring)}.send-btn[data-v-87665ffc]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.send-btn svg[data-v-87665ffc]{width:1rem;height:1rem;color:#2a1206}.sending-spinner[data-v-87665ffc]{width:1rem;height:1rem;border:2px solid rgba(42,18,6,.35);border-top-color:#2a1206;border-radius:50%;animation:spin-87665ffc .8s linear infinite}.toast[data-v-87665ffc]{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.625rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.8rem;z-index:1001;cursor:pointer;animation:slideUp-87665ffc .3s ease;box-shadow:var(--shadow-card)}.toast.success[data-v-87665ffc]{background:var(--success);color:#0c0a09}.toast.error[data-v-87665ffc]{background:var(--error);color:#0c0a09}@keyframes slideUp-87665ffc{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.page-container[data-v-87665ffc]{padding:1rem}.page-header h1[data-v-87665ffc]{font-size:1.125rem}.message[data-v-87665ffc]{max-width:85%}.mentor-info[data-v-87665ffc]{padding:.625rem .75rem}.mentor-avatar[data-v-87665ffc]{width:2rem;height:2rem}.mentor-avatar svg[data-v-87665ffc]{width:1rem;height:1rem}.mentor-details h3[data-v-87665ffc]{font-size:.8rem}.mentor-details p[data-v-87665ffc]{font-size:.65rem}.messages-list[data-v-87665ffc]{padding:.75rem}.message-bubble[data-v-87665ffc]{padding:.5rem .75rem}.message-bubble p[data-v-87665ffc]{font-size:.8rem}.toast[data-v-87665ffc]{left:1rem;right:1rem;transform:none;text-align:center}@keyframes slideUp-87665ffc{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}}:root:not(.dark) .chat-container[data-v-87665ffc]{background:var(--bg-card)}.call-bookings-page[data-v-b0d00062]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.page-container[data-v-b0d00062]{flex:1;padding:1.5rem;max-width:100%}.page-header[data-v-b0d00062]{margin-bottom:1.5rem}.header-row[data-v-b0d00062]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.page-header h1[data-v-b0d00062]{font-family:var(--display-font);font-size:1.5rem;font-weight:700;margin-bottom:.25rem;letter-spacing:-.02em;color:var(--text-white)}.page-header p[data-v-b0d00062]{color:var(--text-muted);font-size:.85rem}.dev-toolbar[data-v-b0d00062]{display:flex;align-items:center;gap:.375rem;margin-top:.75rem;padding:.5rem .75rem;background:rgba(var(--primary-rgb),.06);border:1px solid var(--border-subtle);border-left:2px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;flex-wrap:wrap}.dev-label[data-v-b0d00062]{color:var(--primary);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-family:var(--mono-font)}.dev-btn[data-v-b0d00062]{background:rgba(var(--primary-rgb),.1);border:1px solid var(--border-subtle);color:var(--primary-light);padding:.25rem .55rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),opacity .2s var(--ease);white-space:nowrap}.dev-btn[data-v-b0d00062]:hover:not(:disabled){background:rgba(var(--primary-rgb),.18);border-color:var(--primary)}.dev-btn.danger[data-v-b0d00062]{background:rgba(var(--primary-rgb),.04);color:var(--error)}.dev-btn.danger[data-v-b0d00062]:hover:not(:disabled){background:rgba(var(--primary-rgb),.04);border-color:var(--error);color:var(--error)}.dev-btn[data-v-b0d00062]:disabled{opacity:.55;cursor:not-allowed}.loading-state[data-v-b0d00062]{text-align:center;padding:3rem 1.5rem}.loading-state p[data-v-b0d00062]{font-size:.85rem;color:var(--text-muted)}.spinner[data-v-b0d00062]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin-b0d00062 1s linear infinite;margin:0 auto .75rem}@keyframes spin-b0d00062{to{transform:rotate(360deg)}}.no-access[data-v-b0d00062]{position:relative;text-align:center;padding:2.5rem 1.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.no-access[data-v-b0d00062]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.empty-state-icon[data-v-b0d00062]{width:3rem;height:3rem;background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.empty-state-icon svg[data-v-b0d00062]{width:1.5rem;height:1.5rem;color:var(--primary)}.no-access h2[data-v-b0d00062]{font-family:var(--display-font);font-size:1.1rem;font-weight:600;margin-bottom:.375rem;letter-spacing:-.01em;color:var(--text-white)}.no-access p[data-v-b0d00062]{color:var(--text-muted);font-size:.85rem;margin-bottom:1.25rem}.primary-btn[data-v-b0d00062]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.6rem 1.15rem;border-radius:var(--radius);font-family:var(--body-font);font-weight:600;font-size:.85rem;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.375rem;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.primary-btn[data-v-b0d00062]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.primary-btn[data-v-b0d00062]:focus-visible{outline:none;box-shadow:var(--ring)}.booking-options[data-v-b0d00062]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;margin-bottom:1.5rem}.booking-option[data-v-b0d00062]{position:relative;display:flex;align-items:center;gap:1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem 1.125rem;cursor:pointer;overflow:hidden;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease),opacity .2s var(--ease)}.booking-option[data-v-b0d00062]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--primary);opacity:.5;transition:width .2s var(--ease),opacity .2s var(--ease)}.booking-option[data-v-b0d00062]:hover:not(.disabled):before{width:3px;opacity:1}.booking-option[data-v-b0d00062]:hover:not(.disabled){border-color:rgba(var(--primary-rgb),.4);box-shadow:var(--accent-glow);transform:translateY(-1px)}.booking-option[data-v-b0d00062]:focus-visible{outline:none;box-shadow:var(--ring)}.booking-option.disabled[data-v-b0d00062]{opacity:.6;cursor:not-allowed}.booking-option.disabled .option-icon[data-v-b0d00062]{opacity:.5}.booked-notice[data-v-b0d00062]{color:var(--primary-light)!important;font-size:.75rem!important}.option-badge[data-v-b0d00062]{display:flex;align-items:center;gap:.25rem;background:rgba(var(--primary-rgb),.04);color:var(--success);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;white-space:nowrap}.option-badge svg[data-v-b0d00062]{width:.75rem;height:.75rem}.option-icon[data-v-b0d00062]{width:2.5rem;height:2.5rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle)}.option-icon.group svg[data-v-b0d00062],.option-icon.one-on-one svg[data-v-b0d00062]{color:var(--primary)}.option-icon svg[data-v-b0d00062]{width:1.125rem;height:1.125rem}.option-content[data-v-b0d00062]{flex:1;min-width:0}.option-content h3[data-v-b0d00062]{font-family:var(--display-font);font-size:.95rem;font-weight:600;margin-bottom:.25rem;letter-spacing:-.01em;color:var(--text-white)}.option-content p[data-v-b0d00062]{color:var(--text-muted);font-size:.78rem;margin-bottom:.125rem;line-height:1.4}.option-meta[data-v-b0d00062]{font-size:.7rem;color:var(--primary)}.option-arrow[data-v-b0d00062]{color:var(--text-muted);opacity:.5;transition:opacity .2s var(--ease),transform .2s var(--ease)}.booking-option:hover:not(.disabled) .option-arrow[data-v-b0d00062]{opacity:1;transform:translate(2px);color:var(--primary)}.option-arrow svg[data-v-b0d00062]{width:1rem;height:1rem}.section-card[data-v-b0d00062]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.125rem 1.25rem;margin-bottom:1rem;overflow:hidden}.section-card[data-v-b0d00062]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:.6}.section-card h2[data-v-b0d00062]{font-family:var(--display-font);font-size:.78rem;font-weight:600;margin-bottom:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.bookings-list[data-v-b0d00062]{display:flex;flex-direction:column;gap:.5rem}.booking-card[data-v-b0d00062]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:border-color .2s var(--ease),background-color .2s var(--ease)}.booking-card[data-v-b0d00062]:hover{border-color:rgba(var(--primary-rgb),.4)}.booking-card.past[data-v-b0d00062]{opacity:.6}.booking-type[data-v-b0d00062]{width:2rem;height:2rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle)}.booking-type.group svg[data-v-b0d00062],.booking-type.one_on_one svg[data-v-b0d00062]{color:var(--primary)}.booking-type svg[data-v-b0d00062]{width:1rem;height:1rem}.booking-info[data-v-b0d00062]{flex:1;min-width:0}.booking-info h3[data-v-b0d00062]{font-family:var(--display-font);font-size:.9rem;font-weight:600;margin-bottom:.25rem;letter-spacing:-.01em;color:var(--text-white)}.booking-datetime[data-v-b0d00062],.booking-duration[data-v-b0d00062]{display:flex;align-items:center;gap:.3rem;color:var(--text-muted);font-size:.75rem;font-family:var(--mono-font)}.booking-datetime svg[data-v-b0d00062],.booking-duration svg[data-v-b0d00062]{width:.75rem;height:.75rem;flex-shrink:0;opacity:.7}.booking-actions[data-v-b0d00062]{display:flex;gap:.375rem}.join-btn[data-v-b0d00062]{background:var(--success);color:var(--bg-darker);padding:.4rem .8rem;border-radius:var(--radius-sm);font-weight:600;font-size:.75rem;text-decoration:none;transition:transform .2s var(--ease),filter .2s var(--ease)}.join-btn[data-v-b0d00062]:hover{color:var(--bg-darker);filter:brightness(1.08);transform:translateY(-1px)}.join-btn[data-v-b0d00062]:focus-visible{outline:none;box-shadow:var(--ring)}.cancel-btn[data-v-b0d00062]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-white);padding:.4rem .8rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease),opacity .2s var(--ease)}.cancel-btn[data-v-b0d00062]:hover:not(:disabled){border-color:var(--error);color:var(--error);background:rgba(var(--primary-rgb),.04)}.cancel-btn[data-v-b0d00062]:focus-visible{outline:none;box-shadow:var(--ring)}.cancel-btn[data-v-b0d00062]:disabled{opacity:.55;cursor:not-allowed}.booking-status[data-v-b0d00062]{padding:.25rem .55rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-subtle)}.booking-status.completed[data-v-b0d00062]{background:rgba(var(--primary-rgb),.04);color:var(--success);border-color:rgba(var(--primary-rgb),.04)}.booking-status.cancelled[data-v-b0d00062]{background:rgba(var(--primary-rgb),.04);color:var(--text-muted)}.booking-status.no_show[data-v-b0d00062]{background:rgba(var(--primary-rgb),.04);color:var(--warning)}.modal-overlay[data-v-b0d00062]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;z-index:1000;padding:1.5rem 1rem;overflow-y:auto}.modal-content.sessions-modal[data-v-b0d00062]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);width:100%;max-width:600px;margin:auto;overflow:hidden}.modal-content.sessions-modal[data-v-b0d00062]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary);opacity:.7}.modal-header[data-v-b0d00062]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle)}.modal-header h2[data-v-b0d00062]{font-family:var(--display-font);font-size:1rem;font-weight:600;margin:0;letter-spacing:-.01em;color:var(--text-white)}.modal-close-btn[data-v-b0d00062]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;padding:.375rem;border-radius:var(--radius-sm);transition:border-color .2s var(--ease),color .2s var(--ease),background-color .2s var(--ease)}.modal-close-btn[data-v-b0d00062]:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.08);color:var(--primary-light)}.modal-close-btn[data-v-b0d00062]:focus-visible{outline:none;box-shadow:var(--ring)}.modal-close-btn svg[data-v-b0d00062]{width:1rem;height:1rem}.modal-body[data-v-b0d00062]{padding:1rem 1.25rem;max-height:70vh;overflow-y:auto}.sessions-loading[data-v-b0d00062]{text-align:center;padding:1.5rem}.sessions-loading p[data-v-b0d00062]{font-size:.85rem;color:var(--text-muted)}.sessions-section[data-v-b0d00062]{margin-bottom:1.5rem}.sessions-section[data-v-b0d00062]:last-child{margin-bottom:0}.sessions-section h3[data-v-b0d00062]{font-family:var(--display-font);font-size:.7rem;font-weight:600;color:var(--text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.sessions-list[data-v-b0d00062]{display:flex;flex-direction:column;gap:.5rem}.session-card[data-v-b0d00062]{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.875rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.session-card[data-v-b0d00062]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--primary);opacity:.4;transition:opacity .2s var(--ease)}.session-card[data-v-b0d00062]:not(.past):not(.cancelled):hover:before{opacity:1}.session-card[data-v-b0d00062]:not(.past):not(.cancelled):hover{border-color:rgba(var(--primary-rgb),.4)}.session-card.past[data-v-b0d00062]{opacity:.6}.session-card.cancelled[data-v-b0d00062]{opacity:.5}.session-info[data-v-b0d00062]{flex:1;min-width:0}.session-info h4[data-v-b0d00062]{font-family:var(--display-font);font-size:.9rem;font-weight:600;margin-bottom:.125rem;letter-spacing:-.01em;color:var(--text-white)}.session-bootcamp[data-v-b0d00062]{color:var(--primary);font-size:.75rem;margin-bottom:.375rem}.session-meta[data-v-b0d00062]{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.375rem}.session-date[data-v-b0d00062],.session-time[data-v-b0d00062]{display:flex;align-items:center;gap:.3rem;color:var(--text-muted);font-size:.75rem;font-family:var(--mono-font)}.session-date svg[data-v-b0d00062],.session-time svg[data-v-b0d00062]{width:.75rem;height:.75rem;flex-shrink:0;opacity:.7}.session-description[data-v-b0d00062]{color:var(--text-muted);font-size:.75rem;margin-top:.375rem;line-height:1.4}.session-action[data-v-b0d00062]{flex-shrink:0}.cancelled-badge[data-v-b0d00062]{display:inline-block;padding:.25rem .55rem;background:rgba(var(--primary-rgb),.04);color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.link-pending[data-v-b0d00062]{color:var(--text-muted);font-size:.75rem;font-style:italic}.session-status[data-v-b0d00062]{padding:.25rem .55rem;border-radius:var(--radius-sm);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-subtle)}.session-status.completed[data-v-b0d00062]{background:rgba(var(--primary-rgb),.04);color:var(--success)}.session-status.cancelled[data-v-b0d00062]{background:rgba(var(--primary-rgb),.04);color:var(--text-muted)}.more-sessions-note[data-v-b0d00062]{text-align:center;padding:.75rem;margin-top:.5rem;color:var(--text-muted);font-size:.75rem;background:rgba(var(--primary-rgb),.06);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.no-sessions[data-v-b0d00062]{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.85rem}.no-sessions .subtext[data-v-b0d00062]{font-size:.75rem;margin-top:.375rem;opacity:.7}.modal-content.cal-modal[data-v-b0d00062]{background:transparent;border:none;border-radius:0;width:100%;max-width:1000px;min-height:600px;margin:2.5rem auto 1.5rem;overflow:visible;position:relative}.close-btn[data-v-b0d00062]{position:fixed;top:.75rem;right:.75rem;height:2rem;padding:0 .85rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));border:1px solid transparent;border-radius:var(--radius);display:flex;align-items:center;gap:.375rem;cursor:pointer;z-index:1001;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease);color:#2a1206;font-weight:600;font-size:.8rem}.close-btn[data-v-b0d00062]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.close-btn[data-v-b0d00062]:focus-visible{outline:none;box-shadow:var(--ring)}.close-btn svg[data-v-b0d00062]{width:1rem;height:1rem;color:#2a1206}.close-btn span[data-v-b0d00062]{color:#2a1206}.cal-embed-container[data-v-b0d00062]{width:100%;min-height:600px;padding:0}#cal-embed[data-v-b0d00062]{width:100%;min-height:600px}#cal-embed iframe[data-v-b0d00062]{border-radius:var(--radius)!important;min-height:600px!important}.toast[data-v-b0d00062]{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.7rem 1.1rem;border-radius:var(--radius);font-weight:600;font-size:.82rem;z-index:1001;cursor:pointer;animation:slideUp-b0d00062 .3s var(--ease);box-shadow:var(--shadow-card)}.toast.success[data-v-b0d00062]{background:var(--success);color:var(--bg-darker)}.toast.error[data-v-b0d00062]{background:var(--error);color:var(--bg-darker)}@keyframes slideUp-b0d00062{0%{opacity:0;transform:translate(-50%) translateY(.5rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.page-container[data-v-b0d00062]{padding:1rem}.page-header h1[data-v-b0d00062]{font-size:1.25rem}.booking-options[data-v-b0d00062]{grid-template-columns:1fr}.booking-option[data-v-b0d00062]{flex-direction:column;text-align:center;padding:.875rem}.booking-option[data-v-b0d00062]:before{width:100%;height:2px;left:0;top:0;bottom:auto}.booking-option[data-v-b0d00062]:hover:not(.disabled):before{width:100%;height:3px}.option-arrow[data-v-b0d00062]{display:none}.booking-card[data-v-b0d00062]{flex-direction:column;text-align:center;padding:.625rem}.booking-actions[data-v-b0d00062]{width:100%;justify-content:center}.session-card[data-v-b0d00062]{flex-direction:column;padding:.75rem}.session-action[data-v-b0d00062]{width:100%;text-align:center}.session-action .join-btn[data-v-b0d00062]{width:100%;display:block;text-align:center;padding:.55rem .75rem}.modal-content.sessions-modal[data-v-b0d00062]{max-width:100%;margin:.5rem}.toast[data-v-b0d00062]{left:1rem;right:1rem;transform:none;text-align:center}@keyframes slideUp-b0d00062{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}}.booking-options[data-v-b0d00062]:has(.booking-option:only-child){max-width:400px}.code-editor-wrapper[data-v-c5c34045]{width:100%;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-darker);overflow:hidden;font-family:var(--mono-font);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.code-editor-wrapper[data-v-c5c34045]:focus-within{border-color:var(--primary);box-shadow:var(--ring)}.code-editor-wrapper[data-v-c5c34045] .cm-editor{height:100%}.code-editor-wrapper[data-v-c5c34045] .cm-scroller,.code-editor-wrapper[data-v-c5c34045] .cm-content,.code-editor-wrapper[data-v-c5c34045] .cm-gutters{font-family:var(--mono-font)}.code-editor-wrapper[data-v-c5c34045] .cm-activeLine{background-color:rgba(var(--primary-rgb),.06)}.code-editor-wrapper[data-v-c5c34045] .cm-activeLineGutter{color:var(--primary)}html.dark .code-editor-wrapper[data-v-c5c34045] .ͼb{color:#fb923c}html.dark .code-editor-wrapper[data-v-c5c34045] .ͼc{color:#fbbf24}html.dark .code-editor-wrapper[data-v-c5c34045] .ͼd{color:#a3e635}html.dark .code-editor-wrapper[data-v-c5c34045] .ͼe{color:#78716c;font-style:italic}html.dark .code-editor-wrapper[data-v-c5c34045] .ͼg{color:#c084fc}html.dark .code-editor-wrapper[data-v-c5c34045] .ͼi{color:#38bdf8}html.dark .code-editor-wrapper[data-v-c5c34045] .ͼl{color:#22d3ee}html:not(.dark) .code-editor-wrapper[data-v-c5c34045] .ͼb{color:#c2410c}html:not(.dark) .code-editor-wrapper[data-v-c5c34045] .ͼc{color:#b45309}html:not(.dark) .code-editor-wrapper[data-v-c5c34045] .ͼd{color:#15803d}html:not(.dark) .code-editor-wrapper[data-v-c5c34045] .ͼe{color:#78716c;font-style:italic}html:not(.dark) .code-editor-wrapper[data-v-c5c34045] .ͼg{color:#7c3aed}html:not(.dark) .code-editor-wrapper[data-v-c5c34045] .ͼi{color:#0369a1}html:not(.dark) .code-editor-wrapper[data-v-c5c34045] .ͼl{color:#0e7490}@media(max-width:480px){.code-editor-wrapper[data-v-c5c34045] .cm-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}.code-editor-wrapper[data-v-c5c34045] .cm-content,.code-editor-wrapper[data-v-c5c34045] .cm-gutters{font-size:12px;min-width:min-content}.code-editor-wrapper[data-v-c5c34045] .cm-lineNumbers .cm-gutterElement{min-width:28px;padding:0 4px}}.ai-chat[data-v-36476058]{position:relative;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-body);color:var(--text-white);font-family:var(--body-font)}.ai-toolbar[data-v-36476058]{display:flex;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border-subtle);flex-shrink:0;background:var(--bg-dark)}.ai-tool-btn[data-v-36476058]{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:.75rem;font-family:var(--body-font);font-weight:500;padding:.3rem .65rem;border-radius:9999px;cursor:pointer;transition:color .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease),transform .18s var(--ease)}.ai-tool-btn[data-v-36476058]:hover{color:var(--primary-light);border-color:var(--primary);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.ai-tool-btn.active[data-v-36476058]{color:var(--primary-light);border-color:var(--primary);background:rgba(var(--primary-rgb),.12)}.ai-tool-btn[data-v-36476058]:focus-visible{outline:none;box-shadow:var(--ring)}.ai-tool-btn svg[data-v-36476058]{width:14px;height:14px}.ai-history[data-v-36476058]{position:absolute;top:42px;left:.75rem;right:.75rem;z-index:5;max-height:60%;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-card)}.ai-history-empty[data-v-36476058]{padding:.9rem;font-size:.8rem;color:var(--text-muted);text-align:center}.ai-history-item[data-v-36476058]{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .75rem;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;font-size:.82rem;color:var(--text-light);transition:background .15s var(--ease),color .15s var(--ease)}.ai-history-item[data-v-36476058]:hover{background:rgba(var(--primary-rgb),.06);color:var(--text-white)}.ai-history-item.active[data-v-36476058]{background:rgba(var(--primary-rgb),.12);color:var(--text-white)}.ai-history-item[data-v-36476058]:focus-visible{outline:none;box-shadow:var(--ring)}.ai-history-title[data-v-36476058]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-history-meta[data-v-36476058]{font-size:.68rem;color:var(--text-muted);flex-shrink:0}.ai-history-del[data-v-36476058]{color:var(--text-muted);font-size:1rem;line-height:1;padding:0 .2rem;flex-shrink:0;transition:color .15s var(--ease)}.ai-history-del[data-v-36476058]:hover{color:var(--error)}.ai-messages[data-v-36476058]{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ai-empty[data-v-36476058]{margin:auto;text-align:center;color:var(--text-muted);max-width:420px;padding:1rem}.ai-empty-icon[data-v-36476058]{font-size:2rem}.ai-empty-title[data-v-36476058]{font-family:var(--display-font);letter-spacing:-.02em;font-weight:600;color:var(--text-white);margin:.5rem 0 .25rem}.ai-empty-sub[data-v-36476058]{font-size:.875rem;margin:0 0 1rem}.ai-suggestions[data-v-36476058]{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.ai-suggestion[data-v-36476058]{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-light);border-radius:9999px;padding:.4rem .8rem;font-size:.8rem;font-family:var(--body-font);cursor:pointer;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}.ai-suggestion[data-v-36476058]:hover{background:rgba(var(--primary-rgb),.08);border-color:var(--primary);color:var(--primary-light);transform:translateY(-1px)}.ai-suggestion[data-v-36476058]:focus-visible{outline:none;box-shadow:var(--ring)}.ai-msg[data-v-36476058]{display:flex}.ai-msg.user[data-v-36476058]{justify-content:flex-end}.ai-bubble[data-v-36476058]{max-width:85%;padding:.6rem .85rem;border-radius:var(--radius);font-size:.9rem;line-height:1.5;word-wrap:break-word;overflow-wrap:anywhere}.ai-msg.user .ai-bubble[data-v-36476058]{background:rgba(var(--primary-rgb),.14);border:1px solid rgba(var(--primary-rgb),.28);color:var(--text-white);border-bottom-right-radius:var(--radius-sm)}.ai-msg.assistant .ai-bubble[data-v-36476058]{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-light);border-bottom-left-radius:var(--radius-sm)}.ai-bubble[data-v-36476058] strong{color:var(--text-white);font-weight:600}.ai-bubble[data-v-36476058] a{color:var(--primary-light)}.ai-bubble[data-v-36476058] a:hover{color:var(--primary)}.ai-bubble[data-v-36476058] .ai-code{background:var(--bg-darker);color:var(--text-light);border:1px solid var(--border-subtle);padding:.6rem .75rem;border-radius:var(--radius-sm);overflow-x:auto;margin:.5rem 0;font-size:.8rem;font-family:var(--mono-font);line-height:1.5}.ai-bubble[data-v-36476058] .ai-inline{background:rgba(var(--primary-rgb),.12);color:var(--primary-light);padding:.1rem .35rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.85em}.ai-typing[data-v-36476058]{display:inline-flex;gap:4px;align-items:center}.ai-typing span[data-v-36476058]{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:ai-blink-36476058 1.2s infinite both}.ai-typing span[data-v-36476058]:nth-child(2){animation-delay:.2s}.ai-typing span[data-v-36476058]:nth-child(3){animation-delay:.4s}@keyframes ai-blink-36476058{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.ai-error[data-v-36476058]{padding:.5rem 1rem;color:var(--error);background:rgba(var(--primary-rgb),0);font-size:.8rem;border-top:1px solid var(--border-subtle)}.ai-input-row[data-v-36476058]{border-top:1px solid var(--border-subtle);padding:.6rem;display:flex;flex-direction:column;gap:.4rem;background:var(--bg-dark)}.ai-code-toggle[data-v-36476058]{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-muted);cursor:pointer}.ai-code-toggle input[data-v-36476058]{accent-color:var(--primary)}.ai-code-toggle input:disabled+span[data-v-36476058]{opacity:.5}.ai-input-wrap[data-v-36476058]{display:flex;align-items:flex-end;gap:.5rem}.ai-input[data-v-36476058]{flex:1;resize:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.6rem .75rem;font-size:.9rem;font-family:var(--body-font);max-height:140px;background:var(--bg-body);color:var(--text-white);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.ai-input[data-v-36476058]::placeholder{color:var(--text-muted);opacity:1}.ai-input[data-v-36476058]:hover{border-color:rgba(var(--primary-rgb),.4)}.ai-input[data-v-36476058]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.ai-send[data-v-36476058]{width:40px;height:40px;flex:none;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;box-shadow:var(--accent-glow);display:flex;align-items:center;justify-content:center;transition:transform .18s var(--ease),box-shadow .18s var(--ease),opacity .18s var(--ease)}.ai-send[data-v-36476058]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.ai-send[data-v-36476058]:focus-visible{outline:none;box-shadow:var(--ring)}.ai-send svg[data-v-36476058]{width:20px;height:20px}.ai-send[data-v-36476058]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.ai-messages[data-v-36476058],.ai-history[data-v-36476058]{scrollbar-width:thin;scrollbar-color:var(--border-subtle) transparent}.ai-messages[data-v-36476058]::-webkit-scrollbar,.ai-history[data-v-36476058]::-webkit-scrollbar{width:8px;height:8px}.ai-messages[data-v-36476058]::-webkit-scrollbar-track,.ai-history[data-v-36476058]::-webkit-scrollbar-track{background:transparent}.ai-messages[data-v-36476058]::-webkit-scrollbar-thumb,.ai-history[data-v-36476058]::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:8px;border:2px solid transparent;background-clip:padding-box}.ai-messages[data-v-36476058]::-webkit-scrollbar-thumb:hover,.ai-history[data-v-36476058]::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary-rgb),.5);background-clip:padding-box}.ai-bubble[data-v-36476058] .ai-code::-webkit-scrollbar{height:6px}.ai-bubble[data-v-36476058] .ai-code::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:8px}.ai-widget[data-v-12836309]{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9000;font-family:var(--body-font)}.ai-widget-bubble[data-v-12836309]{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:var(--text-white);display:flex;align-items:center;justify-content:center;margin-left:auto;box-shadow:var(--accent-glow);transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease)}.ai-widget-bubble[data-v-12836309]:hover{transform:translateY(-1px) scale(1.08);box-shadow:var(--accent-glow-strong)}.ai-widget-bubble[data-v-12836309]:focus-visible{outline:none;box-shadow:var(--ring),var(--accent-glow)}.ai-widget-bubble[data-v-12836309]:active{transform:translateY(0) scale(1.02);box-shadow:var(--accent-glow)}.ai-widget-bubble.open[data-v-12836309]{background:var(--bg-card);color:var(--text-light);box-shadow:0 0 0 1px var(--border-subtle),var(--shadow-card)}.ai-widget-bubble.open[data-v-12836309]:hover{color:var(--primary-light);box-shadow:0 0 0 1px rgba(var(--primary-rgb),.38),var(--shadow-card)}.ai-widget-bubble svg[data-v-12836309]{width:26px;height:26px}.ai-widget-panel[data-v-12836309]{position:absolute;bottom:70px;right:0;width:min(380px,calc(100vw - 2.5rem));height:min(560px,calc(100vh - 7rem));background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--accent-glow),var(--shadow-card)}.ai-widget-head[data-v-12836309]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));color:var(--text-white)}.ai-widget-title[data-v-12836309]{font-family:var(--display-font);font-weight:600;font-size:.95rem;letter-spacing:-.01em}.ai-widget-close[data-v-12836309]{background:transparent;border:none;color:var(--text-white);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;transition:background-color .18s var(--ease),transform .18s var(--ease)}.ai-widget-close[data-v-12836309]:hover{background:rgba(var(--primary-rgb),.18);transform:translateY(-1px)}.ai-widget-close[data-v-12836309]:focus-visible{outline:none;box-shadow:var(--ring)}.ai-widget-close[data-v-12836309]:active{transform:translateY(0)}.ai-widget-close svg[data-v-12836309]{width:20px;height:20px}.ai-widget-body[data-v-12836309]{flex:1;min-height:0}.ai-pop-enter-active[data-v-12836309],.ai-pop-leave-active[data-v-12836309]{transition:opacity .2s var(--ease),transform .2s var(--ease-spring)}.ai-pop-enter-from[data-v-12836309],.ai-pop-leave-to[data-v-12836309]{opacity:0;transform:translateY(10px) scale(.98)}.lesson-quiz[data-v-504fb420]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:1.5rem;margin-top:2rem}.lq-header[data-v-504fb420]{margin-bottom:1.25rem}.lq-badge[data-v-504fb420]{display:inline-block;background:#fef3c7;color:#92400e;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:20px;margin-bottom:.5rem}.lq-title[data-v-504fb420]{font-size:1.1rem;font-weight:700;margin:0 0 .25rem}.lq-desc[data-v-504fb420]{font-size:.9rem;color:var(--text-secondary, #57534e);margin:0 0 .4rem}.lq-meta[data-v-504fb420]{font-size:.8rem;color:var(--text-muted, #a8a29e);margin:0}.lq-best[data-v-504fb420]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.lq-best.passed[data-v-504fb420]{background:#dcfce7;color:#15803d}.lq-best.failed[data-v-504fb420]{background:#fee2e2;color:#b91c1c}.lq-retry-btn[data-v-504fb420]{background:none;border:1px solid currentColor;border-radius:4px;padding:.2rem .6rem;font-size:.8rem;cursor:pointer;color:inherit}.lq-start[data-v-504fb420]{text-align:center;padding:1rem 0}.lq-gate-notice[data-v-504fb420]{font-size:.8rem;color:var(--text-muted, #a8a29e);margin-top:.5rem}.lq-question[data-v-504fb420]{margin-bottom:1.5rem}.lq-q-text[data-v-504fb420]{font-size:.95rem;font-weight:600;margin:0 0 .75rem}.lq-q-num[data-v-504fb420]{color:var(--text-muted, #a8a29e);margin-right:.25rem}.lq-options[data-v-504fb420]{display:flex;flex-direction:column;gap:.5rem}.lq-option[data-v-504fb420]{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border:1.5px solid var(--border, #e7e5e4);border-radius:8px;cursor:pointer;font-size:.9rem;transition:border-color .15s,background .15s}.lq-option[data-v-504fb420]:hover{border-color:#ea580c}.lq-option.selected[data-v-504fb420]{border-color:#ea580c;background:#fff7f0}.lq-option input[data-v-504fb420]{accent-color:#ea580c}.lq-btn[data-v-504fb420]{display:inline-block;background:#ea580c;color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.lq-btn[data-v-504fb420]:hover:not(:disabled){background:#c2410c}.lq-btn[data-v-504fb420]:disabled{opacity:.5;cursor:not-allowed}.lq-btn.ghost[data-v-504fb420]{background:none;border:1.5px solid #ea580c;color:#ea580c}.lq-btn.ghost[data-v-504fb420]:hover{background:#fff7f0}.lq-error[data-v-504fb420]{color:#b91c1c;font-size:.875rem;margin-bottom:.75rem}.lq-result[data-v-504fb420]{border-radius:10px;padding:1.25rem}.lq-result.pass[data-v-504fb420]{background:#f0fdf4;border:1px solid #bbf7d0}.lq-result.fail[data-v-504fb420]{background:#fef2f2;border:1px solid #fecaca}.lq-score[data-v-504fb420]{text-align:center;margin-bottom:1.5rem}.lq-score-ring-wrap[data-v-504fb420]{position:relative;width:6rem;height:6rem;margin:0 auto .75rem}.lq-score-ring[data-v-504fb420]{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg[data-v-504fb420]{fill:none;stroke:#e7e5e4;stroke-width:5}.ring-fill[data-v-504fb420]{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dasharray .6s ease}.lq-score-center[data-v-504fb420]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:800;color:var(--text-primary, #1c1917)}.pct[data-v-504fb420]{font-size:.75rem;font-weight:600;margin-top:.2rem}.lq-score-label[data-v-504fb420]{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.lq-result.pass .lq-score-label[data-v-504fb420]{color:#15803d}.lq-result.fail .lq-score-label[data-v-504fb420]{color:#b91c1c}.lq-score p[data-v-504fb420]{font-size:.875rem;color:var(--text-secondary, #57534e);margin:0}.lq-review[data-v-504fb420]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.lq-review-item[data-v-504fb420]{padding:.75rem;border-radius:8px;border:1px solid transparent}.lq-review-item.ok[data-v-504fb420]{background:#f0fdf4;border-color:#bbf7d0}.lq-review-item.no[data-v-504fb420]{background:#fef2f2;border-color:#fecaca}.lq-review-q[data-v-504fb420]{font-size:.9rem;margin:0 0 .4rem}.lq-review-answer[data-v-504fb420]{font-size:.85rem;margin:0 0 .2rem}.lq-mark[data-v-504fb420]{margin-left:.4rem;font-weight:700}.lq-review-item.ok .lq-mark[data-v-504fb420]{color:#15803d}.lq-review-item.no .lq-mark[data-v-504fb420]{color:#b91c1c}.lq-review-correct[data-v-504fb420]{font-size:.8rem;color:#15803d;margin:0 0 .2rem}.lq-review-exp[data-v-504fb420]{font-size:.8rem;color:var(--text-secondary, #57534e);margin:0;font-style:italic}.lq-result-actions[data-v-504fb420]{display:flex;gap:.75rem;flex-wrap:wrap}.lesson-page[data-v-ca0f7d51]{height:100vh;height:100dvh;overflow:hidden;background:var(--bg-body);color:var(--text-white);font-family:var(--body-font);display:flex;flex-direction:column}.lesson-navbar[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-body);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.back-btn[data-v-ca0f7d51]{display:flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:color .2s var(--ease)}.back-btn[data-v-ca0f7d51]:hover{color:var(--primary-light)}.back-btn svg[data-v-ca0f7d51]{width:1.25rem;height:1.25rem}.navbar-title[data-v-ca0f7d51]{font-family:var(--display-font);font-weight:600;letter-spacing:-.02em;font-size:1rem;color:var(--text-white)}.navbar-actions[data-v-ca0f7d51]{display:flex;align-items:center;gap:1rem}.lesson-act[data-v-ca0f7d51]{background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.3rem .5rem;font-size:.95rem;cursor:pointer;line-height:1;opacity:.75;transition:background-color .15s var(--ease),border-color .15s var(--ease),opacity .15s var(--ease)}.lesson-act[data-v-ca0f7d51]:hover{opacity:1;border-color:var(--primary)}.lesson-act.on[data-v-ca0f7d51]{opacity:1;border-color:var(--primary);background:rgba(var(--primary-rgb),.15)}.theme-toggle[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}.theme-toggle[data-v-ca0f7d51]:hover{background:rgba(var(--primary-rgb),.2);color:var(--primary)}.theme-icon[data-v-ca0f7d51]{width:1.25rem;height:1.25rem}.tts-btn[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}.tts-btn[data-v-ca0f7d51]:hover{background:rgba(var(--primary-rgb),.2)}.tts-btn.active[data-v-ca0f7d51]{background:var(--primary);color:#2a1206}.tts-btn.minimized[data-v-ca0f7d51]{animation:pulse-glow-ca0f7d51 2s ease-in-out infinite}@keyframes pulse-glow-ca0f7d51{0%,to{box-shadow:0 0 rgba(var(--primary-rgb),.4)}50%{box-shadow:0 0 0 8px rgba(var(--primary-rgb),0)}}.tts-btn svg[data-v-ca0f7d51]{width:1.25rem;height:1.25rem}.tts-controls[data-v-ca0f7d51]{position:relative;display:flex;align-items:center;gap:.25rem}.tts-settings-btn[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}.tts-settings-btn[data-v-ca0f7d51]:hover,.tts-settings-btn.active[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.2);color:var(--primary)}.tts-settings-btn svg[data-v-ca0f7d51]{width:1rem;height:1rem}.voice-selector[data-v-ca0f7d51]{position:absolute;top:calc(100% + .5rem);right:0;width:320px;max-height:400px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--shadow-card);z-index:100;overflow:hidden}.voice-selector-header[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle);font-family:var(--display-font);font-weight:600;font-size:.9rem;color:var(--text-white)}.voice-selector-header .close-btn[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s}.voice-selector-header .close-btn[data-v-ca0f7d51]:hover{color:var(--text-white)}.voice-selector-header .close-btn svg[data-v-ca0f7d51]{width:1rem;height:1rem}.voice-list[data-v-ca0f7d51]{max-height:320px;overflow-y:auto;padding:.5rem}.voice-option[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.625rem .75rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;text-align:left;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}.voice-option[data-v-ca0f7d51]:hover{background:rgba(var(--primary-rgb),.1);color:var(--text-white)}.voice-option.selected[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.voice-name[data-v-ca0f7d51]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-btn[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:rgba(var(--primary-rgb),.1);border:none;border-radius:var(--radius-sm);color:var(--primary);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease);flex-shrink:0;margin-left:.5rem}.preview-btn[data-v-ca0f7d51]:hover{background:var(--primary);color:#2a1206}.preview-btn svg[data-v-ca0f7d51]{width:1rem;height:1rem}.voice-loading[data-v-ca0f7d51]{padding:2rem;text-align:center;color:var(--text-muted);font-size:.875rem}.tts-player[data-v-ca0f7d51]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:50;width:90%;max-width:500px}.tts-player-content[data-v-ca0f7d51]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-card)}.tts-minimize-btn[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:rgba(var(--primary-rgb),.08);border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease);flex-shrink:0;margin-left:.5rem}.tts-minimize-btn[data-v-ca0f7d51]:hover{background:rgba(var(--primary-rgb),.15);color:var(--text-white)}.tts-minimize-btn svg[data-v-ca0f7d51]{width:1rem;height:1rem}.tts-progress-container[data-v-ca0f7d51]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.tts-progress-bar[data-v-ca0f7d51]{flex:1;height:6px;background:rgba(var(--primary-rgb),.2);border-radius:3px;overflow:hidden}.tts-progress-fill[data-v-ca0f7d51]{height:100%;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:3px;transition:width .3s var(--ease)}.tts-progress-text[data-v-ca0f7d51]{font-size:.75rem;color:var(--text-muted);white-space:nowrap;min-width:50px;text-align:right}.tts-controls-bar[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;gap:.5rem}.tts-nav-btn[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.tts-nav-btn[data-v-ca0f7d51]:hover:not(:disabled){background:rgba(var(--primary-rgb),.2);color:var(--primary)}.tts-nav-btn[data-v-ca0f7d51]:disabled{opacity:.4;cursor:not-allowed}.tts-nav-btn svg[data-v-ca0f7d51]{width:1.25rem;height:1.25rem}.tts-stop-btn[data-v-ca0f7d51]:hover:not(:disabled){background:rgba(var(--primary-rgb),.05);color:var(--error);border-color:var(--error)}.tts-play-btn[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));border:none;border-radius:50%;color:#2a1206;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease);margin:0 .5rem}.tts-play-btn[data-v-ca0f7d51]:hover{transform:scale(1.05);box-shadow:var(--accent-glow-strong)}.tts-play-btn.playing[data-v-ca0f7d51]{background:linear-gradient(135deg,var(--primary-light),var(--primary))}.tts-play-btn svg[data-v-ca0f7d51]{width:1.75rem;height:1.75rem}.tts-sentence-preview[data-v-ca0f7d51]{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.tts-sentence-label[data-v-ca0f7d51]{display:block;font-size:.7rem;font-weight:500;color:var(--primary-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.tts-sentence-text[data-v-ca0f7d51]{font-size:.85rem;color:var(--text-light);line-height:1.5;margin:0;max-height:3rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media(max-width:640px){.tts-player[data-v-ca0f7d51]{bottom:70px;width:95%}.tts-player-content[data-v-ca0f7d51]{padding:.75rem}.tts-nav-btn[data-v-ca0f7d51]{width:2.25rem;height:2.25rem}.tts-play-btn[data-v-ca0f7d51]{width:3rem;height:3rem}.tts-play-btn svg[data-v-ca0f7d51]{width:1.5rem;height:1.5rem}}.completion-badge[data-v-ca0f7d51]{display:flex;align-items:center;gap:.375rem;background:rgba(var(--primary-rgb),.06);border:1px solid var(--success);color:var(--success);padding:.5rem .75rem;border-radius:2rem;font-size:.85rem;font-weight:500}.completion-badge svg[data-v-ca0f7d51]{width:1rem;height:1rem}.lesson-content-wrapper[data-v-ca0f7d51]{flex:1;min-height:0;overflow:hidden}.content-grid[data-v-ca0f7d51]{display:grid;grid-template-columns:1fr 1fr;height:100%;min-height:0;overflow:hidden}@media(max-width:1024px){.lesson-page[data-v-ca0f7d51]{height:auto;min-height:100vh;overflow:visible}.lesson-navbar[data-v-ca0f7d51]{position:sticky;top:0;z-index:20}.lesson-content-wrapper[data-v-ca0f7d51]{overflow:visible}.content-grid[data-v-ca0f7d51]{grid-template-columns:1fr;height:auto}.lesson-content-scroll[data-v-ca0f7d51]{height:auto;overflow-y:visible}.progress-footer[data-v-ca0f7d51]{position:sticky;bottom:0;z-index:20}}.lesson-panel[data-v-ca0f7d51]{background:var(--bg-card);border-right:1px solid var(--border-subtle);overflow:hidden;min-height:0}.lesson-content-scroll[data-v-ca0f7d51]{padding:2rem;height:100%;overflow-y:auto}.lesson-title[data-v-ca0f7d51]{font-family:var(--display-font);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.5rem;color:var(--text-white)}.video-embed-wrap[data-v-ca0f7d51]{position:relative;width:100%;padding-bottom:56.25%;height:0;margin-bottom:1.5rem;border-radius:10px;overflow:hidden;background:#000}.video-embed[data-v-ca0f7d51]{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:10px}.lesson-content[data-v-ca0f7d51]{line-height:1.7;color:var(--text-light);font-size:1rem}.lesson-content[data-v-ca0f7d51] p{margin:0 0 1rem;color:var(--text-light)}.lesson-content[data-v-ca0f7d51] p:last-child{margin-bottom:0}.lesson-content[data-v-ca0f7d51] h1{font-family:var(--display-font);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:1.75rem 0 .75rem;line-height:1.3}.lesson-content[data-v-ca0f7d51] h2{font-family:var(--display-font);font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--text-white);margin:1.5rem 0 .625rem;line-height:1.3}.lesson-content[data-v-ca0f7d51] h3{font-family:var(--display-font);font-size:1.1rem;font-weight:600;letter-spacing:-.02em;color:var(--text-white);margin:1.25rem 0 .5rem;line-height:1.4}.lesson-content[data-v-ca0f7d51] h1:first-child,.lesson-content[data-v-ca0f7d51] h2:first-child,.lesson-content[data-v-ca0f7d51] h3:first-child{margin-top:0}.lesson-content[data-v-ca0f7d51] code{background:rgba(var(--primary-rgb),.1);color:var(--primary-light);padding:.15rem .4rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.9em}.lesson-content[data-v-ca0f7d51] .code-window{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius);margin:1.25rem 0;overflow:hidden}.lesson-content[data-v-ca0f7d51] .code-window-header{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle)}.lesson-content[data-v-ca0f7d51] .code-window-dots{display:flex;gap:.375rem}.lesson-content[data-v-ca0f7d51] .code-window-dots span{width:.625rem;height:.625rem;border-radius:50%;background:var(--border-subtle)}.lesson-content[data-v-ca0f7d51] .code-window-dots span:first-child{background:var(--error)}.lesson-content[data-v-ca0f7d51] .code-window-dots span:nth-child(2){background:var(--warning)}.lesson-content[data-v-ca0f7d51] .code-window-dots span:nth-child(3){background:var(--success)}.lesson-content[data-v-ca0f7d51] .code-window-lang{font-family:var(--mono-font);font-size:.7rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-left:auto}.lesson-content[data-v-ca0f7d51] .code-window-body{margin:0;padding:1rem;overflow-x:auto}.lesson-content[data-v-ca0f7d51] .code-window-body code{background:none;padding:0;color:var(--text-light);font-family:var(--mono-font);font-size:.85rem;line-height:1.7;display:block;white-space:pre-wrap;word-wrap:break-word}.lesson-content[data-v-ca0f7d51] strong{color:var(--text-white);font-weight:600}.lesson-content[data-v-ca0f7d51] em{font-style:italic;color:var(--text-light)}.lesson-content[data-v-ca0f7d51] a{color:var(--primary-light);text-decoration:underline;text-underline-offset:2px;transition:color .2s var(--ease)}.lesson-content[data-v-ca0f7d51] a:hover{color:var(--primary)}.lesson-content[data-v-ca0f7d51] ul,.lesson-content[data-v-ca0f7d51] ol{margin:.75rem 0;padding-left:1.5rem}.lesson-content[data-v-ca0f7d51] li{margin-bottom:.375rem;color:var(--text-light)}.lesson-content[data-v-ca0f7d51] li:last-child{margin-bottom:0}.lesson-content[data-v-ca0f7d51] ul{list-style-type:disc}.lesson-content[data-v-ca0f7d51] ol{list-style-type:decimal}.lesson-content[data-v-ca0f7d51] li>ul,.lesson-content[data-v-ca0f7d51] li>ol{margin-top:.375rem;margin-bottom:0}.lesson-content[data-v-ca0f7d51] blockquote{border-left:3px solid var(--primary);margin:1rem 0;padding:.5rem 0 .5rem 1rem;color:var(--text-light);background:rgba(var(--primary-rgb),.05);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.lesson-content[data-v-ca0f7d51] .lesson-table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.92em}.lesson-content[data-v-ca0f7d51] .lesson-table th,.lesson-content[data-v-ca0f7d51] .lesson-table td{border:1px solid var(--border);padding:.5rem .7rem;text-align:left;vertical-align:top}.lesson-content[data-v-ca0f7d51] .lesson-table th{background:rgba(var(--primary-rgb),.08);font-weight:600}.lesson-content[data-v-ca0f7d51] .lesson-table tbody tr:nth-child(2n){background:rgba(var(--primary-rgb),.03)}.lesson-content[data-v-ca0f7d51]>*:first-child{margin-top:0}.lesson-content[data-v-ca0f7d51]>*:last-child{margin-bottom:0}.lesson-content[data-v-ca0f7d51] br{line-height:1.5}.exercise-section[data-v-ca0f7d51]{margin-top:2rem;padding:1.5rem;background:rgba(var(--primary-rgb),.05);border:1px solid rgba(var(--primary-rgb),.25);border-radius:var(--radius-lg)}.exercise-badge[data-v-ca0f7d51]{display:inline-flex;align-items:center;gap:.375rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.3rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;margin-bottom:.75rem}.exercise-badge svg[data-v-ca0f7d51]{width:.875rem;height:.875rem}.exercise-title[data-v-ca0f7d51]{font-family:var(--display-font);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:0 0 .25rem}.exercise-subtitle[data-v-ca0f7d51]{font-size:.9rem;color:var(--text-muted);margin:0 0 1.25rem}.exercise-instructions[data-v-ca0f7d51]{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.instructions-label[data-v-ca0f7d51]{font-size:.75rem;font-weight:600;color:var(--primary-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.instructions-text[data-v-ca0f7d51]{color:var(--text-light);line-height:1.7;font-size:.95rem}.exercise-tip[data-v-ca0f7d51]{display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.exercise-tip svg[data-v-ca0f7d51]{width:1rem;height:1rem;color:var(--primary-light);flex-shrink:0;margin-top:.1rem}.exercise-tip strong[data-v-ca0f7d51]{color:var(--primary-light)}.editor-panel[data-v-ca0f7d51]{display:flex;flex-direction:column;background:var(--bg-card);overflow:hidden;min-height:0}.editor-header[data-v-ca0f7d51]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-subtle)}.editor-icon[data-v-ca0f7d51]{width:1.125rem;height:1.125rem;color:var(--primary-light)}.header-title[data-v-ca0f7d51]{font-family:var(--display-font);font-size:.9rem;font-weight:500;color:var(--text-white)}.language-tag[data-v-ca0f7d51]{margin-left:auto;background:rgba(var(--primary-rgb),.1);color:var(--primary-light);padding:.2rem .5rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.focus-toggle[data-v-ca0f7d51]{display:inline-flex;align-items:center;gap:.3rem;background:rgba(var(--primary-rgb),.1);color:var(--primary-light);border:1px solid rgba(var(--primary-rgb),.25);padding:.25rem .55rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;cursor:pointer;transition:background-color .15s var(--ease),border-color .15s var(--ease)}.focus-toggle[data-v-ca0f7d51]:hover{background:rgba(var(--primary-rgb),.2);border-color:var(--primary)}.focus-toggle svg[data-v-ca0f7d51]{width:.95rem;height:.95rem}.editor-panel.editor-fullscreen[data-v-ca0f7d51]{position:fixed;inset:0;z-index:200;min-height:100vh;background:var(--bg-card);box-shadow:0 0 0 100vmax #0006}.editor-panel.editor-fullscreen .editor-body[data-v-ca0f7d51]{padding:1.25rem clamp(1rem,6vw,4rem)}.editor-panel.editor-fullscreen .concept-answer[data-v-ca0f7d51]{min-height:60vh}@media(max-width:600px){.focus-label[data-v-ca0f7d51]{display:none}}.concept-answer[data-v-ca0f7d51]{width:100%;box-sizing:border-box;min-height:160px;padding:.85rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-darker);color:var(--text-white);font-size:.95rem;line-height:1.6;font-family:var(--mono-font);resize:vertical;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.concept-answer[data-v-ca0f7d51]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.concept-answer[data-v-ca0f7d51]::placeholder{color:var(--text-muted)}.editor-body[data-v-ca0f7d51]{padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.editor-body[data-v-ca0f7d51]>*{flex-shrink:0}.editor-actions[data-v-ca0f7d51]{display:flex;gap:.75rem}.action-btn[data-v-ca0f7d51]{display:flex;align-items:center;gap:.375rem;padding:.55rem 1.1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--body-font);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.action-btn svg[data-v-ca0f7d51]{width:1rem;height:1rem}.run-btn[data-v-ca0f7d51],.submit-btn[data-v-ca0f7d51]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;box-shadow:var(--accent-glow)}.run-btn[data-v-ca0f7d51]:hover:not(:disabled),.submit-btn[data-v-ca0f7d51]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.submit-btn[data-v-ca0f7d51]{margin-left:auto}.submit-btn[data-v-ca0f7d51]:disabled,.run-btn[data-v-ca0f7d51]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.reset-btn[data-v-ca0f7d51],.reset-db-btn[data-v-ca0f7d51]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-light)}.reset-btn[data-v-ca0f7d51]:hover,.reset-db-btn[data-v-ca0f7d51]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.spinner-small[data-v-ca0f7d51]{width:1rem;height:1rem;border:2px solid rgba(42,18,6,.35);border-top-color:#2a1206;border-radius:50%;animation:spin-ca0f7d51 .8s linear infinite}.output-section[data-v-ca0f7d51]{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden}.output-header[data-v-ca0f7d51]{padding:.5rem 1rem;background:rgba(var(--primary-rgb),.1);font-size:.8rem;font-weight:500;color:var(--text-light);display:flex;align-items:center;justify-content:space-between}.run-indicator[data-v-ca0f7d51]{color:var(--success);font-weight:600;animation:run-flash-ca0f7d51 .4s ease}@keyframes run-flash-ca0f7d51{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.output-frame-wrapper[data-v-ca0f7d51]{position:relative;background:#fff;min-height:150px}.preview-placeholder[data-v-ca0f7d51]{min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;color:var(--text-muted);font-size:.85rem;background:var(--bg-darker)}.preview-blank-note[data-v-ca0f7d51]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:var(--bg-darker)}.preview-blank-note p[data-v-ca0f7d51]{max-width:360px;margin:0;text-align:center;color:var(--text-muted);font-size:.85rem;line-height:1.6}.preview-blank-note strong[data-v-ca0f7d51]{color:var(--success)}.preview-blank-note code[data-v-ca0f7d51]{display:inline-block;white-space:nowrap;background:rgba(var(--primary-rgb),.1);color:var(--text-light);padding:.05rem .35rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.8em}.output-frame[data-v-ca0f7d51]{width:100%;height:150px;border:none}.output-console[data-v-ca0f7d51]{min-height:150px;max-height:300px;overflow-y:auto;padding:1rem;font-family:var(--mono-font);font-size:.85rem;line-height:1.5;background:var(--bg-darker)}.output-console .output-loading[data-v-ca0f7d51]{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.output-console .output-loading .spinner-small[data-v-ca0f7d51]{border-color:rgba(var(--primary-rgb),.3);border-top-color:var(--primary)}.output-console .output-text[data-v-ca0f7d51]{margin:0;color:var(--success);white-space:pre-wrap;word-wrap:break-word}.output-console .output-error[data-v-ca0f7d51]{margin:0;color:var(--error);white-space:pre-wrap;word-wrap:break-word}.output-console .output-placeholder[data-v-ca0f7d51]{color:var(--text-muted);font-style:italic}.validation-result[data-v-ca0f7d51]{border-radius:var(--radius);overflow:hidden}.validation-result.success[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.04);border:1px solid var(--success)}.validation-result.error[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.04);border:1px solid var(--error)}.result-header[data-v-ca0f7d51]{display:flex;align-items:center;gap:.5rem;padding:1rem;font-weight:500}.validation-result.success .result-header[data-v-ca0f7d51]{color:var(--success)}.validation-result.error .result-header[data-v-ca0f7d51]{color:var(--error)}.result-header svg[data-v-ca0f7d51]{width:1.25rem;height:1.25rem}.output-comparison[data-v-ca0f7d51]{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.5rem}.comparison-item[data-v-ca0f7d51]{display:flex;flex-direction:column;gap:.25rem}.comparison-label[data-v-ca0f7d51]{font-size:.75rem;color:var(--text-muted);text-transform:uppercase}.comparison-item code[data-v-ca0f7d51]{background:var(--bg-darker);border:1px solid var(--border-subtle);padding:.5rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.85rem;color:var(--text-white)}.feedback-list[data-v-ca0f7d51]{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.5rem}.feedback-item[data-v-ca0f7d51]{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:var(--radius-sm);font-size:.875rem}.feedback-item svg[data-v-ca0f7d51]{width:1rem;height:1rem;flex-shrink:0;margin-top:.125rem}.feedback-item.error[data-v-ca0f7d51]{background:var(--bg-darker);border:1px solid var(--error);color:var(--error)}.feedback-item.warning[data-v-ca0f7d51]{background:var(--bg-darker);border:1px solid var(--warning);color:var(--warning)}.feedback-item.hint[data-v-ca0f7d51]{background:var(--bg-darker);border:1px solid var(--border-subtle);color:var(--text-light)}.test-results[data-v-ca0f7d51]{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.5rem}.test-item[data-v-ca0f7d51]{border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-darker);border:1px solid var(--border-subtle)}.test-item.passed[data-v-ca0f7d51]{border-color:var(--success)}.test-item.failed[data-v-ca0f7d51]{border-color:var(--error)}.test-header[data-v-ca0f7d51]{display:flex;align-items:center;gap:.5rem;padding:.75rem;font-weight:500}.test-item.passed .test-header[data-v-ca0f7d51]{color:var(--success)}.test-item.failed .test-header[data-v-ca0f7d51]{color:var(--error)}.test-header svg[data-v-ca0f7d51]{width:1rem;height:1rem}.test-details[data-v-ca0f7d51]{padding:0 .75rem .75rem;font-size:.85rem;color:var(--text-muted);display:flex;flex-direction:column;gap:.25rem}.test-details code[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.1);color:var(--text-light);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--mono-font)}.test-feedback[data-v-ca0f7d51]{margin-top:.5rem;color:var(--error);font-style:italic}.loading-state[data-v-ca0f7d51]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.spinner[data-v-ca0f7d51]{width:3rem;height:3rem;border:3px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin-ca0f7d51 1s linear infinite}@keyframes spin-ca0f7d51{to{transform:rotate(360deg)}}.loading-state p[data-v-ca0f7d51]{color:var(--text-muted)}.progress-footer[data-v-ca0f7d51]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-darker);border-top:1px solid var(--border-subtle);flex-shrink:0}.nav-btn[data-v-ca0f7d51]{display:flex;align-items:center;gap:.375rem;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.prev-btn[data-v-ca0f7d51]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-light)}.prev-btn[data-v-ca0f7d51]:hover:not(:disabled){border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.next-btn[data-v-ca0f7d51]{background:linear-gradient(135deg,var(--primary-light),var(--primary));border:1px solid transparent;color:#2a1206;box-shadow:var(--accent-glow)}.next-btn[data-v-ca0f7d51]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.nav-btn[data-v-ca0f7d51]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.nav-btn svg[data-v-ca0f7d51]{width:1rem;height:1rem}.progress-info[data-v-ca0f7d51]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.progress-text[data-v-ca0f7d51]{font-size:.875rem;color:var(--text-muted)}.progress-bar[data-v-ca0f7d51]{width:200px;height:6px;background:rgba(var(--primary-rgb),.2);border-radius:3px;overflow:hidden}.progress-fill[data-v-ca0f7d51]{height:100%;background:linear-gradient(135deg,var(--primary-light),var(--primary));border-radius:3px;transition:width .3s var(--ease)}@media(max-width:640px){.progress-bar[data-v-ca0f7d51]{width:120px}.nav-btn span[data-v-ca0f7d51]{display:none}}.celebration-overlay[data-v-ca0f7d51]{position:fixed;inset:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.celebration-modal[data-v-ca0f7d51]{position:relative;background:var(--bg-card);border:1px solid var(--primary);border-radius:var(--radius-xl);padding:2.5rem;max-width:480px;width:100%;text-align:center;box-shadow:var(--accent-glow-strong),var(--shadow-card);overflow:hidden}.confetti-container[data-v-ca0f7d51]{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti[data-v-ca0f7d51]{position:absolute;width:10px;height:10px;background:var(--color);top:-10px;left:var(--x);opacity:0;animation:confetti-fall-ca0f7d51 3s ease-out var(--delay) infinite}.confetti[data-v-ca0f7d51]:nth-child(odd){border-radius:50%}.confetti[data-v-ca0f7d51]:nth-child(2n){transform:rotate(45deg)}@keyframes confetti-fall-ca0f7d51{0%{opacity:1;top:-10px;transform:translate(0) rotate(0)}to{opacity:0;top:100%;transform:translate(100px) rotate(720deg)}}.trophy-icon[data-v-ca0f7d51]{width:100px;height:100px;margin:0 auto 1.5rem;background:linear-gradient(135deg,rgba(var(--primary-rgb),.2),rgba(var(--primary-rgb),.1));border:1px solid rgba(var(--primary-rgb),.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;animation:trophy-bounce-ca0f7d51 .6s ease-out;box-shadow:var(--accent-glow)}@keyframes trophy-bounce-ca0f7d51{0%{transform:scale(0)}50%{transform:scale(1.2)}70%{transform:scale(.9)}to{transform:scale(1)}}.celebration-title[data-v-ca0f7d51]{font-family:var(--display-font);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--primary-light);margin:0 0 .5rem}.module-name[data-v-ca0f7d51]{font-family:var(--display-font);font-size:1.25rem;font-weight:600;color:var(--text-white);margin:0 0 1rem}.motivational-message[data-v-ca0f7d51]{font-size:1rem;color:var(--text-light);line-height:1.6;margin:0 0 1.5rem}.next-module-info[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.4);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem}.next-label[data-v-ca0f7d51]{display:block;font-size:.75rem;font-weight:600;color:var(--primary-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.next-module-name[data-v-ca0f7d51]{font-family:var(--display-font);font-size:1rem;font-weight:600;color:var(--text-white)}.all-complete-info[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.06);border:1px solid var(--success);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem;color:var(--success);font-weight:500}.project-nudge[data-v-ca0f7d51]{background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.35);border-radius:var(--radius);padding:1rem 1.1rem;margin-bottom:1.25rem;text-align:center}.project-nudge-icon[data-v-ca0f7d51]{font-size:1.6rem}.project-nudge p[data-v-ca0f7d51]{font-size:.85rem;line-height:1.5;color:var(--text-light);margin:.4rem 0 .75rem}.project-nudge-btn[data-v-ca0f7d51]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:none;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.project-nudge-btn[data-v-ca0f7d51]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.celebration-actions[data-v-ca0f7d51]{display:flex;gap:1rem;justify-content:center}.stay-btn[data-v-ca0f7d51]{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-light);font-family:var(--body-font);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.stay-btn[data-v-ca0f7d51]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.continue-btn[data-v-ca0f7d51]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));border:1px solid transparent;border-radius:var(--radius-sm);color:#2a1206;font-family:var(--body-font);font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);box-shadow:var(--accent-glow)}.continue-btn[data-v-ca0f7d51]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.continue-btn svg[data-v-ca0f7d51]{width:1.25rem;height:1.25rem}.modal-fade-enter-active[data-v-ca0f7d51],.modal-fade-leave-active[data-v-ca0f7d51]{transition:all .3s ease}.modal-fade-enter-from[data-v-ca0f7d51],.modal-fade-leave-to[data-v-ca0f7d51]{opacity:0}.modal-fade-enter-from .celebration-modal[data-v-ca0f7d51],.modal-fade-leave-to .celebration-modal[data-v-ca0f7d51]{transform:scale(.9)}@media(max-width:480px){.celebration-modal[data-v-ca0f7d51]{padding:1.5rem}.celebration-title[data-v-ca0f7d51]{font-size:1.5rem}.module-name[data-v-ca0f7d51]{font-size:1.1rem}.celebration-actions[data-v-ca0f7d51]{flex-direction:column}.stay-btn[data-v-ca0f7d51],.continue-btn[data-v-ca0f7d51]{width:100%;justify-content:center}}.report-issue-btn[data-v-ca0f7d51]{margin:0 1rem 1rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--body-font);font-size:13px;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}.report-issue-btn[data-v-ca0f7d51]:hover{background:rgba(var(--primary-rgb),.08);border-color:var(--primary);color:var(--primary-light)}.ai-review-btn[data-v-ca0f7d51]{color:#a78bfa;border-color:#a78bfa4d}.ai-review-btn[data-v-ca0f7d51]:hover:not(:disabled){background:#a78bfa1a;border-color:#a78bfa}.ai-review-panel[data-v-ca0f7d51]{border-top:1px solid rgba(255,255,255,.06);background:#a78bfa0a;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.ai-review-header[data-v-ca0f7d51]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05)}.ai-review-title[data-v-ca0f7d51]{display:flex;gap:.4rem;align-items:center;font-size:.8rem;font-weight:600;color:#a78bfa;text-transform:uppercase;letter-spacing:.05em}.ai-review-close[data-v-ca0f7d51]{background:none;border:none;cursor:pointer;color:#fff6;font-size:1.25rem;line-height:1}.ai-review-body[data-v-ca0f7d51]{padding:1rem}.ai-review-loading[data-v-ca0f7d51]{display:flex;gap:.5rem;align-items:center;color:#ffffff80;font-size:.875rem}.ai-review-feedback[data-v-ca0f7d51]{color:#ffffffd9;font-size:.875rem;line-height:1.7;white-space:pre-wrap}.ai-review-empty[data-v-ca0f7d51]{color:#ffffff4d;font-size:.875rem;font-style:italic}.flag-modal-overlay[data-v-ca0f7d51]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:10000}.flag-modal[data-v-ca0f7d51]{background:var(--bg-card);color:var(--text-light);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:90%;max-width:450px;box-shadow:var(--shadow-card)}.flag-modal-header[data-v-ca0f7d51]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.flag-modal-header h3[data-v-ca0f7d51]{margin:0;font-family:var(--display-font);font-size:18px;color:var(--text-white)}.flag-modal-header .close-btn[data-v-ca0f7d51]{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);transition:color .2s var(--ease)}.flag-modal-header .close-btn[data-v-ca0f7d51]:hover{color:var(--text-white)}.flag-modal-body[data-v-ca0f7d51]{padding:20px;display:flex;flex-direction:column;gap:16px}.flag-lesson-info[data-v-ca0f7d51]{color:var(--text-muted);font-size:13px;margin:0}.flag-modal-body label[data-v-ca0f7d51]{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-muted)}.flag-modal-body select[data-v-ca0f7d51],.flag-modal-body textarea[data-v-ca0f7d51]{padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-darker);color:var(--text-light);font-family:var(--body-font);font-size:14px;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.flag-modal-body select[data-v-ca0f7d51]:focus,.flag-modal-body textarea[data-v-ca0f7d51]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.flag-modal-body textarea[data-v-ca0f7d51]{resize:vertical;min-height:80px}.submit-flag-btn[data-v-ca0f7d51]{padding:12px;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--body-font);font-size:15px;font-weight:600;cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s var(--ease)}.submit-flag-btn[data-v-ca0f7d51]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.submit-flag-btn[data-v-ca0f7d51]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.flag-success[data-v-ca0f7d51]{padding:40px;text-align:center}.flag-success .success-icon[data-v-ca0f7d51]{font-size:48px;display:block;margin-bottom:12px}.profile-page[data-v-62a3d54d]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.page-container[data-v-62a3d54d]{flex:1;padding:1.5rem 2rem;max-width:100%}.page-header[data-v-62a3d54d]{margin-bottom:1.5rem}.page-header h1[data-v-62a3d54d]{font-family:var(--display-font);font-size:1.5rem;font-weight:700;color:var(--text-white);margin-bottom:.25rem;letter-spacing:-.02em}.page-header p[data-v-62a3d54d]{color:var(--text-muted);font-size:.875rem}.loading-state[data-v-62a3d54d]{text-align:center;padding:2.5rem}.spinner[data-v-62a3d54d]{width:2rem;height:2rem;border:2px solid rgba(var(--primary-rgb),.15);border-top-color:var(--primary);border-radius:50%;animation:spin-62a3d54d .8s linear infinite;margin:0 auto .75rem}@keyframes spin-62a3d54d{to{transform:rotate(360deg)}}.loading-state p[data-v-62a3d54d]{color:var(--text-muted);font-size:.85rem}.settings-grid[data-v-62a3d54d]{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:768px){.settings-grid[data-v-62a3d54d]{grid-template-columns:1fr}}.settings-column[data-v-62a3d54d]{display:flex;flex-direction:column;gap:1.25rem}.section-card[data-v-62a3d54d]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.125rem 1.25rem;overflow:hidden;transition:background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.section-card[data-v-62a3d54d]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary));opacity:.6;transition:width .2s var(--ease),opacity .2s var(--ease)}.section-card[data-v-62a3d54d]:hover:before{width:3px;opacity:1}.section-card[data-v-62a3d54d]:hover{border-color:rgba(var(--primary-rgb),.28);box-shadow:var(--shadow-card)}.section-header[data-v-62a3d54d]{display:flex;align-items:center;justify-content:space-between}.section-header.clickable[data-v-62a3d54d]{cursor:pointer;margin:-1.125rem -1.25rem;padding:1.125rem 1.25rem;transition:background .2s}.section-header.clickable[data-v-62a3d54d]:hover{background:rgba(var(--primary-rgb),.05)}.header-left[data-v-62a3d54d]{display:flex;align-items:center;gap:.625rem}.header-text[data-v-62a3d54d]{display:flex;flex-direction:column;gap:.125rem}.header-subtitle[data-v-62a3d54d]{font-size:.75rem;color:var(--text-muted);margin:0}.section-icon[data-v-62a3d54d]{width:2.25rem;height:2.25rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.18);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.section-icon svg[data-v-62a3d54d]{width:1.125rem;height:1.125rem;color:var(--primary)}.section-header h2[data-v-62a3d54d]{font-family:var(--display-font);font-size:.95rem;font-weight:600;color:var(--text-white);margin:0}.expand-btn[data-v-62a3d54d]{background:none;border:none;padding:.375rem;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s var(--ease),color .2s var(--ease)}.expand-btn svg[data-v-62a3d54d]{width:1rem;height:1rem;color:var(--text-muted);transition:transform .3s ease}.expand-btn.expanded svg[data-v-62a3d54d]{transform:rotate(180deg)}.expand-btn[data-v-62a3d54d]:hover{background:rgba(var(--primary-rgb),.1)}.expand-btn:hover svg[data-v-62a3d54d]{color:var(--primary)}.section-content[data-v-62a3d54d]{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.section-content.expanded[data-v-62a3d54d]{max-height:500px;padding-top:1.25rem}.form-group[data-v-62a3d54d]{margin-bottom:1rem}.form-group label[data-v-62a3d54d]{display:block;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin-bottom:.375rem}.form-input[data-v-62a3d54d]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.625rem .875rem;font-size:.875rem;color:var(--text-white);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}.form-input[data-v-62a3d54d]:hover:not(:disabled):not(:focus){border-color:rgba(var(--primary-rgb),.4)}.form-input[data-v-62a3d54d]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.form-input[data-v-62a3d54d]:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-dark)}.form-input.is-invalid[data-v-62a3d54d],.form-input[aria-invalid=true][data-v-62a3d54d]{border-color:var(--error);box-shadow:none}.form-input[data-v-62a3d54d]::placeholder{color:var(--text-muted);opacity:1}.form-input[data-v-62a3d54d]:-webkit-autofill,.form-input[data-v-62a3d54d]:-webkit-autofill:hover,.form-input[data-v-62a3d54d]:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg-body) inset!important;-webkit-text-fill-color:var(--text-white)!important;caret-color:var(--primary);border-color:var(--border-subtle)!important;transition:background-color 5000s ease-in-out 0s}.form-value[data-v-62a3d54d]{padding:.625rem 0;font-size:.875rem;color:var(--text-white)}.form-actions[data-v-62a3d54d]{display:flex;gap:.625rem;justify-content:flex-end}.primary-btn[data-v-62a3d54d]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;padding:.5rem 1rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.375rem;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.primary-btn[data-v-62a3d54d]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.primary-btn[data-v-62a3d54d]:focus-visible{outline:none;box-shadow:var(--ring)}.primary-btn[data-v-62a3d54d]:active:not(:disabled){transform:translateY(0)}.primary-btn[data-v-62a3d54d]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.secondary-btn[data-v-62a3d54d]{background:transparent;color:var(--text-white);padding:.5rem 1rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;border:1px solid var(--border-subtle);cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.secondary-btn[data-v-62a3d54d]:hover{background:rgba(var(--primary-rgb),.08);color:var(--primary-light);border-color:var(--primary);transform:translateY(-1px)}.secondary-btn[data-v-62a3d54d]:focus-visible{outline:none;box-shadow:var(--ring)}.secondary-btn[data-v-62a3d54d]:active{transform:translateY(0)}.subscription-card .subscription-icon[data-v-62a3d54d]{background:rgba(var(--primary-rgb),.1)}.subscription-card .section-header[data-v-62a3d54d]{margin-bottom:1rem}.subscription-info[data-v-62a3d54d]{display:flex;flex-direction:column;gap:.875rem}.subscription-status[data-v-62a3d54d]{display:inline-flex;align-items:center;gap:.375rem;font-weight:600;font-size:.8rem}.status-dot[data-v-62a3d54d]{width:.375rem;height:.375rem;border-radius:50%}.subscription-status.active[data-v-62a3d54d]{color:var(--success)}.subscription-status.active .status-dot[data-v-62a3d54d]{background:var(--success)}.subscription-status.cancelled[data-v-62a3d54d]{color:var(--warning)}.subscription-status.cancelled .status-dot[data-v-62a3d54d]{background:var(--warning)}.subscription-details[data-v-62a3d54d]{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem}.detail-row[data-v-62a3d54d]{display:flex;justify-content:space-between;padding:.375rem 0}.detail-row[data-v-62a3d54d]:not(:last-child){border-bottom:1px solid var(--border-subtle)}.detail-row .label[data-v-62a3d54d]{color:var(--text-muted);font-size:.75rem}.detail-row .value[data-v-62a3d54d]{color:var(--text-white);font-weight:500;font-size:.75rem}.manage-btn[data-v-62a3d54d]{display:flex;align-items:center;justify-content:center;gap:.375rem;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);color:var(--primary);padding:.5rem .875rem;border-radius:var(--radius-sm);font-weight:600;font-size:.8rem;text-decoration:none;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}.manage-btn[data-v-62a3d54d]:hover{background:linear-gradient(135deg,var(--primary-light),var(--primary));border-color:transparent;color:#2a1206;transform:translateY(-1px)}.manage-btn[data-v-62a3d54d]:focus-visible{outline:none;box-shadow:var(--ring)}.manage-btn svg[data-v-62a3d54d]{width:1rem;height:1rem}.no-subscription[data-v-62a3d54d]{text-align:center;padding:.75rem 0}.no-subscription p[data-v-62a3d54d]{color:var(--text-muted);font-size:.85rem;margin-bottom:.75rem}.profile-info[data-v-62a3d54d]{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.info-row[data-v-62a3d54d]{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.info-label[data-v-62a3d54d]{font-size:.75rem;color:var(--text-muted)}.info-value[data-v-62a3d54d]{color:var(--text-white);font-weight:500;font-size:.85rem}.section-card:not(.subscription-card):not(.danger-zone) .section-header[data-v-62a3d54d]:not(.clickable){margin-bottom:1rem}.preference-item[data-v-62a3d54d]{display:flex;justify-content:space-between;align-items:center;gap:.875rem}@media(max-width:480px){.preference-item[data-v-62a3d54d]{flex-direction:column;align-items:stretch}}.preference-info[data-v-62a3d54d]{display:flex;flex-direction:column;gap:.125rem}.preference-label[data-v-62a3d54d]{color:var(--text-white);font-weight:500;font-size:.85rem}.preference-description[data-v-62a3d54d]{font-size:.75rem;color:var(--text-muted)}.theme-switcher[data-v-62a3d54d]{display:flex;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.1875rem}.theme-option[data-v-62a3d54d]{display:flex;align-items:center;gap:.25rem;padding:.375rem .625rem;border:none;background:none;border-radius:calc(var(--radius-sm) - 4px);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease)}.theme-option svg[data-v-62a3d54d]{width:.875rem;height:.875rem}.theme-option.active[data-v-62a3d54d]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206}.theme-option[data-v-62a3d54d]:not(.active):hover{color:var(--text-white)}.theme-option[data-v-62a3d54d]:focus-visible{outline:none;box-shadow:var(--ring)}.danger-zone[data-v-62a3d54d]:before{background:var(--error)}.danger-zone .section-header[data-v-62a3d54d]{margin-bottom:1rem}.danger-icon[data-v-62a3d54d]{background:color-mix(in srgb,var(--error) 12%,transparent);border-color:color-mix(in srgb,var(--error) 22%,transparent)}.danger-icon svg[data-v-62a3d54d]{color:var(--error)}.logout-btn[data-v-62a3d54d]{display:flex;align-items:center;gap:.375rem;background:color-mix(in srgb,var(--error) 10%,transparent);border:1px solid color-mix(in srgb,var(--error) 30%,transparent);color:var(--error);padding:.5rem .875rem;border-radius:var(--radius-sm);font-family:var(--body-font);font-weight:600;font-size:.8rem;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);width:100%;justify-content:center}.logout-btn[data-v-62a3d54d]:hover{background:var(--error);border-color:transparent;color:#fff;transform:translateY(-1px)}.logout-btn[data-v-62a3d54d]:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 32%,transparent)}.logout-btn[data-v-62a3d54d]:active{transform:translateY(0)}.logout-btn svg[data-v-62a3d54d]{width:1rem;height:1rem}.toast[data-v-62a3d54d]{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);padding:.75rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;z-index:1001;cursor:pointer;box-shadow:var(--shadow-card);animation:slideUp-62a3d54d .3s var(--ease)}.toast.success[data-v-62a3d54d]{background:var(--success);color:#0a0a0a}.toast.error[data-v-62a3d54d]{background:var(--error);color:#fff}@keyframes slideUp-62a3d54d{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.achievements-icon[data-v-62a3d54d]{background:#eab3081f}.achievements-icon svg[data-v-62a3d54d]{color:#d97706}.no-achievements[data-v-62a3d54d]{text-align:center;padding:1rem;color:var(--text-muted, #a8a29e);font-size:.875rem}.badges-grid[data-v-62a3d54d]{display:flex;flex-direction:column;gap:.625rem}.badge-item[data-v-62a3d54d]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#eab3080d;border:1px solid rgba(234,179,8,.15);border-radius:10px}.badge-icon[data-v-62a3d54d]{width:2.25rem;height:2.25rem;background:#eab3081f;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.badge-icon svg[data-v-62a3d54d]{width:1.1rem;height:1.1rem;color:#d97706;stroke-width:2}.badge-body[data-v-62a3d54d]{flex:1;min-width:0}.badge-title[data-v-62a3d54d]{display:block;font-weight:600;font-size:.875rem;color:var(--text-white, #1c1917);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-date[data-v-62a3d54d]{display:block;font-size:.75rem;color:var(--text-muted, #a8a29e);margin-top:.1rem}.badge-dl[data-v-62a3d54d]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:#ea580c14;border:1px solid rgba(234,88,12,.2);border-radius:6px;color:#ea580c;text-decoration:none;flex-shrink:0;transition:background .15s}.badge-dl[data-v-62a3d54d]:hover{background:#ea580c26}.badge-dl svg[data-v-62a3d54d]{width:.875rem;height:.875rem}@media(max-width:480px){.page-container[data-v-62a3d54d]{padding:1.25rem}.page-header h1[data-v-62a3d54d]{font-size:1.25rem}.section-card[data-v-62a3d54d]{padding:1rem 1.125rem}.section-header.clickable[data-v-62a3d54d]{margin:-1rem -1.125rem;padding:1rem 1.125rem}.form-actions[data-v-62a3d54d]{flex-direction:column}.form-actions button[data-v-62a3d54d]{width:100%}}.portfolio-settings[data-v-62a3d54d]{padding:1rem 1.5rem 1.5rem}.portfolio-toggle[data-v-62a3d54d]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:1rem}.toggle-label[data-v-62a3d54d]{font-size:.9rem;color:var(--text-white);font-weight:500}.toggle-desc[data-v-62a3d54d]{font-size:.8rem;color:var(--text-muted)}.toggle-switch[data-v-62a3d54d]{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input[data-v-62a3d54d]{opacity:0;width:0;height:0}.toggle-slider[data-v-62a3d54d]{position:absolute;cursor:pointer;inset:0;background:#ffffff1a;border-radius:24px;transition:.2s}.toggle-slider[data-v-62a3d54d]:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s}.toggle-switch input:checked+.toggle-slider[data-v-62a3d54d]{background:#7aa0ff}.toggle-switch input:checked+.toggle-slider[data-v-62a3d54d]:before{transform:translate(20px)}.portfolio-field[data-v-62a3d54d]{margin-bottom:1rem}.portfolio-field label[data-v-62a3d54d]{display:block;font-size:.82rem;color:var(--text-muted);margin-bottom:.4rem}.field-hint[data-v-62a3d54d]{opacity:.6}.username-input-wrap[data-v-62a3d54d]{display:flex;align-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;overflow:hidden}.username-prefix[data-v-62a3d54d]{padding:.5rem .6rem;font-size:.75rem;color:#ffffff4d;white-space:nowrap;border-right:1px solid rgba(255,255,255,.08)}.username-input[data-v-62a3d54d]{flex:1;background:none;border:none;color:#fff;padding:.5rem .6rem;font-size:.85rem;outline:none}.field-input[data-v-62a3d54d]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;padding:.5rem .75rem;font-size:.85rem;box-sizing:border-box}.field-textarea[data-v-62a3d54d]{width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;padding:.5rem .75rem;font-size:.85rem;resize:vertical;box-sizing:border-box}.field-input[data-v-62a3d54d]:focus,.field-textarea[data-v-62a3d54d]:focus{outline:none;border-color:#7aa0ff}.portfolio-url-preview[data-v-62a3d54d]{background:#7aa0ff0f;border:1px solid rgba(122,160,255,.15);border-radius:6px;padding:.5rem .75rem;margin-bottom:1rem;font-size:.82rem}.url-label[data-v-62a3d54d]{color:#fff6;margin-right:.4rem}.url-link[data-v-62a3d54d]{color:#7aa0ff;text-decoration:none}.url-link[data-v-62a3d54d]:hover{text-decoration:underline}.btn-save-portfolio[data-v-62a3d54d]{background:#7aa0ff;color:#0a0d14;font-weight:600;border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.9rem;cursor:pointer}.btn-save-portfolio[data-v-62a3d54d]:disabled{opacity:.5;cursor:not-allowed}.btn-save-portfolio[data-v-62a3d54d]:not(:disabled):hover{background:#93b4ff}.success-msg[data-v-62a3d54d]{font-size:.82rem;color:#10b981;margin-top:.5rem}.error-msg[data-v-62a3d54d]{font-size:.82rem;color:#ef4444;margin-top:.5rem}.learn-page[data-v-9d54bdb1]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.learn-layout[data-v-9d54bdb1]{display:flex;padding-top:0}.course-header[data-v-9d54bdb1]{position:relative;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.course-header[data-v-9d54bdb1]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:linear-gradient(180deg,var(--primary-light),var(--primary))}.course-header-left[data-v-9d54bdb1]{display:flex;flex-direction:column;gap:.25rem}.course-header-right[data-v-9d54bdb1]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.course-title[data-v-9d54bdb1]{font-family:var(--display-font);font-size:1.1rem;font-weight:600;color:var(--text-white);margin:0;letter-spacing:-.02em}.course-progress[data-v-9d54bdb1]{display:flex;align-items:center;gap:.5rem}.progress-bar-large[data-v-9d54bdb1]{width:100px;height:4px;background:var(--bg-darker);border-radius:2px;overflow:hidden}.progress-bar-large .progress-fill[data-v-9d54bdb1]{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:2px;transition:width .3s var(--ease)}.progress-text[data-v-9d54bdb1]{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.admin-toggle-inline[data-v-9d54bdb1]{padding:.375rem .625rem;background:rgba(var(--primary-rgb),.08);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.toggle-label[data-v-9d54bdb1]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-input[data-v-9d54bdb1]{display:none}.toggle-switch[data-v-9d54bdb1]{position:relative;width:2rem;height:1.125rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:1rem;transition:background .2s var(--ease);flex-shrink:0}.toggle-switch[data-v-9d54bdb1]:after{content:"";position:absolute;top:.0625rem;left:.125rem;width:.875rem;height:.875rem;background:var(--text-white);border-radius:50%;transition:transform .2s var(--ease)}.toggle-input:checked+.toggle-switch[data-v-9d54bdb1]{background:var(--primary);border-color:var(--primary)}.toggle-input:checked+.toggle-switch[data-v-9d54bdb1]:after{background:#2a1206;transform:translate(.875rem)}.toggle-text[data-v-9d54bdb1]{font-size:.7rem;font-weight:500;color:var(--text-white)}.toggle-hint[data-v-9d54bdb1]{font-size:.65rem;color:var(--text-muted);margin:.375rem 0 0;opacity:.7}.main-content[data-v-9d54bdb1]{flex:1;padding:1.25rem 1.5rem;max-width:100%}.content-card[data-v-9d54bdb1]{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem 1.125rem;margin-bottom:1rem;box-shadow:var(--shadow-card)}.content-card[data-v-9d54bdb1]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--primary);opacity:.5}.card-header[data-v-9d54bdb1]{margin-bottom:1rem}.card-header h2[data-v-9d54bdb1]{font-family:var(--display-font);font-size:1rem;font-weight:600;margin-bottom:.125rem}.card-subtitle[data-v-9d54bdb1]{font-size:.75rem;color:var(--text-muted)}.subject-card[data-v-9d54bdb1]{margin-bottom:1rem}.subject-card[data-v-9d54bdb1]:before{transition:width .2s var(--ease),opacity .2s var(--ease)}.subject-card[data-v-9d54bdb1]:hover:before{width:3px;opacity:1}.subject-card[data-v-9d54bdb1]:hover{border-color:rgba(var(--primary-rgb),.25)}.subject-card.locked[data-v-9d54bdb1]{opacity:.7}.subject-card.locked[data-v-9d54bdb1]:before{background:var(--text-muted)}.subject-header[data-v-9d54bdb1]{margin-bottom:0;cursor:pointer;padding:1rem;margin:-1rem -1.125rem 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:background-color .2s var(--ease)}.subject-header[data-v-9d54bdb1]:hover{background:rgba(var(--primary-rgb),.04)}.subject-toggle[data-v-9d54bdb1]{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.subject-toggle svg[data-v-9d54bdb1]{width:1rem;height:1rem;color:var(--text-muted);transition:transform .3s var(--ease);transform:rotate(-90deg)}.subject-toggle.expanded svg[data-v-9d54bdb1]{transform:rotate(0)}.subject-title-row[data-v-9d54bdb1]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.subject-icon[data-v-9d54bdb1]{width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.subject-icon svg[data-v-9d54bdb1]{width:1.25rem;height:1.25rem}.subject-icon.icon-html[data-v-9d54bdb1]{background:#e34f261f;color:#e34f26}.subject-icon.icon-css[data-v-9d54bdb1]{background:#264de41f;color:#264de4}.subject-icon.icon-javascript[data-v-9d54bdb1]{background:#f7df1e1f;color:#f7df1e}.subject-icon.icon-php[data-v-9d54bdb1]{background:#777bb41f;color:#777bb4}.subject-icon.icon-mysql[data-v-9d54bdb1]{background:#00758f1f;color:#00758f}.subject-icon.icon-projects[data-v-9d54bdb1]{background:rgba(var(--primary-rgb),.12);color:var(--primary)}.subject-info[data-v-9d54bdb1]{flex:1}.subject-info h2[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.95rem;font-weight:600;margin-bottom:.125rem;letter-spacing:-.02em}.subject-lock-badge[data-v-9d54bdb1]{display:flex;align-items:center;gap:.25rem;background:var(--bg-darker);border:1px solid var(--border-subtle);color:var(--text-muted);padding:.25rem .5rem;border-radius:2rem;font-size:.65rem;font-weight:500}.subject-lock-badge svg[data-v-9d54bdb1]{width:.7rem;height:.7rem}.subject-progress[data-v-9d54bdb1]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.subject-progress-bar[data-v-9d54bdb1]{flex:1;height:4px;background:var(--bg-darker);border-radius:2px;overflow:hidden}.subject-progress-fill[data-v-9d54bdb1]{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:2px;transition:width .3s var(--ease)}.subject-progress-text[data-v-9d54bdb1]{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.modules-accordion[data-v-9d54bdb1]{display:flex;flex-direction:column;gap:.5rem;padding-top:.75rem;margin-top:.75rem;border-top:1px solid var(--border-subtle)}.module-item[data-v-9d54bdb1]{position:relative;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden;transition:background-color .2s var(--ease),border-color .2s var(--ease)}.module-item[data-v-9d54bdb1]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--primary);opacity:.4;transition:width .2s var(--ease),opacity .2s var(--ease)}.module-item[data-v-9d54bdb1]:hover:before{width:3px;opacity:.8}.module-item[data-v-9d54bdb1]:hover{border-color:rgba(var(--primary-rgb),.25)}.module-item.expanded[data-v-9d54bdb1]:before{width:3px;opacity:1}.module-item.locked[data-v-9d54bdb1]{opacity:.6}.module-item.locked[data-v-9d54bdb1]:before{background:var(--text-muted)}.module-item.locked .module-header[data-v-9d54bdb1]{cursor:not-allowed}.module-toggle .lock-icon[data-v-9d54bdb1]{color:var(--text-muted)}.module-header[data-v-9d54bdb1]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text-white);transition:background-color .2s var(--ease)}.module-header[data-v-9d54bdb1]:hover{background:rgba(var(--primary-rgb),.04)}.module-header.completed[data-v-9d54bdb1]:before{background:var(--success)}.module-toggle[data-v-9d54bdb1]{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.module-toggle svg[data-v-9d54bdb1]{width:.875rem;height:.875rem;color:var(--text-muted);transition:transform .2s var(--ease)}.module-item.expanded .module-toggle svg[data-v-9d54bdb1]{transform:rotate(180deg)}.module-info[data-v-9d54bdb1]{flex:1;min-width:0}.module-info h3[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.875rem;font-weight:600;margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:.4rem}.bonus-badge[data-v-9d54bdb1]{display:inline-flex;align-items:center;font-family:var(--mono-font);font-size:.58rem;font-weight:700;letter-spacing:.08em;padding:.12rem .4rem;border-radius:4px;color:var(--primary);background:rgba(var(--primary-rgb),.12);border:1px solid rgba(var(--primary-rgb),.32);text-transform:uppercase;vertical-align:middle}.module-lesson-count[data-v-9d54bdb1]{font-size:.7rem;color:var(--text-muted)}.module-time[data-v-9d54bdb1]{color:var(--primary);font-weight:500}.module-progress[data-v-9d54bdb1]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.module-progress-bar[data-v-9d54bdb1]{width:60px;height:3px;background:var(--bg-body);border-radius:2px;overflow:hidden}.module-progress-fill[data-v-9d54bdb1]{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:2px;transition:width .3s var(--ease)}.module-header.completed .module-progress-fill[data-v-9d54bdb1]{background:var(--success)}.module-progress-text[data-v-9d54bdb1]{font-size:.7rem;color:var(--text-muted);min-width:32px;text-align:right}.module-lessons[data-v-9d54bdb1]{background:var(--bg-body);border-top:1px solid var(--border-subtle);padding:.25rem 0}.module-lessons .lesson-item[data-v-9d54bdb1]{position:relative;display:flex;align-items:center;gap:.625rem;padding:.5rem .875rem .5rem 2rem;text-decoration:none;color:var(--text-muted);transition:background-color .2s var(--ease),color .2s var(--ease)}.module-lessons .lesson-item[data-v-9d54bdb1]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--primary);transition:width .2s var(--ease)}.module-lessons .lesson-item[data-v-9d54bdb1]:hover:before{width:2px}.module-lessons .lesson-item[data-v-9d54bdb1]:hover{background:rgba(var(--primary-rgb),.06);color:var(--text-white)}.module-lessons .lesson-item.current[data-v-9d54bdb1]{background:rgba(var(--primary-rgb),.08)}.module-lessons .lesson-item.current[data-v-9d54bdb1]:before{width:3px}.module-lessons .lesson-item.current .lesson-title[data-v-9d54bdb1]{color:var(--primary);font-weight:500}.module-lessons .lesson-item.completed[data-v-9d54bdb1]{color:var(--success)}.module-lessons .lesson-item.completed[data-v-9d54bdb1]:before{background:var(--success);width:2px;opacity:.5}.lesson-status[data-v-9d54bdb1]{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.lesson-status svg[data-v-9d54bdb1]{width:.875rem;height:.875rem}.lesson-number[data-v-9d54bdb1]{font-size:.65rem;font-weight:600;color:var(--text-muted)}.lesson-title[data-v-9d54bdb1]{flex:1;font-size:.8rem}.quiz-item[data-v-9d54bdb1]{border-top:1px dashed var(--border-subtle);margin-top:.25rem}.quiz-item .lesson-title[data-v-9d54bdb1]{font-weight:600}.quiz-badge[data-v-9d54bdb1]{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;background:rgba(var(--primary-rgb),.15);color:var(--primary);font-size:.8rem}.quiz-meta[data-v-9d54bdb1]{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.quiz-item.completed .quiz-meta[data-v-9d54bdb1]{color:var(--success)}.subject-project-card[data-v-9d54bdb1]{display:flex;align-items:center;gap:.85rem;margin:.6rem .75rem .25rem;padding:.85rem 1rem;border:1px solid rgba(var(--primary-rgb),.35);background:linear-gradient(135deg,rgba(var(--primary-rgb),.08),rgba(var(--primary-rgb),.03));border-radius:var(--radius);text-decoration:none;color:inherit;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.subject-project-card[data-v-9d54bdb1]:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--accent-glow)}.subject-project-card.passed[data-v-9d54bdb1]{border-color:color-mix(in srgb,var(--success) 40%,transparent);background:color-mix(in srgb,var(--success) 8%,transparent)}.sp-badge[data-v-9d54bdb1]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;font-size:1rem;background:rgba(var(--primary-rgb),.18)}.subject-project-card.passed .sp-badge[data-v-9d54bdb1]{background:color-mix(in srgb,var(--success) 20%,transparent);color:var(--success)}.sp-text[data-v-9d54bdb1]{flex:1}.sp-text h3[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.92rem;margin:0}.sp-sub[data-v-9d54bdb1]{font-size:.74rem;color:var(--text-muted)}.capstone-projects-section[data-v-9d54bdb1]{margin-bottom:1rem}.capstone-projects-header[data-v-9d54bdb1]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.setup-guide-shortcut[data-v-9d54bdb1]{margin-left:auto;display:flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:6px;background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.2);color:var(--primary);font-size:.75rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}.setup-guide-shortcut[data-v-9d54bdb1]:hover{background:rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.4);text-decoration:none}.setup-guide-shortcut svg[data-v-9d54bdb1]{width:.9rem;height:.9rem}.capstone-icon[data-v-9d54bdb1]{width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:rgba(var(--primary-rgb),.12);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.capstone-icon svg[data-v-9d54bdb1]{width:1.25rem;height:1.25rem}.capstone-title[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.95rem;font-weight:600;margin:0 0 .125rem;letter-spacing:-.02em}.projects-grid-section[data-v-9d54bdb1]{display:flex;flex-direction:column;gap:.5rem}.project-card-item[data-v-9d54bdb1]{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:.875rem 1rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-decoration:none;color:inherit;transition:border-color .18s var(--ease),transform .18s var(--ease)}.project-card-item[data-v-9d54bdb1]:hover{border-color:rgba(var(--primary-rgb),.4);transform:translateY(-1px)}.project-card-top[data-v-9d54bdb1]{display:flex;align-items:flex-start;gap:.75rem}.project-card-info[data-v-9d54bdb1]{flex:1;min-width:0}.project-card-title[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.875rem;font-weight:600;margin:0 0 .25rem;color:var(--text-white)}.project-card-desc[data-v-9d54bdb1]{font-size:.75rem;color:var(--text-muted);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.difficulty-badge[data-v-9d54bdb1]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:3px;flex-shrink:0}.diff-beginner[data-v-9d54bdb1]{background:#10b98126;color:#10b981}.diff-intermediate[data-v-9d54bdb1]{background:#f59e0b26;color:#f59e0b}.diff-advanced[data-v-9d54bdb1]{background:#ef444426;color:#ef4444}.project-card-meta[data-v-9d54bdb1]{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.project-meta-item[data-v-9d54bdb1]{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-muted)}.project-meta-item svg[data-v-9d54bdb1]{width:.85rem;height:.85rem}.project-status-badge[data-v-9d54bdb1]{font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:3px;margin-left:auto}.status-not-started[data-v-9d54bdb1]{background:var(--bg-body);color:var(--text-muted);border:1px solid var(--border-subtle)}.status-submitted[data-v-9d54bdb1]{background:#f59e0b26;color:#f59e0b}.status-approved[data-v-9d54bdb1]{background:#10b98126;color:#10b981}.status-needs_work[data-v-9d54bdb1]{background:#ef444426;color:#ef4444}.project-arrow[data-v-9d54bdb1]{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:.875rem;height:.875rem;color:var(--text-muted);opacity:0;transition:opacity .2s var(--ease),transform .2s var(--ease)}.project-card-item:hover .project-arrow[data-v-9d54bdb1]{opacity:1;transform:translateY(-50%) translate(3px)}.project-cert-banner[data-v-9d54bdb1]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#10b9811a,#10b9810a);border:1px solid rgba(16,185,129,.4);border-radius:8px}.cert-banner-left[data-v-9d54bdb1]{display:flex;align-items:center;gap:.75rem}.cert-banner-left svg[data-v-9d54bdb1]{width:1.5rem;height:1.5rem;color:#10b981;flex-shrink:0}.cert-banner-left strong[data-v-9d54bdb1]{display:block;font-size:.875rem;color:#10b981}.cert-banner-left span[data-v-9d54bdb1]{font-size:.8rem;color:var(--text-muted)}.btn-download-cert[data-v-9d54bdb1]{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:#10b981;color:#fff;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;flex-shrink:0;transition:opacity .15s}.btn-download-cert[data-v-9d54bdb1]:hover{opacity:.88}.btn-download-cert svg[data-v-9d54bdb1]{width:.9rem;height:.9rem}.final-test-card[data-v-9d54bdb1]{display:flex;align-items:center;gap:1rem;margin:1.5rem .5rem .5rem;padding:1.1rem 1.25rem;border:2px solid rgba(var(--primary-rgb),.5);background:linear-gradient(135deg,rgba(var(--primary-rgb),.12),rgba(var(--primary-rgb),.05));border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease);box-shadow:var(--accent-glow)}.final-test-card[data-v-9d54bdb1]:not(.locked):hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.final-test-card.passed[data-v-9d54bdb1]{border-color:color-mix(in srgb,var(--success) 55%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--success) 12%,transparent),color-mix(in srgb,var(--success) 5%,transparent))}.final-test-card.locked[data-v-9d54bdb1]{opacity:.7;cursor:not-allowed;border-style:dashed;box-shadow:none}.ft-badge[data-v-9d54bdb1]{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:50%;font-size:1.3rem;flex-shrink:0;background:rgba(var(--primary-rgb),.2)}.final-test-card.passed .ft-badge[data-v-9d54bdb1]{background:color-mix(in srgb,var(--success) 22%,transparent)}.ft-info[data-v-9d54bdb1]{flex:1;display:flex;flex-direction:column;gap:.15rem}.ft-eyebrow[data-v-9d54bdb1]{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-dark);font-weight:700}.ft-title[data-v-9d54bdb1]{font-family:var(--display-font);font-size:1rem;font-weight:700}.ft-meta[data-v-9d54bdb1]{font-size:.78rem;color:var(--text-muted)}.final-test-card.passed .ft-meta[data-v-9d54bdb1]{color:var(--success)}.lesson-arrow[data-v-9d54bdb1]{width:.875rem;height:.875rem;color:var(--text-muted);opacity:0;transition:opacity .2s var(--ease),transform .2s var(--ease)}.module-lessons .lesson-item:hover .lesson-arrow[data-v-9d54bdb1]{opacity:1;transform:translate(3px)}.module-lessons .lesson-item.locked[data-v-9d54bdb1]{opacity:.5;cursor:not-allowed}.module-lessons .lesson-item.locked[data-v-9d54bdb1]:hover{background:transparent;color:var(--text-muted)}.module-lessons .lesson-item.locked[data-v-9d54bdb1]:hover:before{width:0}.lesson-status .lock-icon[data-v-9d54bdb1]{color:var(--text-muted);width:.75rem;height:.75rem}.loading-state[data-v-9d54bdb1]{text-align:center;padding:2rem 1.5rem}.spinner[data-v-9d54bdb1]{width:2rem;height:2rem;border:2px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-9d54bdb1 1s linear infinite;margin:0 auto .75rem}@keyframes spin-9d54bdb1{to{transform:rotate(360deg)}}.loading-state p[data-v-9d54bdb1]{color:var(--text-muted);font-size:.8rem}.error-card[data-v-9d54bdb1]:before{background:var(--error)}.error-state[data-v-9d54bdb1]{text-align:center;padding:2rem 1.5rem}.error-state svg[data-v-9d54bdb1]{width:2rem;height:2rem;color:var(--error);margin-bottom:.75rem}.error-state h3[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.95rem;margin-bottom:.75rem;color:var(--error);font-weight:600}.btn-secondary[data-v-9d54bdb1]{display:inline-block;background:transparent;border:1px solid var(--border-subtle);color:var(--text-white);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-decoration:none;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.btn-secondary[data-v-9d54bdb1]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.empty-state[data-v-9d54bdb1]{text-align:center;padding:2rem 1.5rem}.empty-state svg[data-v-9d54bdb1]{width:2rem;height:2rem;color:var(--text-muted);margin-bottom:.75rem;opacity:.6}.empty-state h3[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.95rem;font-weight:600;margin-bottom:.375rem}.empty-state p[data-v-9d54bdb1]{color:var(--text-muted);font-size:.8rem}@media(max-width:1024px){.module-progress-bar[data-v-9d54bdb1]{width:50px}.course-header[data-v-9d54bdb1]{flex-direction:column;gap:.625rem}.course-header-right[data-v-9d54bdb1]{width:100%;justify-content:space-between}}@media(max-width:768px){.main-content[data-v-9d54bdb1]{padding:1rem}.course-header[data-v-9d54bdb1]{padding:.875rem 1rem;margin-bottom:.75rem}.course-title[data-v-9d54bdb1]{font-size:1rem}.module-progress-bar[data-v-9d54bdb1]{display:none}.course-header-right[data-v-9d54bdb1]{flex-direction:column;align-items:flex-start;gap:.75rem}.progress-bar-large[data-v-9d54bdb1]{width:100%;flex:1}.course-progress[data-v-9d54bdb1]{width:100%}.content-card[data-v-9d54bdb1]{padding:.875rem 1rem}.subject-header[data-v-9d54bdb1]{padding:.75rem;margin:-.875rem -1rem 0}.module-header[data-v-9d54bdb1]{padding:.625rem .75rem;gap:.5rem}.module-info h3[data-v-9d54bdb1]{font-size:.8rem}.module-lessons .lesson-item[data-v-9d54bdb1]{padding:.5rem .75rem .5rem 1.5rem}.lesson-title[data-v-9d54bdb1]{font-size:.75rem}}@media(max-width:480px){.main-content[data-v-9d54bdb1]{padding:.75rem}.sidebar[data-v-9d54bdb1]{position:fixed;left:-100%;z-index:200;width:85vw;max-width:320px;transition:left .25s ease}.sidebar.sidebar-open[data-v-9d54bdb1]{left:0}.content-card[data-v-9d54bdb1]{padding:.75rem}pre[data-v-9d54bdb1],code[data-v-9d54bdb1]{font-size:.78rem;overflow-x:auto;white-space:pre}h1[data-v-9d54bdb1],.lesson-title[data-v-9d54bdb1]{font-size:1rem}h2[data-v-9d54bdb1]{font-size:.95rem}h3[data-v-9d54bdb1]{font-size:.85rem}.lesson-item[data-v-9d54bdb1]{padding:.5rem .6rem}}@media(prefers-color-scheme:light){.learn-page[data-v-9d54bdb1]{background:var(--bg-body)}.course-header[data-v-9d54bdb1],.content-card[data-v-9d54bdb1]{background:var(--bg-card)}.module-item[data-v-9d54bdb1]{background:var(--bg-darker)}.module-item[data-v-9d54bdb1]:hover{border-color:rgba(var(--primary-rgb),.25)}.module-lessons[data-v-9d54bdb1]{background:var(--bg-body)}.module-lessons .lesson-item[data-v-9d54bdb1]:hover{background:rgba(var(--primary-rgb),.06)}.module-lessons .lesson-item.current[data-v-9d54bdb1]{background:rgba(var(--primary-rgb),.08)}}.light-mode .learn-page[data-v-9d54bdb1],[data-theme=light] .learn-page[data-v-9d54bdb1]{background:var(--bg-body)}.light-mode .course-header[data-v-9d54bdb1],.light-mode .content-card[data-v-9d54bdb1],[data-theme=light] .course-header[data-v-9d54bdb1],[data-theme=light] .content-card[data-v-9d54bdb1]{background:var(--bg-card)}.light-mode .module-item[data-v-9d54bdb1],[data-theme=light] .module-item[data-v-9d54bdb1]{background:var(--bg-darker)}.light-mode .module-item[data-v-9d54bdb1]:hover,[data-theme=light] .module-item[data-v-9d54bdb1]:hover{border-color:rgba(var(--primary-rgb),.25)}.light-mode .module-lessons[data-v-9d54bdb1],[data-theme=light] .module-lessons[data-v-9d54bdb1]{background:var(--bg-body)}.light-mode .module-lessons .lesson-item[data-v-9d54bdb1]:hover,[data-theme=light] .module-lessons .lesson-item[data-v-9d54bdb1]:hover{background:rgba(var(--primary-rgb),.06)}.light-mode .module-lessons .lesson-item.current[data-v-9d54bdb1],[data-theme=light] .module-lessons .lesson-item.current[data-v-9d54bdb1]{background:rgba(var(--primary-rgb),.08)}.certificate-panel[data-v-9d54bdb1]{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:linear-gradient(135deg,rgba(var(--primary-rgb),.08),rgba(var(--primary-rgb),.03));border:1px solid rgba(var(--primary-rgb),.3);border-radius:var(--radius-lg);margin-top:.5rem;flex-wrap:wrap}.cert-panel-icon[data-v-9d54bdb1]{width:2.5rem;height:2.5rem;border-radius:50%;background:rgba(var(--primary-rgb),.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}.cert-panel-icon svg[data-v-9d54bdb1]{width:1.25rem;height:1.25rem}.cert-panel-info[data-v-9d54bdb1]{flex:1;min-width:0}.cert-panel-info h3[data-v-9d54bdb1]{font-family:var(--display-font);font-size:.9rem;font-weight:700;margin:0 0 .2rem}.cert-panel-info p[data-v-9d54bdb1]{font-size:.78rem;color:var(--text-muted);margin:0}.cert-panel-actions[data-v-9d54bdb1]{display:flex;gap:.5rem}.btn-cert[data-v-9d54bdb1]{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:700;cursor:pointer;text-decoration:none;transition:opacity .2s;border:none}.btn-cert[data-v-9d54bdb1]:disabled{opacity:.6;cursor:not-allowed}.btn-cert-generate[data-v-9d54bdb1]{background:var(--primary);color:#fff}.btn-cert-download[data-v-9d54bdb1]{background:rgba(var(--primary-rgb),.15);color:var(--primary);border:1px solid rgba(var(--primary-rgb),.3)}.btn-cert-download svg[data-v-9d54bdb1]{width:.875rem;height:.875rem}.btn-cert[data-v-9d54bdb1]:hover:not(:disabled){opacity:.85}.cert-error[data-v-9d54bdb1]{font-size:.78rem;color:#ef4444;margin:.5rem 0 0;width:100%}.lesson-search-bar[data-v-9d54bdb1]{padding:.75rem 1rem;position:relative;z-index:10}.search-input-wrap[data-v-9d54bdb1]{display:flex;align-items:center;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:var(--radius, .5rem);padding:.55rem .75rem;gap:.5rem;transition:border-color .2s}.search-input-wrap[data-v-9d54bdb1]:focus-within{border-color:var(--primary, #6c63ff);box-shadow:0 0 0 2px #6c63ff33}.search-icon[data-v-9d54bdb1]{width:1rem;height:1rem;color:var(--text-muted, #888);flex-shrink:0}.search-input[data-v-9d54bdb1]{flex:1;background:transparent;border:none;outline:none;color:var(--text-white, #fff);font-size:.9rem;font-family:var(--body-font, inherit)}.search-input[data-v-9d54bdb1]::placeholder{color:var(--text-muted, #888)}.search-input[data-v-9d54bdb1]::-webkit-search-cancel-button{display:none}.search-clear[data-v-9d54bdb1]{background:none;border:none;cursor:pointer;color:var(--text-muted, #888);padding:0;display:flex;align-items:center;transition:color .15s}.search-clear[data-v-9d54bdb1]:hover{color:var(--text-white, #fff)}.search-clear svg[data-v-9d54bdb1]{width:.875rem;height:.875rem}.search-results[data-v-9d54bdb1]{margin-top:.5rem;background:var(--bg-card, #1a1a2e);border:1px solid var(--border-color, rgba(255,255,255,.1));border-radius:var(--radius, .5rem);overflow:hidden}.search-results-header[data-v-9d54bdb1]{padding:.5rem .75rem;font-size:.75rem;color:var(--text-muted, #888);border-bottom:1px solid var(--border-color, rgba(255,255,255,.08))}.search-status[data-v-9d54bdb1]{padding:.75rem;font-size:.85rem;color:var(--text-muted, #888);text-align:center}.search-result-item[data-v-9d54bdb1]{display:block;padding:.6rem .75rem;text-decoration:none;border-bottom:1px solid var(--border-color, rgba(255,255,255,.06));transition:background .15s}.search-result-item[data-v-9d54bdb1]:last-child{border-bottom:none}.search-result-item[data-v-9d54bdb1]:hover{background:#ffffff0a}.sri-subject[data-v-9d54bdb1]{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--primary, #6c63ff);margin-bottom:.15rem}.sri-body[data-v-9d54bdb1]{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.sri-module[data-v-9d54bdb1]{font-size:.82rem;color:var(--text-muted, #888)}.sri-sep[data-v-9d54bdb1]{font-size:.75rem;color:var(--text-muted, #888)}.sri-title[data-v-9d54bdb1]{font-size:.88rem;color:var(--text-white, #fff);font-weight:500}.sri-title[data-v-9d54bdb1] mark{background:#6c63ff59;color:inherit;border-radius:2px;padding:0 1px}.auth-page[data-v-1695257a]{--brand-primary: var(--primary);--brand-primary-light: var(--primary-light);--brand-primary-dark: var(--primary-dark);--brand-rgb: var(--primary-rgb);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden;background:var(--bg-body);font-family:var(--body-font)}.auth-page[data-v-1695257a]:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(42% 52% at 16% 10%,rgba(var(--primary-rgb),.3),transparent 60%),radial-gradient(46% 54% at 84% 20%,rgba(var(--primary-rgb),.15),transparent 62%),radial-gradient(52% 56% at 72% 98%,rgba(var(--primary-rgb),.22),transparent 64%)}.auth-page[data-v-1695257a]:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:54px 54px;-webkit-mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);opacity:.5}.auth-container[data-v-1695257a]{width:100%;max-width:28rem;position:relative;z-index:1}.logo-section[data-v-1695257a]{text-align:center;margin-bottom:2rem}.logo-link[data-v-1695257a]{display:inline-block;text-decoration:none}.logo-wrapper[data-v-1695257a]{display:inline-block;position:relative}.logo-circle[data-v-1695257a]{background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle);border-radius:50%;padding:1.25rem}.glow[data-v-1695257a]{box-shadow:0 0 30px rgba(var(--primary-rgb),.3)}.logo-icon[data-v-1695257a]{width:3rem;height:3rem;color:var(--primary-light);display:block}.app-name[data-v-1695257a]{font-family:var(--display-font);font-size:1.875rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:1.5rem 0 .5rem}.auth-card[data-v-1695257a]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-card)}.card-title[data-v-1695257a]{font-family:var(--display-font);font-size:1.3rem;font-weight:600;letter-spacing:-.01em;color:var(--text-white);text-align:center;margin-bottom:.5rem}.card-subtitle[data-v-1695257a]{font-size:.875rem;color:var(--text-muted);text-align:center;margin-bottom:1.5rem}.alert[data-v-1695257a]{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1.5rem;font-size:.875rem}.alert-error[data-v-1695257a]{background:color-mix(in srgb,var(--error) 16%,transparent);border:1px solid color-mix(in srgb,var(--error) 50%,transparent);color:var(--error)}.alert-success[data-v-1695257a]{background:color-mix(in srgb,var(--success) 16%,transparent);border:1px solid color-mix(in srgb,var(--success) 50%,transparent);color:var(--success)}.form-group[data-v-1695257a]{margin-bottom:1.25rem}.form-label[data-v-1695257a]{display:block;font-size:.875rem;font-weight:500;color:var(--text-light);margin-bottom:.5rem}.input-wrapper[data-v-1695257a]{position:relative}.input-icon[data-v-1695257a]{position:absolute;left:0;top:0;bottom:0;width:2.75rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.input-icon svg[data-v-1695257a]{width:1.25rem;height:1.25rem;color:var(--primary-light)}.form-input[data-v-1695257a]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem 1rem .75rem 2.75rem;color:var(--text-white);font-size:1rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.form-input[data-v-1695257a]::placeholder{color:var(--text-muted)}.form-input[data-v-1695257a]:hover{border-color:rgba(var(--primary-rgb),.4)}.form-input[data-v-1695257a]:focus{outline:none;border-color:var(--primary);background:var(--bg-card);box-shadow:var(--ring)}.form-input[data-v-1695257a]:-webkit-autofill,.form-input[data-v-1695257a]:-webkit-autofill:hover,.form-input[data-v-1695257a]:-webkit-autofill:focus,.form-input[data-v-1695257a]:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--bg-body) inset!important;-webkit-text-fill-color:var(--text-white)!important;transition:background-color 5000s ease-in-out 0s;caret-color:var(--primary);border-color:var(--border-subtle)!important}.submit-btn[data-v-1695257a]{width:100%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-family:var(--body-font);font-weight:600;padding:.85rem 1rem;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease);box-shadow:var(--accent-glow)}.submit-btn[data-v-1695257a]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.submit-btn[data-v-1695257a]:disabled{opacity:.55;cursor:not-allowed}.toggle-section[data-v-1695257a]{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.toggle-section p[data-v-1695257a]{color:var(--text-muted);font-size:.875rem;margin:0}.toggle-link[data-v-1695257a]{color:var(--primary-light);font-weight:600;text-decoration:none;transition:color .2s var(--ease)}.toggle-link[data-v-1695257a]:hover{color:var(--primary)}.footer-section[data-v-1695257a]{text-align:center;margin-top:2rem}.back-link[data-v-1695257a]{display:inline-flex;align-items:center;gap:.25rem;color:var(--primary-light);font-size:.875rem;text-decoration:none;transition:color .2s var(--ease)}.back-link[data-v-1695257a]:hover{color:var(--primary)}.back-link svg[data-v-1695257a]{width:1rem;height:1rem}.auth-page[data-v-5102391f]{--brand-primary: var(--primary);--brand-primary-light: var(--primary-light);--brand-primary-dark: var(--primary-dark);--brand-rgb: var(--primary-rgb);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;position:relative;overflow:hidden;background:var(--bg-body);font-family:var(--body-font)}.auth-page[data-v-5102391f]:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(42% 52% at 16% 10%,rgba(var(--primary-rgb),.3),transparent 60%),radial-gradient(46% 54% at 84% 20%,rgba(var(--primary-rgb),.15),transparent 62%),radial-gradient(52% 56% at 72% 98%,rgba(var(--primary-rgb),.22),transparent 64%)}.auth-page[data-v-5102391f]:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,var(--border-subtle) 1px,transparent 1px),linear-gradient(to bottom,var(--border-subtle) 1px,transparent 1px);background-size:54px 54px;-webkit-mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);mask:radial-gradient(120% 80% at 50% 0%,#000,transparent 75%);opacity:.5}.auth-container[data-v-5102391f]{width:100%;max-width:28rem;position:relative;z-index:1}.logo-section[data-v-5102391f]{text-align:center;margin-bottom:2rem}.logo-link[data-v-5102391f]{display:inline-block;text-decoration:none}.logo-wrapper[data-v-5102391f]{display:inline-block;position:relative}.logo-circle[data-v-5102391f]{background:rgba(var(--primary-rgb),.12);border:1px solid var(--border-subtle);border-radius:50%;padding:1.25rem}.glow[data-v-5102391f]{box-shadow:0 0 30px rgba(var(--primary-rgb),.3)}.logo-icon[data-v-5102391f]{width:3rem;height:3rem;color:var(--primary-light);display:block}.app-name[data-v-5102391f]{font-family:var(--display-font);font-size:1.875rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:1.5rem 0 .5rem}.auth-card[data-v-5102391f]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-card)}.card-title[data-v-5102391f]{font-family:var(--display-font);font-size:1.3rem;font-weight:600;letter-spacing:-.01em;color:var(--text-white);text-align:center;margin-bottom:1.5rem}.alert[data-v-5102391f]{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1.5rem;font-size:.875rem}.alert-error[data-v-5102391f]{background:color-mix(in srgb,var(--error) 16%,transparent);border:1px solid color-mix(in srgb,var(--error) 50%,transparent);color:var(--error)}.alert-success[data-v-5102391f]{background:color-mix(in srgb,var(--success) 16%,transparent);border:1px solid color-mix(in srgb,var(--success) 50%,transparent);color:var(--success)}.inline-link[data-v-5102391f]{color:var(--primary-light);text-decoration:underline;transition:color .2s var(--ease)}.inline-link[data-v-5102391f]:hover{color:var(--primary)}.form-group[data-v-5102391f]{margin-bottom:1.25rem}.form-label[data-v-5102391f]{display:block;font-size:.875rem;font-weight:500;color:var(--text-light);margin-bottom:.5rem}.input-wrapper[data-v-5102391f]{position:relative}.input-icon[data-v-5102391f]{position:absolute;left:0;top:0;bottom:0;width:2.75rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.input-icon svg[data-v-5102391f]{width:1.25rem;height:1.25rem;color:var(--primary-light)}.form-input[data-v-5102391f]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem 1rem .75rem 2.75rem;color:var(--text-white);font-size:1rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}.form-input[data-v-5102391f]::placeholder{color:var(--text-muted)}.form-input[data-v-5102391f]:hover{border-color:rgba(var(--primary-rgb),.4)}.form-input[data-v-5102391f]:focus{outline:none;border-color:var(--primary);background:var(--bg-card);box-shadow:var(--ring)}.form-input[data-v-5102391f]:-webkit-autofill,.form-input[data-v-5102391f]:-webkit-autofill:hover,.form-input[data-v-5102391f]:-webkit-autofill:focus,.form-input[data-v-5102391f]:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px var(--bg-body) inset!important;-webkit-text-fill-color:var(--text-white)!important;transition:background-color 5000s ease-in-out 0s;caret-color:var(--primary);border-color:var(--border-subtle)!important}.form-hint[data-v-5102391f]{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.submit-btn[data-v-5102391f]{width:100%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-family:var(--body-font);font-weight:600;padding:.85rem 1rem;border:none;border-radius:var(--radius);font-size:1rem;cursor:pointer;transition:transform .2s var(--ease-spring),box-shadow .2s var(--ease);box-shadow:var(--accent-glow)}.submit-btn[data-v-5102391f]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.submit-btn[data-v-5102391f]:disabled{opacity:.55;cursor:not-allowed}.link-btn[data-v-5102391f]{display:block;text-align:center;text-decoration:none}.toggle-section[data-v-5102391f]{margin-top:.5rem}.footer-section[data-v-5102391f]{text-align:center;margin-top:2rem}.back-link[data-v-5102391f]{display:inline-flex;align-items:center;gap:.25rem;color:var(--primary-light);font-size:.875rem;text-decoration:none;transition:color .2s var(--ease)}.back-link[data-v-5102391f]:hover{color:var(--primary)}.back-link svg[data-v-5102391f]{width:1rem;height:1rem}.ai-tutor-page[data-v-49bb706c]{height:100vh;display:flex;flex-direction:column;padding:1.25rem;box-sizing:border-box;background:var(--bg-body);font-family:var(--body-font);position:relative;overflow:hidden}.ai-tutor-page[data-v-49bb706c]:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(46% 48% at 18% 6%,rgba(var(--primary-rgb),.2),transparent 62%),radial-gradient(50% 52% at 88% 0%,rgba(var(--primary-rgb),.12),transparent 64%)}.ai-tutor-shell[data-v-49bb706c]{flex:1;min-height:0;display:flex;flex-direction:column;max-width:900px;width:100%;margin:0 auto;position:relative;z-index:1;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.ai-tutor-header[data-v-49bb706c]{padding:1rem 1.25rem;border-bottom:1px solid var(--border-subtle);background:linear-gradient(135deg,rgba(var(--primary-rgb),.1),transparent 70%),var(--bg-dark)}.ai-tutor-title[data-v-49bb706c]{display:flex;align-items:center;gap:.75rem}.ai-tutor-spark[data-v-49bb706c]{font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:var(--radius-sm);background:rgba(var(--primary-rgb),.14);border:1px solid var(--border-subtle);box-shadow:var(--accent-glow)}.ai-tutor-header h1[data-v-49bb706c]{font-family:var(--display-font);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--text-white)}.ai-tutor-header p[data-v-49bb706c]{font-family:var(--body-font);font-size:.825rem;margin:.15rem 0 0;color:var(--text-muted)}.ai-tutor-body[data-v-49bb706c]{flex:1;min-height:0}@media(max-width:600px){.ai-tutor-page[data-v-49bb706c]{padding:.75rem}.ai-tutor-shell[data-v-49bb706c]{border-radius:var(--radius)}}.quiz-page[data-v-d75a3983]{min-height:100vh;background:var(--bg-body);color:var(--text-light);user-select:none;-webkit-user-select:none;font-family:var(--body-font)}.quiz-header[data-v-d75a3983]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:5}.quiz-header h1[data-v-d75a3983]{font-family:var(--display-font);font-size:1.1rem;margin:0;letter-spacing:-.02em;color:var(--text-white)}.quiz-header p[data-v-d75a3983]{font-size:.8rem;color:var(--text-muted);margin:.15rem 0 0}.quiz-exit[data-v-d75a3983]{color:var(--text-muted);text-decoration:none;font-size:1.25rem;line-height:1;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:color .18s var(--ease),background .18s var(--ease)}.quiz-exit[data-v-d75a3983]:hover{color:var(--error);background:rgba(var(--primary-rgb),.08)}.quiz-state[data-v-d75a3983]{max-width:460px;margin:4rem auto;text-align:center;padding:1rem;color:var(--text-light)}.quiz-state h2[data-v-d75a3983]{font-family:var(--display-font);color:var(--text-white)}.quiz-state p[data-v-d75a3983]{color:var(--text-muted)}.quiz-big[data-v-d75a3983]{font-size:3rem}.spinner[data-v-d75a3983]{width:2rem;height:2rem;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;margin:0 auto 1rem;animation:spin-d75a3983 1s linear infinite}@keyframes spin-d75a3983{to{transform:rotate(360deg)}}.quiz-body[data-v-d75a3983]{display:flex;gap:1.5rem;max-width:900px;margin:1.5rem auto;padding:0 1.5rem;align-items:flex-start}.quiz-palette[data-v-d75a3983]{display:grid;grid-template-columns:repeat(2,1fr);gap:.4rem;flex:none}.palette-num[data-v-d75a3983]{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;cursor:pointer;font-family:var(--body-font);font-weight:600;color:var(--text-muted);transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}.palette-num.reachable[data-v-d75a3983]:hover:not(.current){border-color:var(--primary);color:var(--text-white);transform:translateY(-1px)}.palette-num.answered[data-v-d75a3983]{border-color:rgba(var(--primary-rgb),.45);color:var(--primary-light);background:rgba(var(--primary-rgb),.1)}.palette-num.current[data-v-d75a3983]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border-color:transparent;box-shadow:var(--accent-glow)}.palette-num[data-v-d75a3983]:disabled{opacity:.4;cursor:not-allowed;transform:none}.quiz-main[data-v-d75a3983]{flex:1;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card)}.quiz-progress-text[data-v-d75a3983]{font-size:.8rem;color:var(--text-muted);margin-bottom:.5rem}.quiz-question[data-v-d75a3983]{font-family:var(--display-font);font-size:1.1rem;font-weight:600;margin-bottom:1.25rem;line-height:1.5;letter-spacing:-.01em;color:var(--text-white)}.quiz-question[data-v-d75a3983] code,.quiz-option[data-v-d75a3983] code{background:rgba(var(--primary-rgb),.12);color:var(--primary-light);padding:.1rem .35rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.9em}.quiz-options[data-v-d75a3983]{display:flex;flex-direction:column;gap:.6rem}.quiz-option[data-v-d75a3983]{display:flex;align-items:center;gap:.6rem;padding:.75rem 1rem;cursor:pointer;background:var(--bg-card);color:var(--text-light);border:1px solid var(--border-subtle);border-radius:var(--radius);transition:border-color .15s var(--ease),background .15s var(--ease),transform .15s var(--ease)}.quiz-option[data-v-d75a3983]:hover{border-color:var(--primary);transform:translateY(-1px)}.quiz-option.sel[data-v-d75a3983]{border-color:var(--primary);background:rgba(var(--primary-rgb),.1);color:var(--text-white)}.quiz-fill-input[data-v-d75a3983],.quiz-option input[data-v-d75a3983]{accent-color:var(--primary)}.quiz-fill-input[data-v-d75a3983]{width:100%;box-sizing:border-box;padding:.75rem 1rem;font-size:1rem;font-family:var(--body-font);background:var(--bg-card);color:var(--text-white);border:1px solid var(--border-subtle);border-radius:var(--radius);-webkit-user-select:text;user-select:text;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.quiz-fill-input[data-v-d75a3983]::placeholder{color:var(--text-muted);opacity:1}.quiz-fill-input[data-v-d75a3983]:hover{border-color:rgba(var(--primary-rgb),.4)}.quiz-fill-input[data-v-d75a3983]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.quiz-hint-box[data-v-d75a3983]{display:flex;align-items:flex-start;gap:.55rem;margin-top:1.1rem;padding:.7rem .9rem;background:#d977061a;border:1px solid var(--warning);border-radius:var(--radius);font-size:.88rem;line-height:1.5;color:var(--text-light)}.hint-ic[data-v-d75a3983]{flex:none}.hint-loading[data-v-d75a3983]{color:var(--text-muted);font-style:italic}.hint-fade-enter-active[data-v-d75a3983]{transition:opacity .6s var(--ease),transform .6s var(--ease)}.hint-fade-enter-from[data-v-d75a3983]{opacity:0;transform:translateY(6px)}.quiz-nav[data-v-d75a3983]{display:flex;justify-content:space-between;margin-top:1.5rem}.quiz-hint[data-v-d75a3983]{font-size:.78rem;color:var(--text-muted);margin:.5rem 0 0;text-align:right}.quiz-error[data-v-d75a3983]{color:var(--error);font-size:.85rem;margin-top:.75rem}.quiz-btn[data-v-d75a3983]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;padding:.6rem 1.2rem;border-radius:var(--radius);font-family:var(--body-font);font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--accent-glow);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease)}.quiz-btn[data-v-d75a3983]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong);color:#2a1206}.quiz-btn[data-v-d75a3983]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.quiz-btn.ghost[data-v-d75a3983]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-white);box-shadow:none}.quiz-btn.ghost[data-v-d75a3983]:hover:not(:disabled){border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.quiz-result[data-v-d75a3983]{max-width:720px;margin:1.5rem auto;padding:0 1.5rem}.quiz-score[data-v-d75a3983]{text-align:center;padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:1.5rem;border:1px solid var(--border-subtle)}.quiz-score.pass[data-v-d75a3983]{background:rgba(var(--primary-rgb),.04);border-color:var(--success)}.quiz-score.fail[data-v-d75a3983]{background:rgba(var(--primary-rgb),.04);border-color:var(--error)}.quiz-score-num[data-v-d75a3983]{font-family:var(--display-font);font-size:3rem;font-weight:800;letter-spacing:-.02em}.quiz-score.pass .quiz-score-num[data-v-d75a3983],.quiz-score.pass .quiz-score-label[data-v-d75a3983]{color:var(--success)}.quiz-score.fail .quiz-score-num[data-v-d75a3983],.quiz-score.fail .quiz-score-label[data-v-d75a3983]{color:var(--error)}.quiz-score-label[data-v-d75a3983]{font-family:var(--display-font);font-size:1.2rem;font-weight:600}.quiz-score p[data-v-d75a3983]{color:var(--text-muted);margin:.25rem 0 0}.review-item[data-v-d75a3983]{background:var(--bg-card);border:1px solid var(--border-subtle);border-left-width:4px;border-radius:var(--radius-sm);padding:.85rem 1rem;margin-bottom:.75rem;color:var(--text-light)}.review-item.ok[data-v-d75a3983]{border-left-color:var(--success)}.review-item.no[data-v-d75a3983]{border-left-color:var(--error)}.review-q[data-v-d75a3983]{font-weight:600;margin-bottom:.4rem;color:var(--text-white)}.review-n[data-v-d75a3983]{color:var(--text-muted)}.review-a[data-v-d75a3983],.review-correct[data-v-d75a3983]{font-size:.9rem}.review-item.ok .review-mark[data-v-d75a3983]{color:var(--success)}.review-item.no .review-mark[data-v-d75a3983]{color:var(--error)}.review-correct[data-v-d75a3983]{color:var(--success)}.review-exp[data-v-d75a3983]{font-size:.85rem;color:var(--text-muted);margin-top:.35rem}.review-mark[data-v-d75a3983]{font-weight:700}.quiz-actions[data-v-d75a3983]{display:flex;gap:.75rem;justify-content:center;margin-top:1rem}.quiz-guard[data-v-d75a3983]{position:fixed;inset:0;z-index:50;background:var(--bg-darker);display:flex;align-items:center;justify-content:center}.quiz-guard-card[data-v-d75a3983]{text-align:center;color:var(--text-white);font-family:var(--body-font)}.quiz-guard-card p[data-v-d75a3983]{color:var(--text-light)}.quiz-guard-icon[data-v-d75a3983]{font-size:2.5rem}.project-page[data-v-2aa39586]{min-height:100vh;background:var(--bg-body);color:var(--text-light);font-family:var(--body-font)}.project-header[data-v-2aa39586]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:5}.project-eyebrow[data-v-2aa39586]{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-weight:600;font-family:var(--mono-font)}.project-header h1[data-v-2aa39586]{font-family:var(--display-font);font-size:1.3rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:.2rem 0 0}.proj-exit[data-v-2aa39586]{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;flex-shrink:0;color:var(--text-muted);text-decoration:none;font-size:1.2rem;line-height:1;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:transparent;transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)}.proj-exit[data-v-2aa39586]:hover{color:var(--primary-light);border-color:var(--primary);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.proj-state[data-v-2aa39586]{max-width:460px;margin:4rem auto;text-align:center;color:var(--text-muted)}.proj-state p[data-v-2aa39586]{color:var(--text-light)}.spinner[data-v-2aa39586]{width:2rem;height:2rem;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;margin:0 auto 1rem;animation:spin-2aa39586 1s linear infinite}@keyframes spin-2aa39586{to{transform:rotate(360deg)}}.project-body[data-v-2aa39586]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1200px;margin:1.5rem auto;padding:0 1.5rem;align-items:start}@media(max-width:900px){.project-body[data-v-2aa39586]{grid-template-columns:1fr}}.project-brief[data-v-2aa39586],.project-work[data-v-2aa39586]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card)}.brief-md[data-v-2aa39586] h2{font-family:var(--display-font);color:var(--text-white);font-size:1.05rem;font-weight:700;letter-spacing:-.01em;margin:1rem 0 .4rem}.brief-md[data-v-2aa39586] h3{font-family:var(--display-font);color:var(--text-white);font-size:.95rem;font-weight:600;margin:.8rem 0 .3rem}.brief-md[data-v-2aa39586] p{font-size:.9rem;line-height:1.6;margin:.5rem 0;color:var(--text-light)}.brief-md[data-v-2aa39586] ul{font-size:.9rem;padding-left:1.2rem;color:var(--text-light)}.brief-md[data-v-2aa39586] li{margin:.2rem 0}.brief-md[data-v-2aa39586] strong{color:var(--text-white)}.brief-md[data-v-2aa39586] code{background:rgba(var(--primary-rgb),.12);color:var(--primary-light);padding:.1rem .35rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.85em}.brief-md[data-v-2aa39586] pre{background:var(--bg-darker);color:var(--text-light);border:1px solid var(--border-subtle);padding:.8rem;border-radius:var(--radius-sm);overflow:auto;font-size:.8rem}.brief-md[data-v-2aa39586] pre code{background:none;color:inherit;padding:0;font-family:var(--mono-font)}.checklist[data-v-2aa39586]{margin-top:1.25rem;border-top:1px solid var(--border-subtle);padding-top:1rem}.checklist h3[data-v-2aa39586]{font-family:var(--display-font);color:var(--text-white);font-size:.9rem;font-weight:600;margin:0 0 .6rem}.checklist ul[data-v-2aa39586]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.checklist li[data-v-2aa39586]{position:relative;padding:.45rem .65rem .45rem 1.9rem;font-size:.84rem;line-height:1.5;color:var(--text-light);background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.checklist li[data-v-2aa39586]:before{content:"";position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:.45rem;height:.45rem;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}.pass-note[data-v-2aa39586]{font-size:.8rem;color:var(--text-muted);margin-top:.85rem}.pass-note strong[data-v-2aa39586]{color:var(--primary)}.work-label[data-v-2aa39586]{font-family:var(--body-font);font-size:.8rem;font-weight:600;display:block;margin-bottom:.4rem;color:var(--text-light)}.code-editor[data-v-2aa39586]{width:100%;box-sizing:border-box;min-height:340px;font-family:var(--mono-font);font-size:.82rem;line-height:1.5;padding:1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-darker);color:var(--text-light);resize:vertical;tab-size:2}.code-editor[data-v-2aa39586]::placeholder{color:var(--text-muted);opacity:1}.code-editor[data-v-2aa39586]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.work-actions[data-v-2aa39586]{display:flex;align-items:center;gap:.75rem;margin-top:.85rem}.work-meta[data-v-2aa39586]{font-size:.75rem;color:var(--text-muted)}.proj-btn[data-v-2aa39586]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;padding:.65rem 1.3rem;border-radius:var(--radius);font-family:var(--body-font);font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.proj-btn[data-v-2aa39586]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.proj-btn[data-v-2aa39586]:focus-visible{outline:none;box-shadow:var(--ring)}.proj-btn[data-v-2aa39586]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.proj-error[data-v-2aa39586]{color:var(--error);font-size:.85rem;margin-top:.6rem}.proj-result[data-v-2aa39586]{margin-top:1.25rem;border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1rem 1.2rem;background:var(--bg-dark)}.proj-result.pass[data-v-2aa39586]{background:rgba(var(--primary-rgb),.06);border-color:rgba(var(--primary-rgb),.3)}.proj-result.fail[data-v-2aa39586]{background:var(--bg-dark);border-color:var(--border-subtle)}.result-head[data-v-2aa39586]{display:flex;align-items:baseline;gap:.6rem}.result-score[data-v-2aa39586]{font-family:var(--display-font);font-size:1.8rem;font-weight:800;letter-spacing:-.02em;color:var(--primary)}.proj-result.pass .result-score[data-v-2aa39586]{color:var(--success)}.result-label[data-v-2aa39586]{font-weight:600;color:var(--text-white)}.result-overall[data-v-2aa39586]{font-size:.88rem;line-height:1.5;margin:.5rem 0 .75rem;color:var(--text-light)}.result-criteria[data-v-2aa39586]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.result-criteria li[data-v-2aa39586]{display:flex;gap:.5rem;font-size:.82rem;line-height:1.45;color:var(--text-light)}.result-criteria .rc-mark[data-v-2aa39586]{font-weight:700}.result-criteria li.ok .rc-mark[data-v-2aa39586]{color:var(--success)}.result-criteria li.no .rc-mark[data-v-2aa39586]{color:var(--error)}.result-criteria em[data-v-2aa39586]{color:var(--text-muted);font-style:italic}.project-page[data-v-c825227d]{min-height:100vh;background:var(--bg-body);color:var(--text-light);font-family:var(--body-font)}.project-header[data-v-c825227d]{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:5}.project-eyebrow[data-v-c825227d]{font-family:var(--mono-font);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-weight:600}.project-header h1[data-v-c825227d]{font-family:var(--display-font);font-size:1.25rem;letter-spacing:-.02em;color:var(--text-white);margin:.15rem 0 0}.proj-exit[data-v-c825227d]{color:var(--text-muted);text-decoration:none;font-size:1.25rem;line-height:1;transition:color .18s var(--ease)}.proj-exit[data-v-c825227d]:hover{color:var(--primary)}.proj-state[data-v-c825227d]{max-width:460px;margin:4rem auto;text-align:center;color:var(--text-light)}.proj-state h2[data-v-c825227d]{font-family:var(--display-font);color:var(--text-white)}.spinner[data-v-c825227d]{width:2rem;height:2rem;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;margin:0 auto 1rem;animation:spin-c825227d 1s linear infinite}@keyframes spin-c825227d{to{transform:rotate(360deg)}}.lock-badge[data-v-c825227d]{font-size:2.5rem;color:var(--text-muted);opacity:.85}.lock-title[data-v-c825227d]{font-family:var(--display-font);font-size:1.2rem;color:var(--text-muted);margin:.5rem 0}.lock-prog[data-v-c825227d]{font-family:var(--mono-font);font-weight:600;color:var(--text-muted);margin:.75rem 0 1.25rem}.project-body[data-v-c825227d]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:1200px;margin:1.5rem auto;padding:0 1.5rem;align-items:start}@media(max-width:900px){.project-body[data-v-c825227d]{grid-template-columns:1fr}}.project-brief[data-v-c825227d],.project-work[data-v-c825227d]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-card)}.fin-banner[data-v-c825227d]{background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.3);border-radius:var(--radius-sm);padding:.7rem .9rem;font-size:.82rem;line-height:1.5;color:var(--text-light);margin-bottom:1rem}.fin-banner strong[data-v-c825227d]{color:var(--text-white)}.brief-md[data-v-c825227d] h2{font-family:var(--display-font);color:var(--text-white);font-size:1.05rem;margin:1rem 0 .4rem}.brief-md[data-v-c825227d] h3{font-family:var(--display-font);color:var(--text-white);font-size:.95rem;margin:.8rem 0 .3rem}.brief-md[data-v-c825227d] p{font-size:.9rem;line-height:1.6;color:var(--text-light);margin:.5rem 0}.brief-md[data-v-c825227d] ul{font-size:.9rem;color:var(--text-light);padding-left:1.2rem}.brief-md[data-v-c825227d] li{margin:.2rem 0}.brief-md[data-v-c825227d] strong{color:var(--text-white)}.brief-md[data-v-c825227d] code{background:rgba(var(--primary-rgb),.12);color:var(--primary-light);padding:.1rem .35rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.85em}.brief-md[data-v-c825227d] pre{background:var(--bg-darker);border:1px solid var(--border-subtle);color:var(--text-light);padding:.8rem;border-radius:var(--radius-sm);overflow:auto;font-size:.8rem}.brief-md[data-v-c825227d] pre code{background:none;color:inherit;padding:0}.checklist[data-v-c825227d]{margin-top:1.25rem;border-top:1px dashed var(--border-subtle);padding-top:1rem}.checklist h3[data-v-c825227d]{font-family:var(--display-font);color:var(--text-white);font-size:.9rem;margin:0 0 .5rem}.checklist ul[data-v-c825227d]{padding-left:1.1rem;font-size:.84rem;line-height:1.5;color:var(--text-light)}.checklist li[data-v-c825227d]{margin:.25rem 0}.checklist li[data-v-c825227d]::marker{color:var(--primary)}.pass-note[data-v-c825227d]{font-size:.8rem;color:var(--text-muted);margin-top:.75rem}.pass-note strong[data-v-c825227d]{color:var(--primary)}.cert-banner[data-v-c825227d]{background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.32);border-radius:var(--radius-sm);padding:.6rem .9rem;font-size:.85rem;color:var(--text-light);box-shadow:var(--accent-glow);margin-bottom:.9rem}.cert-banner strong[data-v-c825227d]{color:var(--text-white)}.work-label[data-v-c825227d]{font-size:.8rem;font-weight:600;color:var(--text-light);display:block;margin-bottom:.4rem}.code-editor[data-v-c825227d]{width:100%;box-sizing:border-box;min-height:360px;font-family:var(--mono-font);font-size:.82rem;line-height:1.5;padding:1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-darker);color:var(--text-light);resize:vertical;tab-size:2;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.code-editor[data-v-c825227d]::placeholder{color:var(--text-muted)}.code-editor[data-v-c825227d]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.work-actions[data-v-c825227d]{display:flex;align-items:center;gap:.75rem;margin-top:.85rem}.work-meta[data-v-c825227d]{font-size:.75rem;color:var(--text-muted)}.proj-btn[data-v-c825227d]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:none;padding:.6rem 1.3rem;border-radius:var(--radius);font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.proj-btn[data-v-c825227d]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.proj-btn[data-v-c825227d]:focus-visible{outline:none;box-shadow:var(--ring)}.proj-btn[data-v-c825227d]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.proj-error[data-v-c825227d]{color:var(--error);font-size:.85rem;margin-top:.6rem}.proj-result[data-v-c825227d]{margin-top:1.25rem;border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1rem 1.2rem}.proj-result.pass[data-v-c825227d]{background:rgba(var(--primary-rgb),.06);border-color:rgba(var(--primary-rgb),.32);box-shadow:var(--accent-glow)}.proj-result.fail[data-v-c825227d]{background:rgba(var(--primary-rgb),.04)}.result-head[data-v-c825227d]{display:flex;align-items:baseline;gap:.6rem}.result-score[data-v-c825227d]{font-family:var(--display-font);font-size:1.8rem;font-weight:800;color:var(--text-white);letter-spacing:-.02em}.proj-result.pass .result-score[data-v-c825227d]{color:var(--success)}.result-label[data-v-c825227d]{font-weight:600;color:var(--text-light)}.cert-earned[data-v-c825227d]{margin:.6rem 0;font-size:.85rem;color:var(--text-light);background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.32);border-radius:var(--radius-sm);padding:.5rem .75rem;box-shadow:var(--accent-glow)}.cert-earned strong[data-v-c825227d]{color:var(--success)}.cert-link[data-v-c825227d]{color:var(--primary-light);font-weight:600;text-decoration:none;transition:color .18s var(--ease)}.cert-link[data-v-c825227d]:hover{color:var(--primary)}.result-overall[data-v-c825227d]{font-size:.88rem;line-height:1.5;color:var(--text-light);margin:.5rem 0 .75rem}.result-criteria[data-v-c825227d]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.result-criteria li[data-v-c825227d]{display:flex;gap:.5rem;font-size:.82rem;line-height:1.45;color:var(--text-light)}.result-criteria .rc-mark[data-v-c825227d]{font-weight:700}.result-criteria li.ok .rc-mark[data-v-c825227d]{color:var(--success)}.result-criteria li.no .rc-mark[data-v-c825227d]{color:var(--error)}.result-criteria em[data-v-c825227d]{color:var(--text-muted);font-style:italic}.project-detail-page[data-v-85c06e61]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh;display:flex;flex-direction:column}.project-navbar[data-v-85c06e61]{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:100}.back-btn[data-v-85c06e61]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color .2s}.back-btn[data-v-85c06e61]:hover{color:var(--text-white)}.back-btn svg[data-v-85c06e61]{width:1rem;height:1rem}.navbar-title[data-v-85c06e61]{font-size:.875rem;font-weight:600;color:var(--text-white);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-right[data-v-85c06e61]{width:5rem}.page-loading[data-v-85c06e61],.page-error[data-v-85c06e61]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:3rem;gap:1rem;color:var(--text-muted)}.spinner[data-v-85c06e61]{width:2rem;height:2rem;border:2px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-85c06e61 1s linear infinite}@keyframes spin-85c06e61{to{transform:rotate(360deg)}}.project-layout[data-v-85c06e61]{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0}.steps-sidebar[data-v-85c06e61]{background:var(--bg-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow-y:auto;position:sticky;top:56px;height:calc(100vh - 56px)}.project-meta-header[data-v-85c06e61]{padding:1.25rem 1rem;border-bottom:1px solid var(--border-subtle)}.project-title-sm[data-v-85c06e61]{font-family:var(--display-font);font-size:.9rem;font-weight:700;margin:0 0 .5rem}.project-badges[data-v-85c06e61]{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.difficulty-badge[data-v-85c06e61]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:3px}.diff-beginner[data-v-85c06e61]{background:#10b98126;color:#10b981}.diff-intermediate[data-v-85c06e61]{background:#f59e0b26;color:#f59e0b}.diff-advanced[data-v-85c06e61]{background:#ef444426;color:#ef4444}.hours-badge[data-v-85c06e61]{font-size:.7rem;color:var(--text-muted);background:var(--bg-darker);padding:.15rem .5rem;border-radius:3px}.progress-section[data-v-85c06e61]{display:flex;align-items:center;gap:.5rem}.progress-bar-outer[data-v-85c06e61]{flex:1;height:4px;background:var(--bg-darker);border-radius:2px;overflow:hidden}.progress-bar-inner[data-v-85c06e61]{height:100%;background:linear-gradient(90deg,var(--primary-light),var(--primary));border-radius:2px;transition:width .3s}.progress-label[data-v-85c06e61]{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.sidebar-submit-btn[data-v-85c06e61]{display:flex;align-items:center;gap:.5rem;width:100%;margin-top:.75rem;padding:.6rem 1rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;border:none;background:var(--primary);color:#fff;transition:opacity .15s;text-decoration:none;justify-content:center}.sidebar-submit-btn[data-v-85c06e61]:hover{opacity:.88}.sidebar-submit-btn.approved[data-v-85c06e61]{background:#10b98126;color:#10b981;cursor:default}.sidebar-submit-btn svg[data-v-85c06e61]{width:1rem;height:1rem;flex-shrink:0}.steps-nav[data-v-85c06e61]{padding:.5rem 0;flex:1;overflow-y:auto}.step-nav-item[data-v-85c06e61]{width:100%;display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text-muted);font-size:.8rem;transition:background .18s,color .18s;position:relative}.step-nav-item[data-v-85c06e61]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:var(--primary);transition:width .18s}.step-nav-item[data-v-85c06e61]:hover{background:rgba(var(--primary-rgb),.06);color:var(--text-white)}.step-nav-item.active[data-v-85c06e61]{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.step-nav-item.active[data-v-85c06e61]:before{width:3px}.step-nav-item.completed[data-v-85c06e61]{color:var(--success)}.step-num-badge[data-v-85c06e61]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--bg-darker);font-size:.7rem;font-weight:700;flex-shrink:0;color:var(--text-muted)}.step-nav-item.active .step-num-badge[data-v-85c06e61]{background:rgba(var(--primary-rgb),.2);color:var(--primary)}.step-nav-item.completed .step-num-badge[data-v-85c06e61]{background:#10b98126;color:var(--success)}.step-num-badge svg[data-v-85c06e61]{width:.75rem;height:.75rem}.step-nav-title[data-v-85c06e61]{flex:1;font-family:var(--display-font)}.step-content-area[data-v-85c06e61]{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.project-final-image-banner[data-v-85c06e61]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.final-image-label[data-v-85c06e61]{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-weight:700}.project-final-image[data-v-85c06e61]{width:100%;max-height:360px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.step-preview-image-wrap[data-v-85c06e61]{margin-bottom:1rem}.step-preview-image[data-v-85c06e61]{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.step-content-card[data-v-85c06e61]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem}.step-content-header[data-v-85c06e61]{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.step-number-label[data-v-85c06e61]{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);font-weight:700;display:block;margin-bottom:.4rem}.step-content-title[data-v-85c06e61]{font-family:var(--display-font);font-size:1.25rem;font-weight:700;margin:0}.step-markdown[data-v-85c06e61]{font-size:.9rem;line-height:1.7;color:var(--text-muted)}.step-markdown[data-v-85c06e61] h1,.step-markdown[data-v-85c06e61] h2,.step-markdown[data-v-85c06e61] h3{color:var(--text-white);font-family:var(--display-font);margin-top:1.5rem;margin-bottom:.5rem}.step-markdown[data-v-85c06e61] h1{font-size:1.2rem}.step-markdown[data-v-85c06e61] h2{font-size:1rem}.step-markdown[data-v-85c06e61] h3{font-size:.9rem}.step-markdown[data-v-85c06e61] pre{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1rem;overflow-x:auto;margin:1rem 0}.step-markdown[data-v-85c06e61] code{font-family:var(--mono-font);font-size:.85em;background:var(--bg-darker);padding:.1em .3em;border-radius:3px}.step-markdown[data-v-85c06e61] pre code{background:transparent;padding:0}.step-markdown[data-v-85c06e61] p{margin-bottom:.75rem}.step-markdown[data-v-85c06e61] ul,.step-markdown[data-v-85c06e61] ol{padding-left:1.5rem;margin-bottom:.75rem}.step-markdown[data-v-85c06e61] li{margin-bottom:.25rem}.step-markdown[data-v-85c06e61] .code-window{border-radius:8px;overflow:hidden;margin:1rem 0;border:1px solid var(--border-subtle)}.step-markdown[data-v-85c06e61] .code-window-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#1a1f2e;border-bottom:1px solid var(--border-subtle)}.step-markdown[data-v-85c06e61] .code-window-dots{display:flex;gap:.3rem}.step-markdown[data-v-85c06e61] .code-window-dots span{width:10px;height:10px;border-radius:50%;background:#374151}.step-markdown[data-v-85c06e61] .code-window-dots span:first-child{background:#ef4444}.step-markdown[data-v-85c06e61] .code-window-dots span:nth-child(2){background:#f59e0b}.step-markdown[data-v-85c06e61] .code-window-dots span:nth-child(3){background:#10b981}.step-markdown[data-v-85c06e61] .code-window-lang{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;flex:1}.step-markdown[data-v-85c06e61] .code-window-body{background:#111827;padding:1rem;margin:0;overflow-x:auto}.step-markdown[data-v-85c06e61] .code-window-body code{font-family:Fira Mono,Cascadia Code,monospace;font-size:.82rem;color:#e2e8f0;background:transparent}.step-markdown[data-v-85c06e61] .copy-code-btn{margin-left:auto;padding:.2rem .6rem;border-radius:4px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);font-size:.7rem;cursor:pointer;transition:background .15s,color .15s}.step-markdown[data-v-85c06e61] .copy-code-btn:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.step-code-section[data-v-85c06e61]{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-subtle)}.code-section-header[data-v-85c06e61]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.8rem;color:var(--text-muted)}.code-lang-badge[data-v-85c06e61]{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:.2rem .5rem;border-radius:3px;background:rgba(var(--primary-rgb),.15);color:var(--primary)}.code-actions[data-v-85c06e61]{display:flex;gap:.75rem;margin-top:.75rem}.btn-run[data-v-85c06e61]{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-run[data-v-85c06e61]:disabled{opacity:.6;cursor:not-allowed}.btn-run svg[data-v-85c06e61]{width:1rem;height:1rem}.btn-solution[data-v-85c06e61]{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-solution[data-v-85c06e61]:hover{border-color:var(--primary);color:var(--primary)}.code-output[data-v-85c06e61]{margin-top:.75rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem 1rem}.output-label[data-v-85c06e61]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.4rem}.output-pre[data-v-85c06e61]{font-family:var(--mono-font);font-size:.82rem;margin:0;white-space:pre-wrap;color:var(--text-white)}.solution-panel[data-v-85c06e61]{margin-top:.75rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem}.solution-label[data-v-85c06e61]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.4rem}.step-nav-actions[data-v-85c06e61]{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-subtle)}.spacer[data-v-85c06e61]{flex:1}.btn-prev[data-v-85c06e61],.btn-next[data-v-85c06e61]{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--bg-darker);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-prev[data-v-85c06e61]:hover,.btn-next[data-v-85c06e61]:hover{border-color:var(--primary);color:var(--text-white)}.btn-prev svg[data-v-85c06e61],.btn-next svg[data-v-85c06e61]{width:.875rem;height:.875rem}.btn-complete[data-v-85c06e61]{display:flex;align-items:center;gap:.4rem;padding:.5rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-complete[data-v-85c06e61]:disabled{opacity:.6;cursor:not-allowed}.btn-complete svg[data-v-85c06e61]{width:.875rem;height:.875rem}.step-done-label[data-v-85c06e61]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--success);font-weight:600}.step-done-label svg[data-v-85c06e61]{width:.875rem;height:.875rem}.submit-project-panel[data-v-85c06e61]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.submit-panel-header[data-v-85c06e61]{display:flex;align-items:center;gap:1rem}.submit-icon[data-v-85c06e61]{font-size:2rem}.submit-panel-header h3[data-v-85c06e61]{font-family:var(--display-font);font-size:1rem;margin:0 0 .2rem}.submit-panel-header p[data-v-85c06e61]{font-size:.8rem;color:var(--text-muted);margin:0}.btn-open-submit[data-v-85c06e61]{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;padding:.5rem .875rem;background:var(--primary);color:#fff;border-radius:6px;font-size:.8rem;font-weight:600;text-decoration:none;flex-shrink:0;transition:opacity .15s}.btn-open-submit[data-v-85c06e61]:hover{opacity:.88}.btn-open-submit svg[data-v-85c06e61]{width:.9rem;height:.9rem}.local-guide[data-v-85c06e61]{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.local-guide-toggle[data-v-85c06e61]{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;color:var(--text-muted);font-size:.8rem;font-weight:600;transition:color .2s}.local-guide-toggle[data-v-85c06e61]:hover{color:var(--text-white)}.local-guide-toggle svg[data-v-85c06e61]{width:1rem;height:1rem}.toggle-arrow[data-v-85c06e61]{margin-left:auto;transition:transform .2s}.toggle-arrow.open[data-v-85c06e61]{transform:rotate(180deg)}.local-guide-content[data-v-85c06e61]{padding:1rem;border-top:1px solid var(--border-subtle)}.guide-intro[data-v-85c06e61]{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.guide-steps[data-v-85c06e61]{padding-left:1.25rem;display:flex;flex-direction:column;gap:.75rem}.guide-steps li[data-v-85c06e61]{font-size:.8rem;color:var(--text-muted)}.guide-steps strong[data-v-85c06e61]{color:var(--text-white);display:block;margin-bottom:.25rem}.guide-code[data-v-85c06e61]{background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:3px;padding:.5rem .75rem;font-family:var(--mono-font);font-size:.78rem;margin:.25rem 0 0;white-space:pre-wrap;color:var(--primary-light)}.guide-steps code[data-v-85c06e61]{font-family:var(--mono-font);font-size:.85em;background:var(--bg-body);padding:.1em .3em;border-radius:3px}.full-setup-guide-link[data-v-85c06e61]{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.6rem .9rem;background:#7c3aed1a;border:1px solid rgba(124,58,237,.3);border-radius:8px;color:#a78bfa;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s}.full-setup-guide-link[data-v-85c06e61]:hover{background:#7c3aed2e;border-color:#7c3aed80;text-decoration:none}.full-setup-guide-link svg[data-v-85c06e61]{width:1rem;height:1rem;flex-shrink:0}.full-setup-guide-link .ext-icon[data-v-85c06e61]{margin-left:auto;opacity:.7}.submission-status-display[data-v-85c06e61]{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.5rem}.sub-status-badge[data-v-85c06e61]{display:inline-block;font-size:.75rem;font-weight:700;padding:.25rem .75rem;border-radius:3px;align-self:flex-start}.sub-submitted[data-v-85c06e61]{background:#f59e0b26;color:#f59e0b}.sub-under_review[data-v-85c06e61]{background:#6366f126;color:#818cf8}.sub-approved[data-v-85c06e61]{background:#10b98126;color:#10b981}.sub-needs_work[data-v-85c06e61]{background:#ef444426;color:#ef4444}.sub-needs_revision[data-v-85c06e61]{background:#ef44441f;color:#f87171}.feedback-note[data-v-85c06e61]{font-size:.8rem;color:var(--text-muted);margin:0}.resubmit-hint[data-v-85c06e61]{font-size:.75rem;color:var(--text-muted);margin:0;font-style:italic}.submit-form[data-v-85c06e61]{display:flex;flex-direction:column;gap:1rem}.form-field[data-v-85c06e61]{display:flex;flex-direction:column;gap:.4rem}.form-field label[data-v-85c06e61]{font-size:.8rem;font-weight:600;color:var(--text-white)}.required[data-v-85c06e61]{color:#ef4444}.optional[data-v-85c06e61]{font-weight:400;color:var(--text-muted)}.form-field input[data-v-85c06e61],.form-field textarea[data-v-85c06e61]{padding:.6rem .875rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-size:.85rem;font-family:var(--body-font);transition:border-color .2s}.form-field input[data-v-85c06e61]:focus,.form-field textarea[data-v-85c06e61]:focus{outline:none;border-color:var(--primary)}.btn-submit[data-v-85c06e61]{padding:.65rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:700;cursor:pointer;transition:opacity .2s;align-self:flex-start}.btn-submit[data-v-85c06e61]:disabled{opacity:.6;cursor:not-allowed}.submit-error[data-v-85c06e61]{font-size:.8rem;color:#ef4444;margin:0}.submit-success[data-v-85c06e61]{font-size:.8rem;color:var(--success);margin:0}.field-error[data-v-85c06e61]{font-size:.75rem;color:#ef4444;margin:.15rem 0 0}.spinner-sm[data-v-85c06e61]{width:1rem;height:1rem;border-width:2px}.readme-preview[data-v-85c06e61]{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden;font-size:.82rem}.readme-loading[data-v-85c06e61]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;color:var(--text-muted)}.readme-preview-header[data-v-85c06e61]{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:rgba(var(--primary-rgb),.07);border-bottom:1px solid var(--border-subtle);font-size:.75rem;font-weight:700;color:var(--text-muted)}.readme-preview-header svg[data-v-85c06e61]{width:.875rem;height:.875rem;flex-shrink:0}.readme-preview-header span[data-v-85c06e61]{flex:1}.readme-close[data-v-85c06e61]{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:.1rem;line-height:1}.readme-close svg[data-v-85c06e61]{width:.875rem;height:.875rem}.readme-close[data-v-85c06e61]:hover{color:var(--text-white)}.readme-body[data-v-85c06e61]{padding:.875rem 1rem;max-height:280px;overflow-y:auto;line-height:1.6;color:var(--text-white)}.readme-body h1[data-v-85c06e61],.readme-body h2[data-v-85c06e61],.readme-body h3[data-v-85c06e61]{font-family:var(--display-font);font-weight:700;margin:.75rem 0 .35rem}.readme-body h1[data-v-85c06e61]{font-size:1rem}.readme-body h2[data-v-85c06e61]{font-size:.9rem}.readme-body h3[data-v-85c06e61]{font-size:.82rem}.readme-body p[data-v-85c06e61]{margin:0 0 .5rem}.readme-body code[data-v-85c06e61]{background:#ffffff14;padding:.1em .3em;border-radius:3px;font-size:.85em}.readme-body pre[data-v-85c06e61]{background:#0000004d;padding:.75rem;border-radius:var(--radius-sm);overflow-x:auto;margin:.5rem 0}.readme-body ul[data-v-85c06e61],.readme-body ol[data-v-85c06e61]{padding-left:1.25rem;margin:.25rem 0}.readme-body li[data-v-85c06e61]{margin-bottom:.2rem}.readme-body a[data-v-85c06e61]{color:var(--primary);text-decoration:none}.readme-body a[data-v-85c06e61]:hover{text-decoration:underline}.approved-panel[data-v-85c06e61]{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-sm);color:var(--success);font-size:.875rem;font-weight:600}.approved-panel svg[data-v-85c06e61]{width:1.25rem;height:1.25rem}.hints-panel[data-v-85c06e61]{margin-top:1.5rem;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius);overflow:hidden;background:#f59e0b08}.hints-toggle-btn[data-v-85c06e61]{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:none;color:var(--text-white);padding:.875rem 1.25rem;cursor:pointer;font-size:.9rem;font-weight:600;text-align:left;transition:background .15s}.hints-toggle-btn[data-v-85c06e61]:hover{background:#f59e0b0d}.hints-toggle-btn svg[data-v-85c06e61]:first-child{width:1.1rem;height:1.1rem;color:#f59e0b;flex-shrink:0}.hints-count-badge[data-v-85c06e61]{background:#f59e0b26;color:#f59e0b;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:99px}.hints-chevron[data-v-85c06e61]{width:1rem;height:1rem;color:var(--text-muted);margin-left:auto;transition:transform .2s}.hints-chevron.rotated[data-v-85c06e61]{transform:rotate(180deg)}.hints-body[data-v-85c06e61]{border-top:1px solid rgba(245,158,11,.15);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.hints-loading[data-v-85c06e61],.hints-empty[data-v-85c06e61]{color:var(--text-muted);font-size:.875rem}.hints-list[data-v-85c06e61]{display:flex;flex-direction:column;gap:.75rem}.hint-item[data-v-85c06e61]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:.875rem 1rem}.hint-item-header[data-v-85c06e61]{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;flex-wrap:wrap}.hint-num[data-v-85c06e61]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.hint-title[data-v-85c06e61]{font-size:.875rem;font-weight:600;color:var(--text-white);flex:1}.hint-status[data-v-85c06e61]{margin-left:auto}.hint-badge[data-v-85c06e61]{font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:99px}.hint-badge.revealed[data-v-85c06e61]{background:#10b98126;color:#10b981}.hint-badge.waiting[data-v-85c06e61]{background:#f59e0b26;color:#f59e0b}.hint-content[data-v-85c06e61]{font-size:.875rem;line-height:1.7;color:var(--text-muted)}.hint-waiting-msg[data-v-85c06e61]{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:#f59e0b}.hint-waiting-msg svg[data-v-85c06e61]{width:1rem;height:1rem;flex-shrink:0}.btn-request-hint[data-v-85c06e61]{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b;border-radius:6px;padding:.4rem .875rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-request-hint[data-v-85c06e61]:hover{background:#f59e0b33}.btn-request-hint[data-v-85c06e61]:disabled{opacity:.6;cursor:not-allowed}.hint-limit-msg[data-v-85c06e61]{font-size:.78rem;color:var(--text-muted)}.env-setup-section[data-v-85c06e61]{margin:1.5rem 1.5rem 0;background:#10b9810d;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius);overflow:hidden}.env-setup-header[data-v-85c06e61]{display:flex;align-items:center;gap:.6rem;padding:.9rem 1.25rem;cursor:pointer}.env-setup-header svg[data-v-85c06e61]{width:1.1rem;height:1.1rem;color:#10b981;flex-shrink:0}.env-setup-header h3[data-v-85c06e61]{font-size:.9rem;font-weight:700;color:#10b981;flex:1;margin:0}.env-toggle-btn[data-v-85c06e61]{display:flex;align-items:center;gap:.3rem;background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;padding:0}.env-toggle-btn svg[data-v-85c06e61]{width:.9rem;height:.9rem;transition:transform .2s}.env-toggle-btn svg.rotated[data-v-85c06e61]{transform:rotate(180deg)}.env-setup-body[data-v-85c06e61]{border-top:1px solid rgba(16,185,129,.15);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.env-item[data-v-85c06e61]{display:flex;flex-direction:column;gap:.4rem}.env-label[data-v-85c06e61]{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.env-value[data-v-85c06e61]{font-size:.875rem;color:var(--text-white)}.env-tools[data-v-85c06e61]{display:flex;flex-wrap:wrap;gap:.4rem}.env-tool-pill[data-v-85c06e61]{background:#10b9811a;border:1px solid rgba(16,185,129,.25);color:#10b981;border-radius:4px;padding:.2rem .6rem;font-size:.78rem;font-weight:600}.env-commands[data-v-85c06e61]{display:flex;flex-direction:column;gap:.4rem}.env-command-list[data-v-85c06e61]{display:flex;flex-direction:column;gap:.5rem}.env-command-item[data-v-85c06e61]{display:flex;flex-direction:column;gap:.2rem}.env-cmd-label[data-v-85c06e61]{font-size:.78rem;color:var(--text-muted);font-weight:600}.env-cmd-block[data-v-85c06e61]{display:flex;align-items:center;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.env-cmd-code[data-v-85c06e61]{flex:1;font-family:var(--code-font, monospace);font-size:.82rem;color:#e8e8f0;padding:.4rem .75rem;white-space:nowrap;overflow-x:auto}.env-copy-btn[data-v-85c06e61]{background:none;border:none;border-left:1px solid var(--border-subtle);color:var(--text-muted);font-size:.72rem;padding:.4rem .65rem;cursor:pointer;white-space:nowrap;transition:color .2s}.env-copy-btn[data-v-85c06e61]:hover{color:var(--primary)}.sidebar-tabs[data-v-85c06e61]{display:flex;border-bottom:1px solid var(--border-subtle)}.sidebar-tab[data-v-85c06e61]{flex:1;background:none;border:none;color:var(--text-muted);padding:.6rem .5rem;font-size:.8rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.sidebar-tab.active[data-v-85c06e61]{color:var(--primary);border-bottom-color:var(--primary)}.solution-guide-panel[data-v-85c06e61]{padding:1.5rem;max-width:860px;margin:0 auto;width:100%}.solution-guide-header[data-v-85c06e61]{margin-bottom:1.5rem}.solution-guide-header h2[data-v-85c06e61]{font-family:var(--display-font);font-size:1.4rem;font-weight:700;margin:0 0 .4rem}.solution-guide-sub[data-v-85c06e61]{color:var(--text-muted);font-size:.875rem;margin:0}.solution-loading[data-v-85c06e61],.solution-empty[data-v-85c06e61]{text-align:center;padding:3rem;color:var(--text-muted)}.solution-accordion[data-v-85c06e61]{display:flex;flex-direction:column;gap:.75rem}.solution-step[data-v-85c06e61]{border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;background:var(--bg-card)}.solution-step.locked[data-v-85c06e61]{opacity:.75}.solution-step.open[data-v-85c06e61]{border-color:var(--primary)}.solution-step-header[data-v-85c06e61]{display:flex;align-items:center;gap:.75rem;width:100%;background:none;border:none;color:var(--text-white);padding:1rem 1.25rem;cursor:pointer;text-align:left;font-size:.9rem;font-weight:600;transition:background .15s}.solution-step-header[data-v-85c06e61]:hover{background:#ffffff08}.solution-step-num[data-v-85c06e61]{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}.solution-step-num svg[data-v-85c06e61]{width:1.25rem;height:1.25rem}.solution-step-title[data-v-85c06e61]{flex:1}.solution-chevron[data-v-85c06e61]{width:1.1rem;height:1.1rem;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.solution-chevron.rotated[data-v-85c06e61]{transform:rotate(180deg)}.solution-step-body[data-v-85c06e61]{padding:0 1.25rem 1.25rem;border-top:1px solid var(--border-subtle)}.solution-locked-msg[data-v-85c06e61]{display:flex;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.875rem;padding-top:1rem}.solution-locked-msg svg[data-v-85c06e61]{width:1.1rem;height:1.1rem;flex-shrink:0}.solution-step-description[data-v-85c06e61]{padding-top:1rem;font-size:.9rem;line-height:1.7;color:var(--text-muted)}.solution-code-block[data-v-85c06e61]{margin-top:1rem;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.solution-code-header[data-v-85c06e61]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;background:#ffffff0a;border-bottom:1px solid var(--border-subtle)}.solution-lang-badge[data-v-85c06e61]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary)}.solution-copy-btn[data-v-85c06e61]{display:flex;align-items:center;gap:.35rem;background:none;border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-muted);font-size:.75rem;padding:.25rem .6rem;cursor:pointer;transition:border-color .2s,color .2s}.solution-copy-btn[data-v-85c06e61]:hover{border-color:var(--primary);color:var(--primary)}.solution-copy-btn svg[data-v-85c06e61]{width:.9rem;height:.9rem}.solution-code-pre[data-v-85c06e61]{margin:0;padding:1rem;font-family:var(--code-font, "Fira Code", monospace);font-size:.85rem;line-height:1.6;overflow-x:auto;color:#e8e8f0;white-space:pre}.solution-no-code[data-v-85c06e61]{color:var(--text-muted);font-size:.875rem;padding-top:.75rem}@media(max-width:900px){.project-layout[data-v-85c06e61]{grid-template-columns:1fr}.steps-sidebar[data-v-85c06e61]{position:static;height:auto;border-right:none;border-bottom:1px solid var(--border-subtle)}}@media(max-width:480px){pre[data-v-85c06e61],code[data-v-85c06e61]{font-size:.78rem;overflow-x:auto;white-space:pre;word-break:normal}.code-editor-wrapper[data-v-85c06e61] .cm-scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}.code-editor-wrapper[data-v-85c06e61] .cm-content,.code-editor-wrapper[data-v-85c06e61] .cm-gutters{font-size:12px}.action-buttons[data-v-85c06e61],.step-nav[data-v-85c06e61],.submit-actions[data-v-85c06e61]{flex-direction:column;gap:.5rem}.action-buttons[data-v-85c06e61]>*,.step-nav[data-v-85c06e61]>*,.submit-actions[data-v-85c06e61]>*{width:100%;text-align:center;justify-content:center}.tabs-row[data-v-85c06e61],.tab-bar[data-v-85c06e61]{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap}.tabs-row[data-v-85c06e61]::-webkit-scrollbar,.tab-bar[data-v-85c06e61]::-webkit-scrollbar{display:none}}.submit-project-page[data-v-350ee4f4]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.submit-navbar[data-v-350ee4f4]{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:10}.back-btn[data-v-350ee4f4]{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:color .15s}.back-btn[data-v-350ee4f4]:hover{color:var(--text-white)}.back-btn svg[data-v-350ee4f4]{width:1rem;height:1rem}.navbar-title[data-v-350ee4f4]{font-weight:600;font-size:.9rem;color:var(--text-white)}.page-content[data-v-350ee4f4]{max-width:680px;margin:0 auto;padding:2rem 1.5rem}.state-card[data-v-350ee4f4]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:3rem 2rem;background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:12px}.state-card.error[data-v-350ee4f4]{border-color:#ef44444d}.state-card.error svg[data-v-350ee4f4]{width:3rem;height:3rem;color:#ef4444}.state-card.success[data-v-350ee4f4]{border-color:#10b9814d}.success-icon[data-v-350ee4f4]{width:4rem;height:4rem;border-radius:50%;background:#10b98126;display:flex;align-items:center;justify-content:center}.success-icon svg[data-v-350ee4f4]{width:2rem;height:2rem;color:#10b981}.state-card h2[data-v-350ee4f4]{font-size:1.5rem;font-weight:700;margin:0}.success-msg[data-v-350ee4f4]{color:var(--text-muted);max-width:400px}.success-details[data-v-350ee4f4]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:var(--bg-darker);border-radius:8px;font-size:.9rem}.form-card[data-v-350ee4f4]{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.project-header[data-v-350ee4f4]{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-darker)}.project-meta[data-v-350ee4f4]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.project-title[data-v-350ee4f4]{font-size:1.4rem;font-weight:700;font-family:var(--display-font);margin:0 0 .5rem}.project-desc[data-v-350ee4f4]{color:var(--text-muted);font-size:.9rem;margin:0}.difficulty-badge[data-v-350ee4f4]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:3px}.diff-beginner[data-v-350ee4f4]{background:#10b98126;color:#10b981}.diff-intermediate[data-v-350ee4f4]{background:#f59e0b26;color:#f59e0b}.diff-advanced[data-v-350ee4f4]{background:#ef444426;color:#ef4444}.hours-badge[data-v-350ee4f4]{font-size:.7rem;color:var(--text-muted);background:var(--bg-dark);padding:.15rem .5rem;border-radius:3px}.notice[data-v-350ee4f4]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 2rem;font-size:.875rem;border-bottom:1px solid var(--border-subtle)}.notice svg[data-v-350ee4f4]{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.1rem}.approved-notice[data-v-350ee4f4]{color:#10b981;background:#10b9810d}.resubmit-notice[data-v-350ee4f4]{color:var(--text-muted);background:rgba(var(--primary-rgb),.03)}.feedback-text[data-v-350ee4f4]{display:block;margin-top:.25rem;font-style:italic}.sub-status-badge[data-v-350ee4f4]{display:inline-block;padding:.15rem .5rem;border-radius:4px;font-size:.72rem;font-weight:600;margin-left:.5rem;background:#f59e0b26;color:#f59e0b}.status-approved[data-v-350ee4f4]{background:#10b98126!important;color:#10b981!important}.status-needs_work[data-v-350ee4f4]{background:#ef444426!important;color:#ef4444!important}.submit-form[data-v-350ee4f4]{padding:1.75rem 2rem}.form-title[data-v-350ee4f4]{font-size:1.1rem;font-weight:700;margin:0 0 1.5rem}.form-field[data-v-350ee4f4]{margin-bottom:1.25rem}.field-label[data-v-350ee4f4]{display:block;font-size:.85rem;font-weight:600;margin-bottom:.4rem;color:var(--text-white)}.required[data-v-350ee4f4]{color:#ef4444;margin-left:.1rem}.optional[data-v-350ee4f4]{color:var(--text-muted);font-weight:400;font-size:.8rem}.field-input[data-v-350ee4f4],.field-textarea[data-v-350ee4f4]{width:100%;padding:.6rem .875rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-white);font-size:.875rem;font-family:var(--body-font);transition:border-color .15s;box-sizing:border-box}.field-input[data-v-350ee4f4]:focus,.field-textarea[data-v-350ee4f4]:focus{outline:none;border-color:var(--primary)}.field-input.error[data-v-350ee4f4]{border-color:#ef4444}.field-textarea[data-v-350ee4f4]{resize:vertical;min-height:100px}.field-error[data-v-350ee4f4]{display:block;margin-top:.3rem;font-size:.78rem;color:#ef4444}.field-hint[data-v-350ee4f4]{display:block;margin-top:.3rem;font-size:.78rem;color:var(--text-muted)}.readme-loading[data-v-350ee4f4]{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.readme-preview[data-v-350ee4f4]{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;margin-bottom:1.25rem}.readme-header[data-v-350ee4f4]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-dark);border-bottom:1px solid var(--border-subtle);font-size:.8rem;color:var(--text-muted);font-weight:600}.readme-header svg[data-v-350ee4f4]{width:1rem;height:1rem}.readme-content[data-v-350ee4f4]{padding:1rem;font-family:monospace;font-size:.78rem;color:var(--text-muted);margin:0;white-space:pre-wrap;max-height:150px;overflow:auto}.submit-error[data-v-350ee4f4]{color:#ef4444;font-size:.85rem;padding:.75rem 1rem;background:#ef44441a;border-radius:6px;margin-bottom:1rem}.form-actions[data-v-350ee4f4]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary[data-v-350ee4f4]{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .15s}.btn-primary[data-v-350ee4f4]:hover{opacity:.9}.btn-primary[data-v-350ee4f4]:disabled{opacity:.6;cursor:not-allowed}.btn-primary svg[data-v-350ee4f4]{width:1rem;height:1rem}.btn-secondary[data-v-350ee4f4]{display:inline-flex;align-items:center;padding:.6rem 1.25rem;background:transparent;color:var(--text-muted);border:1px solid var(--border-subtle);border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}.btn-secondary[data-v-350ee4f4]:hover{color:var(--text-white);border-color:var(--text-muted)}.btn-back[data-v-350ee4f4]{display:inline-block;padding:.5rem 1rem;background:var(--bg-darker);color:var(--text-muted);border-radius:6px;text-decoration:none;font-size:.85rem;transition:color .15s}.btn-back[data-v-350ee4f4]:hover{color:var(--text-white)}.gallery-consent-field[data-v-350ee4f4]{margin-top:.25rem}.consent-label[data-v-350ee4f4]{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;font-size:.875rem;color:var(--text-muted);line-height:1.5}.consent-checkbox[data-v-350ee4f4]{margin-top:.2rem;flex-shrink:0;width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.gallery-link[data-v-350ee4f4]{color:var(--primary);text-decoration:none}.gallery-link[data-v-350ee4f4]:hover{text-decoration:underline}.spinner[data-v-350ee4f4]{width:2rem;height:2rem;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-350ee4f4 .8s linear infinite}.mini-spinner[data-v-350ee4f4]{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin-350ee4f4 .8s linear infinite}.mini-spinner.white[data-v-350ee4f4]{border-top-color:#fff}@keyframes spin-350ee4f4{to{transform:rotate(360deg)}}@media(max-width:640px){.page-content[data-v-350ee4f4]{padding:1rem}.submit-form[data-v-350ee4f4],.project-header[data-v-350ee4f4]{padding:1.25rem}.form-actions[data-v-350ee4f4]{flex-direction:column-reverse}.btn-primary[data-v-350ee4f4],.btn-secondary[data-v-350ee4f4]{justify-content:center}}@media(max-width:480px){.page-content[data-v-350ee4f4]{padding:.75rem}.submit-form[data-v-350ee4f4],.project-header[data-v-350ee4f4]{padding:.9rem}.form-group label[data-v-350ee4f4]{font-size:.82rem}.form-input[data-v-350ee4f4],.form-textarea[data-v-350ee4f4]{font-size:.85rem;padding:.5rem .6rem}.screenshot-grid[data-v-350ee4f4]{grid-template-columns:1fr 1fr}.btn-primary[data-v-350ee4f4],.btn-secondary[data-v-350ee4f4]{width:100%}}.nm-overlay[data-v-04f98414]{position:fixed;inset:0;z-index:10000;background:#0000009e;display:flex;align-items:center;justify-content:center;padding:1rem}.nm-modal[data-v-04f98414]{width:100%;max-width:440px;background:var(--bg-card);color:var(--text-light);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.nm-head[data-v-04f98414]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.15rem;border-bottom:1px solid var(--border-subtle)}.nm-head h3[data-v-04f98414]{margin:0;font-family:var(--display-font);font-size:1.05rem;font-weight:600;letter-spacing:-.01em;color:var(--text-white)}.nm-close[data-v-04f98414]{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);padding:0 .3rem;transition:color .18s var(--ease)}.nm-close[data-v-04f98414]:hover{color:var(--primary)}.nm-body[data-v-04f98414]{padding:1.15rem}.nm-input[data-v-04f98414],.nm-textarea[data-v-04f98414]{width:100%;box-sizing:border-box;padding:.6rem .85rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-darker);color:var(--text-light);font-size:.9rem;font-family:var(--body-font);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.nm-input[data-v-04f98414]::placeholder,.nm-textarea[data-v-04f98414]::placeholder{color:var(--text-muted);opacity:1}.nm-input[data-v-04f98414]:hover,.nm-textarea[data-v-04f98414]:hover{border-color:rgba(var(--primary-rgb),.4)}.nm-input[data-v-04f98414]:focus,.nm-textarea[data-v-04f98414]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.nm-results[data-v-04f98414]{margin-top:.5rem;max-height:240px;overflow-y:auto}.nm-result[data-v-04f98414]{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:.55rem .6rem;background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;color:var(--text-light);border-radius:var(--radius-sm);transition:background .18s var(--ease),color .18s var(--ease)}.nm-result[data-v-04f98414]:hover{background:rgba(var(--primary-rgb),.08);color:var(--text-white)}.nm-name[data-v-04f98414]{font-weight:600;color:var(--text-white)}.nm-email[data-v-04f98414]{font-size:.78rem;color:var(--text-muted)}.nm-none[data-v-04f98414],.nm-hint[data-v-04f98414]{color:var(--text-muted);font-size:.82rem;padding:.6rem .2rem}.nm-to[data-v-04f98414]{font-size:.9rem;margin-bottom:.6rem;color:var(--text-light)}.nm-change[data-v-04f98414]{background:none;border:none;color:var(--primary-light);cursor:pointer;font-size:.8rem;text-decoration:underline;transition:color .18s var(--ease)}.nm-change[data-v-04f98414]:hover{color:var(--primary)}.nm-textarea[data-v-04f98414]{resize:vertical;min-height:90px}.nm-send[data-v-04f98414]{margin-top:.75rem;width:100%;padding:.65rem;border:1px solid transparent;border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;font-weight:600;font-family:var(--body-font);cursor:pointer;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s var(--ease)}.nm-send[data-v-04f98414]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.nm-send[data-v-04f98414]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.admin-messages-page[data-v-04f98414]{height:100vh;background:var(--bg-body);color:var(--text-white);font-family:var(--body-font);display:flex;flex-direction:column;overflow:hidden}.page-header[data-v-04f98414]{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-card);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.new-msg-btn[data-v-04f98414]{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;border-radius:var(--radius);padding:.55rem 1rem;font-size:.875rem;font-weight:600;font-family:var(--body-font);cursor:pointer;flex-shrink:0;white-space:nowrap;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.new-msg-btn[data-v-04f98414]:hover{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.new-msg-btn svg[data-v-04f98414]{width:16px;height:16px}.header-content h1[data-v-04f98414]{font-family:var(--display-font);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:0 0 .25rem}.subtitle[data-v-04f98414]{font-size:.85rem;color:var(--text-muted);margin:0}.messages-container[data-v-04f98414]{display:flex;flex:1;overflow:hidden;min-height:0}.conversations-sidebar[data-v-04f98414]{width:340px;border-right:1px solid var(--border-subtle);background:var(--bg-card);display:flex;flex-direction:column;flex-shrink:0}.search-box[data-v-04f98414]{padding:1rem;position:relative;border-bottom:1px solid var(--border-subtle)}.search-icon[data-v-04f98414]{position:absolute;left:1.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted)}.search-input[data-v-04f98414]{width:100%;padding:.625rem .75rem .625rem 2.25rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-family:var(--body-font);font-size:.85rem;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.search-input[data-v-04f98414]:hover{border-color:rgba(var(--primary-rgb),.4)}.search-input[data-v-04f98414]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.search-input[data-v-04f98414]::placeholder{color:var(--text-muted);opacity:1}.conversations-list[data-v-04f98414]{flex:1;overflow-y:auto}.conversation-item[data-v-04f98414]{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;cursor:pointer;transition:background-color .18s var(--ease),border-color .18s var(--ease);border-left:2px solid transparent}.conversation-item[data-v-04f98414]:hover{background:rgba(var(--primary-rgb),.06)}.conversation-item.unread[data-v-04f98414]{background:rgba(var(--primary-rgb),.05)}.conversation-item.unread .conv-name[data-v-04f98414]{color:var(--text-white)}.conversation-item.unread .preview-text[data-v-04f98414]{color:var(--text-light);font-weight:500}.conversation-item.active[data-v-04f98414]{background:rgba(var(--primary-rgb),.12);border-left-color:var(--primary)}.conversation-item.active .conv-name[data-v-04f98414]{color:var(--primary-light)}.conv-avatar[data-v-04f98414]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.conv-info[data-v-04f98414]{flex:1;min-width:0}.conv-header[data-v-04f98414]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.conv-name[data-v-04f98414]{font-weight:600;color:var(--text-white);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time[data-v-04f98414]{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.conv-preview[data-v-04f98414]{display:flex;justify-content:space-between;align-items:center}.preview-text[data-v-04f98414]{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.unread-badge[data-v-04f98414]{background:var(--primary);color:#2a1206;font-size:.65rem;font-weight:600;padding:.15rem .4rem;border-radius:9999px;min-width:18px;text-align:center;flex-shrink:0;margin-left:.5rem}.conversations-loading[data-v-04f98414],.empty-state[data-v-04f98414]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted);gap:1rem}.chat-panel[data-v-04f98414]{flex:1;display:flex;flex-direction:column;background:var(--bg-dark);min-height:0;overflow:hidden}.chat-header[data-v-04f98414]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.back-btn[data-v-04f98414]{display:none;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:.375rem}.back-btn[data-v-04f98414]:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.back-btn svg[data-v-04f98414]{width:20px;height:20px}.chat-user-info[data-v-04f98414]{display:flex;align-items:center;gap:.75rem;flex:1}.chat-avatar[data-v-04f98414]{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}.chat-user-details[data-v-04f98414]{display:flex;flex-direction:column}.chat-user-name[data-v-04f98414]{font-family:var(--display-font);font-weight:600;letter-spacing:-.01em;color:var(--text-white);font-size:.95rem}.chat-user-email[data-v-04f98414]{font-size:.75rem;color:var(--text-muted)}.chat-actions[data-v-04f98414]{display:flex;gap:.5rem}.action-btn[data-v-04f98414]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background-color .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}.action-btn[data-v-04f98414]:hover{background:rgba(var(--primary-rgb),.1);border-color:var(--primary);color:var(--primary-light)}.action-btn svg[data-v-04f98414]{width:18px;height:18px}.chat-messages[data-v-04f98414]{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:0}.message[data-v-04f98414]{display:flex;max-width:70%}.message.from-student[data-v-04f98414]{align-self:flex-start}.message.from-mentor[data-v-04f98414]{align-self:flex-end}.message-content[data-v-04f98414]{padding:.625rem .875rem;border-radius:1rem;position:relative}.message.from-student .message-content[data-v-04f98414]{background:var(--bg-card);border:1px solid var(--border-subtle);border-bottom-left-radius:.25rem}.message.from-mentor .message-content[data-v-04f98414]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border-bottom-right-radius:.25rem;box-shadow:var(--accent-glow)}.message-content p[data-v-04f98414]{margin:0;font-size:.9rem;line-height:1.4;white-space:pre-wrap;word-break:break-word}.message.from-student .message-content p[data-v-04f98414]{color:var(--text-white)}.message-time[data-v-04f98414]{display:block;font-size:.65rem;margin-top:.25rem;opacity:.7}.message.from-student .message-time[data-v-04f98414]{color:var(--text-muted)}.no-messages[data-v-04f98414],.messages-loading[data-v-04f98414]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted);text-align:center}.chat-input[data-v-04f98414]{display:flex;align-items:flex-end;gap:.75rem;padding:1rem;background:var(--bg-card);border-top:1px solid var(--border-subtle);flex-shrink:0}.chat-input textarea[data-v-04f98414]{flex:1;padding:.75rem 1rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:1.5rem;color:var(--text-white);font-family:var(--body-font);font-size:.9rem;resize:none;min-height:44px;max-height:120px;line-height:1.4;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.chat-input textarea[data-v-04f98414]:hover{border-color:rgba(var(--primary-rgb),.4)}.chat-input textarea[data-v-04f98414]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.chat-input textarea[data-v-04f98414]::placeholder{color:var(--text-muted);opacity:1}.send-btn[data-v-04f98414]{width:44px;height:44px;background:linear-gradient(135deg,var(--primary-light),var(--primary));border:1px solid transparent;border-radius:50%;color:#2a1206;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease),opacity .2s var(--ease);flex-shrink:0}.send-btn[data-v-04f98414]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.send-btn[data-v-04f98414]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.send-btn svg[data-v-04f98414]{width:20px;height:20px}.no-conversation[data-v-04f98414]{flex:1;display:flex;align-items:center;justify-content:center}.no-conversation-content[data-v-04f98414]{text-align:center;color:var(--text-muted)}.no-conversation-content svg[data-v-04f98414]{width:64px;height:64px;margin-bottom:1rem;opacity:.3}.no-conversation-content h3[data-v-04f98414]{font-family:var(--display-font);font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:var(--text-white);margin:0 0 .5rem}.no-conversation-content p[data-v-04f98414]{font-size:.85rem;margin:0}.spinner[data-v-04f98414]{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-04f98414 1s linear infinite}.spinner.small[data-v-04f98414]{width:20px;height:20px;border-width:2px}.spinner.tiny[data-v-04f98414]{width:16px;height:16px;border-width:2px}@keyframes spin-04f98414{to{transform:rotate(360deg)}}@media(max-width:768px){.page-header[data-v-04f98414]{padding:1rem}.messages-container[data-v-04f98414]{position:relative}.conversations-sidebar[data-v-04f98414]{width:100%;position:absolute;inset:0}.conversations-sidebar.mobile-hidden[data-v-04f98414]{display:none}.chat-panel[data-v-04f98414]{position:absolute;inset:0;display:none}.chat-panel.mobile-visible[data-v-04f98414],.back-btn[data-v-04f98414]{display:flex}.message[data-v-04f98414]{max-width:85%}}:root:not(.dark) .admin-messages-page[data-v-04f98414]{background:var(--bg-body)}:root:not(.dark) .search-input[data-v-04f98414],:root:not(.dark) .chat-input textarea[data-v-04f98414]{background:var(--bg-card)}:root:not(.dark) .message.from-student .message-content[data-v-04f98414]{background:var(--bg-card)}:root:not(.dark) .chat-messages[data-v-04f98414]{background:var(--bg-body)}.admin-students-page[data-v-33d13674]{min-height:100vh;background:var(--bg-body);font-family:var(--body-font)}.page-header[data-v-33d13674]{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-dark)}.header-content h1[data-v-33d13674]{font-family:var(--display-font);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:0 0 .25rem}.subtitle[data-v-33d13674]{font-size:.85rem;color:var(--text-muted);margin:0}.page-content[data-v-33d13674]{padding:1.5rem 2rem;max-width:1000px}.filters-bar[data-v-33d13674]{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box[data-v-33d13674]{position:relative;flex:1;min-width:250px}.search-icon[data-v-33d13674]{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-muted)}.search-input[data-v-33d13674]{width:100%;padding:.625rem .75rem .625rem 2.5rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-size:.85rem;font-family:var(--body-font);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.search-input[data-v-33d13674]::placeholder{color:var(--text-muted);opacity:1}.search-input[data-v-33d13674]:hover{border-color:rgba(var(--primary-rgb),.4)}.search-input[data-v-33d13674]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.search-box:focus-within .search-icon[data-v-33d13674]{color:var(--primary-light)}.filter-pills[data-v-33d13674]{display:flex;gap:.5rem}.filter-pill[data-v-33d13674]{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-subtle);border-radius:2rem;color:var(--text-muted);font-size:.8rem;font-weight:600;font-family:var(--body-font);cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.filter-pill[data-v-33d13674]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.filter-pill.active[data-v-33d13674]{background:linear-gradient(135deg,var(--primary-light),var(--primary));border-color:transparent;color:#2a1206;box-shadow:var(--accent-glow)}.cohort-filter[data-v-33d13674]{display:flex;align-items:center}.cohort-select[data-v-33d13674]{padding:.5rem .75rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-light);font-size:.82rem;font-family:var(--body-font);cursor:pointer;transition:border-color .2s}.cohort-select[data-v-33d13674]:focus{outline:none;border-color:var(--primary)}.cohort-select option[data-v-33d13674]{background:var(--bg-card)}.students-list[data-v-33d13674]{display:flex;flex-direction:column;gap:.75rem}.student-card[data-v-33d13674]{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);border-left:2px solid transparent;cursor:pointer;transition:background-color .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.student-card[data-v-33d13674]:focus-visible{outline:none;box-shadow:var(--ring)}.student-card[data-v-33d13674]:hover{border-left-color:var(--primary);background:rgba(var(--primary-rgb),.06);box-shadow:var(--shadow-card);transform:translateY(-1px)}.student-avatar[data-v-33d13674]{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;font-family:var(--display-font);flex-shrink:0}.student-info[data-v-33d13674]{flex:1;min-width:0}.student-name[data-v-33d13674]{font-weight:600;color:var(--text-white);font-size:.9rem}.student-email[data-v-33d13674]{font-size:.8rem;color:var(--text-muted)}.student-meta[data-v-33d13674]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.subscription-status[data-v-33d13674]{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:var(--radius-sm);background:var(--bg-dark);border:1px solid var(--border-subtle);color:var(--text-muted)}.subscription-status.active[data-v-33d13674]{background:color-mix(in srgb,var(--success) 14%,transparent);border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--success)}.joined-date[data-v-33d13674]{font-size:.75rem;color:var(--text-muted)}.completion-badge[data-v-33d13674]{font-size:.72rem;color:#10b981;font-weight:500}.score-badge[data-v-33d13674]{font-size:.72rem;color:#7aa0ff;font-weight:500}.student-actions[data-v-33d13674]{display:flex;gap:.5rem}.action-btn[data-v-33d13674]{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.action-btn[data-v-33d13674]:hover{background:rgba(var(--primary-rgb),.08);border-color:var(--primary);color:var(--primary-light);transform:translateY(-1px)}.action-btn[data-v-33d13674]:focus-visible{outline:none;box-shadow:var(--ring)}.action-btn[data-v-33d13674]:active{transform:translateY(0)}.action-btn svg[data-v-33d13674]{width:18px;height:18px}.empty-state[data-v-33d13674],.loading-state[data-v-33d13674]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:var(--text-muted);text-align:center}.empty-state svg[data-v-33d13674]{width:48px;height:48px;margin-bottom:1rem;opacity:.3}.spinner[data-v-33d13674]{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-33d13674 1s linear infinite;margin-bottom:1rem}@keyframes spin-33d13674{to{transform:rotate(360deg)}}@media(max-width:768px){.page-header[data-v-33d13674],.page-content[data-v-33d13674]{padding:1rem}.student-card[data-v-33d13674]{flex-wrap:wrap}.student-meta[data-v-33d13674]{width:100%;flex-direction:row;justify-content:space-between;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-subtle)}}.admin-revenue-page[data-v-748f95d3]{min-height:100vh;background:var(--bg-body);font-family:var(--body-font)}.page-header[data-v-748f95d3]{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);background:var(--bg-dark)}.header-content h1[data-v-748f95d3]{font-family:var(--display-font);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-white);margin:0 0 .25rem}.subtitle[data-v-748f95d3]{font-size:.85rem;color:var(--text-muted);margin:0}.page-content[data-v-748f95d3]{padding:2rem;max-width:1100px}.state-center[data-v-748f95d3]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem;color:var(--text-muted)}.error-state[data-v-748f95d3]{color:#ef4444}.btn-retry[data-v-748f95d3]{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.metrics-grid[data-v-748f95d3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.metric-card[data-v-748f95d3]{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:10px;padding:1.25rem 1.5rem;display:flex;align-items:flex-start;gap:1rem}.metric-card.highlight[data-v-748f95d3]{border-color:rgba(var(--primary-rgb),.4);background:linear-gradient(135deg,var(--bg-dark),rgba(var(--primary-rgb),.04))}.metric-icon[data-v-748f95d3]{width:2.5rem;height:2.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon svg[data-v-748f95d3]{width:1.25rem;height:1.25rem}.mrr-icon[data-v-748f95d3]{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.signups-icon[data-v-748f95d3]{background:#10b98126;color:#10b981}.active-icon[data-v-748f95d3]{background:#f59e0b26;color:#f59e0b}.revenue-icon[data-v-748f95d3]{background:#6366f126;color:#818cf8}.churn-icon[data-v-748f95d3]{background:#ef444426;color:#ef4444}.metric-body[data-v-748f95d3]{display:flex;flex-direction:column;gap:.2rem}.metric-label[data-v-748f95d3]{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.metric-value[data-v-748f95d3]{font-size:1.75rem;font-weight:700;font-family:var(--display-font);color:var(--text-white);line-height:1.1}.metric-sub[data-v-748f95d3]{font-size:.75rem;color:var(--text-muted)}.chart-card[data-v-748f95d3]{background:var(--bg-dark);border:1px solid var(--border-subtle);border-radius:10px;padding:1.5rem;margin-bottom:1rem}.chart-header[data-v-748f95d3]{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem}.chart-header h2[data-v-748f95d3]{font-family:var(--display-font);font-size:1rem;font-weight:600;color:var(--text-white);margin:0}.chart-subtitle[data-v-748f95d3]{font-size:.75rem;color:var(--text-muted)}.chart-area[data-v-748f95d3]{height:220px}.chart-empty[data-v-748f95d3]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-muted);text-align:center}.chart-empty svg[data-v-748f95d3]{width:2.5rem;height:2.5rem;opacity:.4}.chart-empty p[data-v-748f95d3]{font-size:.85rem;max-width:360px}.bar-chart[data-v-748f95d3]{display:flex;align-items:stretch;height:100%;gap:.75rem}.chart-y-axis[data-v-748f95d3]{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:1.5rem;min-width:60px;text-align:right;font-size:.7rem;color:var(--text-muted)}.bars-container[data-v-748f95d3]{display:flex;align-items:flex-end;gap:.4rem;flex:1;border-left:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);padding:0 .25rem;position:relative}.bar-column[data-v-748f95d3]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative;height:100%;padding-bottom:1.4rem}.bar[data-v-748f95d3]{width:100%;background:linear-gradient(to top,var(--primary),rgba(var(--primary-rgb),.5));border-radius:3px 3px 0 0;transition:height .4s ease;min-height:0;position:relative}.bar-column:hover .bar[data-v-748f95d3]{filter:brightness(1.15)}.bar-tooltip[data-v-748f95d3]{display:none;position:absolute;bottom:calc(100% + .25rem);left:50%;transform:translate(-50%);background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:4px;padding:.3rem .5rem;font-size:.7rem;color:var(--text-white);white-space:nowrap;z-index:5;text-align:center}.bar-column:hover .bar-tooltip[data-v-748f95d3]{display:block}.bar-label[data-v-748f95d3]{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:.6rem;color:var(--text-muted);white-space:nowrap}.data-note[data-v-748f95d3]{font-size:.75rem;color:var(--text-muted);font-style:italic;margin:0}.spinner[data-v-748f95d3]{width:2rem;height:2rem;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-748f95d3 .8s linear infinite}@keyframes spin-748f95d3{to{transform:rotate(360deg)}}@media(max-width:768px){.page-content[data-v-748f95d3]{padding:1rem}.metrics-grid[data-v-748f95d3]{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.metrics-grid[data-v-748f95d3]{grid-template-columns:1fr}}.admin-bugs-page[data-v-d6d262b0]{padding:1.5rem 2rem;max-width:1100px;margin:0 auto;font-family:var(--body-font)}.page-header[data-v-d6d262b0]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.header-content h1[data-v-d6d262b0]{font-family:var(--display-font);font-size:1.5rem;letter-spacing:-.02em;margin:0;color:var(--text-white)}.subtitle[data-v-d6d262b0]{color:var(--text-muted);font-size:.9rem;margin:.25rem 0 0}.count-chips[data-v-d6d262b0]{display:flex;gap:.4rem;flex-wrap:wrap}.chip[data-v-d6d262b0]{font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:999px;border:1px solid transparent;transition:background-color .2s var(--ease),border-color .2s var(--ease)}.chip.pending[data-v-d6d262b0]{background:rgba(var(--primary-rgb),0);color:var(--warning);border-color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}.chip.reviewing[data-v-d6d262b0]{color:var(--primary);border-color:rgba(var(--primary-rgb),.45);background:rgba(var(--primary-rgb),.12)}.chip.resolved[data-v-d6d262b0]{color:var(--success);border-color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.chip.total[data-v-d6d262b0]{color:var(--text-muted);border-color:var(--border-subtle);background:var(--bg-dark)}.filters-bar[data-v-d6d262b0]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.filter-pills[data-v-d6d262b0]{display:flex;gap:.4rem;flex-wrap:wrap}.filter-pill[data-v-d6d262b0]{padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-family:var(--body-font);font-weight:500;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.filter-pill[data-v-d6d262b0]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08)}.filter-pill[data-v-d6d262b0]:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--primary)}.filter-pill.subtle[data-v-d6d262b0]{font-size:.74rem;padding:.3rem .7rem}.filter-pill.active[data-v-d6d262b0]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border-color:transparent;box-shadow:var(--accent-glow)}.filter-pill.active[data-v-d6d262b0]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.reports-list[data-v-d6d262b0]{display:flex;flex-direction:column;gap:.75rem}.report-card[data-v-d6d262b0]{display:grid;grid-template-columns:1fr 260px;gap:1rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-left-width:4px;border-radius:var(--radius-lg);padding:1rem 1.1rem;box-shadow:var(--shadow-card);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.report-card[data-v-d6d262b0]:hover{transform:translateY(-1px)}.report-card.pending[data-v-d6d262b0]{border-left-color:var(--warning)}.report-card.reviewing[data-v-d6d262b0]{border-left-color:var(--primary)}.report-card.resolved[data-v-d6d262b0]{border-left-color:var(--success);opacity:.78}.report-card.dismissed[data-v-d6d262b0]{border-left-color:var(--text-muted);opacity:.62}@media(max-width:720px){.report-card[data-v-d6d262b0]{grid-template-columns:1fr}}.report-top[data-v-d6d262b0]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}.src-badge[data-v-d6d262b0]{font-size:.68rem;font-weight:700;padding:.15rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em;border:1px solid transparent}.src-badge.flag[data-v-d6d262b0]{background:rgba(var(--primary-rgb),.14);color:var(--primary);border-color:rgba(var(--primary-rgb),.3)}.src-badge.feedback[data-v-d6d262b0]{background:var(--bg-dark);color:var(--text-light);border-color:var(--border-subtle)}.kind-badge[data-v-d6d262b0]{font-size:.7rem;color:var(--text-light);background:var(--bg-dark);border:1px solid var(--border-subtle);padding:.15rem .5rem;border-radius:var(--radius-sm)}.status-dot[data-v-d6d262b0]{font-size:.68rem;font-weight:700;text-transform:capitalize}.status-dot.pending[data-v-d6d262b0]{color:var(--warning)}.status-dot.reviewing[data-v-d6d262b0]{color:var(--primary)}.status-dot.resolved[data-v-d6d262b0]{color:var(--success)}.status-dot.dismissed[data-v-d6d262b0]{color:var(--text-muted)}.report-date[data-v-d6d262b0]{margin-left:auto;font-size:.72rem;color:var(--text-muted);font-family:var(--mono-font)}.report-msg[data-v-d6d262b0]{color:var(--text-white);font-size:.92rem;line-height:1.5;margin:0 0 .5rem;white-space:pre-wrap}.report-meta[data-v-d6d262b0]{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.78rem;color:var(--text-light)}.report-meta .muted[data-v-d6d262b0]{color:var(--text-muted)}.meta-link[data-v-d6d262b0]{color:var(--primary-light);text-decoration:none;transition:color .18s var(--ease)}.meta-link[data-v-d6d262b0]:hover{color:var(--primary)}.code-details[data-v-d6d262b0]{margin-top:.5rem}.code-details summary[data-v-d6d262b0]{cursor:pointer;font-size:.78rem;color:var(--text-muted);transition:color .18s var(--ease)}.code-details summary[data-v-d6d262b0]:hover{color:var(--text-light)}.code-details pre[data-v-d6d262b0]{margin-top:.4rem;background:var(--bg-darker);border:1px solid var(--border-subtle);padding:.7rem;border-radius:var(--radius-sm);font-family:var(--mono-font);font-size:.75rem;overflow:auto;color:var(--text-light);max-height:220px}.history[data-v-d6d262b0]{margin-top:.5rem}.history summary[data-v-d6d262b0]{cursor:pointer;font-size:.78rem;color:var(--text-muted);transition:color .18s var(--ease)}.history summary[data-v-d6d262b0]:hover{color:var(--text-light)}.timeline[data-v-d6d262b0]{list-style:none;margin:.6rem 0 0;padding:0 0 0 .25rem;display:flex;flex-direction:column;gap:.6rem}.timeline li[data-v-d6d262b0]{display:flex;gap:.6rem;position:relative;padding-left:.9rem}.timeline li[data-v-d6d262b0]:before{content:"";position:absolute;left:3px;top:6px;bottom:-.6rem;width:1px;background:var(--border-subtle)}.timeline li[data-v-d6d262b0]:last-child:before{display:none}.tl-dot[data-v-d6d262b0]{position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;background:var(--primary)}.tl-body[data-v-d6d262b0]{flex:1}.tl-line[data-v-d6d262b0]{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-light)}.tl-status[data-v-d6d262b0]{text-transform:capitalize;font-weight:600}.tl-status.pending[data-v-d6d262b0]{color:var(--warning)}.tl-status.reviewing[data-v-d6d262b0]{color:var(--primary)}.tl-status.resolved[data-v-d6d262b0]{color:var(--success)}.tl-status.dismissed[data-v-d6d262b0]{color:var(--text-muted)}.tl-noteonly[data-v-d6d262b0]{color:var(--text-light)}.tl-by[data-v-d6d262b0]{color:var(--text-muted)}.tl-when[data-v-d6d262b0]{margin-left:auto;color:var(--text-muted);font-size:.72rem;font-family:var(--mono-font)}.tl-note[data-v-d6d262b0]{margin:.25rem 0 0;font-size:.8rem;color:var(--text-muted);font-style:italic}.report-actions[data-v-d6d262b0]{display:flex;flex-direction:column;gap:.5rem}.report-actions label[data-v-d6d262b0]{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.status-select[data-v-d6d262b0],.notes-input[data-v-d6d262b0]{width:100%;box-sizing:border-box;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);padding:.45rem .55rem;font-size:.82rem;font-family:var(--body-font);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.status-select[data-v-d6d262b0]:hover,.notes-input[data-v-d6d262b0]:hover{border-color:rgba(var(--primary-rgb),.4)}.status-select[data-v-d6d262b0]:focus,.notes-input[data-v-d6d262b0]:focus{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.notes-input[data-v-d6d262b0]{resize:vertical}.notes-input[data-v-d6d262b0]::placeholder{color:var(--text-muted);opacity:1}.save-btn[data-v-d6d262b0]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:1px solid transparent;border-radius:var(--radius);padding:.5rem;font-weight:600;font-family:var(--body-font);cursor:pointer;font-size:.82rem;box-shadow:var(--accent-glow);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.save-btn[data-v-d6d262b0]:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.save-btn[data-v-d6d262b0]:focus-visible{outline:none;box-shadow:var(--ring)}.save-btn[data-v-d6d262b0]:disabled{opacity:.55;box-shadow:none;transform:none;cursor:not-allowed}.loading-state[data-v-d6d262b0],.empty-state[data-v-d6d262b0]{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.spinner[data-v-d6d262b0]{width:2rem;height:2rem;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;margin:0 auto 1rem;animation:spin-d6d262b0 1s linear infinite}@keyframes spin-d6d262b0{to{transform:rotate(360deg)}}.admin-submissions-page[data-v-ad043cfc]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.page-header[data-v-ad043cfc]{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header h1[data-v-ad043cfc]{font-family:var(--display-font);font-size:1.4rem;font-weight:700;margin:0 0 .25rem}.subtitle[data-v-ad043cfc]{font-size:.82rem;color:var(--text-muted);margin:0}.page-content[data-v-ad043cfc]{padding:1.5rem 2rem}.filters-bar[data-v-ad043cfc]{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.filter-pills[data-v-ad043cfc]{display:flex;gap:.4rem}.filter-pill[data-v-ad043cfc]{padding:.35rem .875rem;border:1px solid var(--border-subtle);background:transparent;color:var(--text-muted);border-radius:2rem;font-size:.78rem;cursor:pointer;transition:all .18s}.filter-pill[data-v-ad043cfc]:hover{border-color:var(--primary);color:var(--text-white)}.filter-pill.active[data-v-ad043cfc]{background:var(--primary);border-color:var(--primary);color:#fff}.search-wrap[data-v-ad043cfc]{flex:1;max-width:300px}.search-input[data-v-ad043cfc]{width:100%;padding:.45rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-size:.82rem;font-family:var(--body-font)}.search-input[data-v-ad043cfc]:focus{outline:none;border-color:var(--primary)}.loading-state[data-v-ad043cfc],.empty-state[data-v-ad043cfc]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-muted)}.spinner[data-v-ad043cfc]{width:2rem;height:2rem;border:2px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-ad043cfc 1s linear infinite}@keyframes spin-ad043cfc{to{transform:rotate(360deg)}}.content-split[data-v-ad043cfc]{display:grid;grid-template-columns:1fr;gap:1.25rem}.content-split.has-detail[data-v-ad043cfc]{grid-template-columns:380px 1fr}.submissions-list[data-v-ad043cfc]{display:flex;flex-direction:column;gap:.6rem}.submission-card[data-v-ad043cfc]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:1rem 1.125rem;cursor:pointer;transition:border-color .18s,transform .18s;position:relative}.submission-card[data-v-ad043cfc]:hover{border-color:rgba(var(--primary-rgb),.4);transform:translateY(-1px)}.submission-card.active[data-v-ad043cfc]{border-color:var(--primary);background:rgba(var(--primary-rgb),.05)}.sub-top[data-v-ad043cfc]{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.sub-date[data-v-ad043cfc]{font-size:.7rem;color:var(--text-muted);margin-left:auto}.status-badge[data-v-ad043cfc]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:3px}.badge-submitted[data-v-ad043cfc]{background:#f59e0b26;color:#f59e0b}.badge-under_review[data-v-ad043cfc]{background:#6366f126;color:#818cf8}.badge-approved[data-v-ad043cfc]{background:#10b98126;color:#10b981}.badge-needs_work[data-v-ad043cfc]{background:#ef444426;color:#ef4444}.badge-needs_revision[data-v-ad043cfc]{background:#ef44441f;color:#f87171}.sub-project-title[data-v-ad043cfc]{font-family:var(--display-font);font-size:.875rem;font-weight:600;margin:0 0 .4rem}.sub-student[data-v-ad043cfc]{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--text-muted)}.sub-student svg[data-v-ad043cfc]{width:.8rem;height:.8rem}.muted[data-v-ad043cfc]{color:var(--text-muted);font-size:.73em}.sub-meta[data-v-ad043cfc]{margin-top:.5rem}.difficulty-badge[data-v-ad043cfc]{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .45rem;border-radius:3px}.diff-beginner[data-v-ad043cfc]{background:#10b9811f;color:#10b981}.diff-intermediate[data-v-ad043cfc]{background:#f59e0b1f;color:#f59e0b}.diff-advanced[data-v-ad043cfc]{background:#ef44441f;color:#ef4444}.pagination[data-v-ad043cfc]{display:flex;align-items:center;gap:1rem;justify-content:center;margin-top:1rem}.page-btn[data-v-ad043cfc]{padding:.4rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.78rem;cursor:pointer;transition:border-color .18s,color .18s}.page-btn[data-v-ad043cfc]:hover:not(:disabled){border-color:var(--primary);color:var(--text-white)}.page-btn[data-v-ad043cfc]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-ad043cfc]{font-size:.78rem;color:var(--text-muted)}.submission-detail[data-v-ad043cfc]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;height:fit-content;position:sticky;top:1rem;display:flex;flex-direction:column;gap:1.25rem}.detail-header[data-v-ad043cfc]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.detail-header h2[data-v-ad043cfc]{font-family:var(--display-font);font-size:1rem;margin:0 0 .25rem}.detail-student[data-v-ad043cfc]{font-size:.78rem;color:var(--text-muted);margin:0}.close-detail[data-v-ad043cfc]{background:transparent;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem}.close-detail svg[data-v-ad043cfc]{width:1.1rem;height:1.1rem}.close-detail[data-v-ad043cfc]:hover{color:var(--text-white)}.detail-links[data-v-ad043cfc]{display:flex;gap:.75rem;flex-wrap:wrap}.detail-link[data-v-ad043cfc]{display:flex;align-items:center;gap:.4rem;padding:.4rem .875rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;text-decoration:none;color:var(--text-white);transition:border-color .18s}.detail-link svg[data-v-ad043cfc]{width:.875rem;height:.875rem}.detail-link[data-v-ad043cfc]:hover{border-color:var(--primary);color:var(--primary)}.detail-notes[data-v-ad043cfc],.detail-prev-feedback[data-v-ad043cfc]{background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.875rem 1rem}.notes-label[data-v-ad043cfc]{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .4rem;font-weight:700}.notes-text[data-v-ad043cfc]{font-size:.82rem;color:var(--text-white);margin:0;line-height:1.6}.review-form[data-v-ad043cfc]{display:flex;flex-direction:column;gap:1rem}.review-form h3[data-v-ad043cfc]{font-family:var(--display-font);font-size:.875rem;font-weight:700;margin:0}.status-options[data-v-ad043cfc]{display:flex;flex-direction:column;gap:.5rem}.status-option[data-v-ad043cfc]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .18s}.status-option input[type=radio][data-v-ad043cfc]{display:none}.status-option.selected[data-v-ad043cfc]{border-color:var(--primary);background:rgba(var(--primary-rgb),.07)}.opt-label[data-v-ad043cfc]{font-size:.82rem;font-weight:700;padding:.15rem .5rem;border-radius:3px}.opt-approved[data-v-ad043cfc]{background:#10b98126;color:#10b981}.opt-needs_work[data-v-ad043cfc]{background:#ef444426;color:#ef4444}.opt-desc[data-v-ad043cfc]{font-size:.75rem;color:var(--text-muted);flex:1}.feedback-field[data-v-ad043cfc]{display:flex;flex-direction:column;gap:.4rem}.feedback-field label[data-v-ad043cfc]{font-size:.8rem;font-weight:600;color:var(--text-white)}.optional[data-v-ad043cfc]{font-weight:400;color:var(--text-muted)}.feedback-field textarea[data-v-ad043cfc]{padding:.6rem .875rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-size:.82rem;font-family:var(--body-font);resize:vertical;transition:border-color .2s}.feedback-field textarea[data-v-ad043cfc]:focus{outline:none;border-color:var(--primary)}.btn-submit-review[data-v-ad043cfc]{padding:.65rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.875rem;font-weight:700;cursor:pointer;transition:opacity .2s;align-self:flex-start}.btn-submit-review[data-v-ad043cfc]:disabled{opacity:.6;cursor:not-allowed}.review-success[data-v-ad043cfc]{font-size:.8rem;color:var(--success);margin:0}.review-error[data-v-ad043cfc]{font-size:.8rem;color:#ef4444;margin:0}.review-fields-row[data-v-ad043cfc]{margin-bottom:.75rem}.grade-display[data-v-ad043cfc]{margin-bottom:.5rem}.grade-badge[data-v-ad043cfc]{display:inline-block;background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3);border-radius:6px;padding:.2rem .65rem;font-size:.85rem;font-weight:700}.grade-input[data-v-ad043cfc]{width:100%;padding:.5rem .75rem;background:var(--bg-darker);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-size:.85rem;max-width:200px}.grade-input[data-v-ad043cfc]:focus{outline:none;border-color:var(--primary)}@media(max-width:900px){.content-split.has-detail[data-v-ad043cfc]{grid-template-columns:1fr}.page-content[data-v-ad043cfc]{padding:1rem}}@media(max-width:480px){.page-content[data-v-ad043cfc]{padding:.75rem}.filters-bar[data-v-ad043cfc]{flex-direction:column;gap:.5rem}.status-filters[data-v-ad043cfc]{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.submission-card[data-v-ad043cfc]{padding:.75rem}.submission-meta[data-v-ad043cfc]{flex-wrap:wrap;gap:.3rem}.detail-panel[data-v-ad043cfc]{padding:.75rem}.review-fields-row[data-v-ad043cfc]{flex-direction:column}.status-options[data-v-ad043cfc]{grid-template-columns:1fr}.comment-form-row[data-v-ad043cfc]{flex-direction:column}.comment-line-input[data-v-ad043cfc]{width:100%}}.review-comments-section[data-v-ad043cfc]{margin-top:2rem;border-top:1px solid rgba(255,255,255,.06);padding-top:1.5rem}.review-comments-section h3[data-v-ad043cfc]{font-size:.9rem;font-weight:600;color:#ffffffb3;margin-bottom:1rem}.no-comments[data-v-ad043cfc]{font-size:.8rem;color:#ffffff4d;margin-bottom:1rem}.comments-list[data-v-ad043cfc]{margin-bottom:1rem}.comment-file-group[data-v-ad043cfc]{margin-bottom:.75rem}.comment-file-header[data-v-ad043cfc]{font-size:.75rem;font-family:monospace;color:#7aa0ff;background:#7aa0ff14;padding:.2rem .5rem;border-radius:4px;margin-bottom:.4rem}.comment-item[data-v-ad043cfc]{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;background:#ffffff08;border-radius:4px;margin-bottom:.25rem;font-size:.82rem}.comment-line[data-v-ad043cfc]{flex-shrink:0;color:#ffffff4d;font-family:monospace;font-size:.75rem;padding-top:1px}.comment-text[data-v-ad043cfc]{flex:1;color:#ffffffb3;line-height:1.4}.comment-delete[data-v-ad043cfc]{flex-shrink:0;background:none;border:none;color:#fff3;cursor:pointer;font-size:1rem;padding:0 .2rem;line-height:1}.comment-delete[data-v-ad043cfc]:hover{color:#ef4444}.add-comment-form[data-v-ad043cfc]{background:#ffffff08;border:1px solid rgba(255,255,255,.07);border-radius:8px;padding:.75rem}.comment-form-row[data-v-ad043cfc]{display:flex;gap:.5rem;margin-bottom:.5rem}.comment-file-input[data-v-ad043cfc]{flex:1;padding:.4rem .6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.82rem}.comment-line-input[data-v-ad043cfc]{width:80px;padding:.4rem .6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.82rem}.comment-textarea[data-v-ad043cfc]{width:100%;padding:.5rem .6rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:.82rem;resize:vertical;margin-bottom:.5rem;box-sizing:border-box}.comment-file-input[data-v-ad043cfc]:focus,.comment-line-input[data-v-ad043cfc]:focus,.comment-textarea[data-v-ad043cfc]:focus{outline:none;border-color:#7aa0ff}.btn-add-comment[data-v-ad043cfc]{background:#7aa0ff26;color:#7aa0ff;border:1px solid rgba(122,160,255,.3);border-radius:6px;padding:.4rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer}.btn-add-comment[data-v-ad043cfc]:disabled{opacity:.4;cursor:not-allowed}.btn-add-comment[data-v-ad043cfc]:not(:disabled):hover{background:#7aa0ff40}.admin-certificates-page[data-v-77f780b7]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh}.page-header[data-v-77f780b7]{padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle)}.page-header h1[data-v-77f780b7]{font-family:var(--display-font);font-size:1.4rem;font-weight:700;margin:0 0 .25rem}.subtitle[data-v-77f780b7]{font-size:.82rem;color:var(--text-muted);margin:0}.page-content[data-v-77f780b7]{padding:1.5rem 2rem}.filters-bar[data-v-77f780b7]{margin-bottom:1.25rem}.search-wrap[data-v-77f780b7]{max-width:420px}.search-input[data-v-77f780b7]{width:100%;padding:.45rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-white);font-size:.82rem;font-family:var(--body-font)}.search-input[data-v-77f780b7]:focus{outline:none;border-color:var(--primary)}.loading-state[data-v-77f780b7],.empty-state[data-v-77f780b7]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--text-muted)}.spinner[data-v-77f780b7]{width:2rem;height:2rem;border:2px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-77f780b7 1s linear infinite}@keyframes spin-77f780b7{to{transform:rotate(360deg)}}.cert-table-wrap[data-v-77f780b7]{overflow-x:auto}.cert-table[data-v-77f780b7]{width:100%;border-collapse:collapse;font-size:.82rem}.cert-table th[data-v-77f780b7]{text-align:left;padding:.6rem .875rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border-subtle)}.cert-table td[data-v-77f780b7]{padding:.75rem .875rem;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}.cert-table tbody tr[data-v-77f780b7]:hover{background:#ffffff06}.student-cell[data-v-77f780b7]{display:flex;flex-direction:column;gap:.1rem}.student-name[data-v-77f780b7]{font-weight:600}.student-email[data-v-77f780b7]{font-size:.75rem;color:var(--text-muted)}.course-cell[data-v-77f780b7]{color:var(--text-muted);max-width:180px}.cert-number[data-v-77f780b7]{font-family:monospace;font-size:.75rem;color:var(--primary)}.cert-date[data-v-77f780b7]{color:var(--text-muted);white-space:nowrap}.pdf-badge[data-v-77f780b7]{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:3px}.pdf-yes[data-v-77f780b7]{background:#10b98126;color:#10b981}.pdf-no[data-v-77f780b7]{background:#f59e0b26;color:#f59e0b}.actions-cell[data-v-77f780b7]{display:flex;gap:.5rem;align-items:center}.action-btn[data-v-77f780b7]{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:opacity .18s;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-muted)}.action-btn svg[data-v-77f780b7]{width:.75rem;height:.75rem}.action-btn[data-v-77f780b7]:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.action-btn[data-v-77f780b7]:disabled{opacity:.5;cursor:not-allowed}.action-download[data-v-77f780b7]{color:var(--text-white)}.pagination[data-v-77f780b7]{display:flex;align-items:center;gap:1rem;justify-content:center;margin-top:1.25rem}.page-btn[data-v-77f780b7]{padding:.4rem .875rem;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:var(--radius-sm);font-size:.78rem;cursor:pointer;transition:border-color .18s,color .18s}.page-btn[data-v-77f780b7]:hover:not(:disabled){border-color:var(--primary);color:var(--text-white)}.page-btn[data-v-77f780b7]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-77f780b7]{font-size:.78rem;color:var(--text-muted)}.certificates-page[data-v-dca85d97]{max-width:900px;margin:0 auto;padding:2rem 1rem}.page-header[data-v-dca85d97]{margin-bottom:2rem}.page-header h1[data-v-dca85d97]{font-size:1.75rem;font-weight:700;color:var(--text-primary, #1c1917);margin:0 0 .25rem}.subtitle[data-v-dca85d97]{color:var(--text-secondary, #57534e);margin:0}.state-box[data-v-dca85d97]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem 2rem;text-align:center}.state-box svg[data-v-dca85d97]{width:3rem;height:3rem;color:var(--text-muted, #a8a29e)}.state-box h3[data-v-dca85d97]{font-size:1.25rem;font-weight:600;margin:0}.state-box p[data-v-dca85d97]{color:var(--text-secondary, #57534e);margin:0}.certs-grid[data-v-dca85d97]{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:640px){.certs-grid[data-v-dca85d97]{grid-template-columns:repeat(2,1fr)}}.cert-card[data-v-dca85d97]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;transition:box-shadow .2s}.cert-card[data-v-dca85d97]:hover{box-shadow:0 4px 16px #00000014}.cert-header[data-v-dca85d97]{display:flex;align-items:center;justify-content:space-between}.cert-icon[data-v-dca85d97]{width:2.5rem;height:2.5rem;background:#fef3c7;border-radius:50%;display:flex;align-items:center;justify-content:center}.cert-icon svg[data-v-dca85d97]{width:1.4rem;height:1.4rem;color:#d97706}.cert-badge[data-v-dca85d97]{background:#dcfce7;color:#16a34a;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px}.cert-body[data-v-dca85d97]{flex:1;display:flex;flex-direction:column;gap:.4rem}.cert-title[data-v-dca85d97]{font-size:1.1rem;font-weight:700;color:var(--text-primary, #1c1917);margin:0;line-height:1.3}.cert-student[data-v-dca85d97]{font-size:.875rem;color:var(--text-secondary, #57534e);margin:0;display:flex;align-items:center;gap:.35rem;font-weight:500}.cert-meta[data-v-dca85d97]{font-size:.875rem;color:var(--text-secondary, #57534e);margin:0;display:flex;align-items:center;gap:.35rem}.icon-sm[data-v-dca85d97]{width:.9rem;height:.9rem;flex-shrink:0}.cert-id[data-v-dca85d97]{font-size:.75rem;color:var(--text-muted, #a8a29e);margin:0}.cert-id code[data-v-dca85d97]{font-family:monospace;background:var(--bg-muted, #f5f5f4);padding:.1rem .3rem;border-radius:3px}.cert-actions[data-v-dca85d97]{display:flex;gap:.5rem}.btn-download[data-v-dca85d97]{display:inline-flex;align-items:center;gap:.4rem;background:#ea580c;color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;transition:background .15s;width:100%;justify-content:center}.btn-download[data-v-dca85d97]:hover{background:#c2410c}.btn-download svg[data-v-dca85d97]{width:1rem;height:1rem}.btn-pending[data-v-dca85d97]{font-size:.875rem;color:var(--text-muted, #a8a29e)}.btn-primary[data-v-dca85d97]{display:inline-block;background:#ea580c;color:#fff;text-decoration:none;padding:.6rem 1.25rem;border-radius:8px;font-weight:600;font-size:.9rem}.spinner[data-v-dca85d97]{width:2rem;height:2rem;border:3px solid #e7e5e4;border-top-color:#ea580c;border-radius:50%;animation:spin-dca85d97 .7s linear infinite}@keyframes spin-dca85d97{to{transform:rotate(360deg)}}.admin-quiz-builder[data-v-2d66514e]{padding:1.5rem;max-width:1100px}.page-header[data-v-2d66514e]{margin-bottom:1.5rem}.page-header h1[data-v-2d66514e]{font-size:1.5rem;font-weight:700;margin:0 0 .25rem}.subtitle[data-v-2d66514e]{color:var(--text-secondary, #57534e);margin:0}.selectors-row[data-v-2d66514e]{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.field-group[data-v-2d66514e]{display:flex;flex-direction:column;gap:.25rem;min-width:160px}.field-group label[data-v-2d66514e]{font-size:.8rem;font-weight:600;color:var(--text-secondary, #57534e)}.sel[data-v-2d66514e],.input[data-v-2d66514e]{padding:.5rem .75rem;border:1.5px solid var(--border, #e7e5e4);border-radius:6px;font-size:.875rem;background:var(--bg-input, #fff);color:var(--text-primary, #1c1917);width:100%}.sel[data-v-2d66514e]:disabled{opacity:.5}.empty-hint[data-v-2d66514e]{text-align:center;padding:3rem 1rem;color:var(--text-muted, #a8a29e);font-size:.9rem}.loading-state[data-v-2d66514e]{display:flex;align-items:center;gap:.75rem;padding:2rem;color:var(--text-secondary, #57534e)}.spinner[data-v-2d66514e]{width:1.25rem;height:1.25rem;border:2px solid #e7e5e4;border-top-color:#ea580c;border-radius:50%;animation:spin-2d66514e .7s linear infinite}@keyframes spin-2d66514e{to{transform:rotate(360deg)}}.no-quiz-card[data-v-2d66514e]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:2rem;text-align:center}.quiz-form[data-v-2d66514e]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:1.5rem;margin-top:1rem;text-align:left}.quiz-form.inline[data-v-2d66514e]{margin-top:1rem}.field[data-v-2d66514e]{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem}.field label[data-v-2d66514e]{font-size:.8rem;font-weight:600}.field-row[data-v-2d66514e]{display:flex;gap:1rem;flex-wrap:wrap}.field-row .field[data-v-2d66514e]{flex:1;min-width:160px}.field-actions[data-v-2d66514e]{display:flex;gap:.75rem}.req[data-v-2d66514e]{color:#ea580c}.error-msg[data-v-2d66514e]{color:#b91c1c;font-size:.85rem;margin-top:.5rem}.quiz-header-card[data-v-2d66514e]{display:flex;justify-content:space-between;align-items:flex-start;background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem;gap:1rem}.quiz-header-info h2[data-v-2d66514e]{margin:0 0 .25rem;font-size:1.25rem}.quiz-header-info p[data-v-2d66514e]{margin:0 0 .5rem;color:var(--text-secondary, #57534e);font-size:.9rem}.quiz-tags[data-v-2d66514e]{display:flex;gap:.5rem;flex-wrap:wrap}.tag[data-v-2d66514e]{background:#f5f5f4;color:#57534e;font-size:.75rem;padding:.2rem .6rem;border-radius:20px;border:1px solid #e7e5e4}.quiz-header-actions[data-v-2d66514e]{display:flex;gap:.5rem;flex-shrink:0}.questions-section[data-v-2d66514e]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:1.25rem 1.5rem}.questions-header[data-v-2d66514e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.questions-header h3[data-v-2d66514e]{margin:0;font-size:1rem}.questions-list[data-v-2d66514e]{display:flex;flex-direction:column;gap:.75rem}.question-card[data-v-2d66514e]{border:1px solid var(--border, #e7e5e4);border-radius:8px;padding:1rem}.q-top[data-v-2d66514e]{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.q-num[data-v-2d66514e]{flex-shrink:0;background:#f5f5f4;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;font-weight:700}.q-text[data-v-2d66514e]{flex:1;margin:0;font-size:.9rem}.q-actions[data-v-2d66514e]{display:flex;gap:.4rem;flex-shrink:0}.q-options[data-v-2d66514e]{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.q-opt[data-v-2d66514e]{font-size:.8rem;padding:.2rem .6rem;border-radius:4px;background:#f5f5f4;border:1px solid #e7e5e4}.q-opt.correct[data-v-2d66514e]{background:#dcfce7;border-color:#86efac;color:#15803d;font-weight:600}.q-correct-mark[data-v-2d66514e]{margin-left:.25rem}.q-exp[data-v-2d66514e]{font-size:.8rem;color:var(--text-muted, #a8a29e);margin:0;font-style:italic}.btn[data-v-2d66514e]{display:inline-block;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s}.btn.sm[data-v-2d66514e]{padding:.35rem .75rem;font-size:.8rem}.btn.primary[data-v-2d66514e]{background:#ea580c;color:#fff}.btn.primary[data-v-2d66514e]:hover:not(:disabled){background:#c2410c}.btn.primary[data-v-2d66514e]:disabled{opacity:.5;cursor:not-allowed}.btn.ghost[data-v-2d66514e]{background:none;border:1.5px solid #e7e5e4;color:var(--text-primary, #1c1917)}.btn.ghost[data-v-2d66514e]:hover{border-color:#ea580c;color:#ea580c}.btn.danger-ghost[data-v-2d66514e]{background:none;border:1.5px solid #fca5a5;color:#b91c1c}.btn.danger-ghost[data-v-2d66514e]:hover{background:#fee2e2}.modal-overlay[data-v-2d66514e]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-card[data-v-2d66514e]{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-head[data-v-2d66514e]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e7e5e4}.modal-head h3[data-v-2d66514e]{margin:0;font-size:1.1rem}.close-btn[data-v-2d66514e]{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#a8a29e;padding:.25rem}.modal-body[data-v-2d66514e]{padding:1.25rem 1.5rem}.modal-foot[data-v-2d66514e]{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e7e5e4}.referral-page[data-v-155ace72]{max-width:800px;margin:0 auto;padding:2rem 1rem}.page-header[data-v-155ace72]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.page-header h1[data-v-155ace72]{font-size:1.75rem;font-weight:700;margin:0 0 .2rem;color:var(--text-primary, #1c1917)}.subtitle[data-v-155ace72]{color:var(--text-secondary, #57534e);margin:0;font-size:.9rem}.btn-create[data-v-155ace72]{display:inline-flex;align-items:center;gap:.4rem;background:#ea580c;color:#fff;border:none;padding:.6rem 1.1rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;flex-shrink:0}.btn-create[data-v-155ace72]:hover{background:#c2410c}.btn-create svg[data-v-155ace72]{width:1rem;height:1rem}.stats-row[data-v-155ace72]{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.stat-chip[data-v-155ace72]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:10px;padding:.75rem 1.25rem;display:flex;flex-direction:column;align-items:center;min-width:90px}.stat-num[data-v-155ace72]{font-size:1.5rem;font-weight:700;color:#ea580c;line-height:1}.stat-lbl[data-v-155ace72]{font-size:.75rem;color:var(--text-muted, #a8a29e);margin-top:.2rem}.state-box[data-v-155ace72]{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 2rem;text-align:center;color:var(--text-muted, #a8a29e)}.state-box svg[data-v-155ace72]{width:2.5rem;height:2.5rem;color:var(--text-muted, #a8a29e)}.state-box h3[data-v-155ace72]{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-secondary, #57534e)}.state-box p[data-v-155ace72]{margin:0;font-size:.875rem}.codes-list[data-v-155ace72]{display:flex;flex-direction:column;gap:1rem}.code-card[data-v-155ace72]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:1.25rem;transition:box-shadow .2s}.code-card.inactive[data-v-155ace72]{opacity:.6}.code-card[data-v-155ace72]:hover{box-shadow:0 4px 12px #00000012}.code-top[data-v-155ace72]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.5rem}.code-info[data-v-155ace72]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.code-label[data-v-155ace72]{font-weight:600;font-size:.95rem;color:var(--text-primary, #1c1917)}.code-badge[data-v-155ace72]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px}.code-badge.active[data-v-155ace72]{background:#dcfce7;color:#16a34a}.code-badge.paused[data-v-155ace72]{background:#f5f5f4;color:#78716c}.code-actions[data-v-155ace72]{display:flex;gap:.4rem}.btn-icon[data-v-155ace72]{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:var(--bg-muted, #f5f5f4);border:1px solid var(--border, #e7e5e4);border-radius:6px;cursor:pointer;color:var(--text-secondary, #57534e);transition:background .15s,color .15s}.btn-icon svg[data-v-155ace72]{width:.9rem;height:.9rem}.btn-icon[data-v-155ace72]:hover{background:#e7e5e4}.btn-icon.danger[data-v-155ace72]:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.url-row[data-v-155ace72]{display:flex;align-items:center;gap:.5rem;background:var(--bg-muted, #f5f5f4);border-radius:8px;padding:.5rem .75rem;margin-bottom:.75rem;overflow:hidden}.url-text[data-v-155ace72]{flex:1;font-size:.8rem;color:var(--text-secondary, #57534e);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-copy[data-v-155ace72]{display:inline-flex;align-items:center;gap:.3rem;background:#ea580c;color:#fff;border:none;padding:.3rem .7rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;flex-shrink:0}.btn-copy svg[data-v-155ace72]{width:.8rem;height:.8rem}.btn-copy[data-v-155ace72]:hover{background:#c2410c}.btn-copy.copied[data-v-155ace72]{background:#16a34a}.code-meta[data-v-155ace72]{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted, #a8a29e)}.meta-sep[data-v-155ace72]{color:var(--border, #e7e5e4)}.meta-item code[data-v-155ace72]{font-family:monospace;background:var(--bg-muted, #f5f5f4);padding:.1rem .3rem;border-radius:3px;font-size:.75rem}.modal-overlay[data-v-155ace72]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal[data-v-155ace72]{background:var(--bg-card, #fff);border-radius:16px;padding:2rem;width:100%;max-width:420px;box-shadow:0 20px 60px #00000026}.modal h2[data-v-155ace72]{font-size:1.25rem;font-weight:700;margin:0 0 1.5rem;color:var(--text-primary, #1c1917)}.modal-form .field[data-v-155ace72]{margin-bottom:1.25rem}.modal-form label[data-v-155ace72]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary, #1c1917);margin-bottom:.4rem}.optional[data-v-155ace72]{font-weight:400;color:var(--text-muted, #a8a29e);font-size:.8rem}.modal-form input[data-v-155ace72]{width:100%;padding:.6rem .75rem;border:1px solid var(--border, #e7e5e4);border-radius:8px;font-size:.9rem;background:var(--bg-card, #fff);color:var(--text-primary, #1c1917);box-sizing:border-box}.modal-form input[data-v-155ace72]:focus{outline:none;border-color:#ea580c;box-shadow:0 0 0 3px #ea580c1a}.modal-actions[data-v-155ace72]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.btn-cancel[data-v-155ace72]{background:transparent;border:1px solid var(--border, #e7e5e4);padding:.55rem 1rem;border-radius:8px;font-size:.875rem;cursor:pointer;color:var(--text-secondary, #57534e)}.btn-submit[data-v-155ace72]{background:#ea580c;color:#fff;border:none;padding:.55rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-submit[data-v-155ace72]:hover:not(:disabled){background:#c2410c}.btn-submit[data-v-155ace72]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-155ace72]{width:2rem;height:2rem;border:3px solid #e7e5e4;border-top-color:#ea580c;border-radius:50%;animation:spin-155ace72 .7s linear infinite}@keyframes spin-155ace72{to{transform:rotate(360deg)}}.bulk-enroll-page[data-v-09e065ed]{max-width:860px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.page-header h1[data-v-09e065ed]{font-size:1.75rem;font-weight:700;margin:0 0 .2rem;color:var(--text-primary, #1c1917)}.subtitle[data-v-09e065ed]{color:var(--text-secondary, #57534e);margin:0;font-size:.9rem}.info-card[data-v-09e065ed],.upload-card[data-v-09e065ed],.results-section[data-v-09e065ed]{background:var(--bg-card, #fff);border:1px solid var(--border, #e7e5e4);border-radius:12px;padding:1.5rem}.info-card h3[data-v-09e065ed]{font-size:1rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary, #1c1917)}.info-card p[data-v-09e065ed]{margin:0 0 .75rem;font-size:.875rem;color:var(--text-secondary, #57534e)}.code-block[data-v-09e065ed]{background:var(--bg-muted, #f5f5f4);border-radius:6px;padding:.6rem 1rem;margin-bottom:.75rem;font-family:monospace;font-size:.875rem;color:#ea580c}.format-notes[data-v-09e065ed]{margin:0 0 .75rem 1.25rem;font-size:.875rem;color:var(--text-secondary, #57534e)}.format-notes li[data-v-09e065ed]{margin-bottom:.3rem}.hint[data-v-09e065ed]{font-size:.8rem;color:var(--text-muted, #a8a29e);margin:0 0 .75rem!important}.btn-template[data-v-09e065ed]{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid var(--border, #e7e5e4);color:var(--text-secondary, #57534e);font-size:.8rem;font-weight:500;padding:.35rem .75rem;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.btn-template[data-v-09e065ed]:hover{background:var(--bg-muted, #f5f5f4);border-color:#ea580c;color:#ea580c}.upload-form[data-v-09e065ed]{display:flex;flex-direction:column;gap:1.25rem}.field label[data-v-09e065ed]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary, #1c1917);margin-bottom:.4rem}.field select[data-v-09e065ed]{width:100%;padding:.6rem .75rem;border:1px solid var(--border, #e7e5e4);border-radius:8px;font-size:.9rem;background:var(--bg-card, #fff);color:var(--text-primary, #1c1917)}.file-drop[data-v-09e065ed]{border:2px dashed var(--border, #e7e5e4);border-radius:10px;padding:2rem;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.file-drop.drag-over[data-v-09e065ed]{border-color:#ea580c;background:#ea580c0a}.file-drop svg[data-v-09e065ed]{width:2rem;height:2rem;color:var(--text-muted, #a8a29e);margin:0 auto .5rem;display:block}.file-drop p[data-v-09e065ed]{font-size:.875rem;color:var(--text-secondary, #57534e);margin:0}.file-browse[data-v-09e065ed]{color:#ea580c;font-weight:600;cursor:pointer;text-decoration:underline}.error-box[data-v-09e065ed]{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;color:#b91c1c}.btn-submit[data-v-09e065ed]{display:inline-flex;align-items:center;gap:.5rem;background:#ea580c;color:#fff;border:none;padding:.7rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;align-self:flex-start;transition:background .15s}.btn-submit[data-v-09e065ed]:hover:not(:disabled){background:#c2410c}.btn-submit[data-v-09e065ed]:disabled{opacity:.55;cursor:not-allowed}.spinner-sm[data-v-09e065ed]{width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-09e065ed .6s linear infinite}@keyframes spin-09e065ed{to{transform:rotate(360deg)}}.summary-chips[data-v-09e065ed]{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.chip[data-v-09e065ed]{padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600}.chip.total[data-v-09e065ed]{background:#f5f5f4;color:#57534e}.chip.created[data-v-09e065ed]{background:#dcfce7;color:#16a34a}.chip.enrolled[data-v-09e065ed]{background:#dbeafe;color:#1d4ed8}.chip.skipped[data-v-09e065ed]{background:#fef3c7;color:#92400e}.chip.errors[data-v-09e065ed]{background:#fee2e2;color:#b91c1c}.result-table-wrap[data-v-09e065ed]{overflow-x:auto}.result-table[data-v-09e065ed]{width:100%;border-collapse:collapse;font-size:.875rem}.result-table th[data-v-09e065ed]{text-align:left;padding:.5rem .75rem;background:var(--bg-muted, #f5f5f4);font-weight:600;color:var(--text-primary, #1c1917);border-bottom:1px solid var(--border, #e7e5e4)}.result-table td[data-v-09e065ed]{padding:.5rem .75rem;border-bottom:1px solid var(--border, #e7e5e4);color:var(--text-secondary, #57534e)}.result-table tr:last-child td[data-v-09e065ed]{border-bottom:none}.result-table tr.error td[data-v-09e065ed]{background:#fff5f5}.status-badge[data-v-09e065ed]{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.status-badge.created[data-v-09e065ed]{background:#dcfce7;color:#16a34a}.status-badge.enrolled[data-v-09e065ed]{background:#dbeafe;color:#1d4ed8}.status-badge.skipped[data-v-09e065ed]{background:#fef3c7;color:#92400e}.status-badge.error[data-v-09e065ed]{background:#fee2e2;color:#b91c1c}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:0 0}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:0 0}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:#ff96004d}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:0;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:0}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:0 0!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;inset:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-code{outline:0}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:0 0}.EasyMDEContainer{display:block}.CodeMirror-rtl pre{direction:rtl}.EasyMDEContainer.sided--no-fullscreen{display:flex;flex-direction:row;flex-wrap:wrap}.EasyMDEContainer .CodeMirror{box-sizing:border-box;height:auto;border:1px solid #ced4da;border-bottom-left-radius:4px;border-bottom-right-radius:4px;padding:10px;font:inherit;z-index:0;word-wrap:break-word}.EasyMDEContainer .CodeMirror-scroll{cursor:text}.EasyMDEContainer .CodeMirror-fullscreen{background:#fff;position:fixed!important;inset:50px 0 0;height:auto;z-index:8;border-right:none!important;border-bottom-right-radius:0!important}.EasyMDEContainer .CodeMirror-sided{width:50%!important}.EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided{border-right:none!important;border-bottom-right-radius:0;position:relative;flex:1 1 auto}.EasyMDEContainer .CodeMirror-placeholder{opacity:.5}.EasyMDEContainer .CodeMirror-focused .CodeMirror-selected{background:#d9d9d9}.editor-toolbar{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;padding:9px 10px;border-top:1px solid #ced4da;border-left:1px solid #ced4da;border-right:1px solid #ced4da;border-top-left-radius:4px;border-top-right-radius:4px}.editor-toolbar.fullscreen{width:100%;height:50px;padding-top:10px;padding-bottom:10px;box-sizing:border-box;background:#fff;border:0;position:fixed;top:0;left:0;opacity:1;z-index:9}.editor-toolbar.fullscreen:before{width:20px;height:50px;background:-moz-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,#fff),color-stop(100%,rgba(255,255,255,0)));background:-webkit-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-o-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left,#fff 0,rgba(255,255,255,0) 100%);background:linear-gradient(to right,#fff 0,#fff0);position:fixed;top:0;left:0;margin:0;padding:0}.editor-toolbar.fullscreen:after{width:20px;height:50px;background:-moz-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-webkit-gradient(linear,left top,right top,color-stop(0,rgba(255,255,255,0)),color-stop(100%,#fff));background:-webkit-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-o-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:-ms-linear-gradient(left,rgba(255,255,255,0) 0,#fff 100%);background:linear-gradient(to right,#fff0 0,#fff);position:fixed;top:0;right:0;margin:0;padding:0}.EasyMDEContainer.sided--no-fullscreen .editor-toolbar{width:100%}.editor-toolbar .easymde-dropdown,.editor-toolbar button{background:0 0;display:inline-block;text-align:center;text-decoration:none!important;height:30px;margin:0;padding:0;border:1px solid transparent;border-radius:3px;cursor:pointer}.editor-toolbar button{font-weight:700;min-width:30px;padding:0 6px;white-space:nowrap}.editor-toolbar button.active,.editor-toolbar button:hover{background:#fcfcfc;border-color:#95a5a6}.editor-toolbar i.separator{display:inline-block;width:0;border-left:1px solid #d9d9d9;border-right:1px solid #fff;color:transparent;text-indent:-10px;margin:0 6px}.editor-toolbar button:after{font-family:Arial,Helvetica Neue,Helvetica,sans-serif;font-size:65%;vertical-align:text-bottom;position:relative;top:2px}.editor-toolbar button.heading-1:after{content:"1"}.editor-toolbar button.heading-2:after{content:"2"}.editor-toolbar button.heading-3:after{content:"3"}.editor-toolbar button.heading-bigger:after{content:"▲"}.editor-toolbar button.heading-smaller:after{content:"▼"}.editor-toolbar.disabled-for-preview button:not(.no-disable){opacity:.6;pointer-events:none}@media only screen and (max-width:700px){.editor-toolbar i.no-mobile{display:none}}.editor-statusbar{padding:8px 10px;font-size:12px;color:#959694;text-align:right}.EasyMDEContainer.sided--no-fullscreen .editor-statusbar{width:100%}.editor-statusbar span{display:inline-block;min-width:4em;margin-left:1em}.editor-statusbar .lines:before{content:"lines: "}.editor-statusbar .words:before{content:"words: "}.editor-statusbar .characters:before{content:"characters: "}.editor-preview-full{position:absolute;width:100%;height:100%;top:0;left:0;z-index:7;overflow:auto;display:none;box-sizing:border-box}.editor-preview-side{position:fixed;bottom:0;width:50%;top:50px;right:0;z-index:9;overflow:auto;display:none;box-sizing:border-box;border:1px solid #ddd;word-wrap:break-word}.editor-preview-active-side{display:block}.EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side{flex:1 1 auto;height:auto;position:static}.editor-preview-active{display:block}.editor-preview{padding:10px;background:#fafafa}.editor-preview>p{margin-top:0}.editor-preview pre{background:#eee;margin-bottom:10px}.editor-preview table td,.editor-preview table th{border:1px solid #ddd;padding:5px}.cm-s-easymde .cm-tag{color:#63a35c}.cm-s-easymde .cm-attribute{color:#795da3}.cm-s-easymde .cm-string{color:#183691}.cm-s-easymde .cm-header-1{font-size:calc(1.375rem + 1.5vw)}.cm-s-easymde .cm-header-2{font-size:calc(1.325rem + .9vw)}.cm-s-easymde .cm-header-3{font-size:calc(1.3rem + .6vw)}.cm-s-easymde .cm-header-4{font-size:calc(1.275rem + .3vw)}.cm-s-easymde .cm-header-5{font-size:1.25rem}.cm-s-easymde .cm-header-6{font-size:1rem}.cm-s-easymde .cm-header-1,.cm-s-easymde .cm-header-2,.cm-s-easymde .cm-header-3,.cm-s-easymde .cm-header-4,.cm-s-easymde .cm-header-5,.cm-s-easymde .cm-header-6{margin-bottom:.5rem;line-height:1.2}.cm-s-easymde .cm-comment{background:#0000000d;border-radius:2px}.cm-s-easymde .cm-link{color:#7f8c8d}.cm-s-easymde .cm-url{color:#aab2b3}.cm-s-easymde .cm-quote{color:#7f8c8d;font-style:italic}.editor-toolbar .easymde-dropdown{position:relative;background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%);border-radius:0;border:1px solid #fff}.editor-toolbar .easymde-dropdown:hover{background:linear-gradient(to bottom right,#fff 0 84%,#333 50% 100%)}.easymde-dropdown-content{display:block;visibility:hidden;position:absolute;background-color:#f9f9f9;box-shadow:0 8px 16px #0003;padding:8px;z-index:2;top:30px}.easymde-dropdown:active .easymde-dropdown-content,.easymde-dropdown:focus .easymde-dropdown-content,.easymde-dropdown:focus-within .easymde-dropdown-content{visibility:visible}.easymde-dropdown-content button{display:block}span[data-img-src]:after{content:"";background-image:var(--bg-image);display:block;max-height:100%;max-width:100%;background-size:contain;height:0;padding-top:var(--height);width:var(--width);background-repeat:no-repeat}.CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word){background:#ff000026}.markdown-editor-wrap .EasyMDEContainer .CodeMirror{background:var(--bg-body, #0f0f1a);color:var(--text-white, #e2e8f0);border-color:var(--border-subtle, #2d2d4e);font-family:Fira Code,Cascadia Code,monospace;font-size:.875rem}.markdown-editor-wrap .EasyMDEContainer .CodeMirror-scroll{background:var(--bg-body, #0f0f1a)}.markdown-editor-wrap .editor-toolbar{background:var(--bg-secondary, #1a1a2e);border-color:var(--border-subtle, #2d2d4e)}.markdown-editor-wrap .editor-toolbar button{color:var(--text-muted, #9ca3af)!important}.markdown-editor-wrap .editor-toolbar button:hover,.markdown-editor-wrap .editor-toolbar button.active{background:#7c3aed26!important;border-color:#7c3aed4d!important;color:#a78bfa!important}.markdown-editor-wrap .editor-toolbar i.separator{border-color:var(--border-subtle, #2d2d4e)}.markdown-editor-wrap .editor-preview,.markdown-editor-wrap .editor-preview-side{background:var(--bg-card, #1a1a2e);color:var(--text-white, #e2e8f0);border-color:var(--border-subtle, #2d2d4e)}.markdown-editor-wrap .CodeMirror-cursor{border-left-color:var(--primary, #7c3aed)}.markdown-editor-wrap .CodeMirror-selected{background:#7c3aed26!important}.markdown-editor-wrap .editor-preview pre,.markdown-editor-wrap .editor-preview code{background:#ffffff0d;border-radius:4px}.admin-projects-page[data-v-6fbd9797]{min-height:100vh;background:var(--bg-primary, #0d0d14);color:var(--text-primary, #e8e8f0);padding:2rem}.page-header[data-v-6fbd9797]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.page-header h1[data-v-6fbd9797]{font-size:1.75rem;font-weight:700;color:var(--text-primary, #e8e8f0);margin:0 0 .25rem}.subtitle[data-v-6fbd9797]{color:var(--text-muted, #666);margin:0}.btn-primary[data-v-6fbd9797]{background:#7c3aed;color:#fff;border:none;border-radius:8px;padding:.6rem 1.25rem;cursor:pointer;font-weight:600;white-space:nowrap}.btn-primary[data-v-6fbd9797]:hover{background:#6d28d9}.btn-primary[data-v-6fbd9797]:disabled{opacity:.6;cursor:not-allowed}.btn-secondary[data-v-6fbd9797]{background:transparent;color:var(--text-primary, #e8e8f0);border:1px solid var(--border-color, #333);border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-weight:500}.btn-secondary[data-v-6fbd9797]:hover{background:#ffffff0d}.btn-edit[data-v-6fbd9797]{background:#7c3aed26;color:#a78bfa;border:1px solid rgba(124,58,237,.3);border-radius:6px;padding:.3rem .75rem;cursor:pointer;font-size:.8rem;margin-right:.4rem}.btn-edit[data-v-6fbd9797]:hover{background:#7c3aed4d}.btn-delete[data-v-6fbd9797]{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:.3rem .75rem;cursor:pointer;font-size:.8rem}.btn-delete[data-v-6fbd9797]:hover{background:#ef44444d}.btn-danger[data-v-6fbd9797]{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;cursor:pointer;font-weight:600}.btn-danger[data-v-6fbd9797]:hover{background:#b91c1c}.btn-danger[data-v-6fbd9797]:disabled{opacity:.6;cursor:not-allowed}.filters-bar[data-v-6fbd9797]{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-select[data-v-6fbd9797],.search-input[data-v-6fbd9797]{background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, #333);border-radius:8px;color:var(--text-primary, #e8e8f0);padding:.5rem .75rem;font-size:.9rem}.search-input[data-v-6fbd9797]{flex:1;min-width:200px}.table-wrap[data-v-6fbd9797]{overflow-x:auto}.data-table[data-v-6fbd9797]{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th[data-v-6fbd9797]{text-align:left;padding:.75rem 1rem;border-bottom:1px solid var(--border-color, #333);color:var(--text-muted, #666);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.data-table td[data-v-6fbd9797]{padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.data-table tr:hover td[data-v-6fbd9797]{background:#ffffff08}.project-title[data-v-6fbd9797]{font-weight:600}.project-slug[data-v-6fbd9797],.text-muted[data-v-6fbd9797]{color:var(--text-muted, #666);font-size:.8rem}.difficulty-badge[data-v-6fbd9797]{padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.diff-beginner[data-v-6fbd9797]{background:#22c55e33;color:#4ade80}.diff-intermediate[data-v-6fbd9797]{background:#eab30833;color:#fbbf24}.diff-advanced[data-v-6fbd9797]{background:#ef444433;color:#f87171}.actions-cell[data-v-6fbd9797]{white-space:nowrap}.btn-solution-link[data-v-6fbd9797]{display:inline-block;padding:.3rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;background:#7c3aed26;color:#a78bfa;text-decoration:none;margin:0 .25rem;transition:background .2s}.btn-solution-link[data-v-6fbd9797]:hover{background:#7c3aed4d}.btn-hints-link[data-v-6fbd9797]{display:inline-block;padding:.3rem .75rem;border-radius:6px;font-size:.8rem;font-weight:600;background:#f59e0b26;color:#fbbf24;text-decoration:none;margin:0 .25rem;transition:background .2s}.btn-hints-link[data-v-6fbd9797]:hover{background:#f59e0b4d}.loading-state[data-v-6fbd9797],.empty-state[data-v-6fbd9797]{text-align:center;padding:3rem;color:var(--text-muted, #666)}.spinner[data-v-6fbd9797]{width:32px;height:32px;border:3px solid rgba(124,58,237,.3);border-top-color:#7c3aed;border-radius:50%;animation:spin-6fbd9797 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-6fbd9797{to{transform:rotate(360deg)}}.modal-overlay[data-v-6fbd9797]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-panel[data-v-6fbd9797]{background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-color, #333);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-sm[data-v-6fbd9797]{max-width:420px}.modal-header[data-v-6fbd9797]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color, #333)}.modal-header h2[data-v-6fbd9797]{font-size:1.1rem;font-weight:700;margin:0}.close-btn[data-v-6fbd9797]{background:none;border:none;color:var(--text-muted, #666);font-size:1.5rem;cursor:pointer;line-height:1}.modal-form[data-v-6fbd9797],.modal-body[data-v-6fbd9797]{padding:1.5rem}.modal-footer[data-v-6fbd9797]{padding:1rem 1.5rem;border-top:1px solid var(--border-color, #333);display:flex;justify-content:flex-end;gap:.75rem}.form-group[data-v-6fbd9797]{margin-bottom:1rem}.form-group label[data-v-6fbd9797]{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted, #666);margin-bottom:.35rem}.form-row[data-v-6fbd9797]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.form-control[data-v-6fbd9797]{width:100%;background:var(--bg-primary, #0d0d14);border:1px solid var(--border-color, #333);border-radius:8px;color:var(--text-primary, #e8e8f0);padding:.5rem .75rem;font-size:.9rem;box-sizing:border-box}.form-control[data-v-6fbd9797]:focus{outline:none;border-color:#7c3aed}.hint-text[data-v-6fbd9797]{font-weight:400;font-size:.78rem;color:var(--text-muted, #666)}.draggable-row[data-v-6fbd9797]{cursor:grab}.draggable-row[data-v-6fbd9797]:active{cursor:grabbing}.draggable-row.drag-over[data-v-6fbd9797]{background:#7c3aed14!important;outline:2px dashed #7c3aed;outline-offset:-2px}.drag-handle[data-v-6fbd9797]{font-size:1rem;color:var(--text-muted, #666);cursor:grab;flex-shrink:0}.image-preview-wrap[data-v-6fbd9797]{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.image-preview[data-v-6fbd9797]{width:80px;height:60px;object-fit:cover;border-radius:6px;border:1px solid var(--border-color, #333)}.btn-remove-image[data-v-6fbd9797]{background:none;border:1px solid #ef4444;color:#ef4444;border-radius:6px;padding:.2rem .6rem;font-size:.78rem;cursor:pointer}.file-input[data-v-6fbd9797]{display:block;width:100%;margin-top:.25rem;color:var(--text-muted, #666);font-size:.85rem}.upload-progress[data-v-6fbd9797]{font-size:.82rem;color:var(--text-muted, #666);margin-top:.25rem}textarea.form-control[data-v-6fbd9797]{resize:vertical}.form-actions[data-v-6fbd9797]{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.form-error[data-v-6fbd9797]{color:#f87171;font-size:.85rem;margin-bottom:.5rem}.warning-box[data-v-6fbd9797]{background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:6px;padding:.75rem;color:#fbbf24;font-size:.85rem;margin-top:.75rem}.toast[data-v-6fbd9797]{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;z-index:99999;box-shadow:0 4px 20px #0000004d}.toast-success[data-v-6fbd9797]{background:#059669;color:#fff}.toast-error[data-v-6fbd9797]{background:#dc2626;color:#fff}.toast-fade-enter-active[data-v-6fbd9797],.toast-fade-leave-active[data-v-6fbd9797]{transition:opacity .3s,transform .3s}.toast-fade-enter-from[data-v-6fbd9797],.toast-fade-leave-to[data-v-6fbd9797]{opacity:0;transform:translateY(10px)}.admin-solution-page[data-v-d5688458]{padding:1.5rem 2rem;max-width:1000px;margin:0 auto;font-family:var(--body-font);color:var(--text-white)}.page-header[data-v-d5688458]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.back-link[data-v-d5688458]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted);text-decoration:none;margin-bottom:.25rem}.back-link svg[data-v-d5688458]{width:1rem;height:1rem}.back-link[data-v-d5688458]:hover{color:var(--text-white)}.page-header h1[data-v-d5688458]{font-size:1.5rem;font-weight:700;margin:0}.subtitle[data-v-d5688458]{color:var(--text-muted);font-size:.875rem;margin:.25rem 0 0}.btn-primary[data-v-d5688458]{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:600;font-size:.9rem;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-primary[data-v-d5688458]:disabled{opacity:.6;cursor:not-allowed}.page-content[data-v-d5688458]{padding-bottom:3rem}.info-box[data-v-d5688458]{display:flex;align-items:flex-start;gap:.6rem;background:#7c3aed1a;border:1px solid rgba(124,58,237,.3);border-radius:8px;padding:.75rem 1rem;font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}.info-box svg[data-v-d5688458]{width:1.2rem;height:1.2rem;flex-shrink:0;color:var(--primary);margin-top:.05rem}.steps-editor-list[data-v-d5688458]{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.step-editor-card[data-v-d5688458]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.step-card-header[data-v-d5688458]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff08;border-bottom:1px solid var(--border-subtle)}.step-badge[data-v-d5688458]{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--primary);background:#7c3aed1a;padding:.2rem .5rem;border-radius:4px;white-space:nowrap}.step-title-input[data-v-d5688458]{flex:1;background:transparent;border:none;color:var(--text-white);font-size:.9rem;font-weight:600;outline:none}.step-title-input[data-v-d5688458]::placeholder{color:var(--text-muted)}.step-card-actions[data-v-d5688458]{display:flex;align-items:center;gap:.25rem}.btn-icon[data-v-d5688458]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s}.btn-icon[data-v-d5688458]:hover{color:var(--text-white);border-color:var(--text-muted)}.btn-icon[data-v-d5688458]:disabled{opacity:.3;cursor:not-allowed}.btn-icon.btn-danger[data-v-d5688458]:hover{color:#ef4444;border-color:#ef4444}.btn-icon svg[data-v-d5688458]{width:.9rem;height:.9rem}.step-card-body[data-v-d5688458]{padding:1.25rem}.form-group[data-v-d5688458]{margin-bottom:1rem}.form-group label[data-v-d5688458]{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.04em}.label-hint[data-v-d5688458]{font-weight:400;text-transform:none;letter-spacing:0;font-size:.75rem}.form-row[data-v-d5688458]{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end}.toggle-group[data-v-d5688458]{display:flex;flex-direction:column}.toggle-switch[data-v-d5688458]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.toggle-switch input[data-v-d5688458]{display:none}.toggle-track[data-v-d5688458]{width:2.5rem;height:1.25rem;background:var(--border-subtle);border-radius:9999px;position:relative;transition:background .2s}.toggle-track[data-v-d5688458]:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.toggle-track[data-v-d5688458]{background:var(--primary)}.toggle-switch input:checked+.toggle-track[data-v-d5688458]:after{transform:translate(1.25rem)}.form-control[data-v-d5688458]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-white);padding:.5rem .75rem;font-size:.9rem;box-sizing:border-box}.form-control[data-v-d5688458]:focus{outline:none;border-color:var(--primary)}textarea.form-control[data-v-d5688458]{resize:vertical}.code-textarea[data-v-d5688458]{font-family:var(--code-font, "Fira Code", monospace);font-size:.85rem}.btn-add-step[data-v-d5688458]{display:flex;align-items:center;gap:.5rem;background:none;border:2px dashed var(--border-subtle);border-radius:10px;color:var(--text-muted);padding:.75rem 1.5rem;cursor:pointer;font-size:.9rem;font-weight:600;width:100%;justify-content:center;transition:border-color .2s,color .2s}.btn-add-step[data-v-d5688458]:hover{border-color:var(--primary);color:var(--primary)}.btn-add-step svg[data-v-d5688458]{width:1rem;height:1rem}.loading-state[data-v-d5688458]{text-align:center;padding:3rem;color:var(--text-muted)}.spinner[data-v-d5688458]{width:2rem;height:2rem;border:2px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-d5688458 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-d5688458{to{transform:rotate(360deg)}}.save-error[data-v-d5688458]{color:#ef4444;font-size:.875rem;margin-top:.5rem}.save-success[data-v-d5688458]{color:#10b981;font-size:.875rem;margin-top:.5rem}.toast[data-v-d5688458]{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;z-index:9999;box-shadow:0 4px 20px #0000004d}.toast-success[data-v-d5688458]{background:#059669;color:#fff}.toast-error[data-v-d5688458]{background:#dc2626;color:#fff}.toast-fade-enter-active[data-v-d5688458],.toast-fade-leave-active[data-v-d5688458]{transition:opacity .3s,transform .3s}.toast-fade-enter-from[data-v-d5688458],.toast-fade-leave-to[data-v-d5688458]{opacity:0;transform:translateY(10px)}.admin-hints-page[data-v-4eca10ac]{padding:1.5rem 2rem;max-width:900px;margin:0 auto;font-family:var(--body-font);color:var(--text-white)}.page-header[data-v-4eca10ac]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.back-link[data-v-4eca10ac]{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted);text-decoration:none;margin-bottom:.25rem}.back-link svg[data-v-4eca10ac]{width:1rem;height:1rem}.back-link[data-v-4eca10ac]:hover{color:var(--text-white)}.page-header h1[data-v-4eca10ac]{font-size:1.5rem;font-weight:700;margin:0}.subtitle[data-v-4eca10ac]{color:var(--text-muted);font-size:.875rem;margin:.25rem 0 0}.btn-primary[data-v-4eca10ac]{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:600;font-size:.9rem;cursor:pointer}.btn-secondary[data-v-4eca10ac]{background:none;border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:8px;padding:.6rem 1.2rem;font-weight:600;font-size:.9rem;cursor:pointer}.info-box[data-v-4eca10ac]{display:flex;align-items:flex-start;gap:.6rem;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:.75rem 1rem;font-size:.85rem;color:var(--text-muted);margin-bottom:1.5rem}.info-box svg[data-v-4eca10ac]{width:1.2rem;height:1.2rem;flex-shrink:0;color:#f59e0b;margin-top:.05rem}.loading-state[data-v-4eca10ac]{text-align:center;padding:3rem;color:var(--text-muted)}.spinner[data-v-4eca10ac]{width:2rem;height:2rem;border:2px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-4eca10ac .8s linear infinite;margin:0 auto 1rem}@keyframes spin-4eca10ac{to{transform:rotate(360deg)}}.empty-state[data-v-4eca10ac]{text-align:center;padding:2rem;color:var(--text-muted)}.hints-list[data-v-4eca10ac]{display:flex;flex-direction:column;gap:1rem}.hint-card[data-v-4eca10ac]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;overflow:hidden}.hint-card-header[data-v-4eca10ac]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#ffffff05;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.hint-order-badge[data-v-4eca10ac]{font-size:.7rem;font-weight:700;text-transform:uppercase;color:#f59e0b;background:#f59e0b1a;padding:.2rem .5rem;border-radius:4px;white-space:nowrap}.hint-title[data-v-4eca10ac]{font-size:.875rem;font-weight:600;flex:1}.requests-badge[data-v-4eca10ac]{font-size:.72rem;color:var(--text-muted);background:#ffffff0d;border-radius:99px;padding:.15rem .5rem}.hint-actions[data-v-4eca10ac]{display:flex;gap:.4rem}.btn-edit[data-v-4eca10ac]{background:#7c3aed1a;border:1px solid rgba(124,58,237,.2);color:#a78bfa;border-radius:6px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;cursor:pointer}.btn-delete[data-v-4eca10ac]{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#f87171;border-radius:6px;padding:.25rem .65rem;font-size:.78rem;font-weight:600;cursor:pointer}.hint-card-body[data-v-4eca10ac]{padding:.875rem 1rem;font-size:.875rem;color:var(--text-muted);line-height:1.6}.modal-overlay[data-v-4eca10ac]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-panel[data-v-4eca10ac]{background:var(--bg-secondary, #1a1a2e);border:1px solid var(--border-subtle);border-radius:12px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto}.modal-sm[data-v-4eca10ac]{max-width:400px}.modal-header[data-v-4eca10ac]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-header h2[data-v-4eca10ac]{font-size:1.1rem;font-weight:700;margin:0}.close-btn[data-v-4eca10ac]{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.modal-form[data-v-4eca10ac],.modal-body[data-v-4eca10ac]{padding:1.5rem}.modal-footer[data-v-4eca10ac]{padding:1rem 1.5rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:.75rem}.form-group[data-v-4eca10ac]{margin-bottom:1rem}.form-group label[data-v-4eca10ac]{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:.35rem}.optional[data-v-4eca10ac]{font-weight:400}.form-control[data-v-4eca10ac]{width:100%;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-white);padding:.5rem .75rem;font-size:.9rem;box-sizing:border-box}.form-control[data-v-4eca10ac]:focus{outline:none;border-color:var(--primary)}textarea.form-control[data-v-4eca10ac]{resize:vertical}.form-actions[data-v-4eca10ac]{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}.form-error[data-v-4eca10ac]{color:#f87171;font-size:.85rem;margin-bottom:.5rem}.btn-danger[data-v-4eca10ac]{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer}.toast[data-v-4eca10ac]{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;z-index:9999;box-shadow:0 4px 20px #0000004d}.toast-success[data-v-4eca10ac]{background:#059669;color:#fff}.toast-error[data-v-4eca10ac]{background:#dc2626;color:#fff}.toast-fade-enter-active[data-v-4eca10ac],.toast-fade-leave-active[data-v-4eca10ac]{transition:opacity .3s,transform .3s}.toast-fade-enter-from[data-v-4eca10ac],.toast-fade-leave-to[data-v-4eca10ac]{opacity:0;transform:translateY(10px)}.gallery-page[data-v-12d1780f]{min-height:100vh;background:var(--bg-body);font-family:var(--body-font);color:var(--text-white)}.gallery-header[data-v-12d1780f]{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);padding:2.5rem 2rem}.header-inner[data-v-12d1780f]{max-width:1100px;margin:0 auto}.gallery-header h1[data-v-12d1780f]{display:flex;align-items:center;gap:.6rem;font-size:1.75rem;font-weight:800;margin:0 0 .4rem}.gallery-header h1 svg[data-v-12d1780f]{width:1.75rem;height:1.75rem;color:var(--primary)}.header-subtitle[data-v-12d1780f]{color:var(--text-muted);font-size:.95rem;margin:0}.gallery-content[data-v-12d1780f]{max-width:1100px;margin:0 auto;padding:2rem}.filters-bar[data-v-12d1780f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.filter-select[data-v-12d1780f]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-white);padding:.5rem .9rem;font-size:.875rem;cursor:pointer}.results-count[data-v-12d1780f]{font-size:.85rem;color:var(--text-muted)}.loading-state[data-v-12d1780f]{text-align:center;padding:4rem;color:var(--text-muted)}.spinner[data-v-12d1780f]{width:2.5rem;height:2.5rem;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-12d1780f .8s linear infinite;margin:0 auto 1rem}@keyframes spin-12d1780f{to{transform:rotate(360deg)}}.empty-state[data-v-12d1780f]{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state svg[data-v-12d1780f]{width:3rem;height:3rem;margin-bottom:1rem;opacity:.4}.empty-state p[data-v-12d1780f]{font-size:1rem;margin-bottom:.25rem}.empty-state small[data-v-12d1780f]{font-size:.85rem;opacity:.7}.gallery-grid[data-v-12d1780f]{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem}.gallery-card[data-v-12d1780f]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.gallery-card[data-v-12d1780f]:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.card-screenshot[data-v-12d1780f]{width:100%;aspect-ratio:16/9;overflow:hidden;background:#ffffff08}.card-screenshot img[data-v-12d1780f]{width:100%;height:100%;object-fit:cover}.no-screenshot[data-v-12d1780f]{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.no-screenshot svg[data-v-12d1780f]{width:2.5rem;height:2.5rem;opacity:.2}.card-body[data-v-12d1780f]{padding:1rem}.card-meta[data-v-12d1780f]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.bootcamp-tag[data-v-12d1780f]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary);background:#7c3aed1a;border-radius:4px;padding:.15rem .45rem}.grade-badge[data-v-12d1780f]{font-size:.7rem;font-weight:700;background:#10b9811a;color:#34d399;border:1px solid rgba(16,185,129,.2);border-radius:4px;padding:.15rem .45rem}.project-title[data-v-12d1780f]{font-size:.95rem;font-weight:700;margin:0 0 .2rem}.student-name[data-v-12d1780f]{font-size:.8rem;color:var(--text-muted);margin:0 0 .75rem}.card-links[data-v-12d1780f]{display:flex;gap:.5rem;flex-wrap:wrap}.link-btn[data-v-12d1780f]{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:6px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .15s}.link-btn svg[data-v-12d1780f]{width:.9rem;height:.9rem}.link-live[data-v-12d1780f]{background:#7c3aed1f;color:#a78bfa;border:1px solid rgba(124,58,237,.2)}.link-live[data-v-12d1780f]:hover{background:#7c3aed40}.link-github[data-v-12d1780f]{background:#ffffff0d;color:var(--text-muted);border:1px solid var(--border-subtle)}.link-github[data-v-12d1780f]:hover{background:#ffffff1a;color:var(--text-white)}.pagination[data-v-12d1780f]{display:flex;gap:.4rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.page-btn[data-v-12d1780f]{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);border-radius:6px;padding:.4rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.page-btn.active[data-v-12d1780f]{background:var(--primary);color:#fff;border-color:var(--primary)}.page-btn[data-v-12d1780f]:hover:not(.active){background:#ffffff12}.navbar[data-v-89d8f188]{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--bg-body);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;font-family:var(--body-font);transition:background-color .2s var(--ease),border-color .2s var(--ease)}.navbar.has-view-as-offset[data-v-89d8f188]{top:40px}.nav-brand[data-v-89d8f188]{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-white);font-family:var(--display-font);font-weight:700;letter-spacing:-.02em;font-size:1.25rem;transition:color .18s var(--ease)}.nav-brand[data-v-89d8f188]:hover{color:var(--text-white)}.nav-brand[data-v-89d8f188]:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}.brand-icon[data-v-89d8f188]{width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--primary-dark),var(--primary));border-radius:var(--radius-sm);box-shadow:var(--accent-glow);display:flex;align-items:center;justify-content:center;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.nav-brand:hover .brand-icon[data-v-89d8f188]{transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.brand-icon svg[data-v-89d8f188]{width:1.5rem;height:1.5rem;color:#2a1206}.nav-links[data-v-89d8f188]{display:flex;align-items:center;gap:2rem;flex-wrap:nowrap;white-space:nowrap}.nav-link[data-v-89d8f188]{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .18s var(--ease)}.nav-link[data-v-89d8f188]:hover{color:var(--text-white)}.nav-link[data-v-89d8f188]:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm);color:var(--text-white)}.nav-link[data-v-89d8f188]:active,.nav-link.router-link-active[data-v-89d8f188],.nav-link.router-link-exact-active[data-v-89d8f188]{color:var(--primary)}.theme-toggle[data-v-89d8f188]{background:transparent;border:1px solid transparent;padding:.5rem;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:background-color .18s var(--ease),border-color .18s var(--ease)}.theme-toggle[data-v-89d8f188]:hover{background:rgba(var(--primary-rgb),.08);border-color:var(--border-subtle)}.theme-toggle[data-v-89d8f188]:focus-visible{outline:none;box-shadow:var(--ring)}.theme-icon[data-v-89d8f188]{width:1.25rem;height:1.25rem;color:var(--text-muted);transition:color .18s var(--ease)}.theme-toggle:hover .theme-icon[data-v-89d8f188]{color:var(--primary)}.nav-btn[data-v-89d8f188]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:none;padding:.625rem 1.25rem;border-radius:var(--radius);text-decoration:none;font-family:var(--body-font);font-weight:600;font-size:.95rem;box-shadow:var(--accent-glow);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.nav-btn[data-v-89d8f188]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.nav-btn[data-v-89d8f188]:focus-visible{outline:none;color:#2a1206;box-shadow:var(--ring)}.nav-btn[data-v-89d8f188]:active{transform:translateY(0)}.mobile-menu-btn[data-v-89d8f188]{display:none;background:transparent;border:1px solid transparent;color:var(--text-white);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background-color .18s var(--ease),border-color .18s var(--ease)}.mobile-menu-btn[data-v-89d8f188]:hover{background:rgba(var(--primary-rgb),.08);border-color:var(--border-subtle)}.mobile-menu-btn[data-v-89d8f188]:focus-visible{outline:none;box-shadow:var(--ring)}.mobile-menu-btn svg[data-v-89d8f188]{width:1.5rem;height:1.5rem}.mobile-menu[data-v-89d8f188]{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;padding:1rem 2rem;gap:.75rem;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-card)}.mobile-menu.open[data-v-89d8f188]{display:flex}.mobile-link[data-v-89d8f188]{color:var(--text-muted);text-decoration:none;padding:.5rem 0;font-weight:500;transition:color .18s var(--ease)}.mobile-link[data-v-89d8f188]:hover{color:var(--text-white)}.mobile-link[data-v-89d8f188]:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm);color:var(--text-white)}.mobile-link.router-link-active[data-v-89d8f188],.mobile-link.router-link-exact-active[data-v-89d8f188]{color:var(--primary)}.mobile-theme-toggle[data-v-89d8f188]{display:flex;align-items:center;gap:.75rem;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem 1rem;color:var(--text-muted);font-family:var(--body-font);font-weight:500;cursor:pointer;transition:border-color .18s var(--ease),color .18s var(--ease),background-color .18s var(--ease)}.mobile-theme-toggle[data-v-89d8f188]:hover{border-color:var(--primary);color:var(--primary-light);background:rgba(var(--primary-rgb),.08)}.mobile-theme-toggle[data-v-89d8f188]:focus-visible{outline:none;box-shadow:var(--ring)}.mobile-theme-toggle .theme-icon[data-v-89d8f188]{width:1.25rem;height:1.25rem;color:inherit}.mobile-btn[data-v-89d8f188]{background:linear-gradient(135deg,var(--primary-light),var(--primary));color:#2a1206;border:none;padding:.75rem 1.25rem;border-radius:var(--radius);text-decoration:none;font-family:var(--body-font);font-weight:600;text-align:center;box-shadow:var(--accent-glow);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.mobile-btn[data-v-89d8f188]:hover{color:#2a1206;transform:translateY(-1px);box-shadow:var(--accent-glow-strong)}.mobile-btn[data-v-89d8f188]:focus-visible{outline:none;color:#2a1206;box-shadow:var(--ring)}.mobile-btn[data-v-89d8f188]:active{transform:translateY(0)}@media(max-width:900px){.navbar[data-v-89d8f188]{padding:1rem 1.5rem}.nav-links[data-v-89d8f188]{display:none}.mobile-menu-btn[data-v-89d8f188]{display:block}}.setup-guide-page[data-v-d4b77d73]{min-height:100vh;background:var(--bg-primary, #0d0d14);color:var(--text-primary, #e8e8f0)}.guide-main[data-v-d4b77d73]{padding:3rem 1rem}.guide-container[data-v-d4b77d73]{max-width:780px;margin:0 auto}.guide-header[data-v-d4b77d73]{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem}.guide-icon[data-v-d4b77d73]{width:52px;height:52px;border-radius:12px;background:#7c3aed26;border:1px solid rgba(124,58,237,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#a78bfa}.guide-icon svg[data-v-d4b77d73]{width:28px;height:28px}.guide-title[data-v-d4b77d73]{font-size:2rem;font-weight:800;margin:0 0 .25rem}.guide-subtitle[data-v-d4b77d73]{color:var(--text-muted, #666);margin:0}.option-tabs[data-v-d4b77d73]{display:flex;gap:.5rem;margin-bottom:2.5rem}.option-tab[data-v-d4b77d73]{padding:.5rem 1.25rem;border-radius:8px;border:1px solid var(--border-color, #333);background:transparent;color:var(--text-muted, #666);cursor:pointer;font-size:.9rem;font-weight:500;transition:all .15s}.option-tab[data-v-d4b77d73]:hover{border-color:#7c3aed;color:var(--text-primary, #e8e8f0)}.option-tab.active[data-v-d4b77d73]{background:#7c3aed26;border-color:#7c3aed80;color:#a78bfa}.guide-step[data-v-d4b77d73]{display:flex;gap:1.5rem;margin-bottom:2.5rem}.step-number[data-v-d4b77d73]{width:36px;height:36px;border-radius:50%;background:#7c3aed33;border:2px solid rgba(124,58,237,.4);color:#a78bfa;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.2rem}.step-content[data-v-d4b77d73]{flex:1}.step-content h2[data-v-d4b77d73]{font-size:1.15rem;font-weight:700;margin:0 0 .75rem}.step-content p[data-v-d4b77d73]{color:var(--text-secondary, #b0b0c0);line-height:1.7;margin:0 0 .75rem}.code-block[data-v-d4b77d73]{background:var(--bg-secondary, #111126);border:1px solid var(--border-color, #222240);border-radius:10px;margin:.75rem 0;overflow:hidden}.code-header[data-v-d4b77d73]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--border-color, #222240);background:#ffffff08}.lang-badge[data-v-d4b77d73]{font-size:.75rem;font-weight:600;color:var(--text-muted, #666);text-transform:uppercase;letter-spacing:.05em}.copy-btn[data-v-d4b77d73]{display:flex;align-items:center;gap:.3rem;background:transparent;border:none;color:var(--text-muted, #666);cursor:pointer;font-size:.8rem;padding:.25rem .5rem;border-radius:4px;transition:color .15s,background .15s}.copy-btn[data-v-d4b77d73]:hover{color:var(--text-primary, #e8e8f0);background:#ffffff0d}.copy-btn svg[data-v-d4b77d73]{width:14px;height:14px}.code-block pre[data-v-d4b77d73]{margin:0;padding:1rem;overflow-x:auto}.code-block pre code[data-v-d4b77d73]{font-family:Fira Code,Cascadia Code,Consolas,monospace;font-size:.85rem;color:#c9d1d9;white-space:pre}.tip[data-v-d4b77d73]{background:#3b82f61a;border-left:3px solid #3b82f6;padding:.6rem .9rem;border-radius:0 6px 6px 0;font-size:.85rem;color:var(--text-secondary, #b0b0c0)}code[data-v-d4b77d73]{background:#7c3aed1f;color:#a78bfa;padding:.15em .4em;border-radius:4px;font-size:.87em;font-family:Fira Code,Consolas,monospace}a[data-v-d4b77d73]{color:#7c3aed;text-decoration:none}a[data-v-d4b77d73]:hover{text-decoration:underline}.troubleshoot-section[data-v-d4b77d73]{background:var(--bg-secondary, #111126);border:1px solid var(--border-color, #222240);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.troubleshoot-section h2[data-v-d4b77d73]{font-size:1.1rem;font-weight:700;margin:0 0 1rem}.trouble-grid[data-v-d4b77d73]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.trouble-card[data-v-d4b77d73]{background:#ffffff08;border-radius:8px;padding:1rem}.trouble-card h3[data-v-d4b77d73]{font-size:.9rem;font-weight:700;margin:0 0 .4rem;color:var(--text-primary, #e8e8f0)}.trouble-card p[data-v-d4b77d73]{font-size:.82rem;color:var(--text-muted, #666);margin:0;line-height:1.6}.guide-footer[data-v-d4b77d73]{display:flex;gap:1rem;padding-top:1rem}.footer-link[data-v-d4b77d73]{color:#7c3aed;font-size:.9rem;text-decoration:none;font-weight:500}.footer-link[data-v-d4b77d73]:hover{text-decoration:underline}@media(max-width:600px){.guide-step[data-v-d4b77d73]{gap:1rem}.trouble-grid[data-v-d4b77d73]{grid-template-columns:1fr}.guide-header[data-v-d4b77d73]{flex-direction:column;gap:.75rem}}.stripe-sync-page[data-v-46c903e6]{min-height:100vh;background:var(--bg-primary, #0d0d14);color:var(--text-primary, #e8e8f0);padding:2rem}.page-header[data-v-46c903e6]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header h1[data-v-46c903e6]{font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.subtitle[data-v-46c903e6]{color:var(--text-muted, #666);margin:0}.btn-sync[data-v-46c903e6]{display:flex;align-items:center;gap:.5rem;background:#7c3aed;color:#fff;border:none;border-radius:8px;padding:.65rem 1.25rem;cursor:pointer;font-weight:600;white-space:nowrap}.btn-sync[data-v-46c903e6]:hover:not(:disabled){background:#6d28d9}.btn-sync[data-v-46c903e6]:disabled{opacity:.6;cursor:not-allowed}.btn-sync svg[data-v-46c903e6]{width:18px;height:18px}.spinning[data-v-46c903e6]{animation:spin-46c903e6 .8s linear infinite}@keyframes spin-46c903e6{to{transform:rotate(360deg)}}.sync-meta[data-v-46c903e6]{font-size:.85rem;color:var(--text-muted, #666);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.sync-badge[data-v-46c903e6]{background:#7c3aed33;color:#a78bfa;border:1px solid rgba(124,58,237,.3);border-radius:12px;padding:.15rem .6rem;font-size:.78rem;font-weight:600}.error-box[data-v-46c903e6]{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#f87171;border-radius:8px;padding:.75rem 1rem;margin-bottom:1rem}.loading-state[data-v-46c903e6],.empty-state[data-v-46c903e6]{text-align:center;padding:3rem;color:var(--text-muted, #666)}.spinner[data-v-46c903e6]{width:32px;height:32px;border:3px solid rgba(124,58,237,.3);border-top-color:#7c3aed;border-radius:50%;animation:spin-46c903e6 .8s linear infinite;margin:0 auto 1rem}.products-list[data-v-46c903e6]{display:flex;flex-direction:column;gap:1.25rem}.product-card[data-v-46c903e6]{background:var(--bg-secondary, #111126);border:1px solid var(--border-color, #222240);border-radius:12px;overflow:hidden}.product-top[data-v-46c903e6]{padding:1.25rem 1.5rem}.product-header-row[data-v-46c903e6]{display:flex;align-items:center;gap:.75rem;margin-bottom:.35rem}.product-name[data-v-46c903e6]{font-size:1.05rem;font-weight:700;margin:0}.status-badge[data-v-46c903e6]{padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600}.status-badge.active[data-v-46c903e6]{background:#22c55e33;color:#4ade80}.status-badge.inactive[data-v-46c903e6]{background:#6b728033;color:#9ca3af}.product-desc[data-v-46c903e6]{color:var(--text-muted, #666);font-size:.85rem;margin:0 0 .75rem}.product-meta[data-v-46c903e6]{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.meta-item[data-v-46c903e6]{display:flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--text-secondary, #b0b0c0)}.meta-item svg[data-v-46c903e6]{width:14px;height:14px}.meta-item.muted[data-v-46c903e6],.muted[data-v-46c903e6]{color:var(--text-muted, #666)}.prices-table-wrap[data-v-46c903e6]{border-top:1px solid var(--border-color, #222240);overflow-x:auto}.prices-table[data-v-46c903e6]{width:100%;border-collapse:collapse;font-size:.85rem}.prices-table th[data-v-46c903e6]{text-align:left;padding:.6rem 1.5rem;background:#ffffff05;border-bottom:1px solid var(--border-color, #222240);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #666)}.prices-table td[data-v-46c903e6]{padding:.65rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.03)}.prices-table tr:last-child td[data-v-46c903e6]{border-bottom:none}.price-id[data-v-46c903e6]{font-family:monospace;font-size:.78rem}.price-amount[data-v-46c903e6]{font-weight:700;color:#a78bfa}.currency-badge[data-v-46c903e6]{font-size:.78rem;font-weight:600;color:var(--text-muted, #666)}.status-dot[data-v-46c903e6]{font-size:.75rem;font-weight:600}.status-dot.active[data-v-46c903e6]{color:#4ade80}.status-dot.inactive[data-v-46c903e6]{color:#9ca3af}.no-prices[data-v-46c903e6]{padding:.75rem 1.5rem;font-size:.82rem;color:var(--text-muted, #666);border-top:1px solid var(--border-color, #222240)}.toast[data-v-46c903e6]{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:8px;font-weight:600;z-index:99999;box-shadow:0 4px 20px #0000004d}.toast-success[data-v-46c903e6]{background:#059669;color:#fff}.toast-error[data-v-46c903e6]{background:#dc2626;color:#fff}.toast-fade-enter-active[data-v-46c903e6],.toast-fade-leave-active[data-v-46c903e6]{transition:opacity .3s,transform .3s}.toast-fade-enter-from[data-v-46c903e6],.toast-fade-leave-to[data-v-46c903e6]{opacity:0;transform:translateY(10px)}.admin-dashboard-page[data-v-73ffadca]{display:flex;min-height:100vh;background:var(--bg-primary, #0d0d14);color:var(--text-primary, #e8e8f0)}.admin-main[data-v-73ffadca]{flex:1;padding:2rem;overflow-y:auto;min-width:0}.page-header[data-v-73ffadca]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.75rem;gap:1rem}.page-header h1[data-v-73ffadca]{font-size:1.6rem;font-weight:800;margin:0 0 .2rem}.subtitle[data-v-73ffadca]{color:var(--text-muted, #666);margin:0;font-size:.9rem}.header-right[data-v-73ffadca]{display:flex;align-items:center;gap:.75rem}.btn-refresh[data-v-73ffadca]{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-color, #222240);background:transparent;color:var(--text-muted, #666);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,border-color .15s}.btn-refresh[data-v-73ffadca]:hover{color:var(--text-primary, #e8e8f0);border-color:#7c3aed}.btn-refresh svg[data-v-73ffadca]{width:16px;height:16px}.btn-refresh svg.spinning[data-v-73ffadca]{animation:spin-73ffadca 1s linear infinite}.btn-view-as[data-v-73ffadca]{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(124,58,237,.4);background:#7c3aed1a;color:#a78bfa;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-view-as[data-v-73ffadca]:hover{background:#7c3aed2e}.btn-view-as svg[data-v-73ffadca]{width:16px;height:16px}.loading-state[data-v-73ffadca]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:4rem;color:var(--text-muted, #666)}.spinner[data-v-73ffadca]{width:32px;height:32px;border:3px solid rgba(124,58,237,.2);border-top-color:#7c3aed;border-radius:50%;animation:spin-73ffadca .8s linear infinite}.kpi-grid[data-v-73ffadca]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.kpi-card[data-v-73ffadca]{background:var(--bg-secondary, #111126);border:1px solid var(--border-color, #222240);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit;transition:border-color .15s,transform .1s;position:relative}.kpi-card[data-v-73ffadca]:hover{border-color:#7c3aed66;transform:translateY(-1px);text-decoration:none;color:inherit}.kpi-card.has-alert[data-v-73ffadca]{border-color:#fbbf2466}.kpi-icon[data-v-73ffadca]{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.kpi-icon svg[data-v-73ffadca]{width:22px;height:22px}.students-icon[data-v-73ffadca]{background:#6366f126;color:#818cf8}.subs-icon[data-v-73ffadca]{background:#34d3991f;color:#34d399}.bootcamps-icon[data-v-73ffadca]{background:#7c3aed1f;color:#a78bfa}.messages-icon[data-v-73ffadca]{background:#fbbf241f;color:#fbbf24}.kpi-badge[data-v-73ffadca]{position:absolute;top:-5px;right:-5px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;border-radius:10px;padding:.1em .35em;min-width:18px;text-align:center}.kpi-body[data-v-73ffadca]{display:flex;flex-direction:column;min-width:0}.kpi-value[data-v-73ffadca]{font-size:1.6rem;font-weight:800;line-height:1}.kpi-label[data-v-73ffadca]{font-size:.78rem;color:var(--text-muted, #666);margin-top:.2rem}.kpi-sub[data-v-73ffadca]{font-size:.72rem;color:#34d399;margin-top:.2rem}.action-row[data-v-73ffadca]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.panel[data-v-73ffadca]{background:var(--bg-secondary, #111126);border:1px solid var(--border-color, #222240);border-radius:12px;padding:1.25rem}.panel.alert-panel[data-v-73ffadca]{border-color:#fbbf2459}.panel-header[data-v-73ffadca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.panel-header h2[data-v-73ffadca]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;margin:0;color:var(--text-primary, #e8e8f0)}.panel-header h2 svg[data-v-73ffadca]{width:16px;height:16px;color:var(--text-muted, #666)}.panel-link[data-v-73ffadca]{font-size:.78rem;color:#7c3aed;text-decoration:none;white-space:nowrap}.panel-link[data-v-73ffadca]:hover{text-decoration:underline}.count-badge[data-v-73ffadca]{background:#fbbf2426;color:#fbbf24;border-radius:20px;font-size:.72rem;padding:.1em .5em;font-weight:700}.panel-empty[data-v-73ffadca]{display:flex;align-items:center;gap:.5rem;padding:1rem;color:var(--text-muted, #666);font-size:.85rem}.panel-empty svg[data-v-73ffadca]{width:18px;height:18px;color:#34d399}.submission-list[data-v-73ffadca],.enrolment-list[data-v-73ffadca]{display:flex;flex-direction:column;gap:.5rem}.submission-item[data-v-73ffadca],.enrolment-item[data-v-73ffadca]{display:flex;align-items:center;gap:.75rem;padding:.6rem;border-radius:8px;text-decoration:none;color:inherit;transition:background .1s}.submission-item[data-v-73ffadca]:hover{background:#ffffff08;text-decoration:none}.enrolment-item.clickable[data-v-73ffadca]{cursor:pointer}.enrolment-item.clickable[data-v-73ffadca]:hover{background:#ffffff08}.sub-avatar[data-v-73ffadca]{width:32px;height:32px;border-radius:50%;background:#7c3aed33;color:#a78bfa;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sub-info[data-v-73ffadca]{flex:1;min-width:0}.sub-user[data-v-73ffadca]{display:block;font-size:.85rem;font-weight:600;color:var(--text-primary, #e8e8f0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-project[data-v-73ffadca]{display:block;font-size:.75rem;color:var(--text-muted, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-time[data-v-73ffadca]{font-size:.72rem;color:var(--text-muted, #666);white-space:nowrap;flex-shrink:0}.moderation-stats[data-v-73ffadca]{display:flex;flex-direction:column;gap:.5rem}.mod-item[data-v-73ffadca]{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;border:1px solid var(--border-color, #222240);text-decoration:none;color:inherit;transition:border-color .15s,background .1s}.mod-item[data-v-73ffadca]:hover{border-color:#7c3aed66;background:#7c3aed0a;text-decoration:none}.mod-icon[data-v-73ffadca]{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.mod-icon svg[data-v-73ffadca]{width:18px;height:18px}.flags-icon[data-v-73ffadca]{background:#ef44441a;color:#f87171}.bugs-icon[data-v-73ffadca]{background:#fbbf241a;color:#fbbf24}.mod-body[data-v-73ffadca]{flex:1}.mod-value[data-v-73ffadca]{display:block;font-size:1.2rem;font-weight:800}.mod-value.value-alert[data-v-73ffadca]{color:#f87171}.mod-label[data-v-73ffadca]{font-size:.75rem;color:var(--text-muted, #666)}.mod-arrow[data-v-73ffadca]{width:16px;height:16px;color:var(--text-muted, #666)}.bottom-row[data-v-73ffadca]{display:grid;grid-template-columns:1.5fr 1fr;gap:1rem}.quick-grid[data-v-73ffadca]{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.quick-action[data-v-73ffadca]{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;border-radius:8px;border:1px solid var(--border-color, #222240);text-decoration:none;color:var(--text-muted, #666);font-size:.75rem;text-align:center;transition:border-color .15s,color .15s,background .1s}.quick-action[data-v-73ffadca]:hover{border-color:#7c3aed66;color:var(--text-primary, #e8e8f0);background:#7c3aed0d;text-decoration:none}.qa-icon[data-v-73ffadca]{width:32px;height:32px;border-radius:8px;background:#7c3aed1a;color:#a78bfa;display:flex;align-items:center;justify-content:center}.qa-icon svg[data-v-73ffadca]{width:16px;height:16px}@keyframes spin-73ffadca{to{transform:rotate(360deg)}}@media(max-width:1100px){.kpi-grid[data-v-73ffadca]{grid-template-columns:repeat(2,1fr)}.bottom-row[data-v-73ffadca]{grid-template-columns:1fr}}@media(max-width:768px){.admin-main[data-v-73ffadca]{padding:1rem}.kpi-grid[data-v-73ffadca]{grid-template-columns:1fr 1fr;gap:.75rem}.action-row[data-v-73ffadca]{grid-template-columns:1fr}}@media(max-width:480px){.kpi-grid[data-v-73ffadca]{grid-template-columns:1fr}.quick-grid[data-v-73ffadca]{grid-template-columns:repeat(4,1fr)}.quick-action[data-v-73ffadca]{padding:.5rem;font-size:.65rem}}.cert-page[data-v-dddfb31b]{max-width:800px;margin:0 auto;padding:2rem 1rem}.page-header[data-v-dddfb31b]{text-align:center;margin-bottom:2rem}.page-header h1[data-v-dddfb31b]{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.4rem}.subtitle[data-v-dddfb31b]{color:#ffffff80;font-size:.95rem}.page-content[data-v-dddfb31b]{background:#161b27;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:2.5rem}.state-box[data-v-dddfb31b]{text-align:center;padding:3rem 1rem}.state-box .spinner[data-v-dddfb31b]{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#7aa0ff;border-radius:50%;animation:spin-dddfb31b .8s linear infinite;margin:0 auto 1rem}@keyframes spin-dddfb31b{to{transform:rotate(360deg)}}.state-box p[data-v-dddfb31b]{color:#ffffff80}.state-box.error p[data-v-dddfb31b]{color:#f87171}.lock-icon[data-v-dddfb31b]{width:60px;height:60px;margin:0 auto 1.5rem;color:#fff3}.lock-icon svg[data-v-dddfb31b]{width:100%;height:100%}.state-box.locked h3[data-v-dddfb31b]{font-size:1.2rem;color:#fff;margin-bottom:.5rem}.state-box.locked p[data-v-dddfb31b]{color:#ffffff80;margin-bottom:1.5rem}.progress-info[data-v-dddfb31b]{max-width:320px;margin:0 auto 2rem;text-align:left}.progress-label[data-v-dddfb31b]{font-size:.8rem;color:#fff6;display:block;margin-bottom:.5rem}.progress-bar[data-v-dddfb31b]{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:.4rem}.progress-fill[data-v-dddfb31b]{height:100%;background:#7aa0ff;border-radius:3px;transition:width .5s ease}.progress-count[data-v-dddfb31b]{font-size:.85rem;color:#fff9}.cert-ready[data-v-dddfb31b]{text-align:center}.cert-badge-big[data-v-dddfb31b]{width:80px;height:80px;margin:0 auto 1.5rem;color:#7aa0ff}.cert-badge-big svg[data-v-dddfb31b]{width:100%;height:100%}.cert-ready h2[data-v-dddfb31b]{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.75rem}.tagline[data-v-dddfb31b]{color:#fff9;margin-bottom:2rem;font-size:1rem}.tagline strong[data-v-dddfb31b]{color:#fff}.cert-details[data-v-dddfb31b]{list-style:none;padding:0;margin:0 auto 2rem;max-width:380px;border:1px solid rgba(255,255,255,.08);border-radius:8px;overflow:hidden}.cert-details li[data-v-dddfb31b]{display:flex;justify-content:space-between;padding:.75rem 1rem;font-size:.9rem}.cert-details li+li[data-v-dddfb31b]{border-top:1px solid rgba(255,255,255,.06)}.cert-details .label[data-v-dddfb31b]{color:#fff6}.cert-details .value[data-v-dddfb31b]{color:#fff;font-weight:500}.cert-actions[data-v-dddfb31b]{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem;flex-wrap:wrap}.btn-primary[data-v-dddfb31b],.btn-secondary[data-v-dddfb31b]{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;border:none}.btn-primary[data-v-dddfb31b]{background:#7aa0ff;color:#0a0d14}.btn-primary[data-v-dddfb31b]:hover{background:#93b4ff}.btn-secondary[data-v-dddfb31b]{background:#ffffff0f;color:#fff;border:1px solid rgba(255,255,255,.12)}.btn-secondary[data-v-dddfb31b]:hover{background:#ffffff1a}.btn-primary svg[data-v-dddfb31b],.btn-secondary svg[data-v-dddfb31b]{width:16px;height:16px}.email-note[data-v-dddfb31b]{font-size:.8rem;color:#ffffff59;margin-top:1rem}@media(max-width:480px){.page-content[data-v-dddfb31b]{padding:1.5rem 1rem}.cert-actions[data-v-dddfb31b]{flex-direction:column;align-items:center}.btn-primary[data-v-dddfb31b],.btn-secondary[data-v-dddfb31b]{width:100%;justify-content:center}}.btn-share[data-v-dddfb31b]{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid rgba(122,160,255,.4);background:#7aa0ff1a;color:#7aa0ff;transition:background .2s,border-color .2s}.btn-share[data-v-dddfb31b]:hover{background:#7aa0ff2e;border-color:#7aa0ffa6}.btn-share svg[data-v-dddfb31b]{width:16px;height:16px}.share-overlay[data-v-dddfb31b]{position:fixed;inset:0;background:#000000a6;z-index:999;display:flex;align-items:center;justify-content:center;padding:1rem}.share-modal[data-v-dddfb31b]{background:#161b27;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.75rem;width:100%;max-width:440px;position:relative}.share-modal-header[data-v-dddfb31b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.share-modal-header h3[data-v-dddfb31b]{font-size:1.1rem;font-weight:700;color:#fff;margin:0}.share-close[data-v-dddfb31b]{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center}.share-close[data-v-dddfb31b]:hover{color:#fff}.share-close svg[data-v-dddfb31b]{width:14px;height:14px}.share-intro[data-v-dddfb31b]{font-size:.875rem;color:#ffffff8c;margin:0 0 1.25rem}.share-loading[data-v-dddfb31b],.share-error[data-v-dddfb31b]{font-size:.875rem;color:#fff6;text-align:center;padding:1rem 0}.share-platforms[data-v-dddfb31b]{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.25rem}.share-btn[data-v-dddfb31b]{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;transition:opacity .2s,filter .2s}.share-btn[data-v-dddfb31b]:hover{filter:brightness(1.1)}.share-btn svg[data-v-dddfb31b]{width:20px;height:20px;flex-shrink:0}.share-linkedin[data-v-dddfb31b]{background:#0a66c2;color:#fff}.share-twitter[data-v-dddfb31b]{background:#000;color:#fff;border:1px solid rgba(255,255,255,.15)}.share-copy-section[data-v-dddfb31b]{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08)}.share-copy-label[data-v-dddfb31b]{font-size:.8rem;color:#fff6;margin:0 0 .5rem}.share-copy-row[data-v-dddfb31b]{display:flex;gap:.5rem;align-items:center}.share-url-input[data-v-dddfb31b]{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:.8rem;padding:.5rem .75rem;min-width:0}.share-copy-btn[data-v-dddfb31b]{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .875rem;border:none;border-radius:6px;background:#7aa0ff;color:#0a0d14;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0}.share-copy-btn svg[data-v-dddfb31b]{width:14px;height:14px}.leaderboard-page[data-v-e71283d1]{max-width:800px;margin:0 auto;padding:2rem 1rem}.page-header[data-v-e71283d1]{text-align:center;margin-bottom:1.5rem}.page-header h1[data-v-e71283d1]{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.3rem}.subtitle[data-v-e71283d1]{color:#fff6;font-size:.9rem}.my-rank-card[data-v-e71283d1]{background:#7aa0ff14;border:1px solid rgba(122,160,255,.2);border-radius:12px;padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;justify-content:center}.my-rank-inner[data-v-e71283d1]{text-align:center}.my-rank-label[data-v-e71283d1]{font-size:.72rem;color:#ffffff59;text-transform:uppercase;letter-spacing:.1em;display:block;margin-bottom:.25rem}.my-rank-num[data-v-e71283d1]{font-size:1.8rem;font-weight:700;color:#7aa0ff;display:block}.my-rank-sub[data-v-e71283d1]{font-size:.8rem;color:#fff6}.tabs[data-v-e71283d1]{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:0}.tab[data-v-e71283d1]{background:none;border:none;color:#fff6;font-size:.9rem;padding:.5rem 1.25rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab.active[data-v-e71283d1]{color:#7aa0ff;border-bottom-color:#7aa0ff}.tab[data-v-e71283d1]:hover{color:#ffffffb3}.state-box[data-v-e71283d1]{text-align:center;padding:3rem;color:#fff6}.spinner[data-v-e71283d1]{width:36px;height:36px;border:3px solid rgba(255,255,255,.08);border-top-color:#7aa0ff;border-radius:50%;animation:spin-e71283d1 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-e71283d1{to{transform:rotate(360deg)}}.leaderboard-table-wrap[data-v-e71283d1]{background:#161b27;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}.leaderboard-table[data-v-e71283d1]{width:100%;border-collapse:collapse}.leaderboard-table thead th[data-v-e71283d1]{background:#ffffff08;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff4d;padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}.leaderboard-table tbody tr[data-v-e71283d1]{border-bottom:1px solid rgba(255,255,255,.04);transition:background .1s}.leaderboard-table tbody tr[data-v-e71283d1]:last-child{border-bottom:none}.leaderboard-table tbody tr[data-v-e71283d1]:hover{background:#ffffff05}.leaderboard-table tbody tr.is-me[data-v-e71283d1]{background:#7aa0ff0f}.leaderboard-table tbody tr.top-three[data-v-e71283d1]{background:#ffd70008}.leaderboard-table td[data-v-e71283d1]{padding:.85rem 1rem;font-size:.9rem;color:#ffffffbf}.col-rank[data-v-e71283d1]{width:70px}.col-xp[data-v-e71283d1],.col-lessons[data-v-e71283d1],.col-projects[data-v-e71283d1],.col-score[data-v-e71283d1]{width:90px;text-align:center}.rank-badge[data-v-e71283d1]{font-size:1.1rem}.student-info[data-v-e71283d1]{display:flex;align-items:center;gap:.6rem}.avatar[data-v-e71283d1]{width:32px;height:32px;border-radius:50%;background:#7aa0ff26;color:#7aa0ff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.name[data-v-e71283d1]{color:#fff;font-weight:500}.you-badge[data-v-e71283d1]{font-size:.65rem;background:#7aa0ff33;color:#7aa0ff;border-radius:4px;padding:1px 6px;font-weight:600}@media(max-width:480px){.leaderboard-table th[data-v-e71283d1],.leaderboard-table td[data-v-e71283d1]{padding:.65rem .6rem}.col-score[data-v-e71283d1],.avatar[data-v-e71283d1]{display:none}}.portfolio-page[data-v-9ca36c23]{min-height:100vh;background:#0a0d14;color:#fff}.state-box[data-v-9ca36c23]{text-align:center;padding:4rem 1rem}.state-box h2[data-v-9ca36c23]{font-size:1.4rem;margin-bottom:.5rem}.state-box p[data-v-9ca36c23]{color:#ffffff80;margin-bottom:1.5rem}.state-box.error p[data-v-9ca36c23]{color:#ff6464cc}.spinner[data-v-9ca36c23]{width:40px;height:40px;border:3px solid rgba(255,255,255,.08);border-top-color:#7aa0ff;border-radius:50%;animation:spin-9ca36c23 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-9ca36c23{to{transform:rotate(360deg)}}.portfolio-header[data-v-9ca36c23]{background:#111827;border-bottom:1px solid rgba(255,255,255,.06);padding:2.5rem 2rem;display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;flex-wrap:wrap}.header-content[data-v-9ca36c23]{display:flex;align-items:flex-start;gap:1.5rem}.avatar-large[data-v-9ca36c23]{width:80px;height:80px;border-radius:50%;background:#7aa0ff26;color:#7aa0ff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.student-name[data-v-9ca36c23]{font-size:1.75rem;font-weight:700;margin-bottom:.4rem}.student-bio[data-v-9ca36c23]{color:#ffffff80;font-size:.95rem;margin-bottom:.75rem;max-width:500px}.header-meta[data-v-9ca36c23]{display:flex;gap:.5rem;flex-wrap:wrap}.badge[data-v-9ca36c23]{display:inline-block;font-size:.75rem;font-weight:600;border-radius:6px;padding:.2rem .7rem}.projects-badge[data-v-9ca36c23]{background:#7aa0ff26;color:#7aa0ff}.cert-badge[data-v-9ca36c23]{background:#10b98126;color:#10b981}.lecode-brand[data-v-9ca36c23]{flex-shrink:0}.brand-link[data-v-9ca36c23]{text-decoration:none;font-size:1.4rem;font-weight:800}.brand-le[data-v-9ca36c23]{color:#fff}.brand-code[data-v-9ca36c23]{color:#ea580c}.cert-callout[data-v-9ca36c23]{background:#10b9810f;border:1px solid rgba(16,185,129,.15);border-radius:12px;margin:2rem;padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem}.cert-icon[data-v-9ca36c23]{width:40px;height:40px;color:#10b981;flex-shrink:0}.cert-title[data-v-9ca36c23]{font-weight:600;color:#10b981}.cert-sub[data-v-9ca36c23]{font-size:.8rem;color:#fff6}.projects-section[data-v-9ca36c23]{padding:2rem}.section-title[data-v-9ca36c23]{font-size:1.1rem;font-weight:700;margin-bottom:1.5rem;color:#ffffffb3}.no-projects[data-v-9ca36c23]{text-align:center;padding:2rem;color:#ffffff4d}.projects-grid[data-v-9ca36c23]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.project-card[data-v-9ca36c23]{background:#161b27;border:1px solid rgba(255,255,255,.07);border-radius:12px;overflow:hidden}.project-image[data-v-9ca36c23]{height:160px;overflow:hidden;background:#0e1320}.project-screenshot[data-v-9ca36c23]{width:100%;height:100%;object-fit:cover}.project-placeholder[data-v-9ca36c23]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff1a}.project-placeholder svg[data-v-9ca36c23]{width:48px;height:48px}.project-body[data-v-9ca36c23]{padding:1.25rem}.project-top[data-v-9ca36c23]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.project-title[data-v-9ca36c23]{font-size:1rem;font-weight:700;color:#fff}.difficulty-badge[data-v-9ca36c23]{font-size:.65rem;font-weight:600;border-radius:4px;padding:2px 6px;flex-shrink:0;text-transform:capitalize}.diff-beginner[data-v-9ca36c23]{background:#10b98126;color:#10b981}.diff-intermediate[data-v-9ca36c23]{background:#f59e0b26;color:#f59e0b}.diff-advanced[data-v-9ca36c23]{background:#ef444426;color:#ef4444}.project-desc[data-v-9ca36c23]{font-size:.85rem;color:#fff6;margin-bottom:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-grade[data-v-9ca36c23]{font-size:.8rem;color:#fff6;margin-bottom:.75rem}.project-grade strong[data-v-9ca36c23]{color:#7aa0ff}.project-links[data-v-9ca36c23]{display:flex;gap:.5rem}.project-link[data-v-9ca36c23]{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:#ffffff80;text-decoration:none;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.25rem .6rem;transition:color .1s,border-color .1s}.project-link[data-v-9ca36c23]:hover{color:#fff;border-color:#ffffff4d}.link-icon[data-v-9ca36c23]{width:12px;height:12px}.portfolio-footer[data-v-9ca36c23]{border-top:1px solid rgba(255,255,255,.05);padding:2rem;text-align:center;color:#ffffff4d;font-size:.85rem}.portfolio-footer a[data-v-9ca36c23]{text-decoration:none}.btn-primary[data-v-9ca36c23]{display:inline-block;background:#7aa0ff;color:#0a0d14;font-weight:600;padding:.65rem 1.5rem;border-radius:8px;text-decoration:none;font-size:.9rem}@media(max-width:480px){.portfolio-header[data-v-9ca36c23]{padding:1.5rem 1rem}.projects-section[data-v-9ca36c23],.cert-callout[data-v-9ca36c23]{padding:1rem;margin:1rem}.projects-grid[data-v-9ca36c23]{grid-template-columns:1fr}.header-content[data-v-9ca36c23]{flex-direction:column}}.timeline-page[data-v-226be16a]{font-family:var(--body-font);background:var(--bg-body);color:var(--text-white);min-height:100vh;padding:2rem}.loading-container[data-v-226be16a],.error-container[data-v-226be16a]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem;color:var(--text-muted)}.spinner[data-v-226be16a]{width:36px;height:36px;border:3px solid var(--border-subtle);border-top-color:var(--primary);border-radius:50%;animation:spin-226be16a .7s linear infinite}@keyframes spin-226be16a{to{transform:rotate(360deg)}}.timeline-layout[data-v-226be16a]{max-width:860px;margin:0 auto}.back-link[data-v-226be16a]{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;color:var(--text-muted);text-decoration:none;margin-bottom:1rem;transition:color .15s}.back-link[data-v-226be16a]:hover{color:var(--primary)}.back-link svg[data-v-226be16a]{width:16px;height:16px}.timeline-header[data-v-226be16a]{margin-bottom:2rem}.header-content[data-v-226be16a]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.timeline-header h1[data-v-226be16a]{font-size:1.6rem;font-weight:700;margin:0 0 .2rem;letter-spacing:-.02em;color:var(--text-white)}.subtitle[data-v-226be16a]{color:var(--text-muted);font-size:.875rem;margin:0}.overall-pill[data-v-226be16a]{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.pill-percent[data-v-226be16a]{font-size:1.75rem;font-weight:800;color:var(--primary-light);font-family:var(--display-font);line-height:1}.pill-label[data-v-226be16a]{font-size:.75rem;color:var(--text-muted)}.overall-bar-wrap[data-v-226be16a]{display:flex;align-items:center;gap:.75rem}.overall-bar[data-v-226be16a]{flex:1;height:8px;background:var(--border-subtle);border-radius:4px;overflow:hidden}.overall-bar-fill[data-v-226be16a]{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:4px;transition:width .6s ease}.overall-bar-label[data-v-226be16a]{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.subjects-timeline[data-v-226be16a]{display:flex;flex-direction:column;gap:1rem}.subject-block[data-v-226be16a]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg, 12px);overflow:hidden}.subject-header[data-v-226be16a]{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.subject-header[data-v-226be16a]:hover{background:#ffffff08}.subject-number[data-v-226be16a]{width:32px;height:32px;border-radius:50%;background:rgba(var(--primary-rgb),.15);border:1px solid rgba(var(--primary-rgb),.3);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--primary);flex-shrink:0}.subject-info[data-v-226be16a]{flex:1;min-width:0}.subject-title[data-v-226be16a]{font-size:.975rem;font-weight:600;color:var(--text-white);margin:0 0 .15rem}.subject-meta[data-v-226be16a]{font-size:.78rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.subject-percent[data-v-226be16a]{font-weight:600}.subject-percent.done[data-v-226be16a]{color:#22c55e}.subject-percent.in-progress[data-v-226be16a]{color:var(--primary-light)}.subject-percent.not-started[data-v-226be16a]{color:var(--text-muted)}.subject-mini-bar[data-v-226be16a]{width:80px;height:4px;background:var(--border-subtle);border-radius:2px;overflow:hidden;flex-shrink:0}.subject-mini-fill[data-v-226be16a]{height:100%;border-radius:2px;transition:width .4s ease}.subject-mini-fill.done[data-v-226be16a]{background:#22c55e}.subject-mini-fill.in-progress[data-v-226be16a]{background:var(--primary)}.subject-mini-fill.not-started[data-v-226be16a]{background:var(--border-subtle)}.collapse-btn[data-v-226be16a]{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem;display:flex;align-items:center}.collapse-btn svg[data-v-226be16a]{width:16px;height:16px}.modules-list[data-v-226be16a]{border-top:1px solid var(--border-subtle);padding:.75rem 1.25rem 1rem;display:flex;flex-direction:column;gap:.875rem}.module-header[data-v-226be16a]{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem}.module-status-icon[data-v-226be16a]{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.module-status-icon.done[data-v-226be16a]{background:#22c55e;color:#fff}.module-status-icon.in-progress[data-v-226be16a]{background:rgba(var(--primary-rgb),.2);color:var(--primary-light);border:1px solid rgba(var(--primary-rgb),.4)}.module-status-icon.not-started[data-v-226be16a]{background:var(--bg-body);color:var(--text-muted);border:1px solid var(--border-subtle)}.module-status-icon svg[data-v-226be16a]{width:13px;height:13px}.module-info[data-v-226be16a]{flex:1;display:flex;align-items:center;gap:.5rem}.module-title[data-v-226be16a]{font-size:.875rem;font-weight:600;color:var(--text-white)}.optional-badge[data-v-226be16a]{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;background:rgba(var(--primary-rgb),.1);color:var(--primary);padding:.1rem .4rem;border-radius:3px;font-weight:600}.module-count[data-v-226be16a]{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.lessons-list[data-v-226be16a]{padding-left:32px;display:flex;flex-direction:column;gap:0;position:relative}.lessons-list[data-v-226be16a]:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--border-subtle)}.lesson-step[data-v-226be16a]{display:flex;align-items:center;gap:.625rem;padding:.3rem 0;position:relative}.lesson-dot[data-v-226be16a]{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-subtle);background:var(--bg-body);flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;margin-left:-24px;transition:background .15s,border-color .15s}.lesson-dot.completed[data-v-226be16a]{background:#22c55e;border-color:#22c55e;color:#fff}.lesson-title[data-v-226be16a]{font-size:.82rem;color:var(--text-muted);transition:color .15s}.lesson-step.completed .lesson-title[data-v-226be16a]{color:var(--text-white);text-decoration:line-through;text-decoration-color:#fff3}.done-tag[data-v-226be16a]{font-size:.65rem;font-weight:600;color:#22c55e;background:#22c55e1a;padding:.1rem .45rem;border-radius:3px;margin-left:auto;flex-shrink:0}.btn-back[data-v-226be16a]{display:inline-block;padding:.5rem 1.25rem;background:var(--primary);color:#fff;border-radius:8px;text-decoration:none;font-size:.875rem;font-weight:600}@media(max-width:640px){.timeline-page[data-v-226be16a]{padding:1rem}.header-content[data-v-226be16a]{flex-direction:column}.pill-percent[data-v-226be16a]{font-size:1.4rem}.subject-mini-bar[data-v-226be16a]{display:none}}.testimonials-admin-page[data-v-ee6c5670]{padding:1.5rem;max-width:900px}.page-header[data-v-ee6c5670]{margin-bottom:1.5rem}.page-header h1[data-v-ee6c5670]{font-size:1.4rem;font-weight:700;color:var(--text-white);margin:0 0 .25rem}.subtitle[data-v-ee6c5670]{font-size:.875rem;color:var(--text-muted);margin:0}.filter-tabs[data-v-ee6c5670]{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.tab-btn[data-v-ee6c5670]{padding:.4rem .9rem;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-muted);border-radius:2rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.tab-btn.active[data-v-ee6c5670]{background:rgba(var(--primary-rgb),.15);border-color:var(--primary);color:var(--primary-light)}.state-msg[data-v-ee6c5670]{font-size:.9rem;color:var(--text-muted);padding:2rem 0;text-align:center}.testimonial-list[data-v-ee6c5670]{display:flex;flex-direction:column;gap:1rem}.testimonial-card[data-v-ee6c5670]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1.125rem}.testimonial-meta[data-v-ee6c5670]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.meta-left[data-v-ee6c5670]{display:flex;flex-direction:column;gap:.35rem}.student-info[data-v-ee6c5670]{display:flex;align-items:center;gap:.625rem}.student-avatar[data-v-ee6c5670]{width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,var(--primary-light),var(--primary));display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#1a0a00;flex-shrink:0}.student-name[data-v-ee6c5670]{display:block;font-size:.875rem;font-weight:600;color:var(--text-white)}.student-email[data-v-ee6c5670]{display:block;font-size:.75rem;color:var(--text-muted)}.bootcamp-tag[data-v-ee6c5670]{font-size:.75rem;color:var(--primary-light);background:rgba(var(--primary-rgb),.12);border-radius:.25rem;padding:.1rem .5rem;display:inline-block}.meta-right[data-v-ee6c5670]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.status-badge[data-v-ee6c5670]{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:.25rem}.status-pending[data-v-ee6c5670]{background:#fbbf2426;color:#fbbf24}.status-approved[data-v-ee6c5670]{background:#34d39926;color:#34d399}.status-rejected[data-v-ee6c5670]{background:#ef444426;color:#ef4444}.date[data-v-ee6c5670]{font-size:.75rem;color:var(--text-muted)}.testimonial-content[data-v-ee6c5670]{font-size:.875rem;color:var(--text-secondary);line-height:1.65;margin:0 0 .875rem;font-style:italic}.testimonial-actions[data-v-ee6c5670]{display:flex;gap:.5rem}.btn-approve[data-v-ee6c5670],.btn-reject[data-v-ee6c5670]{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .875rem;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-approve[data-v-ee6c5670]{background:#34d39926;color:#34d399;border:1px solid rgba(52,211,153,.3)}.btn-reject[data-v-ee6c5670]{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.25)}.btn-approve[data-v-ee6c5670]:disabled,.btn-reject[data-v-ee6c5670]:disabled{opacity:.4;cursor:not-allowed}.btn-approve svg[data-v-ee6c5670],.btn-reject svg[data-v-ee6c5670]{width:.875rem;height:.875rem}.pagination[data-v-ee6c5670]{display:flex;align-items:center;gap:1rem;justify-content:center;margin-top:1.5rem;font-size:.85rem;color:var(--text-muted)}.page-btn[data-v-ee6c5670]{padding:.4rem .875rem;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer}.page-btn[data-v-ee6c5670]:disabled{opacity:.4;cursor:not-allowed}.mentors-page[data-v-b3dee9fe]{max-width:900px;margin:0 auto;padding:2rem 1rem}.page-header[data-v-b3dee9fe]{margin-bottom:2rem}.page-header h1[data-v-b3dee9fe]{font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.subtitle[data-v-b3dee9fe]{color:#6b7280;margin:0}.state-box[data-v-b3dee9fe]{text-align:center;padding:3rem;color:#6b7280}.spinner[data-v-b3dee9fe]{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin-b3dee9fe .8s linear infinite;margin:0 auto 1rem}@keyframes spin-b3dee9fe{to{transform:rotate(360deg)}}.mentors-grid[data-v-b3dee9fe]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}.mentor-card[data-v-b3dee9fe]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.mentor-avatar[data-v-b3dee9fe]{width:56px;height:56px;border-radius:50%;background:#6366f1;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.mentor-name[data-v-b3dee9fe]{font-size:1.1rem;font-weight:600;margin:0}.mentor-bio[data-v-b3dee9fe]{color:#6b7280;font-size:.875rem;margin:0;line-height:1.5}.expertise-tags[data-v-b3dee9fe]{display:flex;flex-wrap:wrap;gap:.4rem}.tag[data-v-b3dee9fe]{background:#ede9fe;color:#6366f1;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500}.rate[data-v-b3dee9fe]{font-size:.875rem;color:#059669;font-weight:600}.btn-book[data-v-b3dee9fe]{margin-top:auto;background:#6366f1;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;transition:background .2s}.btn-book[data-v-b3dee9fe]:hover{background:#4f46e5}.my-bookings-section[data-v-b3dee9fe]{margin-top:2rem}.my-bookings-section h2[data-v-b3dee9fe]{font-size:1.25rem;font-weight:700;margin-bottom:1rem}.bookings-list[data-v-b3dee9fe]{display:flex;flex-direction:column;gap:.75rem}.booking-item[data-v-b3dee9fe]{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center}.booking-info strong[data-v-b3dee9fe]{font-weight:600}.booking-meta[data-v-b3dee9fe]{display:flex;gap:.75rem;align-items:center;color:#6b7280;font-size:.875rem}.status-badge[data-v-b3dee9fe]{padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-booked[data-v-b3dee9fe]{background:#d1fae5;color:#059669}.badge-cancelled[data-v-b3dee9fe]{background:#fee2e2;color:#dc2626}.badge-available[data-v-b3dee9fe]{background:#e0e7ff;color:#6366f1}.modal-overlay[data-v-b3dee9fe]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-b3dee9fe]{background:#fff;border-radius:12px;width:min(520px,95vw);max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header[data-v-b3dee9fe]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-b3dee9fe]{margin:0;font-size:1.1rem;font-weight:700}.close-btn[data-v-b3dee9fe]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.modal-body[data-v-b3dee9fe]{padding:1.5rem;flex:1}.slots-grid[data-v-b3dee9fe]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.slot-btn[data-v-b3dee9fe]{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:.75rem;cursor:pointer;text-align:center;transition:all .2s;display:flex;flex-direction:column;gap:.25rem}.slot-btn[data-v-b3dee9fe]:hover{border-color:#6366f1}.slot-btn.selected[data-v-b3dee9fe]{border-color:#6366f1;background:#ede9fe}.slot-date[data-v-b3dee9fe]{font-size:.8rem;color:#6b7280}.slot-time[data-v-b3dee9fe]{font-size:.875rem;font-weight:600}.error-msg[data-v-b3dee9fe]{color:#dc2626;padding:0 1.5rem;font-size:.875rem}.modal-footer[data-v-b3dee9fe]{display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb}.btn-cancel[data-v-b3dee9fe]{background:#f3f4f6;border:none;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:500}.btn-confirm[data-v-b3dee9fe]{background:#6366f1;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600}.btn-confirm[data-v-b3dee9fe]:disabled{opacity:.5;cursor:not-allowed}.toast-success[data-v-b3dee9fe]{position:fixed;bottom:1.5rem;right:1.5rem;background:#059669;color:#fff;padding:1rem 1.5rem;border-radius:8px;font-weight:500;z-index:2000}.admin-mentor-slots-page[data-v-237de02b]{max-width:1000px;margin:0 auto;padding:2rem 1rem}.page-header[data-v-237de02b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1[data-v-237de02b]{font-size:1.5rem;font-weight:700;margin:0}.btn-primary[data-v-237de02b]{background:#6366f1;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600}.btn-secondary[data-v-237de02b]{background:#f3f4f6;border:none;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer}.state-box[data-v-237de02b]{text-align:center;padding:3rem;color:#6b7280}.spinner[data-v-237de02b]{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin-237de02b .8s linear infinite;margin:0 auto 1rem}@keyframes spin-237de02b{to{transform:rotate(360deg)}}.slots-table-wrap[data-v-237de02b]{overflow-x:auto}.slots-table[data-v-237de02b]{width:100%;border-collapse:collapse}.slots-table th[data-v-237de02b],.slots-table td[data-v-237de02b]{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e5e7eb}.slots-table th[data-v-237de02b]{background:#f9fafb;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.badge[data-v-237de02b]{padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.badge-available[data-v-237de02b]{background:#d1fae5;color:#059669}.badge-booked[data-v-237de02b]{background:#dbeafe;color:#2563eb}.badge-cancelled[data-v-237de02b]{background:#fee2e2;color:#dc2626}.btn-cancel-slot[data-v-237de02b]{background:#fee2e2;color:#dc2626;border:none;padding:.3rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem}.pagination[data-v-237de02b]{display:flex;gap:.75rem;align-items:center;justify-content:center;margin-top:1.5rem}.pagination button[data-v-237de02b]{background:#f3f4f6;border:none;padding:.4rem .9rem;border-radius:6px;cursor:pointer}.pagination button[data-v-237de02b]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-237de02b]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-237de02b]{background:#fff;border-radius:12px;width:min(480px,95vw)}.modal-header[data-v-237de02b]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-237de02b]{margin:0;font-size:1.1rem;font-weight:700}.close-btn[data-v-237de02b]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.modal-body[data-v-237de02b]{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group[data-v-237de02b]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-237de02b]{font-size:.875rem;font-weight:500;color:#374151}.form-input[data-v-237de02b]{border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;width:100%;box-sizing:border-box}.form-row[data-v-237de02b]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.error-msg[data-v-237de02b]{color:#dc2626;font-size:.875rem}.modal-footer[data-v-237de02b]{display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb}.community-code-page[data-v-bce0b4c7]{max-width:800px;margin:0 auto;padding:2rem 1rem}.page-header[data-v-bce0b4c7]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.page-header h1[data-v-bce0b4c7]{font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.subtitle[data-v-bce0b4c7]{color:#6b7280;margin:0}.btn-primary[data-v-bce0b4c7]{background:#6366f1;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap}.state-box[data-v-bce0b4c7]{text-align:center;padding:3rem;color:#6b7280}.spinner[data-v-bce0b4c7]{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin-bce0b4c7 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-bce0b4c7{to{transform:rotate(360deg)}}.feed[data-v-bce0b4c7]{display:flex;flex-direction:column;gap:1.5rem}.share-card[data-v-bce0b4c7]{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.share-header[data-v-bce0b4c7]{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem 1.25rem}.share-meta[data-v-bce0b4c7]{display:flex;gap:.75rem;align-items:flex-start}.avatar[data-v-bce0b4c7]{width:36px;height:36px;border-radius:50%;background:#6366f1;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.share-title[data-v-bce0b4c7]{font-weight:600;display:block;margin-bottom:.25rem}.share-sub[data-v-bce0b4c7]{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.author[data-v-bce0b4c7]{color:#6b7280;font-size:.875rem}.lang-badge[data-v-bce0b4c7]{background:#e0e7ff;color:#6366f1;padding:.1rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.date[data-v-bce0b4c7]{color:#9ca3af;font-size:.8rem}.share-actions[data-v-bce0b4c7]{display:flex;gap:.5rem}.like-btn[data-v-bce0b4c7],.comment-toggle-btn[data-v-bce0b4c7]{display:flex;align-items:center;gap:.35rem;background:#f9fafb;border:1px solid #e5e7eb;padding:.4rem .75rem;border-radius:999px;cursor:pointer;font-size:.875rem;color:#6b7280;transition:all .2s}.like-btn.liked[data-v-bce0b4c7]{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.like-btn[data-v-bce0b4c7]:hover{border-color:#6366f1}.code-block[data-v-bce0b4c7]{background:#1e1e2e;color:#cdd6f4;padding:1rem 1.25rem;margin:0;overflow-x:auto;font-size:.85rem;line-height:1.6;font-family:Fira Code,Consolas,monospace}.code-block code[data-v-bce0b4c7]{font-family:inherit}.comments-section[data-v-bce0b4c7]{border-top:1px solid #e5e7eb;padding:1rem 1.25rem}.comments-list[data-v-bce0b4c7]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.comment[data-v-bce0b4c7]{display:flex;gap:.75rem}.comment-avatar[data-v-bce0b4c7]{width:28px;height:28px;border-radius:50%;background:#e0e7ff;color:#6366f1;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.comment-body p[data-v-bce0b4c7]{margin:.25rem 0 0;font-size:.875rem;color:#374151}.comment-author[data-v-bce0b4c7]{font-size:.8rem;font-weight:600;color:#6b7280}.no-comments[data-v-bce0b4c7]{color:#9ca3af;font-size:.875rem;margin-bottom:.75rem}.comment-form[data-v-bce0b4c7]{display:flex;gap:.5rem}.comment-input[data-v-bce0b4c7]{flex:1;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .75rem;font-size:.875rem}.btn-submit-comment[data-v-bce0b4c7]{background:#6366f1;color:#fff;border:none;padding:.4rem .9rem;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500}.pagination[data-v-bce0b4c7]{display:flex;gap:.75rem;align-items:center;justify-content:center;margin-top:1rem}.page-btn[data-v-bce0b4c7]{background:#f3f4f6;border:none;padding:.4rem .9rem;border-radius:6px;cursor:pointer}.page-btn[data-v-bce0b4c7]:disabled{opacity:.4;cursor:not-allowed}.modal-overlay[data-v-bce0b4c7]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box[data-v-bce0b4c7]{background:#fff;border-radius:12px;width:min(600px,95vw);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header[data-v-bce0b4c7]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-bce0b4c7]{margin:0;font-size:1.1rem;font-weight:700}.close-btn[data-v-bce0b4c7]{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.modal-body[data-v-bce0b4c7]{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.form-group[data-v-bce0b4c7]{display:flex;flex-direction:column;gap:.4rem}.form-group label[data-v-bce0b4c7]{font-size:.875rem;font-weight:500;color:#374151}.form-input[data-v-bce0b4c7]{border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;width:100%;box-sizing:border-box}.code-textarea[data-v-bce0b4c7]{font-family:Fira Code,Consolas,monospace;font-size:.85rem}.error-msg[data-v-bce0b4c7]{color:#dc2626;font-size:.875rem}.modal-footer[data-v-bce0b4c7]{display:flex;gap:.75rem;justify-content:flex-end;padding:1.25rem 1.5rem;border-top:1px solid #e5e7eb}.btn-secondary[data-v-bce0b4c7]{background:#f3f4f6;border:none;padding:.6rem 1.25rem;border-radius:8px;cursor:pointer}.group-page[data-v-a440e1d2]{height:calc(100vh - 60px);display:flex;flex-direction:column}.state-box[data-v-a440e1d2]{text-align:center;padding:3rem;color:#6b7280}.state-box.error[data-v-a440e1d2]{color:#dc2626}.spinner[data-v-a440e1d2]{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin-a440e1d2 .8s linear infinite;margin:0 auto 1rem}@keyframes spin-a440e1d2{to{transform:rotate(360deg)}}.group-layout[data-v-a440e1d2]{display:grid;grid-template-columns:280px 1fr;height:100%;overflow:hidden}.sidebar[data-v-a440e1d2]{background:#f9fafb;border-right:1px solid #e5e7eb;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.group-info h2[data-v-a440e1d2]{font-size:1.1rem;font-weight:700;margin:0 0 .25rem}.bootcamp-label[data-v-a440e1d2]{color:#6366f1;font-size:.8rem;font-weight:600;margin:0}.date-range[data-v-a440e1d2]{color:#9ca3af;font-size:.8rem;margin:.25rem 0 0}.members-section h3[data-v-a440e1d2]{font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.members-list[data-v-a440e1d2]{display:flex;flex-direction:column;gap:.75rem}.member-item[data-v-a440e1d2]{display:grid;grid-template-columns:32px 1fr;gap:.5rem;align-items:start}.member-avatar[data-v-a440e1d2]{width:32px;height:32px;border-radius:50%;background:#e0e7ff;color:#6366f1;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}.member-name[data-v-a440e1d2]{font-size:.875rem;font-weight:500;display:block}.member-stats[data-v-a440e1d2]{display:flex;gap:.5rem;margin-top:.2rem}.stat[data-v-a440e1d2]{font-size:.75rem;color:#9ca3af}.stat.xp[data-v-a440e1d2]{color:#6366f1}.member-progress-bar[data-v-a440e1d2]{grid-column:1 / -1;height:4px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-fill[data-v-a440e1d2]{height:100%;background:#6366f1;border-radius:999px;transition:width .3s}.chat-area[data-v-a440e1d2]{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header[data-v-a440e1d2]{padding:.875rem 1.25rem;border-bottom:1px solid #e5e7eb;background:#fff}.chat-header h3[data-v-a440e1d2]{margin:0;font-size:1rem;font-weight:600}.messages-feed[data-v-a440e1d2]{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.empty-chat[data-v-a440e1d2]{text-align:center;color:#9ca3af;padding:2rem;margin:auto}.message[data-v-a440e1d2]{display:flex;gap:.75rem;align-items:flex-start}.message.is-me[data-v-a440e1d2]{flex-direction:row-reverse}.msg-avatar[data-v-a440e1d2]{width:32px;height:32px;border-radius:50%;background:#e0e7ff;color:#6366f1;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;flex-shrink:0}.msg-content[data-v-a440e1d2]{max-width:65%}.message.is-me .msg-content[data-v-a440e1d2]{align-items:flex-end;display:flex;flex-direction:column}.msg-author[data-v-a440e1d2]{font-size:.75rem;color:#9ca3af;margin-bottom:.25rem}.message.is-me .msg-author[data-v-a440e1d2]{display:none}.msg-bubble[data-v-a440e1d2]{background:#f3f4f6;padding:.6rem .9rem;border-radius:12px;font-size:.9rem;line-height:1.5;word-break:break-word}.message.is-me .msg-bubble[data-v-a440e1d2]{background:#6366f1;color:#fff}.msg-time[data-v-a440e1d2]{font-size:.7rem;color:#d1d5db;margin-top:.25rem}.chat-input-area[data-v-a440e1d2]{border-top:1px solid #e5e7eb;padding:.875rem 1.25rem;display:flex;gap:.5rem;background:#fff}.chat-input[data-v-a440e1d2]{flex:1;border:1px solid #d1d5db;border-radius:999px;padding:.5rem 1rem;font-size:.9rem;outline:none}.chat-input[data-v-a440e1d2]:focus{border-color:#6366f1}.send-btn[data-v-a440e1d2]{background:#6366f1;color:#fff;border:none;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer}.send-btn[data-v-a440e1d2]:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.group-layout[data-v-a440e1d2]{grid-template-columns:1fr}.sidebar[data-v-a440e1d2]{display:none}}
