.landing-page{color:#0f172a;background:radial-gradient(circle at 0 0,#22c55e24,#0000 28%),radial-gradient(circle at 100% 0,#3b82f62e,#0000 32%),linear-gradient(#f3f7ff 0%,#eef4ff 24%,#f8fafc 100%);position:relative;overflow:hidden}.landing-page,.landing-page *{box-sizing:border-box}.landing-page:before,.landing-page:after{content:"";pointer-events:none;filter:blur(14px);opacity:.55;border-radius:999px;position:absolute;inset:auto}.landing-page:before{background:#38bdf82e;width:22rem;height:22rem;top:3rem;right:-8rem}.landing-page:after{background:#22c55e26;width:18rem;height:18rem;bottom:8rem;left:-6rem}body.dark .landing-page{color:#e2e8f0;background:radial-gradient(circle at 0 0,#10b9811f,#0000 28%),radial-gradient(circle at 100% 0,#3b82f629,#0000 32%),linear-gradient(#09111f 0%,#08101d 24%,#0b1324 100%)}.landing-hero,.landing-section{z-index:1;max-width:1240px;margin:0 auto;padding-left:1.25rem;padding-right:1.25rem;position:relative}.landing-hero{grid-template-columns:minmax(0,1.14fr) minmax(300px,.86fr);align-items:center;gap:2rem;padding-top:3rem;padding-bottom:4rem;display:grid}.landing-badge,.landing-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:#0f172a;background:#0f172a0f;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}body.dark .landing-badge,body.dark .landing-eyebrow{color:#e2e8f0;background:#94a3b824}.landing-hero h1{letter-spacing:-.04em;max-width:12ch;margin-top:1rem;font-size:clamp(2.45rem,4.35vw,4.15rem);line-height:1.02}.landing-hero__lead{color:#334155;max-width:64ch;margin-top:1.25rem;font-size:1.08rem;line-height:1.75}body.dark .landing-hero__lead{color:#cbd5e1}.landing-hero__actions,.final-cta__actions{flex-wrap:wrap;gap:.9rem;margin-top:2rem;display:flex}.landing-button{border:1px solid #0000;border-radius:1rem;justify-content:center;align-items:center;min-height:3.25rem;padding:.85rem 1.4rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.landing-button:hover{transform:translateY(-2px)}.landing-button--primary{color:#eff6ff;background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);box-shadow:0 18px 45px #2563eb38}.landing-button--ghost{color:#0f172a;background:#ffffffb3;border-color:#94a3b873}body.dark .landing-button--ghost{color:#e2e8f0;background:#0f172a73;border-color:#64748b73}.landing-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:2rem;list-style:none;display:grid}.landing-hero__stats li{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb8;border:1px solid #94a3b833;border-radius:1.2rem;padding:1rem}body.dark .landing-hero__stats li{background:#0f172ab8;border-color:#47556980}.landing-hero__stats strong{margin-bottom:.35rem;font-size:1rem;display:block}.landing-hero__stats span{color:#475569;font-size:.9rem;line-height:1.5}body.dark .landing-hero__stats span{color:#cbd5e1}.landing-hero__visual{gap:1rem;min-width:0;display:grid}.hero-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border:1px solid #94a3b838;border-radius:1.5rem;min-width:0;box-shadow:0 18px 50px #0f172a14}body.dark .hero-panel{background:#0f172ad1;border-color:#47556980;box-shadow:0 18px 50px #02081759}.hero-panel__label{letter-spacing:.08em;text-transform:uppercase;color:#64748b;padding:1rem 1.25rem 0;font-size:.78rem;font-weight:800}body.dark .hero-panel__label{color:#94a3b8}.hero-panel--graph{padding:0 1.25rem 1.25rem}.hero-node{color:#0f172a;background:linear-gradient(135deg,#e2e8f0 0%,#f8fafc 100%);border-radius:1rem;margin-top:1rem;padding:1rem 1.1rem;font-weight:700;position:relative}body.dark .hero-node{color:#e2e8f0;background:linear-gradient(135deg,#172033 0%,#0f172a 100%)}.hero-node--accent{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.hero-node--success{background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%)}body.dark .hero-node--accent{background:linear-gradient(135deg,#16335d 0%,#1d4ed8 100%)}body.dark .hero-node--success{background:linear-gradient(135deg,#14532d 0%,#166534 100%)}.hero-link{background:linear-gradient(#38bdf8 0%,#22c55e 100%);width:2px;height:1.25rem;margin:.2rem 0 0 1.2rem}.hero-panel--code{padding-bottom:1.25rem}.hero-panel--code pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:#0f172a;background:#f8fafc;border:1px solid #94a3b838;border-radius:1.1rem;margin:1rem 1.25rem 0;padding:1.25rem;font-size:.94rem;line-height:1.7;overflow-x:auto}body.dark .hero-panel--code pre{color:#dbeafe;background:#0f172a;border-color:#47556961}.landing-hero h1,.landing-hero__lead,.landing-hero__stats span,.landing-hero__stats strong,.landing-section__header h2,.landing-section__header p,.course-callout h2,.course-callout p,.final-cta h2,.final-cta p,.info-card h3,.info-card p,.module-card h3,.module-card p,.path-item p{overflow-wrap:anywhere;word-break:break-word}.landing-section{padding-top:1.5rem;padding-bottom:1.5rem}.landing-section__header{max-width:62rem;margin-bottom:1.5rem}.landing-section__header h2,.course-callout h2,.final-cta h2{letter-spacing:-.03em;margin-top:.9rem;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.landing-section__header p,.course-callout p,.final-cta p,.info-card p,.module-card p,.path-item p{color:#475569;margin-top:.9rem;line-height:1.75}body.dark .landing-section__header p,body.dark .course-callout p,body.dark .final-cta p,body.dark .info-card p,body.dark .module-card p,body.dark .path-item p{color:#cbd5e1}.advantages-grid,.modules-grid{gap:1rem;display:grid}.advantages-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.modules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-card,.module-card,.course-callout,.final-cta{background:#fffc;border:1px solid #94a3b833;border-radius:1.6rem;box-shadow:0 18px 45px #0f172a0f}body.dark .info-card,body.dark .module-card,body.dark .course-callout,body.dark .final-cta{background:#0f172ad6;border-color:#47556973;box-shadow:0 18px 45px #02081747}.info-card,.module-card{padding:1.35rem}.info-card h3,.module-card h3{font-size:1.15rem;line-height:1.35}.course-callout,.final-cta{padding:1.5rem}.course-callout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:1.5rem;display:grid}.course-callout__path{gap:.9rem;display:grid}.path-item{background:#94a3b814;border-radius:1rem;align-items:flex-start;gap:.85rem;padding:.95rem 1rem;display:flex}body.dark .path-item{background:#94a3b814}.path-item__dot{background:linear-gradient(135deg,#2563eb 0%,#22c55e 100%);border-radius:999px;flex:none;width:.8rem;height:.8rem;margin-top:.45rem}.path-item p{margin-top:0}.module-card{gap:.55rem;display:grid}.module-card__number{letter-spacing:.08em;color:#1d4ed8;background:#2563eb1a;border-radius:999px;width:fit-content;padding:.35rem .6rem;font-size:.8rem;font-weight:800;display:inline-flex}body.dark .module-card__number{color:#93c5fd;background:#60a5fa24}.final-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.5rem;margin-bottom:2rem;display:grid}@media (width<=1100px){.landing-hero,.landing-hero__stats,.advantages-grid,.modules-grid,.course-callout,.final-cta{grid-template-columns:1fr}}@media (width<=768px){.landing-hero{gap:1.25rem;padding-top:2rem;padding-bottom:3rem}.landing-hero h1{max-width:none}.landing-hero__stats{grid-template-columns:1fr}.landing-section{padding-top:1rem;padding-bottom:1rem}.landing-button{width:100%}}@media (width<=480px){.landing-hero,.landing-section{padding-left:.9rem;padding-right:.9rem}.landing-hero{padding-top:1.35rem;padding-bottom:2.2rem}.landing-badge,.landing-eyebrow{padding:.38rem .68rem;font-size:.72rem}.landing-hero h1{letter-spacing:-.03em;font-size:clamp(1.85rem,10vw,2.45rem);line-height:1.06}.landing-hero__lead{font-size:.96rem;line-height:1.6}.landing-hero__actions,.final-cta__actions,.landing-hero__stats{margin-top:1.2rem}.landing-hero__stats li,.info-card,.module-card,.course-callout,.final-cta{padding:1rem}.hero-panel{border-radius:1.2rem}.hero-panel--graph{padding:0 .9rem .9rem}.hero-panel__label{padding:.9rem .9rem 0;font-size:.72rem}.hero-node{padding:.8rem .9rem;font-size:.92rem}.hero-panel--code pre{margin:.9rem .9rem 0;padding:.9rem;font-size:.82rem;line-height:1.55}}.dashboard{background:#f5f5f5;min-height:100vh}.dashboard-nav{z-index:100;background:#fff;width:100%;position:fixed;top:0;box-shadow:0 2px 10px #0000001a}.dashboard-nav .nav-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex}.dashboard-nav .logo{color:#667eea}.user-info{align-items:center;gap:1.5rem;display:flex}.user-info span{color:#333;font-weight:500}.logout-btn{color:#666;border-radius:5px;padding:.5rem 1rem;text-decoration:none;transition:all .3s}.logout-btn:hover{color:#333;background:#f0f0f0}.dashboard-content{min-height:calc(100vh - 70px);margin-top:70px;display:flex}.sidebar{background:#fff;border-right:1px solid #e0e0e0;width:250px;height:calc(100vh - 70px);padding:2rem 0;position:fixed;overflow-y:auto}.user-profile{text-align:center;border-bottom:1px solid #e0e0e0;padding:0 1.5rem 2rem}.avatar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2rem;display:flex}.user-profile h3{color:#333;margin-bottom:.25rem}.user-profile p{color:#666;font-size:.9rem}.sidebar-nav{padding:2rem 0}.sidebar-nav button{text-align:left;color:#666;cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;width:100%;padding:1rem 2rem;font-size:1rem;transition:all .3s;display:block}.sidebar-nav button:hover{color:#667eea;background:#f8f9fa}.sidebar-nav button.active{color:#667eea;background:#f0f4ff;border-left-color:#667eea}.main-content{flex:1;margin-left:250px;padding:2rem}.lessons-tab h2,.progress-tab h2,.keys-tab h2{color:#333;margin-bottom:2rem}.progress-bar{background:#e0e0e0;border-radius:5px;width:100%;height:10px;margin-bottom:.5rem;overflow:hidden}.progress-bar .progress{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:5px;height:100%;transition:width .3s}.progress-bar.small{height:5px}.progress-text{color:#666;margin-bottom:2rem}.lessons-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.lesson-card{color:inherit;background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:1.5rem;text-decoration:none;transition:transform .3s,box-shadow .3s}.lesson-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.lesson-status{margin-bottom:1rem;font-size:2rem}.lesson-card h3{color:#333;margin-bottom:.5rem;font-size:1.2rem}.lesson-card p{color:#666;margin-bottom:1rem;font-size:.9rem;line-height:1.5}.lesson-meta{color:#999;justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.start-lesson{color:#667eea;font-weight:500}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.stat-card{text-align:center;background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:2rem}.stat-value{color:#667eea;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.stat-label{color:#666}.lesson-progress-list{background:#fff;border:1px solid #e0e0e0;border-radius:10px;overflow:hidden}.lesson-progress-item{border-bottom:1px solid #e0e0e0;padding:1rem 1.5rem}.lesson-progress-item:last-child{border-bottom:none}.lesson-info{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.lesson-info h4{color:#333;font-size:1rem}.lesson-info span{border-radius:15px;padding:.25rem .75rem;font-size:.9rem}.lesson-info .completed{color:#00a86b;background:#e6f7e6}.lesson-info .not-completed{color:#ff9800;background:#fff3e0}.generate-key-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:5px;margin-bottom:2rem;padding:1rem 2rem;font-size:1rem;transition:opacity .3s}.generate-key-btn:hover{opacity:.9}.keys-table{background:#fff;border:1px solid #e0e0e0;border-radius:10px;overflow:hidden}.keys-table table{border-collapse:collapse;width:100%}.keys-table th,.keys-table td{text-align:left;border-bottom:1px solid #e0e0e0;padding:1rem}.keys-table th{color:#333;background:#f8f9fa;font-weight:600}.keys-table td{color:#666}.keys-table code{background:#f0f0f0;border-radius:3px;padding:.25rem .5rem;font-family:monospace}.status-badge{border-radius:15px;padding:.25rem .75rem;font-size:.9rem}.status-badge.active{color:#00a86b;background:#e6f7e6}.status-badge.used{color:#f44336;background:#ffebee}@media (width<=768px){.dashboard-content{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.main-content{margin-left:0}.sidebar-nav{padding:1rem;display:flex}.sidebar-nav button{text-align:center;border-bottom:3px solid #0000;border-left:none;flex:1;padding:.75rem}.sidebar-nav button.active{border-bottom-color:#667eea;border-left-color:#0000}}.lesson-page{background:0 0;min-height:100vh}.lesson-container{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:1rem;max-width:1240px;margin:0 auto;padding:1.5rem 1rem 2rem;display:grid}.lesson-container--theory-only{grid-template-columns:minmax(0,1fr);justify-items:center}.lesson-content,.lesson-task-area,.lesson-note{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 45px #0f172a0d}.lesson-content,.lesson-task-area{padding:1.25rem}.lesson-content--centered{width:100%;max-width:860px}.lesson-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.back-link{color:#2563eb;font-weight:600;text-decoration:none}.lesson-header h1{color:#0f172a;margin:.7rem 0 .35rem;font-size:clamp(1.6rem,4vw,2.4rem)}.lesson-subtitle{color:#64748b}.lesson-header__meta{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.theme-tag,.format-tag{border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.theme-tag{color:#1d4ed8;background:#eff6ff}.format-tag--theory{color:#334155;background:#f1f5f9}.format-tag--practice{color:#166534;background:#dcfce7}.lesson-video{margin-bottom:1rem}.video-player{aspect-ratio:16/9;background:#0f172a;border-radius:18px;overflow:hidden}.video-placeholder{color:#e2e8f0;background:linear-gradient(135deg,#111827 0%,#0f172a 100%);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;display:flex}.play-button{background:#ffffff24;border-radius:999px;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.8rem;display:inline-flex}.lesson-text{gap:1rem;display:grid}.lesson-text h2{color:#0f172a;margin-bottom:.35rem}.lesson-text p,.compact-points li,.module-practice-inline li,.task-box p{color:#475569;line-height:1.75}.theory-list{gap:.7rem;display:grid}.lesson-note{padding:1rem}.module-practice-inline,.compact-points{gap:.45rem;margin-top:.65rem;padding-left:1.2rem;display:grid}.task-switcher{gap:.5rem;margin-bottom:1rem;display:flex}.task-switcher button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;flex:1;padding:.6rem;font-weight:600}.task-switcher .active{background:#eff6ff;border-color:#2563eb}.task-box{gap:1rem;display:grid}.task-box h2{color:#0f172a}.code-editor{border:1px solid #d1d5db;border-radius:14px;overflow:hidden}.code-input{resize:vertical;color:#dbeafe;background:#0f172a;border:none;width:100%;min-height:260px;padding:1rem;font-family:Consolas,Monaco,monospace;line-height:1.6}.code-input:focus{outline:none}.code-controls{gap:.75rem;display:flex}.check-button,.next-lesson-btn{color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.75rem 1rem;font-weight:700}.check-button{background:linear-gradient(135deg,#4f46e5 0%,#2563eb 100%)}.next-lesson-btn{background:linear-gradient(135deg,#0ea5e9 0%,#2563eb 100%)}.task-status{color:#0c4a6e;background:#e0f2fe;border-radius:14px;padding:.9rem 1rem}body.dark .lesson-content,body.dark .lesson-task-area,body.dark .lesson-note{background:#111827;border-color:#334155;box-shadow:0 18px 45px #02081747}body.dark .lesson-header h1,body.dark .lesson-text h2,body.dark .task-box h2{color:#f8fafc}body.dark .lesson-subtitle,body.dark .lesson-text p,body.dark .compact-points li,body.dark .module-practice-inline li,body.dark .task-box p{color:#cbd5e1}body.dark .back-link{color:#93c5fd}body.dark .theme-tag{color:#93c5fd;background:#60a5fa24}body.dark .format-tag--theory{color:#cbd5e1;background:#1e293b}body.dark .format-tag--practice{color:#86efac;background:#4ade8024}body.dark .task-switcher button{color:#e2e8f0;background:#0b1220;border-color:#334155}body.dark .task-switcher .active{background:#1d4ed8;border-color:#3b82f6}body.dark .code-editor{border-color:#334155}body.dark .task-status{color:#ecfeff;background:#164e63}@media (width<=1024px){.lesson-container{grid-template-columns:1fr}}@media (width<=768px){.lesson-header{flex-direction:column}.lesson-header__meta,.task-switcher{width:100%}}.auth-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-card{background:#fff;border-radius:10px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 10px 40px #0000001a}.auth-card h2{text-align:center;color:#333;margin-bottom:2rem;font-size:1.8rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#333;margin-bottom:.5rem;font-weight:500;display:block}.form-group input{border:2px solid #e0e0e0;border-radius:5px;width:100%;padding:.75rem;font-size:1rem;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none}.auth-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:5px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:opacity .3s}.auth-button:hover{opacity:.9}.auth-link{text-align:center;color:#666;margin-top:1.5rem}.auth-link a{color:#667eea;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}body.dark .auth-card{background:#1f2937;border:1px solid #374151}body.dark .auth-card h2,body.dark .form-group label,body.dark .auth-link{color:#f8fafc}body.dark .form-group input{color:#f8fafc;background:#111827;border-color:#374151}body.dark .form-group input::placeholder{color:#94a3b8}body.dark .form-group input:focus{border-color:#60a5fa}.plugin-page{gap:1.5rem;max-width:1240px;margin:90px auto 40px;padding:0 1rem;display:grid}.plugin-page,.plugin-page *{box-sizing:border-box}.plugin-hero{background:radial-gradient(circle at 0 0,#22c55e1f,#0000 30%),radial-gradient(circle at 100% 0,#3b82f629,#0000 34%),linear-gradient(#f3f7ff 0%,#eef4ff 40%,#f8fafc 100%);border:1px solid #94a3b82e;border-radius:28px;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:1.2rem;padding:1.5rem;display:grid;position:relative;overflow:hidden}.plugin-hero__content,.plugin-hero__visual,.plugin-panel,.plugin-card,.capability-card,.shot-card,.install-tile,.doc-link,.plugin-description-block{min-width:0}.plugin-badge,.plugin-eyebrow{color:#1d4ed8;text-transform:uppercase;letter-spacing:.04em;background:#2563eb1a;border-radius:999px;width:fit-content;padding:.4rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}.plugin-hero h1{letter-spacing:-.035em;color:#0f172a;margin:1rem 0;font-size:clamp(2rem,4vw,3.5rem);line-height:1.04}.plugin-hero p,.plugin-card__head p,.capability-card p,.plugin-description-block p,.plugin-list li,.shot-card p,.install-tile span,.doc-link small,.plugin-hero__stats span{color:#475569;line-height:1.75}.plugin-hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.6rem;display:grid}.plugin-hero__stats div,.plugin-panel,.plugin-card,.capability-card,.shot-card,.install-tile,.doc-link,.plugin-description-block{background:#ffffffd1;border:1px solid #94a3b833;box-shadow:0 18px 45px #0f172a0d}.plugin-hero__stats div{border-radius:18px;align-content:start;gap:.35rem;padding:1rem;display:grid}.plugin-hero__stats strong,.plugin-card__head h2,.capability-card h3,.plugin-description-block h3,.shot-card h3,.install-tile strong,.doc-link strong,.plugin-panel__label{color:#0f172a}.plugin-hero__stats strong{font-size:1rem;line-height:1.35;display:block}.plugin-hero__stats span{font-size:.92rem;display:block}.plugin-hero__visual{gap:1rem;display:grid}.plugin-panel{border-radius:22px;padding:1rem 1.1rem}.plugin-panel__label{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:800}.plugin-node{color:#0f172a;background:linear-gradient(135deg,#e2e8f0 0%,#f8fafc 100%);border-radius:16px;margin-top:.9rem;padding:.95rem 1rem;font-weight:700}.plugin-node--accent{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.plugin-node--success{background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%)}.plugin-link{background:linear-gradient(#38bdf8 0%,#22c55e 100%);width:2px;height:1.2rem;margin:.2rem 0 0 1.2rem}.plugin-panel--code pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:#0f172a;background:#fffffff5;border:1px solid #94a3b838;border-radius:18px;margin-top:1rem;padding:1rem;line-height:1.7;overflow-x:auto}.plugin-hero h1,.plugin-hero p,.plugin-hero__stats strong,.plugin-hero__stats span,.plugin-card__head h2,.plugin-card__head p,.capability-card h3,.capability-card p,.plugin-description-block h3,.plugin-description-block p,.plugin-list li,.shot-card h3,.shot-card p,.install-tile strong,.install-tile span,.doc-link strong,.doc-link small,.plugin-panel__label,.plugin-node,.shot-placeholder{overflow-wrap:anywhere;word-break:break-word}.plugin-section-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;display:grid}.plugin-card{border-radius:24px;padding:1.35rem}.plugin-card__head h2{margin:.85rem 0 .55rem;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.1}.install-grid,.capabilities-grid,.screenshots-grid,.plugin-description-layout{gap:1rem;display:grid}.install-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.install-tile,.doc-link{border-radius:20px;text-decoration:none}.install-tile{background:linear-gradient(135deg,#dbeafe 0%,#eef6ff 52%,#dcfce7 100%);border-color:#3b82f642;gap:.45rem;padding:1.2rem;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 18px 45px #2563eb1f}.install-tile:hover,.doc-link:hover{transform:translateY(-2px);box-shadow:0 20px 48px #2563eb2e}.doc-link{background:linear-gradient(135deg,#fff7ed 0%,#fef3c7 52%,#ffedd5 100%);border-color:#f9731647;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;margin-top:1rem;padding:1rem 1.1rem;display:grid;box-shadow:0 18px 45px #f973161f}.doc-link__icon{color:#c2410c;background:#ffffffb8;border-radius:14px;justify-content:center;align-items:center;width:3rem;height:3rem;font-weight:800;display:inline-flex}.doc-link span{display:grid}.capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.capability-card,.shot-card,.plugin-description-block{border-radius:20px;padding:1.1rem}.plugin-description-layout{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.plugin-list{gap:.45rem;margin-top:.8rem;padding-left:1.15rem;display:grid}.screenshots-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.shot-placeholder{color:#334155;background:linear-gradient(135deg,#dbeafea6 0%,#dcfce766 100%);border:2px dashed #cbd5e1;border-radius:18px;justify-content:center;align-items:center;min-height:180px;margin-bottom:1rem;font-weight:700;display:flex}body.dark .plugin-page{color:#f8fafc}body.dark .plugin-hero{background:radial-gradient(circle at 0 0,#10b9811f,#0000 30%),radial-gradient(circle at 100% 0,#3b82f629,#0000 34%),linear-gradient(#09111f 0%,#08101d 40%,#0b1324 100%);border-color:#4755696b}body.dark .plugin-badge,body.dark .plugin-eyebrow{color:#93c5fd;background:#60a5fa24}body.dark .plugin-hero h1,body.dark .plugin-hero__stats strong,body.dark .plugin-card__head h2,body.dark .capability-card h3,body.dark .plugin-description-block h3,body.dark .shot-card h3,body.dark .install-tile strong,body.dark .doc-link strong,body.dark .plugin-panel__label{color:#f8fafc}body.dark .plugin-hero p,body.dark .plugin-card__head p,body.dark .capability-card p,body.dark .plugin-description-block p,body.dark .plugin-list li,body.dark .shot-card p,body.dark .install-tile span,body.dark .doc-link small,body.dark .plugin-hero__stats span{color:#cbd5e1}body.dark .plugin-hero__stats div,body.dark .plugin-panel,body.dark .plugin-card,body.dark .capability-card,body.dark .shot-card,body.dark .plugin-description-block{background:#0f172ad6;border-color:#47556973;box-shadow:0 18px 45px #02081747}body.dark .install-tile{background:linear-gradient(135deg,#1e40afc7 0%,#0e7490bd 55%,#15803dbd 100%);border-color:#7dd3fc57;box-shadow:0 18px 45px #082f4957}body.dark .doc-link{background:linear-gradient(135deg,#9a3412d1 0%,#c2410cc2 50%,#92400ed6 100%);border-color:#fdba7457;box-shadow:0 18px 45px #43140757}body.dark .plugin-node{color:#e2e8f0;background:linear-gradient(135deg,#172033 0%,#0f172a 100%)}body.dark .plugin-node--accent{background:linear-gradient(135deg,#16335d 0%,#1d4ed8 100%)}body.dark .plugin-node--success{background:linear-gradient(135deg,#14532d 0%,#166534 100%)}body.dark .plugin-panel--code pre{color:#dbeafe;background:#0f172a;border-color:#47556961}body.dark .doc-link__icon{color:#fdba74;background:#ffedd524}body.dark .shot-placeholder{color:#cbd5e1;background:linear-gradient(135deg,#1e293be6 0%,#0f172ae6 100%);border-color:#334155}@media (width<=1024px){.plugin-hero,.plugin-section-grid,.capabilities-grid,.screenshots-grid,.plugin-description-layout{grid-template-columns:1fr}}@media (width<=768px){.plugin-hero__stats,.install-grid{grid-template-columns:1fr}.plugin-hero{padding:1.1rem}}@media (width<=480px){.plugin-page{gap:1rem;margin-top:78px;padding:0 .85rem}.plugin-hero,.plugin-card{border-radius:20px;padding:1rem}.plugin-badge,.plugin-eyebrow{padding:.35rem .68rem;font-size:.72rem}.plugin-hero h1{letter-spacing:-.025em;font-size:clamp(1.75rem,9vw,2.35rem);line-height:1.08}.plugin-hero p,.plugin-card__head p,.capability-card p,.plugin-description-block p,.plugin-list li,.shot-card p,.install-tile span,.doc-link small,.plugin-hero__stats span{font-size:.95rem;line-height:1.6}.plugin-hero__stats{gap:.6rem;margin-top:1.1rem}.plugin-hero__stats div,.capability-card,.shot-card,.plugin-description-block,.install-tile,.doc-link{padding:.95rem}.plugin-panel{border-radius:18px;padding:.9rem}.plugin-panel__label{font-size:.72rem}.plugin-node{border-radius:14px;padding:.8rem .9rem;font-size:.92rem}.plugin-panel--code pre{padding:.85rem;font-size:.8rem;line-height:1.55}.plugin-card__head h2{font-size:clamp(1.25rem,7vw,1.7rem)}.doc-link{grid-template-columns:1fr}.doc-link__icon{width:2.6rem;height:2.6rem}.shot-placeholder{min-height:130px;margin-bottom:.8rem}}.course-page{max-width:1240px;margin:90px auto 40px;padding:0 1rem}.course-hero{grid-template-columns:minmax(0,1fr) 320px;gap:1rem;margin-bottom:1.5rem;display:grid}.course-eyebrow,.topic-order,.topic-eyebrow{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:700;display:inline-flex}.course-hero h1{color:#0f172a;margin:.9rem 0;font-size:clamp(2rem,4vw,3rem);line-height:1.08}.course-hero p,.course-summary-card p,.topic-goal,.topic-preview-list li{color:#475569;line-height:1.7}.course-overview-card,.course-summary-card,.topic-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 18px 45px #0f172a0d}.course-overview-card{align-content:start;gap:.7rem;padding:1.25rem;display:grid}.course-overview-card strong{color:#0f172a;font-size:1.8rem}.course-overview-card span{color:#64748b}.course-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.course-summary-card{padding:1.25rem}.course-summary-card h2{color:#0f172a;margin-bottom:.7rem}.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.topic-card{gap:1rem;padding:1.25rem;display:grid}.topic-card__top,.progress-wrap{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.topic-card h3{color:#0f172a;font-size:1.35rem}.topic-meta{color:#64748b;font-size:.92rem}.topic-preview-list{gap:.35rem;padding-left:1.2rem;display:grid}.progress-line{background:#dbe4f0;border-radius:999px;flex:1;height:10px;overflow:hidden}.progress-line div{background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);height:100%}.topic-btn{color:#fff;border-radius:12px;justify-content:center;align-items:center;min-height:44px;font-weight:700;text-decoration:none;display:inline-flex}.topic-btn.start{background:linear-gradient(135deg,#16a34a 0%,#22c55e 100%)}.topic-btn.continue{background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%)}body.dark .course-hero h1,body.dark .course-summary-card h2,body.dark .topic-card h3,body.dark .course-overview-card strong{color:#f8fafc}body.dark .course-hero p,body.dark .course-summary-card p,body.dark .topic-goal,body.dark .topic-meta,body.dark .topic-preview-list li,body.dark .course-overview-card span{color:#cbd5e1}body.dark .course-overview-card,body.dark .course-summary-card,body.dark .topic-card{background:#111827;border-color:#334155;box-shadow:0 18px 45px #02081747}body.dark .course-eyebrow,body.dark .topic-order,body.dark .topic-eyebrow{color:#93c5fd;background:#60a5fa24}@media (width<=1024px){.course-hero,.course-summary-grid,.topic-grid{grid-template-columns:1fr}}.topic-page{max-width:1240px;margin:90px auto 40px;padding:0 1rem}.back-topic{color:#2563eb;margin-bottom:.9rem;font-weight:600;text-decoration:none;display:inline-block}.topic-hero{grid-template-columns:minmax(0,1fr) 240px;gap:1rem;margin-bottom:1.5rem;display:grid}.topic-hero h1{color:#0f172a;margin:.8rem 0;font-size:clamp(1.8rem,4vw,2.8rem)}.topic-hero p,.lesson-body p,.practice-card p{color:#475569;line-height:1.7}.topic-side-card,.topic-block,.lesson-row,.practice-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 18px 45px #0f172a0d}.topic-side-card,.topic-block{padding:1.25rem}.topic-side-card{align-content:start;gap:.4rem;display:grid}.topic-side-card strong,.topic-block h2,.lesson-name{color:#0f172a}.topic-sections{gap:1rem;display:grid}.lesson-list,.practice-list{gap:.85rem;display:grid}.lesson-row{grid-template-columns:34px 1fr auto;align-items:start;gap:.9rem;padding:1rem;display:grid}.lesson-row--done{border-color:#86efac}.status-icon{color:#2563eb;background:#eff6ff;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:inline-flex}.lesson-row--done .status-icon{color:#15803d;background:#dcfce7}.lesson-row--locked .status-icon{color:#64748b;background:#f1f5f9}.lesson-body{gap:.35rem;display:grid}.lesson-tags{flex-wrap:wrap;gap:.5rem;display:flex}.lesson-tags span,.practice-type{border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}.lesson-tags span{color:#1d4ed8;background:#eff6ff}.watch-btn{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);border:none;border-radius:12px;padding:.6rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.watch-btn.disabled{pointer-events:none;opacity:.55;background:#94a3b8}.practice-card{gap:.75rem;padding:1rem;display:grid}.practice-type--check{color:#1d4ed8;background:#dbeafe;width:fit-content}.practice-type--free{color:#166534;background:#dcfce7;width:fit-content}body.dark .back-topic{color:#93c5fd}body.dark .topic-hero h1,body.dark .topic-side-card strong,body.dark .topic-block h2,body.dark .lesson-name{color:#f8fafc}body.dark .topic-hero p,body.dark .lesson-body p,body.dark .practice-card p{color:#cbd5e1}body.dark .topic-side-card,body.dark .topic-block,body.dark .lesson-row,body.dark .practice-card{background:#111827;border-color:#334155;box-shadow:0 18px 45px #02081747}body.dark .status-icon{color:#93c5fd;background:#172554}body.dark .lesson-row--done .status-icon{color:#86efac;background:#14532d}body.dark .lesson-row--locked .status-icon{color:#94a3b8;background:#1e293b}body.dark .lesson-tags span,body.dark .practice-type--check{color:#93c5fd;background:#60a5fa24}body.dark .practice-type--free{color:#86efac;background:#4ade8024}@media (width<=900px){.topic-hero,.lesson-row{grid-template-columns:1fr}}.profile-page{max-width:1000px;margin:90px auto 40px;padding:0 1rem}.profile-page h1{color:#1f2937;margin-bottom:1.2rem}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem;box-shadow:0 18px 45px #0f172a0f}.profile-card.full-width{grid-column:1/-1}.profile-card h2{color:#1f2937;margin-top:0}.profile-card p{color:#475569;line-height:1.65}.change-password-form{flex-direction:column;gap:.7rem;display:flex}.change-password-form input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.55rem .75rem}.change-password-form input::placeholder{color:#94a3b8}.change-password-form input:focus{border-color:#5661f7;outline:none;box-shadow:0 0 0 3px #5661f726}.change-password-form button{color:#fff;cursor:pointer;background:#5661f7;border:none;border-radius:8px;padding:.55rem}.status-msg{color:#64748b;min-height:1.2rem;font-size:.9rem}.status-msg--success{color:#16a34a}.status-msg--error{color:#dc2626}.progress-line{background:#e2e8f0;border-radius:7px;width:100%;height:14px;margin-top:.6rem;overflow:hidden}.progress-line div{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);width:40%;height:100%}@media (width<=768px){.profile-grid{grid-template-columns:1fr}}.profile-notice{text-align:center;margin:110px auto;font-style:italic}body.dark .profile-page h1,body.dark .profile-card h2,body.dark .profile-card strong{color:#f8fafc}body.dark .profile-card{background:#111827;border-color:#334155;box-shadow:0 20px 45px #02081759}body.dark .profile-card p,body.dark .profile-notice{color:#cbd5e1}body.dark .change-password-form input{color:#f8fafc;background:#0b1220;border-color:#334155}body.dark .change-password-form input::placeholder{color:#94a3b8}body.dark .change-password-form input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2e}body.dark .change-password-form button{background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)}body.dark .progress-line{background:#1e293b}body.dark .status-msg{color:#94a3b8}body.dark .status-msg--success{color:#4ade80}body.dark .status-msg--error{color:#f87171}.site-header{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #e0e0e0;position:sticky;top:0}.site-header.dark{background:#10121bf2;border-bottom-color:#333}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:.75rem 1rem;display:flex}.logo{color:#1a1a1a;font-size:1.25rem;font-weight:700;text-decoration:none}.site-header.dark .logo{color:#fff}.main-nav{align-items:center;gap:.75rem;display:flex}.main-nav a,.main-nav button{color:#1a1a1a;cursor:pointer;background:0 0;border:none;padding:.4rem .6rem;font-size:.95rem;text-decoration:none}.site-header.dark .main-nav a,.site-header.dark .main-nav button{color:#fff}.btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:24px;padding:.55rem 1rem;font-weight:600}.icon-btn{color:#334155;background:#f1f5ff;border:1px solid #dbeafe;border-radius:8px}.site-header.dark .icon-btn{color:#f5f7ff;background:#323745;border-color:#2f3546}.burger{color:#1a1a1a;cursor:pointer;background:0 0;border:none;font-size:1.3rem;display:none}.site-header.dark .burger{color:#f8fafc}.header-action-btn{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-weight:500}.header-action-btn:hover{background:#f1f5ff}.site-header.dark .header-action-btn{color:#f8fafc;background:#1f2937;border-color:#374151}.site-header.dark .header-action-btn:hover{background:#374151}.main-nav.open{background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex-direction:column;gap:.5rem;width:min(240px,80vw);padding:.75rem;display:flex;position:absolute;top:56px;right:1rem}.main-nav.open a,.main-nav.open button{text-align:left;border-radius:8px;width:100%}.site-header.dark .main-nav.open{background:#111827;border-color:#374151;box-shadow:0 12px 30px #00000059}.site-header.dark .main-nav.open a,.site-header.dark .main-nav.open button{color:#f8fafc}.site-header.dark .main-nav.open a:hover,.site-header.dark .main-nav.open button:hover{background:#ffffff14}@media (width<=768px){.main-nav{display:none}.burger{display:inline-flex}}.site-footer{background:#f8fafc;border-top:1px solid #d1d5db;padding:1rem .8rem}body.dark .site-footer{background:#1f2937;border-top:1px solid #475569}body.dark .footer-inner,body.dark .footer-links,body.dark .footer-links a{color:#e2e8f0}.site-footer a{color:#334155;margin-right:1rem;text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-inner{color:#475569;flex-direction:column;align-items:center;gap:.5rem;max-width:1200px;margin:0 auto;font-size:.9rem;display:flex}.footer-links{flex-wrap:wrap;gap:.75rem;display:flex}.logout-backdrop{z-index:2000;background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.logout-modal{background:#fff;border-radius:12px;width:min(400px,90vw);padding:1.5rem;box-shadow:0 16px 40px #0003}.logout-modal h3{color:#1e293b;margin-bottom:1rem}.logout-actions{justify-content:flex-end;gap:.8rem;display:flex}.btn-danger{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:8px;padding:.55rem 1rem}.logout-actions button{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.55rem 1rem}body.dark .logout-modal{background:#1f2937;border:1px solid #374151}body.dark .logout-modal h3{color:#f8fafc}body.dark .logout-actions button{color:#f8fafc;background:#111827;border-color:#374151}body.dark .logout-actions button:hover{background:#1f2937}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body.light{color:#0f172a;background:#f8fafc}body.dark{color:#f8fafc;filter:none;background:#04060c}body.dark .site-header,body.dark .site-footer,body.dark .dashboard,body.dark .lesson-page,body.dark .auth-container,body.dark .course-page,body.dark .topic-page,body.dark .profile-page,body.dark .plugin-page{color:#e2e8f0!important;background:#0b1324!important}body.dark h1,body.dark h2,body.dark h3,body.dark h4,body.dark h5,body.dark h6,body.dark p,body.dark a,body.dark li,body.dark span,body.dark button,body.dark label{color:#f8fafc}body.dark img,body.dark video,body.dark pre,body.dark code{filter:none}body.dark .btn-primary,body.dark .topic-btn,body.dark .run-button,body.dark .check-button,body.dark .generate-key-btn{color:#fff}.App{background:inherit;min-height:100vh;color:inherit}.App .main-layout{min-height:calc(100vh - 120px);padding-top:60px}body.dark .main-layout{background:#111827}body.light .main-layout{background:#f8fafc}body.dark .site-footer{color:#cbd5e1;background:#0f172a;border-top-color:#334155}body.dark .site-footer a{color:#cbd5e1}.App{min-height:100vh}.main-layout{min-height:calc(100vh - 120px);padding-top:60px}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
