*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--surface: #1a1d27;--surface-raised: #1f2235;--border: #2a2d3e;--border-hi: #3a3f5c;--text: #e8eaf6;--text-2: #a0a8cc;--muted: #6b718e;--accent: #6c63ff;--accent-hover: #5a52e0;--accent-dim: rgba(108,99,255,.12);--green: #22c55e;--green-dim: rgba(34,197,94,.12);--amber: #f59e0b;--amber-dim: rgba(245,158,11,.12);--red: #ef4444;--radius: 12px;--shadow: 0 4px 24px rgba(0,0,0,.4);--font: "Inter", system-ui, sans-serif;--mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6}.container{max-width:1100px;margin:0 auto;padding:0 1rem}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.header{position:sticky;top:0;z-index:100;background:#0f1117e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:.85rem 0}.header-inner{display:flex;align-items:center;justify-content:space-between}.logo{text-decoration:none;font-size:1.4rem;font-weight:800;letter-spacing:-.5px}.logo-bea{color:var(--text)}.logo-dev{color:var(--accent)}.logo-pro{color:var(--amber)}.nav{display:flex;align-items:center;gap:1.25rem}.nav a{color:var(--muted);text-decoration:none;font-size:.95rem;transition:color .2s}.nav a:hover,.nav a.nav-active{color:var(--text)}.nav-user{color:var(--text-2);font-size:.9rem;font-weight:500}.btn-nav-cta{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-nav-cta:hover{background:var(--accent-hover)}.btn-primary{display:inline-flex;align-items:center;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:background .2s}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{display:inline-flex;align-items:center;gap:.4rem;background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:8px;padding:.45rem 1.25rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.btn-secondary:hover{background:var(--accent-dim, #eff6ff)}.btn-outline{display:inline-flex;align-items:center;background:transparent;color:var(--text);border:1.5px solid var(--border);border-radius:10px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:border-color .2s,color .2s}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.link-btn{background:none;border:none;color:var(--accent);font-size:inherit;text-decoration:underline}.footer{padding:2rem 0;text-align:center;color:var(--muted);font-size:.85rem;border-top:1px solid var(--border)}.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:20px}.badge-premium{background:var(--amber-dim);color:var(--amber)}.badge-free{background:var(--green-dim);color:var(--green)}.badge-meta{background:var(--border);color:var(--text-2)}.badge-sm{font-size:.68rem;padding:.15rem .5rem}.hero{padding:5rem 0 4rem;text-align:center}.hero-inner{max-width:700px;margin:0 auto}.hero-title{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;line-height:1.15;letter-spacing:-1px;margin-bottom:1.2rem}.accent{color:var(--accent)}.hero-sub{font-size:1.1rem;color:var(--muted);max-width:600px;margin:0 auto 2rem}.hero-cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.courses-section{padding:4rem 0}.section-title{font-size:1.8rem;font-weight:700;margin-bottom:2rem}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;gap:.75rem;transition:transform .2s,box-shadow .2s,border-color .2s}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--border-hi)}.course-icon{font-size:2rem}.course-tag{display:inline-block;background:var(--accent-dim);color:var(--accent);font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.course-title{font-size:1.15rem;font-weight:700}.course-desc{color:var(--muted);font-size:.9rem;flex:1}.course-footer{display:flex;align-items:center;justify-content:space-between}.lesson-count{font-size:.85rem;color:var(--muted)}.btn-enroll{display:block;text-align:center;width:100%;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.65rem;font-size:.95rem;font-weight:600;transition:background .2s}.btn-enroll:hover{background:var(--accent-hover)}.course-card-skeleton{pointer-events:none}.skeleton-line{background:var(--border);border-radius:4px;animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}.skeleton-icon{width:2.5rem;height:2.5rem;border-radius:8px}.skeleton-tag{width:80px;height:1rem}.skeleton-title{width:80%;height:1.2rem}.skeleton-desc{width:100%;height:.9rem}.skeleton-desc.short{width:65%}.courses-page-hero{padding:3rem 0 2rem;border-bottom:1px solid var(--border)}.page-title{font-size:2rem;font-weight:700;margin-bottom:.5rem}.page-sub{color:var(--muted);font-size:1rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted);margin-bottom:1.5rem;flex-wrap:wrap}.breadcrumb a{color:var(--muted);transition:color .15s}.breadcrumb a:hover{color:var(--text)}.breadcrumb-sep{color:var(--border-hi)}.course-hero{padding:3rem 0 2.5rem;border-bottom:1px solid var(--border);background:var(--surface)}.course-hero-content{display:flex;gap:1.5rem;align-items:flex-start}.course-hero-icon{font-size:3.5rem;flex-shrink:0;margin-top:.25rem}.course-hero-badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.course-hero-title{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;margin-bottom:.75rem;line-height:1.2}.course-hero-desc{color:var(--muted);font-size:.975rem;max-width:640px;margin-bottom:1.5rem}.btn-start{margin-top:0}.curriculum-section-wrapper{padding:3rem 0}.curriculum{display:flex;flex-direction:column;gap:1px;margin-top:1.5rem;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.curriculum-section{background:var(--surface)}.curriculum-section-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface-raised)}.curriculum-section-title{font-size:.95rem;font-weight:600}.curriculum-count{font-size:.8rem;color:var(--muted)}.curriculum-lessons{list-style:none}.curriculum-lesson{border-bottom:1px solid var(--border)}.curriculum-lesson:last-child{border-bottom:none}.curriculum-lesson-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;color:var(--text-2);transition:background .15s,color .15s}.curriculum-lesson-link:hover{background:var(--accent-dim);color:var(--text)}.curriculum-lesson-title{font-size:.9rem}.page-loading{display:flex;justify-content:center;align-items:center;min-height:40vh}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-error{display:flex;flex-direction:column;gap:1rem;padding:4rem 0;max-width:400px}.page-error h1{font-size:1.5rem}.page-error p{color:var(--muted)}.status-error{color:var(--red)}.lesson-layout{display:grid;grid-template-columns:280px 1fr;flex:1}.course-sidebar{border-right:1px solid var(--border);background:var(--surface);overflow-y:auto;position:sticky;top:49px;height:calc(100vh - 49px)}.sidebar-toggle{display:none}.sidebar-inner{padding:1.25rem 1rem}.sidebar-course-title{display:block;font-size:.875rem;font-weight:700;color:var(--text);margin-bottom:.25rem;line-height:1.3}.sidebar-course-title:hover{color:var(--accent)}.sidebar-meta{font-size:.75rem;color:var(--muted);margin-bottom:1.25rem}.sidebar-nav{display:flex;flex-direction:column;gap:1.25rem}.sidebar-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.5rem}.sidebar-lessons{list-style:none;display:flex;flex-direction:column;gap:1px}.sidebar-lesson{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-radius:7px;font-size:.85rem;color:var(--text-2);transition:background .15s,color .15s}.sidebar-lesson:hover{background:var(--accent-dim);color:var(--text)}.sidebar-lesson-active{background:var(--accent-dim);color:var(--accent)!important;font-weight:500}.sidebar-lesson-title{flex:1;line-height:1.3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-badge{flex-shrink:0;font-size:.62rem;padding:.1rem .4rem;border-radius:20px;font-weight:600}.sidebar-badge-premium{background:var(--amber-dim);color:var(--amber)}.sidebar-badge-free{background:var(--green-dim);color:var(--green)}.lesson-main{padding:2.5rem 3rem;max-width:860px;width:100%;margin:0 auto;min-width:0}.lesson-meta-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.lesson-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.5px;margin-bottom:2rem}.lesson-body{display:flex;flex-direction:column;gap:1.25rem}.lesson-text{color:var(--text-2);line-height:1.75;max-width:65ch}.lesson-heading{font-size:1.15rem;font-weight:700;margin-top:1rem;color:var(--text)}.code-block{position:relative;background:#0a0c14;border:1px solid var(--border);border-radius:10px;overflow:hidden}.code-lang{display:block;font-family:var(--mono);font-size:.7rem;color:var(--muted);background:var(--border);padding:.25rem .75rem;text-transform:uppercase;letter-spacing:.1em}.code-block pre{padding:1.25rem;overflow-x:auto}.code-block code{font-family:var(--mono);font-size:.875rem;line-height:1.65;color:#c5cbe7;white-space:pre}.lesson-empty{color:var(--muted);font-style:italic}.lesson-locked{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:1rem;max-width:400px;margin-top:2rem}.lock-icon{font-size:2.5rem}.lesson-locked h3{font-size:1.2rem;font-weight:700}.lesson-locked p{color:var(--muted);font-size:.9rem}.btn-lock-cta{padding:.65rem 1.75rem;font-size:.95rem}.lock-hint{font-size:.8rem;color:var(--muted)}.lesson-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--border)}.lesson-nav-btn{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;border-radius:10px;border:1px solid var(--border);max-width:45%;transition:border-color .15s,background .15s}.lesson-nav-btn:hover{border-color:var(--accent);background:var(--accent-dim)}.lesson-nav-next{margin-left:auto;flex-direction:row-reverse;text-align:right}.nav-arrow{font-size:1.1rem;color:var(--muted);flex-shrink:0}.nav-text{display:flex;flex-direction:column;gap:.1rem}.nav-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.nav-title{font-size:.875rem;font-weight:500;color:var(--text);line-height:1.3}@media (max-width: 900px){.lesson-layout{grid-template-columns:1fr}.course-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .25s ease;width:min(280px,85vw);height:100%}.course-sidebar.sidebar-open{transform:translate(0)}.sidebar-toggle{display:flex;align-items:center;gap:.5rem;position:fixed;bottom:1.5rem;right:1.5rem;z-index:300;background:var(--accent);color:#fff;border:none;border-radius:999px;padding:.65rem 1.1rem;font-size:.85rem;font-weight:600;box-shadow:0 4px 16px #6c63ff66}.toggle-icon{font-size:1rem}.lesson-main{padding:1.5rem 1.25rem}.lesson-nav{flex-direction:column}.lesson-nav-btn{max-width:100%}.lesson-nav-next{flex-direction:row;text-align:left}}@media (max-width: 640px){.hero{padding:3rem 0 2rem}.courses-grid{grid-template-columns:1fr}.course-hero-content{flex-direction:column;gap:1rem}.nav a{display:none}.lesson-main{padding:1.25rem 1rem}.lesson-title{font-size:1.4rem}.container{padding:0 .875rem}}.auth-nav-btns{display:flex;gap:.5rem;align-items:center}.btn-nav-ghost{background:transparent;border:1px solid var(--border-hi);border-radius:8px;color:var(--text-2);cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .85rem;transition:border-color .15s,color .15s}.btn-nav-ghost:hover{border-color:var(--accent);color:var(--accent)}.user-menu-wrap{position:relative}.btn-user-menu{display:flex;align-items:center;gap:.45rem;background:transparent;border:1px solid var(--border-hi);border-radius:8px;color:var(--text);cursor:pointer;font-size:.85rem;font-weight:600;padding:.35rem .65rem;transition:border-color .15s}.btn-user-menu:hover{border-color:var(--accent)}.user-avatar{background:var(--accent);border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;height:24px;width:24px;flex-shrink:0}.chevron{font-size:.6rem;color:var(--text-2)}.user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.user-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius);box-shadow:var(--shadow);min-width:200px;z-index:100;overflow:hidden}.user-menu-info{padding:.85rem 1rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem}.user-menu-info strong{font-size:.88rem}.user-menu-info span{font-size:.78rem;color:var(--text-2)}.user-menu-role{display:inline-block;font-size:.65rem!important;font-weight:700;background:var(--accent-dim);color:var(--accent)!important;border:1px solid var(--accent);border-radius:4px;padding:1px 5px;text-transform:uppercase;letter-spacing:.05em;width:fit-content}.user-menu-item{display:block;width:100%;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:.88rem;padding:.65rem 1rem;text-align:left;text-decoration:none;transition:background .12s}.user-menu-item:hover{background:var(--surface-raised)}.user-menu-logout{color:var(--red)}.user-menu-logout:hover{background:#ef444414}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-card{background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius);box-shadow:var(--shadow);max-width:400px;width:100%;position:relative;padding:2rem}.modal-close{position:absolute;top:.75rem;right:.75rem;background:transparent;border:none;color:var(--text-2);cursor:pointer;font-size:1rem;line-height:1;padding:.25rem .4rem;border-radius:6px;transition:color .15s,background .15s}.modal-close:hover{color:var(--text);background:var(--surface-raised)}.modal-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.modal-tab{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-2);cursor:pointer;font-size:.92rem;font-weight:600;padding:.6rem;text-align:center;transition:color .15s,border-color .15s;margin-bottom:-1px}.modal-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.modal-tab:hover:not(.active){color:var(--text)}.modal-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field label{font-size:.8rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.form-field input{background:var(--bg);border:1px solid var(--border-hi);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.92rem;outline:none;padding:.6rem .85rem;transition:border-color .15s}.form-field input:focus{border-color:var(--accent)}.form-field input::placeholder{color:var(--muted)}.modal-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--red);font-size:.85rem;padding:.6rem .85rem}.modal-submit{width:100%;justify-content:center;margin-top:.25rem}.modal-switch{color:var(--text-2);font-size:.83rem;text-align:center}.modal-subtitle{font-size:.85rem;color:var(--text-2);margin:-.25rem 0 .5rem}.modal-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:var(--green);font-size:.85rem;padding:.6rem .85rem}.modal-google-section{padding:0 1.5rem;display:flex;flex-direction:column;gap:.75rem}.google-btn-wrapper{display:flex;justify-content:center;min-height:44px}.google-btn-wrapper>div,.google-btn-wrapper iframe{width:100%!important}.modal-divider{display:flex;align-items:center;gap:.75rem;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.modal-divider:before,.modal-divider:after{content:"";flex:1;height:1px;background:var(--border)}.phone-input-group{display:flex;gap:.4rem;width:100%;min-width:0}.country-code-select{background:var(--bg);border:1px solid var(--border-hi);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.82rem;padding:.6rem .35rem;flex:0 0 auto;width:120px;min-width:0;outline:none;cursor:pointer;transition:border-color .15s;overflow:hidden;text-overflow:ellipsis}.country-code-select:focus{border-color:var(--accent)}.phone-input-group input{flex:1 1 0;min-width:0;width:0}.form-field .si-phone-toggle{display:flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--text-2);cursor:pointer;margin-top:.4rem;-webkit-user-select:none;user-select:none;text-transform:none;letter-spacing:0;font-weight:400}.form-field .si-phone-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.duplicate-banner{background:#f59e0b14;border:1px solid rgba(245,158,11,.3);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.duplicate-banner p{font-size:.9rem;color:var(--amber);line-height:1.6;margin:0}.forgot-link{float:right;font-size:.78rem;font-weight:500;text-transform:none;letter-spacing:0}.field-hint{color:var(--muted);font-size:.75rem;margin-top:.1rem}.setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:2rem 1rem}.setup-card{background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--radius);box-shadow:var(--shadow);max-width:440px;width:100%;padding:2rem 2rem 2.5rem;display:flex;flex-direction:column;gap:0}.setup-logo{display:block;margin-bottom:1.5rem}.setup-title{font-size:1.4rem;font-weight:700;margin-bottom:.6rem}.setup-desc{font-size:.85rem;color:var(--text-2);line-height:1.6;margin-bottom:1.5rem}.setup-desc code{background:var(--bg);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:.82em;padding:.1em .35em}.setup-success-icon{font-size:2.5rem;color:var(--green);margin-bottom:.75rem;line-height:1}.setup-card h1{font-size:1.3rem;margin-bottom:.5rem}.setup-card p{color:var(--text-2);font-size:.9rem;margin-bottom:1.25rem}.cb-wrap{margin:.75rem 0;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg)}.cb-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem;background:#ffffff08;border-bottom:1px solid var(--border)}.cb-lang{font-family:var(--mono);font-size:.75rem;color:var(--text-2);text-transform:lowercase}.cb-copy-btn{background:transparent;border:1px solid var(--border-hi);border-radius:5px;color:var(--text-2);cursor:pointer;font-size:.75rem;font-weight:600;padding:.2rem .6rem;transition:border-color .15s,color .15s,background .15s;font-family:var(--font)}.cb-copy-btn:hover{border-color:var(--accent);color:var(--accent)}.cb-copy-btn.copied{border-color:var(--green);color:var(--green);background:var(--green-dim)}.cb-pre{margin:0;padding:1rem 1.25rem;overflow-x:auto;background:transparent;border:none;border-radius:0}.cb-code{font-family:var(--mono);font-size:.875rem;line-height:1.65;background:transparent;border:none;padding:0}.nav-admin-link{color:var(--accent);font-weight:600;font-size:.85rem;text-decoration:none;border:1px solid var(--accent);border-radius:6px;padding:.3rem .65rem;transition:background .15s}.nav-admin-link:hover{background:var(--accent-dim)}.admin-user-modal{max-width:580px;max-height:85vh;overflow-y:auto}.admin-user-modal-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.user-avatar-lg{width:48px;height:48px;font-size:1.1rem;font-weight:700;background:var(--accent);border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-section-label{font-size:.75rem;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.06em;margin:1.25rem 0 .6rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.admin-sub-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.admin-sub-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem .75rem;background:var(--surface-raised);border-radius:8px;border:1px solid var(--border)}.admin-sub-info{display:flex;gap:.5rem;align-items:center;flex:1;flex-wrap:wrap}.admin-sub-plan{font-weight:600;font-size:.82rem}.admin-sub-dates{font-size:.78rem;color:var(--text-2)}.dot-red:before{content:"●  ";color:var(--red)}.admin-grant-form{display:flex;flex-direction:column;gap:.75rem}.admin-grant-row{display:flex;gap:.75rem}@media (max-width: 500px){.admin-grant-row{flex-direction:column}}.admin-pagination{display:flex;align-items:center;gap:1rem;margin-top:1.25rem;justify-content:center}.admin-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.admin-shell{display:flex;min-height:100vh;background:var(--bg)}.admin-sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem 0;position:sticky;top:0;height:100vh;overflow-y:auto}.admin-brand{display:flex;align-items:center;gap:.5rem;padding:0 1.25rem 1.25rem;border-bottom:1px solid var(--border);margin-bottom:.75rem}.admin-brand-link{text-decoration:none;font-weight:700;font-size:1.05rem}.admin-badge{font-size:.6rem;font-weight:700;background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:1px 5px;text-transform:uppercase;letter-spacing:.05em}.admin-nav{flex:1;padding:0 .75rem;display:flex;flex-direction:column;gap:2px}.admin-nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:8px;color:var(--text-2);text-decoration:none;font-size:.9rem;font-weight:500;transition:background .15s,color .15s}.admin-nav-item:hover,.admin-nav-item.active{background:var(--accent-dim);color:var(--accent)}.admin-user{padding:1rem 1.25rem 0;border-top:1px solid var(--border);margin-top:auto}.admin-user-name{display:block;font-size:.82rem;color:var(--text-2);margin-bottom:.4rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-view-site{font-size:.8rem;color:var(--accent);text-decoration:none}.admin-view-site:hover{text-decoration:underline}.admin-main{flex:1;overflow-x:auto;min-width:0}.admin-page-header{border-bottom:1px solid var(--border);padding:1.25rem 2rem;background:var(--surface)}.admin-page-title{font-size:1.3rem;font-weight:700}.admin-content{padding:1.5rem 2rem;max-width:1100px}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}.admin-form-title{font-size:1rem;font-weight:700;margin-bottom:1.25rem}.admin-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.admin-field label{font-size:.82rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em}.admin-field input,.admin-field textarea,.admin-field select{background:var(--bg);border:1px solid var(--border-hi);border-radius:8px;color:var(--text);font-family:var(--font);font-size:.9rem;padding:.55rem .75rem;outline:none;transition:border-color .15s}.admin-field input:focus,.admin-field textarea:focus{border-color:var(--accent)}.admin-field textarea{resize:vertical;min-height:80px}.admin-field-check label{flex-direction:row;align-items:center;gap:.5rem;font-size:.9rem;text-transform:none;letter-spacing:0}.admin-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media (max-width: 640px){.admin-fields-grid{grid-template-columns:1fr}}.admin-form-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}.btn-admin-primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:background .15s;text-decoration:none}.btn-admin-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-admin-primary:disabled{opacity:.5;cursor:not-allowed}.btn-admin-ghost{background:transparent;color:var(--text);border:1px solid var(--border-hi);border-radius:8px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:border-color .15s,color .15s;text-decoration:none}.btn-admin-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-admin-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-admin-sm{background:transparent;color:var(--text-2);border:1px solid var(--border);border-radius:6px;padding:.3rem .65rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;text-decoration:none}.btn-admin-sm:hover{border-color:var(--accent);color:var(--accent)}.btn-admin-sm.btn-admin-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-admin-sm.btn-admin-primary:hover{background:var(--accent-hover)}.btn-admin-sm.btn-admin-danger{color:var(--red);border-color:var(--red)}.btn-admin-sm.btn-admin-danger:hover{background:#ef44441a}.btn-admin-icon{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-2);padding:.2rem .4rem;font-size:.75rem;cursor:pointer;line-height:1;transition:border-color .15s,color .15s}.btn-admin-icon:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-admin-icon:disabled{opacity:.3;cursor:not-allowed}.btn-admin-tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-2);padding:.4rem .75rem;font-size:.88rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.btn-admin-tab.active,.btn-admin-tab:hover{color:var(--accent);border-bottom-color:var(--accent)}.admin-status{color:var(--text-2);font-size:.9rem;padding:.75rem 0}.admin-status-error{color:var(--red)}.admin-status-dot{font-size:.78rem;font-weight:600}.dot-green:before{content:"●  ";color:var(--green)}.dot-amber:before{content:"●  ";color:var(--amber)}.admin-toolbar{display:flex;gap:.75rem;margin-bottom:1.25rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th{text-align:left;padding:.6rem .75rem;font-size:.75rem;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.admin-table td{padding:.7rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--surface-raised)}.admin-actions{display:flex;gap:.4rem}.admin-link{color:var(--accent);text-decoration:none;font-weight:500}.admin-link:hover{text-decoration:underline}.admin-muted{color:var(--text-2)}.admin-breadcrumb{font-size:.82rem;color:var(--text-2);margin-bottom:1.25rem}.admin-breadcrumb a{color:var(--accent);text-decoration:none}.admin-breadcrumb a:hover{text-decoration:underline}.admin-section-block{border:1px solid var(--border);border-radius:8px;margin-bottom:1rem;overflow:hidden}.admin-section-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--surface-raised);border-bottom:1px solid var(--border)}.admin-section-title{flex:1;font-weight:600;font-size:.9rem}.admin-section-edit{display:flex;gap:.5rem;align-items:center;flex:1}.admin-section-edit input{flex:1;background:var(--bg);border:1px solid var(--border-hi);border-radius:6px;color:var(--text);font-size:.88rem;padding:.3rem .6rem;outline:none}.admin-section-actions{display:flex;gap:.4rem}.admin-reorder-btns{display:flex;flex-direction:column;gap:2px}.admin-sections-header{margin-bottom:1rem}.admin-lessons-list{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.admin-lesson-row{display:flex;align-items:center;gap:.75rem;padding:.4rem .5rem;border-radius:6px;transition:background .12s}.admin-lesson-row:hover{background:var(--surface-raised)}.admin-lesson-title{flex:1;font-size:.88rem}.admin-lesson-meta{display:flex;gap:.4rem;align-items:center}.admin-add-lesson-form{display:flex;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px dashed var(--border)}.admin-add-lesson-form input{flex:1;background:var(--bg);border:1px solid var(--border-hi);border-radius:6px;color:var(--text);font-size:.85rem;padding:.4rem .65rem;outline:none}.admin-add-lesson-form input:focus{border-color:var(--accent)}.admin-add-section-form{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.admin-add-section-form input{flex:1;background:var(--bg);border:1px solid var(--border-hi);border-radius:6px;color:var(--text);font-size:.85rem;padding:.5rem .75rem;outline:none}.admin-add-section-form input:focus{border-color:var(--accent)}.admin-lesson-form{display:flex;flex-direction:column;gap:0}.admin-lesson-meta-card{display:flex;flex-direction:column;gap:.5rem}.admin-lesson-toggles{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.25rem}.admin-toggle-label{display:flex;align-items:center;gap:.4rem;font-size:.88rem;cursor:pointer}.admin-toggle-label input[type=checkbox]{accent-color:var(--accent)}.admin-editor-card{padding:0;overflow:hidden}.admin-editor-toolbar{display:flex;gap:0;border-bottom:1px solid var(--border);padding:.5rem 1rem}.admin-save-bar{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;z-index:10}.admin-save-status{display:flex;gap:.75rem;align-items:center;font-size:.85rem}.admin-save-actions{display:flex;gap:.6rem}.status-saving{color:var(--text-2)}.status-saved{color:var(--green);font-weight:600}.status-error{color:var(--red);font-weight:600}.rte-wrap{display:flex;flex-direction:column}.rte-disabled{opacity:.7}.rte-toolbar{display:flex;flex-wrap:wrap;gap:2px;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-raised)}.rte-toolbar-group{display:flex;gap:2px}.rte-toolbar-sep{width:1px;background:var(--border);height:20px;margin:0 4px}.rte-btn{background:transparent;border:1px solid transparent;border-radius:5px;color:var(--text-2);cursor:pointer;font-size:.82rem;font-family:var(--mono);padding:.25rem .45rem;min-width:28px;text-align:center;transition:background .12s,color .12s,border-color .12s}.rte-btn:hover,.rte-btn-active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.rte-bubble-menu{background:var(--surface);border:1px solid var(--border-hi);border-radius:8px;box-shadow:var(--shadow);display:flex;gap:2px;padding:4px}.rte-content{padding:1.25rem 1.5rem;min-height:300px;outline:none}.rte-content .tiptap:focus{outline:none}.rte-content .tiptap p{margin-bottom:.75rem;line-height:1.7}.rte-content .tiptap h2{font-size:1.4rem;margin:1.5rem 0 .6rem}.rte-content .tiptap h3{font-size:1.15rem;margin:1.25rem 0 .5rem}.rte-content .tiptap h4{font-size:1rem;margin:1rem 0 .4rem}.rte-content .tiptap ul,.rte-content .tiptap ol{padding-left:1.5rem;margin-bottom:.75rem}.rte-content .tiptap li{margin-bottom:.3rem;line-height:1.6}.rte-content .tiptap code{background:var(--bg);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:.85em;padding:.1em .35em}.rte-content .tiptap pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem;margin-bottom:.75rem;overflow-x:auto;position:relative}.rte-content .tiptap pre code{background:transparent;border:none;padding:0;font-size:.88rem;line-height:1.6}.rte-content .tiptap blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--text-2);margin-bottom:.75rem}.rte-content .tiptap a{color:var(--accent);text-decoration:underline}.rte-content .tiptap img{max-width:100%;border-radius:8px;margin:.75rem 0}.rte-content .tiptap iframe{max-width:100%;border-radius:8px;margin:.75rem 0;aspect-ratio:16/9;width:100%;border:none}.tiptap-view{padding:0}.tiptap-view .tiptap{outline:none}@media (max-width: 900px){.admin-sidebar{width:56px}.admin-sidebar .admin-brand-link,.admin-sidebar .admin-badge,.admin-sidebar .admin-user-name,.admin-sidebar .admin-view-site{display:none}.admin-nav-item{justify-content:center;padding:.7rem}.admin-nav-item svg{margin:0}.admin-content{padding:1.25rem 1rem}}@media (max-width: 600px){.admin-sidebar{display:none}.admin-mobile-bar{display:flex!important;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.admin-content{padding:1rem}.admin-page-header{padding:.75rem 1rem}.admin-page-title{font-size:1.1rem}.admin-table th,.admin-table td{padding:.5rem;font-size:.82rem}.admin-save-bar{padding:.6rem 1rem}}.admin-mobile-bar{display:none}.admin-mobile-nav-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex}.admin-mobile-nav-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080}.admin-mobile-nav-panel{position:relative;z-index:1;width:min(260px,80vw);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem 0;overflow-y:auto}.pub-layout{--bg: #f8fafc;--surface: #ffffff;--surface-raised: #f1f5f9;--border: #e2e8f0;--border-hi: #cbd5e1;--text: #0f172a;--text-2: #475569;--muted: #94a3b8;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-dim: rgba(37,99,235,.07);--green: #059669;--green-dim: rgba(5,150,105,.08);--amber: #d97706;--amber-dim: rgba(217,119,6,.08);--red: #dc2626;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.05);--shadow-lg: 0 10px 24px rgba(0,0,0,.08);background:var(--bg);color:var(--text);font-family:var(--font);min-height:100vh;display:flex;flex-direction:column}.pub-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(226,232,240,.8);box-shadow:0 1px 8px #0f172a0f}.pub-header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:.75rem;padding-bottom:.75rem}.pub-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}.pub-logo-text{font-size:1.25rem;font-weight:800;letter-spacing:-.5px;line-height:1}.pub-logo-bea{color:#0f172a}.pub-logo-dev{color:#2563eb}.pub-logo-pro{color:#0f172a}.pub-nav{display:flex;align-items:center;gap:.15rem;flex:1;justify-content:center}.pub-nav-link{padding:.45rem .85rem;border-radius:8px;font-size:.875rem;font-weight:500;color:#475569;text-decoration:none;transition:color .15s,background .15s;white-space:nowrap}.pub-nav-link:hover{color:#0f172a;background:#f1f5f9}.pub-nav-link-active{color:#2563eb;font-weight:600;background:#eff6ff}.pub-nav-dropdown{position:relative}.pub-nav-courses-trigger{cursor:default;-webkit-user-select:none;user-select:none}.pub-nav-dropdown-menu{position:absolute;top:100%;left:50%;transform:translate(-50%);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 12px 32px #0f172a1f,0 2px 8px #0f172a0f;padding:.9rem .5rem .5rem;min-width:230px;display:flex;flex-direction:column;gap:.1rem;z-index:200;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;transition-delay:.18s}.pub-nav-dropdown-menu:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px}.pub-nav-dropdown:hover .pub-nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.pub-nav-dropdown-item{padding:.6rem .9rem;border-radius:9px;font-size:.875rem;font-weight:500;color:#1e293b;text-decoration:none;display:flex;align-items:center;gap:.65rem;transition:background .12s}.pub-nav-dropdown-item:hover{background:#f8fafc}.pub-nav-dropdown-item.active{color:#2563eb;font-weight:600;background:#eff6ff}.pub-mobile-nav-sub{padding-left:2rem;font-size:.86rem;color:var(--text-2)}.pub-nav-premium{color:#7c3aed;font-weight:600;background:#f5f3ff}.pub-nav-premium:hover{background:#ede9fe}.pub-nav-admin-link{font-size:.78rem;font-weight:700;color:#2563eb;border:1px solid #bfdbfe;border-radius:6px;padding:.3rem .65rem;text-decoration:none;background:#eff6ff;transition:background .15s,border-color .15s;letter-spacing:.02em}.pub-nav-admin-link:hover{background:#dbeafe;border-color:#93c5fd}.pub-header-auth{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.pub-auth-btns{display:flex;align-items:center;gap:.4rem}.pub-btn-signin{background:transparent;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;font-family:var(--font);font-size:.875rem;font-weight:600;padding:.45rem 1rem;transition:border-color .15s,color .15s,background .15s}.pub-btn-signin:hover{border-color:#2563eb;color:#2563eb;background:#eff6ff}.pub-btn-getstarted{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font);font-size:.875rem;font-weight:600;padding:.45rem 1.1rem;transition:background .15s,box-shadow .15s;box-shadow:0 1px 4px #2563eb40}.pub-btn-getstarted:hover{background:#1d4ed8;box-shadow:0 3px 10px #2563eb4d}.pub-btn-user-menu{display:flex;align-items:center;gap:.45rem;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#1e293b;cursor:pointer;font-family:var(--font);font-size:.875rem;font-weight:600;padding:.3rem .7rem .3rem .35rem;transition:border-color .15s,box-shadow .15s;box-shadow:0 1px 3px #0f172a12}.pub-btn-user-menu:hover{border-color:#93c5fd;box-shadow:0 2px 8px #2563eb1f}.pub-user-avatar{background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:50%;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;height:26px;width:26px;flex-shrink:0;letter-spacing:.02em}.pub-user-name-short{font-size:.875rem;color:#1e293b}.pub-chevron{font-size:.6rem;color:#94a3b8}.pub-user-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 12px 32px #0f172a1f,0 2px 8px #0f172a0f;min-width:210px;z-index:200;overflow:hidden}.pub-user-menu-info{padding:1rem 1.1rem .85rem;border-bottom:1px solid #f1f5f9;display:flex;flex-direction:column;gap:.18rem;background:#f8fafc}.pub-user-menu-info strong{font-size:.9rem;color:#0f172a;font-weight:700}.pub-user-menu-info span{font-size:.78rem;color:#64748b}.pub-user-menu-role{display:inline-block;font-size:.64rem!important;font-weight:700;background:#eff6ff;color:#2563eb!important;border:1px solid #bfdbfe;border-radius:4px;padding:1px 6px;text-transform:uppercase;letter-spacing:.06em;width:fit-content;margin-top:.15rem}.pub-user-menu-item{display:block;width:100%;background:transparent;border:none;color:#334155;cursor:pointer;font-family:var(--font);font-size:.875rem;padding:.65rem 1.1rem;text-align:left;text-decoration:none;transition:background .12s,color .12s}.pub-user-menu-item:hover{background:#f8fafc;color:#0f172a}.pub-user-menu-logout{color:#ef4444;border-top:1px solid #f1f5f9;margin-top:.25rem}.pub-user-menu-logout:hover{background:#fff5f5;color:#dc2626}.pub-mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:.3rem;border-radius:8px;transition:background .15s}.pub-mobile-menu-btn:hover{background:#f1f5f9}.pub-mobile-menu-btn span{display:block;width:22px;height:2px;background:#475569;border-radius:2px;transition:background .15s}.pub-mobile-nav{display:flex;flex-direction:column;gap:.2rem;padding:.75rem 1rem 1.25rem;border-top:1px solid #e2e8f0;background:#fff}.pub-mobile-nav .pub-nav-link{padding:.65rem .85rem;color:#334155}.pub-mobile-cta{margin-top:.75rem;width:100%;text-align:center;padding:.75rem;border-radius:10px}.pub-footer{background:#0c1120;color:#94a3b8;margin-top:auto;border-top:1px solid #1e293b}.pub-footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:4rem;padding-top:4rem;padding-bottom:3.5rem;align-items:start}.pub-footer-brand{max-width:340px}.pub-footer-logo .pub-logo-bea,.pub-footer-logo .pub-logo-pro{color:#f1f5f9}.pub-footer-logo .pub-logo-dev{color:#60a5fa}.pub-footer-tagline{margin-top:1rem;font-size:.875rem;line-height:1.75;color:#64748b}.pub-footer-col{display:flex;flex-direction:column;gap:.7rem;min-width:130px}.pub-footer-col h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#cbd5e1;margin-bottom:.5rem}.pub-footer-col a{font-size:.875rem;color:#64748b;text-decoration:none;transition:color .15s}.pub-footer-col a:hover{color:#e2e8f0}.pub-footer-bottom{border-top:1px solid #1e293b}.pub-footer-bottom-inner{display:flex;justify-content:center;align-items:center;padding-top:1.25rem;padding-bottom:1.5rem;font-size:.8rem}.pub-footer-bottom p{color:#334155}.hp-section{padding:5rem 0}.hp-section-header{text-align:center;max-width:640px;margin:0 auto 3.5rem}.hp-section-eyebrow{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.6rem}.hp-section-title{font-size:clamp(1.75rem,3.5vw,2.4rem);font-weight:800;color:var(--text);letter-spacing:-.5px;line-height:1.15;margin-bottom:.9rem}.hp-section-sub{font-size:1rem;color:var(--text-2);line-height:1.7}.hp-hero{background:linear-gradient(160deg,#eff6ff,#f0f9ff 40%,#f8fafc);padding:5.5rem 0 5rem;position:relative}.hp-hero:before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(37,99,235,.06) 0%,transparent 70%);pointer-events:none}.hp-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.hp-hero-content{display:flex;flex-direction:column;gap:1.5rem}.hp-hero-eyebrow{display:flex}.hp-hero-badge{display:inline-flex;align-items:center;gap:.4rem;background:#2563eb14;border:1px solid rgba(37,99,235,.18);border-radius:999px;color:var(--accent);font-size:.82rem;font-weight:600;padding:.3rem .9rem}.hp-hero-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:800;letter-spacing:-1px;line-height:1.1;color:var(--text);margin:0}.hp-hero-accent{color:var(--accent)}.hp-hero-sub{font-size:1.1rem;color:var(--text-2);line-height:1.75;max-width:460px;margin:0}.hp-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.hp-btn-primary{display:inline-flex;align-items:center;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.8rem 1.75rem;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer;font-family:var(--font);transition:background .15s,transform .15s;box-shadow:0 4px 14px #2563eb4d}.hp-btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.hp-btn-secondary{display:inline-flex;align-items:center;background:transparent;color:var(--text);border:1.5px solid var(--border-hi);border-radius:10px;padding:.8rem 1.75rem;font-size:1rem;font-weight:600;cursor:pointer;font-family:var(--font);transition:border-color .15s,color .15s}.hp-btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.hp-hero-stats{display:flex;align-items:center;gap:.75rem;padding-top:.5rem;flex-wrap:wrap}.hp-stat{text-align:left}.hp-stat strong{display:block;font-size:1.3rem;font-weight:800;color:var(--text);line-height:1.1}.hp-stat span{font-size:.78rem;color:var(--muted);font-weight:500}.hp-stat-sep{width:1px;height:2rem;background:var(--border)}.mascot-wrap{animation:mascot-bob 4s ease-in-out infinite;will-change:transform}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.hp-hero-visual{position:relative;overflow:visible;padding:2.5rem 72px}.hp-code-card{background:#0f172a;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px #00000040;position:relative;z-index:1}.hp-code-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#1e293b;border-bottom:1px solid rgba(255,255,255,.06)}.hp-code-dots{display:flex;gap:6px}.hp-dot{display:inline-block;width:12px;height:12px;border-radius:50%}.hp-dot-red{background:#ef4444}.hp-dot-amber{background:#f59e0b}.hp-dot-green{background:#22c55e}.hp-code-filename{font-family:var(--mono);font-size:.78rem;color:#64748b;margin-left:.25rem}.hp-code-body{padding:1.5rem;margin:0;font-family:var(--mono);font-size:.82rem;line-height:1.75;overflow-x:auto}.hp-code-body code{font-family:inherit;background:none;border:none;padding:0;color:#c5cbe7}.hc-ann{color:#818cf8}.hc-kw{color:#7dd3fc}.hc-cls{color:#86efac}.hc-str{color:#fca5a5}.hc-fn{color:#fde68a}.hp-hero-float{position:absolute;background:#fff;border:1px solid var(--border);border-radius:10px;padding:.5rem .9rem;font-size:.82rem;font-weight:600;color:var(--text);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.4rem;animation:float-bob 3s ease-in-out infinite;z-index:2}.hp-hero-float-1{top:22%;left:0;animation-delay:0s}.hp-hero-float-2{top:22%;right:0;animation-delay:1.8s}.hp-hero-float-3{bottom:22%;left:0;animation-delay:.6s}.hp-hero-float-4{bottom:22%;right:0;animation-delay:2.4s}.hp-hero-float-5{top:0;left:50%;transform:translate(-50%);animation-delay:1.2s;animation-name:float-bob-center}@keyframes float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes float-bob-center{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-6px)}}.hp-reviews-strip{width:100%;overflow:hidden;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem 0}.hp-reviews-track{display:flex;gap:1.25rem;width:max-content;animation:reviews-scroll 40s linear infinite}.hp-reviews-strip:hover .hp-reviews-track{animation-play-state:paused}@keyframes reviews-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.hp-review-card{width:300px;flex-shrink:0;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.hp-review-text{font-size:.875rem;line-height:1.6;color:var(--text);margin:0;flex:1}.hp-review-author{display:flex;align-items:center;gap:.65rem}.hp-review-avatar{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hp-review-name{font-size:.82rem;font-weight:600;color:var(--text)}.hp-review-role{font-size:.75rem;color:var(--text-2)}.hp-paths-section{background:#fff}.hp-paths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.hp-path-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s,border-color .2s}.hp-path-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#bfdbfe}.hp-path-card-top{padding:1.75rem 1.5rem 1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid inherit}.hp-path-icon{font-size:2.2rem}.hp-path-tag{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.hp-path-card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:.75rem}.hp-path-title{font-size:1.15rem;font-weight:700;color:var(--text)}.hp-path-desc{font-size:.9rem;color:var(--text-2);line-height:1.7;flex:1}.hp-path-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem}.hp-path-lessons{font-size:.82rem;color:var(--muted)}.hp-path-cta{font-size:.88rem;font-weight:600}.hp-why-section{background:var(--bg)}.hp-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.hp-why-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.75rem 1.5rem;transition:border-color .2s,box-shadow .2s}.hp-why-card:hover{border-color:#bfdbfe;box-shadow:var(--shadow-md)}.hp-why-icon{font-size:2rem;margin-bottom:.9rem}.hp-why-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.hp-why-desc{font-size:.88rem;color:var(--text-2);line-height:1.65}.hp-tutorials-section{background:#f8fafc}.hp-tutorials-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;gap:1rem;flex-wrap:wrap}.hp-tutorials-header .hp-section-title{margin-bottom:0;text-align:left}.hp-tutorials-header .hp-section-eyebrow{text-align:left}.hp-view-all{font-size:.9rem;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap;transition:opacity .15s}.hp-view-all:hover{opacity:.7}.hp-tutorials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.tutorial-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--text);transition:transform .2s,box-shadow .2s}.tutorial-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.tutorial-card-header{padding:1.25rem 1.5rem;min-height:80px;display:flex;align-items:center}.tutorial-card-skeleton .tutorial-card-header{background:var(--surface-raised)!important}.tutorial-tag{display:inline-block;font-size:.72rem;font-weight:700;padding:.25rem .65rem;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.tutorial-card-body{padding:1.25rem 1.5rem 1.5rem;flex:1;display:flex;flex-direction:column;gap:.6rem}.tutorial-card-title{font-size:1.05rem;font-weight:700;color:var(--text);line-height:1.3}.tutorial-card-desc{font-size:.88rem;color:var(--text-2);line-height:1.65;flex:1}.tutorial-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.tutorial-card-lessons{font-size:.78rem;color:var(--muted)}.tutorial-badge-premium{font-size:.72rem;font-weight:700;color:#d97706;background:#fef3c7;border-radius:999px;padding:.15rem .55rem}.skeleton-bg{background:var(--surface-raised)}.hp-premium-section{background:var(--surface)}.hp-premium-card{display:grid;grid-template-columns:1fr 1fr;gap:4rem;background:#0f172a;border-radius:24px;padding:4rem;align-items:center}.hp-premium-eyebrow{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fbbf24;margin-bottom:1rem}.hp-premium-title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;color:#f1f5f9;line-height:1.15;letter-spacing:-.5px;margin-bottom:1rem}.hp-premium-sub{font-size:.95rem;color:#94a3b8;line-height:1.7;margin-bottom:1.75rem}.hp-premium-features{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-bottom:2rem}.hp-premium-features li{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;color:#cbd5e1;line-height:1.5}.hp-check{color:#34d399;font-weight:700;flex-shrink:0;margin-top:.05rem}.hp-btn-premium{background:#2563eb;color:#fff;border:none;border-radius:10px;padding:.85rem 2rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:var(--font);transition:background .15s,transform .15s;box-shadow:0 4px 14px #2563eb66}.hp-btn-premium:hover{background:#1d4ed8;transform:translateY(-1px)}.hp-premium-pricing-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 24px 64px #0006}.hp-price-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.75rem}.hp-price-amount{display:flex;align-items:baseline;gap:.1rem;margin-bottom:.25rem}.hp-price-currency{font-size:1.5rem;font-weight:700;color:var(--text)}.hp-price-value{font-size:3.5rem;font-weight:800;color:var(--text);letter-spacing:-2px;line-height:1}.hp-price-period{font-size:1rem;color:var(--text-2);margin-left:.25rem}.hp-price-note{font-size:.8rem;color:var(--muted);margin-bottom:1.25rem}.hp-price-divider{border:none;border-top:1px solid var(--border);margin:1rem 0}.hp-price-includes-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.75rem}.hp-price-includes{margin-bottom:1.5rem}.hp-price-item{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--text-2);padding:.3rem 0}.hp-check-blue{color:var(--accent);font-weight:700}.hp-btn-premium-full{width:100%;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.8rem;font-size:.95rem;font-weight:700;cursor:pointer;font-family:var(--font);transition:background .15s}.hp-btn-premium-full:hover{background:var(--accent-hover)}.hp-cta-section{background:linear-gradient(135deg,#1e40af,#2563eb,#3b82f6);padding:6rem 0;text-align:center}.hp-cta-inner{max-width:640px;margin:0 auto}.hp-cta-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:#fff;letter-spacing:-.5px;line-height:1.15;margin-bottom:1rem}.hp-cta-sub{font-size:1.05rem;color:#fffc;line-height:1.7;margin-bottom:2.5rem}.hp-cta-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.hp-btn-cta-primary{background:#fff;color:#1d4ed8;border:none;border-radius:10px;padding:.9rem 2rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:var(--font);transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px #00000026}.hp-btn-cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0003}.hp-btn-cta-ghost{display:inline-flex;align-items:center;background:transparent;color:#ffffffe6;border:1.5px solid rgba(255,255,255,.4);border-radius:10px;padding:.9rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}.hp-btn-cta-ghost:hover{border-color:#fff;color:#fff}@media (max-width: 1024px){.hp-paths-grid,.hp-why-grid,.hp-tutorials-grid{grid-template-columns:repeat(2,1fr)}.hp-premium-card{padding:3rem;gap:3rem}}@media (max-width: 768px){.pub-nav{display:none}.pub-mobile-menu-btn{display:flex}.hp-hero-inner{grid-template-columns:1fr;gap:3rem}.hp-hero-visual{display:none}.hp-hero{padding:4rem 0 3.5rem}.hp-paths-grid,.hp-why-grid,.hp-tutorials-grid{grid-template-columns:1fr}.hp-premium-card{grid-template-columns:1fr;padding:2.5rem 2rem;gap:2rem}.pub-footer-inner{grid-template-columns:1fr 1fr;gap:2.5rem}.pub-footer-brand{grid-column:1 / -1}.hp-section{padding:3.5rem 0}.curriculum-section-header{flex-wrap:wrap;gap:.5rem}}@media (max-width: 500px){.hp-hero-title{font-size:2rem}.hp-hero-actions{flex-direction:column}.hp-btn-primary,.hp-btn-secondary{justify-content:center;width:100%}.pub-footer-inner{grid-template-columns:1fr;gap:1.75rem}.pub-footer-brand{grid-column:auto;max-width:100%}.hp-premium-card{padding:2rem 1.25rem}.pub-header-inner{flex-wrap:wrap;gap:.5rem}.pub-header-auth{gap:.4rem}.pub-btn-signin,.pub-btn-getstarted{font-size:.82rem;padding:.38rem .7rem}.acct-page{padding:1.5rem .875rem 3rem}.acct-sub-header{flex-direction:column;align-items:flex-start}.acct-date-row{flex-direction:column;gap:.1rem}.acct-table th,.acct-table td{padding:.5rem .4rem;font-size:.8rem}.subscribe-checkout-card{padding:1.75rem 1.25rem}.subscribe-price-amount{font-size:2.4rem}}.pub-layout .subscribe-page{padding:4rem 0 6rem;min-height:60vh}.subscribe-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;max-width:880px;margin:0 auto}.subscribe-eyebrow{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.75rem}.subscribe-title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;color:var(--text);letter-spacing:-.5px;margin-bottom:.75rem}.subscribe-sub{font-size:1rem;color:var(--text-2);line-height:1.7;margin-bottom:2rem}.subscribe-features{list-style:none;display:flex;flex-direction:column;gap:.8rem}.subscribe-features li{display:flex;align-items:flex-start;gap:.6rem;font-size:.95rem;color:var(--text-2)}.subscribe-check{color:var(--green);font-weight:700;flex-shrink:0;margin-top:.05rem}.subscribe-closing{margin-top:1.5rem;font-size:.95rem;color:var(--text-2);line-height:1.7;font-style:italic}.subscribe-checkout-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2.5rem;box-shadow:0 8px 32px #00000014}.subscribe-plan-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:.6rem}.subscribe-price{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.3rem}.subscribe-price-amount{font-size:3rem;font-weight:800;color:var(--text);letter-spacing:-2px;line-height:1}.subscribe-price-period{font-size:1rem;color:var(--text-2)}.subscribe-price-note{font-size:.8rem;color:var(--muted);margin-bottom:1.25rem}.subscribe-divider{border:none;border-top:1px solid var(--border);margin:1.25rem 0}.subscribe-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:1rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:var(--font);transition:background .15s,transform .15s;box-shadow:0 4px 14px #2563eb4d;margin-bottom:1rem}.subscribe-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.subscribe-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.subscribe-spinner-wrap{display:flex;justify-content:center;margin:.5rem 0}.subscribe-secure-note{font-size:.78rem;color:var(--muted);text-align:center;margin-bottom:.4rem}.subscribe-test-note{font-size:.75rem;color:var(--muted);text-align:center;line-height:1.5}.subscribe-result{max-width:480px;margin:4rem auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.subscribe-result-icon{font-size:3.5rem;line-height:1}.subscribe-result h1{font-size:1.8rem;font-weight:800;color:var(--text)}.subscribe-result p{color:var(--text-2);line-height:1.65}.subscribe-result-actions{margin-top:.5rem}.subscribe-success .subscribe-result-icon{color:var(--green)}.subscribe-error .subscribe-result-icon{color:var(--red)}.subscribe-plan-toggle{display:flex;gap:.5rem;background:var(--bg-2);border-radius:10px;padding:4px;margin-bottom:1.25rem}.subscribe-toggle-btn{flex:1;padding:.5rem .75rem;border:none;border-radius:7px;font-size:.875rem;font-weight:600;cursor:pointer;background:transparent;color:var(--text-2);display:flex;align-items:center;justify-content:center;gap:.4rem;transition:background .15s,color .15s}.subscribe-toggle-btn.active{background:var(--bg);color:var(--text);box-shadow:0 1px 3px #0000001f}.subscribe-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.subscribe-badge-save{font-size:.7rem;font-weight:700;background:var(--green, #22c55e);color:#fff;padding:1px 6px;border-radius:20px}.subscribe-price-loading{color:var(--text-2);font-size:.9rem;padding:.5rem 0}@media (max-width: 720px){.subscribe-layout{grid-template-columns:1fr;gap:2rem}.pub-layout .subscribe-page{padding:2.5rem 0 4rem}}.acct-page{padding:2.5rem 1.25rem 4rem;max-width:720px;margin:0 auto}.pub-layout .acct-card{background:var(--surface)}.acct-heading{font-size:1.75rem;font-weight:700;margin-bottom:1.75rem}.acct-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.acct-section-title{font-size:1rem;font-weight:600;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1.25rem}.acct-profile-row{display:flex;gap:1rem;align-items:center}.acct-avatar{width:52px;height:52px;border-radius:50%;background:var(--primary, #2563eb);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;flex-shrink:0}.acct-name{font-size:1.1rem;font-weight:600;margin:0 0 .15rem}.acct-email{color:var(--text-2);font-size:.9rem;margin:0 0 .15rem}.acct-member-since{color:var(--text-3, var(--text-2));font-size:.8rem;margin:0}.acct-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:20px;letter-spacing:.03em}.acct-badge-green{background:#dcfce7;color:#166534}.acct-badge-amber{background:#fef9c3;color:#854d0e}.acct-badge-red{background:#fee2e2;color:#991b1b}.acct-badge-grey{background:var(--border);color:var(--text-2)}.acct-no-sub{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.acct-subscribe-btn{font-size:.9rem;padding:.5rem 1.25rem}.acct-sub-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.acct-plan-name{font-size:1.05rem;font-weight:600;margin:0 0 .3rem}.acct-plan-price{font-weight:400;color:var(--text-2);font-size:.9rem}.acct-access-active{font-size:.82rem;font-weight:600;color:#166534;background:#dcfce7;padding:3px 10px;border-radius:20px}.acct-status-msg{font-size:.9rem;color:var(--text-2);margin:.5rem 0 1rem;line-height:1.5}.acct-sub-dates{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.acct-date-row{display:flex;justify-content:space-between;font-size:.88rem}.acct-date-row-warn{color:#991b1b}.acct-date-label{color:var(--text-2)}.acct-cancel-btn{font-size:.85rem;color:var(--text-2);background:none;border:1px solid var(--border);border-radius:6px;padding:.4rem 1rem;cursor:pointer;transition:border-color .15s,color .15s}.acct-cancel-btn:hover{color:#dc2626;border-color:#dc2626}.acct-cancel-success{font-size:.88rem;color:#166534;background:#dcfce7;padding:.5rem .75rem;border-radius:6px;margin-top:.75rem}.acct-cancel-error{font-size:.88rem;color:#dc2626;background:#fee2e2;padding:.5rem .75rem;border-radius:6px;margin-top:.75rem}.acct-table-wrap{overflow-x:auto}.acct-table{width:100%;border-collapse:collapse;font-size:.88rem}.acct-table th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text-2);font-weight:600;white-space:nowrap}.acct-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border)}.acct-table tr:last-child td{border-bottom:none}.acct-status{color:var(--text-2)}.acct-status-error{color:#dc2626}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-box{background:var(--bg);border-radius:12px;padding:2rem;max-width:440px;width:100%;box-shadow:0 8px 32px #0000002e}.modal-title{font-size:1.15rem;font-weight:700;margin:0 0 1rem}.modal-body{font-size:.9rem;color:var(--text-2);margin:0 0 .75rem;line-height:1.55}.modal-note{font-size:.82rem}.modal-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem}.btn-danger{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:.65rem 1.25rem;font-weight:600;cursor:pointer;font-size:.9rem}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{background:none;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.6rem 1.25rem;font-weight:500;cursor:pointer;font-size:.9rem}.btn-ghost:disabled{opacity:.6;cursor:not-allowed}.policy-page{padding:3rem 0 5rem}.policy-container{max-width:780px;margin:0 auto;padding:0 1.5rem}.policy-h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;letter-spacing:-.5px;margin-bottom:.5rem}.policy-meta{color:var(--muted);font-size:.85rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.policy-container p{color:var(--text-2);line-height:1.8;margin-bottom:1rem}.policy-container h2{font-size:1.2rem;font-weight:700;color:var(--text);margin:2.5rem 0 .75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.policy-container h3{font-size:1rem;font-weight:700;color:var(--text);margin:1.5rem 0 .5rem}.policy-container ul{color:var(--text-2);line-height:1.8;margin:.5rem 0 1rem 1.5rem}.policy-container ul li{margin-bottom:.3rem}.policy-container a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.policy-container a:hover{opacity:.8}.policy-highlight{background:var(--green-dim);border:1px solid rgba(34,197,94,.25);border-radius:8px;padding:.75rem 1rem;color:var(--green)!important}.policy-contact-list{list-style:none;margin-left:0!important;display:flex;flex-direction:column;gap:.4rem}.policy-hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0 1.5rem}.policy-footer-note{font-style:italic;font-size:.85rem;color:var(--muted)!important}.about-page{padding:4rem 0 6rem}.about-container{max-width:860px;margin:0 auto;padding:0 1.5rem;display:flex;flex-direction:column;gap:4rem}.about-hero{text-align:center}.about-eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.75rem}.about-h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-.5px;margin-bottom:1.25rem}.about-lead{font-size:1.15rem;color:var(--text-2);line-height:1.75;max-width:620px;margin:0 auto}.about-mission{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;padding:2rem 2.25rem}.about-mission p{font-size:1.05rem;line-height:1.85;color:var(--text-2)}.about-mission strong{color:var(--text)}.about-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.about-pillar{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.75rem;transition:border-color .2s}.about-pillar:hover{border-color:var(--accent)}.about-pillar-icon{font-size:1.75rem;display:block;margin-bottom:.85rem}.about-pillar h3{font-size:1rem;font-weight:700;margin-bottom:.5rem}.about-pillar p{font-size:.9rem;color:var(--text-2);line-height:1.7}.about-h2{font-size:1.4rem;font-weight:700;margin-bottom:1.25rem}.about-topics-grid{display:flex;flex-wrap:wrap;gap:.65rem}.about-topic-chip{display:flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.45rem 1rem;font-size:.875rem;font-weight:500;color:var(--text-2);transition:border-color .15s,color .15s}.about-topic-chip:hover{border-color:var(--accent);color:var(--text)}.about-contact{text-align:center;padding:3rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:16px}.about-contact p{color:var(--text-2);margin:.75rem 0 1.5rem;font-size:.95rem}.about-contact-btn{display:inline-block;background:var(--accent);color:#fff;border-radius:8px;padding:.65rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s}.about-contact-btn:hover{background:var(--accent-hover)}@media (max-width: 600px){.about-pillars{grid-template-columns:1fr}.about-mission{padding:1.5rem}.about-contact{padding:2rem 1.25rem}}.contact-page{padding:4rem 0 6rem;display:flex;align-items:center;justify-content:center;min-height:60vh}.contact-container{max-width:560px;width:100%;margin:0 auto;padding:0 1.5rem;text-align:center}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem;margin-top:2.5rem;display:flex;flex-direction:column;gap:1.75rem}.contact-body{font-size:.975rem;color:var(--text-2);line-height:1.8}.contact-email-block{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;background:var(--accent-dim);border:1px solid rgba(37,99,235,.2);border-radius:12px}.contact-email-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-2)}.contact-email-link{font-size:1.05rem;font-weight:700;color:var(--accent);text-decoration:none;transition:opacity .15s}.contact-email-link:hover{opacity:.75}.contact-note{font-size:.875rem;color:var(--muted);line-height:1.7}.quiz-block{margin-top:2.5rem;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.quiz-block-header{padding:1.25rem 1.5rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-raised, var(--surface))}.quiz-block-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .55rem;border-radius:4px;margin-bottom:.5rem}.quiz-block-title{font-size:1.1rem;font-weight:700;margin:0 0 .15rem}.quiz-block-subtitle{font-size:.82rem;color:var(--muted);margin:0}.quiz-score-banner{padding:.75rem 1.5rem;font-weight:600;font-size:.95rem}.quiz-score-banner.perfect{background:#dcfce7;color:#166534}.quiz-score-banner.pass{background:#dbeafe;color:#1e40af}.quiz-score-banner.fail{background:#fef9c3;color:#854d0e}@media (prefers-color-scheme: dark){.quiz-score-banner.perfect{background:#14532d;color:#bbf7d0}.quiz-score-banner.pass{background:#1e3a8a;color:#bfdbfe}.quiz-score-banner.fail{background:#713f12;color:#fef08a}}.quiz-questions{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.quiz-q{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:1rem 1.25rem}.quiz-q.answered-correct{border-color:#22c55e}.quiz-q.answered-wrong{border-color:#ef4444}.quiz-q-label{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;margin-bottom:.75rem}.quiz-q-index{flex-shrink:0;width:1.6rem;height:1.6rem;background:var(--accent);color:#fff;border-radius:50%;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}.quiz-options{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.quiz-option-btn{width:100%;text-align:left;padding:.6rem .9rem;border:1.5px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;gap:.65rem;font-size:.9rem;transition:border-color .15s,background .15s}.quiz-option-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-dim, #eff6ff)}.quiz-option-btn.selected{border-color:var(--accent);background:var(--accent-dim, #eff6ff)}.quiz-option-btn.correct{border-color:#22c55e;background:#f0fdf4;color:#166534}.quiz-option-btn.wrong{border-color:#ef4444;background:#fef2f2;color:#991b1b}.quiz-option-btn:disabled{cursor:default}.quiz-opt-marker{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;flex-shrink:0}.quiz-option-btn.correct .quiz-opt-marker{background:#22c55e;border-color:#22c55e}.quiz-option-btn.wrong .quiz-opt-marker{background:#ef4444;border-color:#ef4444}.quiz-option-btn.selected .quiz-opt-marker{background:var(--accent);border-color:var(--accent)}.quiz-explanation{margin-top:.85rem;padding:.65rem .9rem;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:0 6px 6px 0;font-size:.87rem;color:#78350f;display:flex;gap:.5rem;align-items:flex-start}.quiz-exp-icon{flex-shrink:0}@media (prefers-color-scheme: dark){.quiz-explanation{background:#451a03;color:#fde68a;border-color:#d97706}}.quiz-q-footer{margin-top:1rem;display:flex;align-items:center;justify-content:flex-end;gap:.75rem}.quiz-q-footer .btn-primary{padding:.45rem 1.25rem;font-size:.875rem}.quiz-q-warning{font-size:.82rem;color:#ef4444}.quiz-block-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.75rem}.quiz-error{color:#ef4444;font-size:.87rem;padding:0 1.5rem .5rem;margin:0}.quiz-editor{display:flex;flex-direction:column;gap:1rem}.quiz-editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.quiz-editor-header h3{margin:0;font-size:1rem;font-weight:600}.quiz-empty{color:var(--muted);font-size:.9rem}.quiz-questions-list{display:flex;flex-direction:column;gap:.75rem}.quiz-question-card{border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem;background:var(--bg)}.quiz-q-header{display:flex;align-items:flex-start;gap:.65rem}.quiz-q-num{font-size:.75rem;font-weight:700;color:var(--accent);flex-shrink:0;padding-top:.1rem}.quiz-q-text{flex:1;font-weight:500;font-size:.9rem}.quiz-q-actions{display:flex;gap:.75rem;flex-shrink:0}.quiz-options-preview{margin:.5rem 0 0 1.4rem;padding:0;list-style:none;font-size:.82rem;color:var(--muted)}.quiz-options-preview li.correct{color:#16a34a;font-weight:600}.quiz-explanation-preview{font-size:.8rem;color:#b45309;margin:.35rem 0 0 1.4rem}.quiz-add-btn{margin-top:.25rem}.quiz-question-form{border:1px solid var(--accent);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;background:var(--surface)}.quiz-question-form h4{margin:0;font-size:.95rem;font-weight:600}.quiz-hint{font-weight:400;font-size:.78rem;color:var(--muted)}.quiz-option-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.quiz-option-row input[type=radio]{flex-shrink:0;accent-color:var(--accent)}.quiz-option-row input[type=text]{flex:1}.quiz-form-actions{display:flex;gap:.75rem}.btn-danger-sm{padding:.35rem .75rem;background:transparent;border:1.5px solid #ef4444;color:#ef4444;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-danger-sm:hover{background:#fef2f2}.link-btn.danger{color:#ef4444}.quiz-node-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:2px dashed var(--border);border-radius:8px;background:var(--surface);cursor:default;-webkit-user-select:none;user-select:none;margin:.5rem 0}.quiz-node-preview.quiz-node-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.quiz-node-icon{font-size:1.5rem;flex-shrink:0}.quiz-node-info{flex:1}.quiz-node-id{font-size:.82rem;color:var(--muted);margin-top:.1rem}.quiz-node-missing{border-color:#ef4444;background:#fef2f2}.quiz-node-actions{display:flex;align-items:center;gap:.5rem}.quiz-node-hint{font-size:.78rem;color:var(--muted)}.quiz-node-edit-btn{background:none;border:1px solid var(--border);cursor:pointer;color:var(--accent);font-size:.78rem;padding:.2rem .5rem;border-radius:4px;font-weight:600}.quiz-node-edit-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.quiz-node-remove-btn{background:none;border:none;cursor:pointer;color:var(--muted);font-size:.9rem;padding:.2rem .4rem;border-radius:4px;line-height:1}.quiz-node-remove-btn:hover{color:#ef4444;background:#fef2f2}.quiz-editor-id{font-size:.78rem;color:var(--muted);font-weight:400;margin-left:.25rem}.rte-quiz-panel{border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;background:var(--surface);padding:1rem 1.25rem 1.25rem}.rte-quiz-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;font-weight:600;font-size:.95rem}.rte-quiz-panel-close{background:none;border:none;cursor:pointer;color:var(--muted);font-size:1rem;padding:.2rem .4rem;border-radius:4px}.rte-quiz-panel-close:hover{color:var(--text);background:var(--border)}.sidebar-quiz-item{display:flex;align-items:center;gap:.4rem;padding:.3rem .75rem .3rem 1.5rem;font-size:.82rem;color:var(--muted);text-decoration:none;border-radius:6px;transition:background .15s,color .15s;margin-top:.1rem}.sidebar-quiz-item:hover{background:var(--surface);color:var(--text)}.sidebar-quiz-item.sidebar-lesson-active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.sidebar-quiz-icon{font-size:.85rem;flex-shrink:0}.lesson-preview-page{min-height:100vh;background:var(--bg)}.preview-draft-banner{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.75rem;padding:.6rem 1.5rem;background:color-mix(in srgb,var(--amber, #f59e0b) 15%,var(--surface));border-bottom:2px solid var(--amber, #f59e0b);font-size:.85rem;flex-wrap:wrap}.preview-draft-label{font-weight:700;color:var(--amber, #b45309);white-space:nowrap}.preview-draft-hint{color:var(--text-muted);flex:1}.preview-back-link{margin-left:auto;white-space:nowrap;color:var(--accent);text-decoration:none;font-weight:600}.preview-back-link:hover{text-decoration:underline}.preview-loading{display:flex;align-items:center;justify-content:center;min-height:60vh}.sidebar-lesson-check{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0;font-size:.7rem;line-height:1;color:var(--text-muted)}.sidebar-lesson-visited .sidebar-lesson-check{color:#22c55e}.sidebar-lesson-visited{color:var(--text-muted)}.course-progress-bar-wrap{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.course-progress-bar{flex:1;height:8px;background:var(--border);border-radius:99px;overflow:hidden;max-width:280px}.course-progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .4s ease}.course-progress-label{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.curriculum-lesson-check{font-size:.78rem;width:1.2rem;flex-shrink:0;color:var(--text-muted)}.curriculum-lesson-visited .curriculum-lesson-check{color:#22c55e}.curriculum-lesson-visited .curriculum-lesson-title{color:var(--text-muted)}.curriculum-lesson-link{display:flex;align-items:center;gap:.5rem}.hp-continue-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.hp-continue-header{margin-bottom:1.5rem}.hp-continue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.hp-continue-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}.hp-continue-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hp-continue-card-top{height:60px;display:flex;align-items:center;padding:0 1.25rem}.hp-continue-icon{font-size:1.5rem}.hp-continue-card-body{padding:1.25rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.hp-continue-title{font-size:1rem;font-weight:600;color:var(--text);margin:0}.hp-continue-last{font-size:.8rem;color:var(--text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp-progress-bar-wrap{display:flex;align-items:center;gap:.6rem}.hp-progress-bar{flex:1;height:6px;background:var(--border);border-radius:99px;overflow:hidden}.hp-progress-fill{height:100%;border-radius:99px;transition:width .4s ease}.hp-progress-label{font-size:.75rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.hp-continue-btn{display:inline-block;margin-top:.25rem;padding:.5rem 1rem;border:1.5px solid;border-radius:8px;font-size:.85rem;font-weight:500;text-decoration:none;text-align:center;transition:background .15s,color .15s}.hp-continue-btn:hover{opacity:.85}.quiz-editor-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.quiz-editor-header-actions{display:flex;align-items:center;gap:.5rem}.quiz-premium-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;border-radius:99px;font-size:.8rem;font-weight:600;cursor:pointer;border:1.5px solid;transition:background .15s,color .15s,border-color .15s}.quiz-premium-toggle:disabled{opacity:.6;cursor:not-allowed}.quiz-premium-toggle-on{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#b45309;border-color:#f59e0b}.quiz-premium-toggle-on:hover:not(:disabled){background:color-mix(in srgb,#f59e0b 25%,transparent)}.quiz-premium-toggle-off{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);border-color:var(--accent)}.quiz-premium-toggle-off:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,transparent)}
