:root{--primary:250 100% 64%;--primary-hover:250 100% 58%;--bg-body:220 20% 97%;--bg-card:0 0% 100%;--bg-input:220 20% 94%;--text-main:220 15% 15%;--text-muted:220 10% 45%;--border-color:220 15% 85%;--container-width:1400px;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;color-scheme:light}[data-theme=dark]{--bg-body:220 18% 12%;--bg-card:220 18% 17%;--bg-input:220 18% 22%;--text-main:220 10% 96%;--text-muted:220 10% 70%;--border-color:220 18% 25%;color-scheme:dark}html{transition:background-color .3s ease,color .3s ease}html .btn,html .btn-outline,html body,html footer,html header,html input,html select,html textarea{transition:background-color .3s ease,color .3s ease,border-color .3s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background-color:hsl(var(--bg-body));color:hsl(var(--text-main));min-height:100vh;-webkit-font-smoothing:antialiased}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}.container{max-width:var(--container-width);margin:0 auto;padding:0 1.5rem}@media (max-width:768px){.container{padding:0 1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:500;transition:all .2s ease;white-space:nowrap}@media (max-width:480px){.btn{padding:.5rem 1rem;font-size:.875rem}}.btn-primary{background-color:hsl(var(--primary));color:white}.btn-primary:hover{background-color:hsl(var(--primary-hover));transform:translateY(-1px)}.btn-outline{border:1px solid hsl(var(--border-color));background-color:transparent}.btn-outline:hover{background-color:hsl(var(--bg-input))}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}@media (max-width:640px){.hide-mobile{display:none!important}}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);grid-gap:2rem;gap:2rem;height:100%;overflow:hidden}@media (max-width:1024px){.editor-layout{grid-template-columns:minmax(0,1fr);height:auto;overflow:visible;gap:2rem}}.editor-page-container{padding:2rem 0;height:calc(100vh - 20px);min-height:600px}@media (max-width:1024px){.editor-page-container{height:auto;min-height:auto;padding-bottom:4rem}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsl(var(--border-color)/.5);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--primary)/.8)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@media (max-width:768px){.modal-overlay{padding:0!important}.modal-content{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;border-radius:0!important}.modal-body{flex-direction:column!important;overflow-y:auto!important}.modal-preview-pane{height:auto!important;min-height:50vh!important;padding:20px!important;flex:none!important}.modal-config-pane{width:100%!important;border-left:none!important;border-top:1px solid #f1f5f9;flex:none!important}}.gen-endpoint-banner{display:block;max-width:728px;width:100%;background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#1e3a8a);border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(99,102,241,.3);transition:all .3s ease;text-decoration:none;position:relative}.gen-endpoint-banner:hover{transform:translateY(-4px);box-shadow:0 15px 50px rgba(99,102,241,.4)}.ql-toolbar.ql-snow{border-color:hsl(var(--border-color))!important;border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.ql-container.ql-snow,.ql-toolbar.ql-snow{background-color:hsl(var(--bg-input))!important}.ql-container.ql-snow{border-color:hsl(var(--border-color))!important;border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);color:hsl(var(--text-main));font-family:inherit}.ql-editor{min-height:200px;font-size:1rem;line-height:1.6}.ql-editor.ql-blank:before{color:hsl(var(--text-muted))!important;font-style:italic}.ql-snow .ql-stroke{stroke:hsl(var(--text-main))!important}.ql-snow .ql-fill{fill:hsl(var(--text-main))!important}.ql-snow .ql-picker,.ql-snow .ql-picker-options{color:hsl(var(--text-main))!important}.ql-snow .ql-picker-options{background-color:hsl(var(--bg-card))!important;border-color:hsl(var(--border-color))!important}.ql-snow .ql-picker-item{color:hsl(var(--text-main))!important}.ql-snow .ql-picker-item:hover{color:hsl(var(--primary))!important}.roadmaps-page{min-height:100vh;background-color:hsl(var(--bg-body));padding-bottom:100px}.roadmaps-page .hero{position:relative;padding:120px 0 80px;text-align:center;background:linear-gradient(to bottom,hsl(var(--bg-card)),hsl(var(--bg-body)));overflow:hidden}.roadmaps-page .hero:before{content:"";position:absolute;top:0;left:0;right:0;height:100%;background:radial-gradient(circle at 50% -20%,hsl(var(--primary)/.08),transparent 70%);pointer-events:none}.roadmaps-page .hero-content{position:relative;z-index:10;max-width:800px;margin:0 auto}.roadmaps-page .hero-badge{display:inline-flex;align-items:center;gap:10px;padding:6px 18px;background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border-color));border-radius:100px;color:hsl(var(--text-muted));font-size:13px;font-weight:600;margin-bottom:32px;box-shadow:0 4px 12px rgba(0,0,0,.05)}.roadmaps-page .hero-badge svg{color:hsl(var(--primary))}.roadmaps-page .hero h1{font-size:clamp(36px,7vw,64px);font-weight:900;color:hsl(var(--text-main));margin:0 0 24px;line-height:1.05;letter-spacing:-.02em}.roadmaps-page .text-gradient{background:linear-gradient(135deg,hsl(var(--primary)),hsl(var(--primary)/.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.roadmaps-page .hero p{font-size:20px;color:hsl(var(--text-muted));line-height:1.6;max-width:600px;margin:0 auto 48px}.roadmaps-page .hero-stats{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.roadmaps-page .stat-pill{display:flex;align-items:center;gap:10px;padding:10px 20px;background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border-color));border-radius:12px;color:hsl(var(--text-main));font-size:14px;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,.02)}.roadmaps-page .stat-pill svg{color:hsl(var(--primary))}.roadmaps-page .section-intro{text-align:center;margin-bottom:64px}.roadmaps-page .section-intro h2{font-size:32px;font-weight:800;color:hsl(var(--text-main));margin:0 0 16px}.roadmaps-page .section-divider{width:60px;height:4px;background:hsl(var(--primary));margin:0 auto 24px;border-radius:2px}.roadmaps-page .section-intro p{color:hsl(var(--text-muted));font-size:18px;margin:0}.roadmaps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-auto-rows:1fr;grid-gap:32px;gap:32px}.roadmap-card{position:relative;background-color:hsl(var(--bg-card));border:1px solid hsl(var(--border-color));border-radius:24px;padding:32px;text-decoration:none;transition:all .4s cubic-bezier(.2,0,0,1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.05);height:100%}.roadmap-card:hover{transform:translateY(-8px) scale(1.01);border-color:hsl(var(--primary)/.5);box-shadow:0 20px 40px hsl(var(--primary)/.1);z-index:10}[data-theme=dark] .roadmap-card{background-color:hsl(var(--bg-card));border-color:hsl(var(--border-color));box-shadow:0 4px 24px rgba(0,0,0,.4)}[data-theme=dark] .roadmap-card:hover{background-color:hsl(220 18% 22%);border-color:hsl(var(--primary)/.6)}.roadmap-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at top right,hsl(var(--primary)/.05),transparent 70%);pointer-events:none}.roadmap-card .card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.roadmap-card .category-pill{font-size:11px;font-weight:700;padding:6px 14px;border-radius:100px;text-transform:uppercase;letter-spacing:.05em}.roadmap-card .skill-indicator{font-size:13px;font-weight:600;color:hsl(var(--text-muted));padding:4px 10px;background:hsl(var(--bg-body));border-radius:8px;border:1px solid hsl(var(--border-color))}.roadmap-card .card-body{flex-grow:1;margin-bottom:32px}.roadmap-card .card-body h3{font-size:24px;font-weight:800;color:hsl(var(--text-main));margin:0 0 16px;line-height:1.25}.roadmap-card .card-body p{font-size:15px;color:hsl(var(--text-muted));line-height:1.7;margin:0}.roadmap-card .card-footer{margin-top:auto;padding-top:24px;border-top:1px solid hsl(var(--border-color));display:flex;align-items:center;justify-content:space-between}.roadmap-card .explore-link{display:flex;align-items:center;gap:8px;color:hsl(var(--primary));font-size:15px;font-weight:700;transition:all .3s ease}.roadmap-card:hover .explore-link{gap:12px;text-shadow:0 0 20px hsl(var(--primary)/.3)}.roadmap-card .card-progress-track{width:48px;height:6px;background:hsl(var(--border-color));border-radius:100px;position:relative;overflow:hidden}.roadmap-card .card-progress-track:after{content:"";position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--primary)/.7));border-radius:100px;transition:width .6s cubic-bezier(.2,0,0,1)}.roadmap-card:hover .card-progress-track:after{width:100%}.roadmap-card .empty-state{text-align:center;padding:100px 24px}.roadmap-card .empty-icon{display:inline-flex;padding:24px;background:hsl(var(--bg-card));border-radius:24px;color:hsl(var(--primary)/.3);margin-bottom:24px;border:1px solid hsl(var(--border-color))}.roadmap-card .empty-state h3{font-size:24px;font-weight:700;color:hsl(var(--text-main));margin:0 0 12px}.roadmap-card .empty-state p{font-size:16px;color:hsl(var(--text-muted));margin:0}@media (max-width:1024px){.roadmaps-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}}@media (max-width:768px){.roadmaps-page .hero{padding:80px 0 60px}.roadmaps-page .hero h1{font-size:40px}.roadmaps-page .hero p{font-size:18px}.roadmaps-page .section-intro h2{font-size:28px}.roadmaps-grid{grid-template-columns:1fr}.roadmap-card{padding:24px}}