:root{color-scheme:light;--primary-purple: #2563eb;--primary-pink: #2563eb;--primary-blue: #2563eb;--primary-teal: #2563eb;--text-dark: #0b1220;--text-navajowhite: #64748b;--text-gray: #526173;--text-light: #f8fafc;--bg-white: #ffffff;--bg-light-gray: #f6f8fc;--bg-gray: #dbe4ef;--surface-soft: #f8fbff;--surface-line: rgba(37, 99, 235, .14);--surface-glow: rgba(37, 99, 235, .12);--success: #475569;--warning: #64748b;--error: #334155;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 50px;--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .06);--shadow-md: 0 14px 34px -22px rgba(15, 23, 42, .45);--shadow-lg: 0 24px 54px -34px rgba(15, 23, 42, .5);--shadow-xl: 0 36px 80px -44px rgba(15, 23, 42, .55);--font-family: "PingFang SC", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);line-height:1.6;color:var(--text-dark);background:#f8fafc;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--primary-blue);text-decoration:none}a:where(:not(.btn,.nav-link,.logo)):where(:hover,:focus-visible){color:#1d4ed8;text-decoration:none}a:where(:not(.btn,.nav-link,.logo)):focus-visible{outline:2px solid rgba(37,99,235,.5);outline-offset:3px}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;font:inherit}input,textarea,select{font:inherit;border:none;outline:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{min-height:100vh;display:flex;flex-direction:column}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#ffffffd1;border-bottom:1px solid rgba(148,163,184,.18);box-shadow:0 10px 30px -28px #0f172ab3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:var(--transition-normal)}.header-container{display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 var(--spacing-xl)}.logo{display:flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap}.logo-img{height:56px;width:auto}.logo-text{display:grid;gap:2px;font-family:PingFang SC,Microsoft YaHei,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.05}.logo-name{display:block;background:linear-gradient(135deg,#0f172a,var(--primary-purple),var(--primary-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.28rem;font-weight:800;line-height:1.05}.logo-tagline{display:block;color:var(--text-gray);font-size:.84rem;font-weight:650;letter-spacing:0;line-height:1.05}.header-right{display:flex;align-items:center;gap:var(--spacing-lg)}.nav{display:flex;gap:var(--spacing-lg)}.nav-link{position:relative;padding:var(--spacing-sm) 0;font-weight:500;color:var(--text-dark);transition:var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--primary-purple)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-purple),var(--primary-pink));transition:var(--transition-normal)}.nav-link:hover:after,.nav-link.active:after{width:100%}.mobile-menu-btn{display:none;flex-direction:column;gap:5px;padding:var(--spacing-sm)}.mobile-menu-btn span{display:block;width:25px;height:3px;background-color:var(--text-dark);transition:var(--transition-fast)}.main-layout{display:flex;max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl);gap:var(--spacing-xl)}.main{flex:1;min-width:0;margin-top:70px;padding:var(--spacing-2xl) 0}.sidebar{width:280px;flex-shrink:0;margin-top:70px;padding:var(--spacing-2xl) 0}.sidebar-title{font-size:1.1rem;font-weight:700;color:var(--text-dark);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--bg-gray)}.sidebar-books{display:flex;flex-direction:column;gap:var(--spacing-md)}.sidebar-book-item{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--bg-light-gray);border-radius:var(--radius-md);transition:var(--transition-fast)}.sidebar-book-item:hover{background-color:var(--bg-gray)}.sidebar-book-cover{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.sidebar-book-info{display:flex;flex-direction:column;justify-content:center;min-width:0}.sidebar-book-title{font-size:.85rem;font-weight:600;color:var(--text-dark);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:2px;transition:var(--transition-fast)}.sidebar-book-title:hover{color:var(--primary-purple)}.sidebar-book-author{font-size:.75rem;color:var(--text-gray);margin-bottom:2px}.sidebar-buy-btn{display:inline-block;margin-top:4px;font-size:.75rem;font-weight:600;color:var(--primary-pink);transition:var(--transition-fast)}.sidebar-buy-btn:hover{color:var(--primary-purple)}.sidebar-book-rating{display:flex;gap:1px}.sidebar-star{font-size:.7rem}.sidebar-star.full{color:var(--warning)}.sidebar-star.empty{color:var(--bg-gray)}.footer{background:radial-gradient(circle at 20% 0%,rgba(37,99,235,.1),transparent 26rem),linear-gradient(135deg,#0b1220,#111827 55%,#0f172a);border-top:1px solid rgba(37,99,235,.18);padding:var(--spacing-2xl) 0 var(--spacing-md);margin-top:auto}.footer-container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-xl)}.footer-content{display:grid;grid-template-columns:1.5fr repeat(3,minmax(140px,1fr));gap:var(--spacing-2xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid rgba(148,163,184,.22)}.footer-brand h4{font-size:1.1rem;font-weight:700;margin-bottom:4px;background:linear-gradient(135deg,#e0f2fe,var(--primary-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-brand strong{display:block;margin-bottom:var(--spacing-sm);color:#94a3b8;font-size:.9rem;font-weight:650}.footer-brand p{color:#cbd5e1;font-size:.9rem;line-height:1.6;margin-bottom:var(--spacing-md)}.footer-email{display:inline-flex;align-items:center;gap:6px;color:var(--primary-purple);font-size:.9rem;font-weight:500;transition:var(--transition-fast)}.footer-email:hover{color:var(--primary-pink)}.footer-links h4{font-size:.95rem;font-weight:600;color:#f8fafc;margin-bottom:var(--spacing-md)}.footer-links ul{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-links a{color:var(--primary-blue);font-size:.9rem;transition:var(--transition-fast)}.footer-links a:hover{color:var(--primary-purple);padding-left:4px}.footer-bottom{text-align:center;padding-top:var(--spacing-lg);color:#94a3b8;font-size:.85rem}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.2rem;color:var(--text-gray)}@media(max-width:992px){.container{max-width:720px}.header-container,.main-layout{padding:0 var(--spacing-lg)}.sidebar{display:none}}@media(max-width:768px){.main-layout{width:100%;max-width:none;padding-left:0;padding-right:0}.container{max-width:540px;padding:0 var(--spacing-md)}.header-container{height:auto;min-height:70px;flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.logo{flex:1 1 auto;min-width:0}.logo-img{height:36px;flex-shrink:0}.logo-text{min-width:0}.logo-name{font-size:1rem}.logo-tagline{font-size:.72rem}.header-right{width:100%;justify-content:space-between;gap:var(--spacing-sm)}.mobile-menu-btn{display:flex}.nav{position:fixed;top:70px;left:0;right:0;bottom:0;background-color:var(--bg-white);flex-direction:column;padding:var(--spacing-xl);transform:translate(-100%);transition:var(--transition-normal);box-shadow:var(--shadow-xl)}.nav.open{transform:translate(0)}.nav-link{font-size:1.2rem;padding:var(--spacing-md) 0}.main{margin-top:70px;padding:var(--spacing-lg) 0}.footer-content{grid-template-columns:1fr;gap:var(--spacing-lg)}}@media(max-width:576px){.header-container{min-height:48px;padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs)}.logo{gap:6px}.logo-img{height:28px}.logo-name{font-size:.88rem}.logo-tagline{font-size:.64rem}.header-right{gap:var(--spacing-xs)}.main{margin-top:56px}.nav{top:56px}.footer{padding:var(--spacing-lg) 0}.footer-bottom{padding-top:var(--spacing-md);margin-top:var(--spacing-md)}}@media(max-width:768px){.nav{visibility:hidden;opacity:0;pointer-events:none;transform:translate(-110%)}.nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translate(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-weight:600;border-radius:var(--radius-md);transition:var(--transition-fast);cursor:pointer;box-shadow:0 12px 28px -22px #0f172acc}.btn-primary{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:#ffffffeb;color:var(--text-dark);border:2px solid var(--bg-gray)}.btn-secondary:hover{border-color:var(--primary-purple);color:var(--primary-purple)}.card{background:linear-gradient(180deg,#fffffff5,#f8fbfff5);border-radius:var(--radius-lg);border:1px solid var(--surface-line);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition-normal)}.card:hover{transform:translateY(-4px);border-color:#06b6d44d;box-shadow:var(--shadow-lg)}.card-img{width:100%;height:200px;object-fit:cover}.card-body{padding:var(--spacing-lg)}.card-text{color:var(--text-gray);font-size:.95rem;line-height:1.6}.ad-banner{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));border-radius:var(--radius-lg);padding:var(--spacing-xl);margin:var(--spacing-xl) 0;color:#fff;text-align:center}.ad-banner h3{font-size:1.5rem;margin-bottom:var(--spacing-sm)}.ad-banner p{font-size:1rem;opacity:.9;margin-bottom:var(--spacing-md)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-sm)}.footer{background-color:var(--bg-light-gray);padding:var(--spacing-2xl) 0 var(--spacing-xl);margin-top:auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.footer-section h4{font-size:1.1rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-dark)}.footer-section ul{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-section a{color:var(--primary-blue);font-size:.9rem;transition:var(--transition-fast)}.footer-section a:hover{color:var(--primary-purple)}.footer-bottom{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--bg-gray);color:var(--text-gray);font-size:.85rem}.ad-banner{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));border-radius:var(--radius-lg);padding:var(--spacing-xl);margin:var(--spacing-lg) 0;color:#fff;text-align:center}.ad-content{max-width:600px;margin:0 auto}.ad-title{font-size:1.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.ad-description{font-size:1rem;opacity:.9;margin-bottom:var(--spacing-md)}.ad-button{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background-color:#fff;color:var(--primary-purple);border-radius:var(--radius-md);font-weight:600;transition:var(--transition-fast)}.ad-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.card{background:linear-gradient(180deg,#fffffff5,#f8fbfff5);border-radius:var(--radius-lg);border:1px solid var(--surface-line);box-shadow:var(--shadow-sm);overflow:hidden;transition:var(--transition-normal);cursor:pointer}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-image{width:100%;height:200px;object-fit:cover}.card-content{padding:var(--spacing-lg)}.card-title{font-size:1.2rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--text-dark)}.card-description{color:var(--text-gray);font-size:.95rem;line-height:1.5}@media(max-width:992px){.ad-banner{padding:var(--spacing-xl)}.ad-title{font-size:1.3rem}}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:var(--spacing-lg)}.ad-banner{padding:var(--spacing-lg)}.ad-title{font-size:1.2rem}.ad-description{font-size:.9rem}.card{margin-bottom:var(--spacing-md)}}@media(max-width:576px){.ad-banner{padding:var(--spacing-md)}.ad-title{font-size:1.1rem}.ad-button{padding:var(--spacing-sm) var(--spacing-md);font-size:.9rem}.card-content{padding:var(--spacing-md)}.card-title{font-size:1.1rem}.card-image{height:160px}}.home-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#0b1220f5,#0f172ae6),#0b1220;padding:clamp(68px,7vw,96px) 0 clamp(56px,6vw,80px);margin:calc(var(--spacing-2xl) * -1) calc(var(--spacing-xl) * -1) var(--spacing-xl);border-bottom:1px solid rgba(56,189,248,.18)}.home-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.72) 58%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.72) 58%,transparent 100%);pointer-events:none}.home-hero .container{position:relative;z-index:1}.home-hero-inner{display:flex;flex-direction:column;align-items:center}.home-hero-copy{width:min(100%,1100px);margin-inline:auto;min-height:0;padding:0;border:0;background:transparent;box-shadow:none;text-align:center}.home-hero-kicker{margin:0 0 16px;color:#93c5fd;font-size:16px;font-weight:600;line-height:1.4;letter-spacing:0}.home-hero h1{max-width:1100px;margin-inline:auto;margin-bottom:24px;color:#f8fafc;font-size:72px;font-weight:800;line-height:1.08;letter-spacing:0;text-wrap:balance}.home-hero p{margin:0}.home-hero-lead{max-width:920px;margin:0 auto 18px!important;color:#e2e8f0;font-size:28px;font-weight:600;line-height:1.45;text-wrap:balance}.home-hero-definition{max-width:760px;margin:0 auto 30px!important;color:#ffffffb8;font-size:16px;font-weight:400;line-height:1.7}.home-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 0 22px}.home-hero-actions .btn{min-height:48px;padding:0 28px;border-radius:10px;font-size:16px;font-weight:600;line-height:1.2;white-space:nowrap}.home-platforms{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:10px;justify-content:center;max-width:720px;margin:0 auto 28px;color:#cbd5e1;font-size:14px;font-weight:600;line-height:1.4}.home-platform-label{color:#94a3b8;font-size:inherit;font-weight:inherit}.home-platform-list{color:#dbeafe;font-size:inherit;font-weight:inherit}.home-platforms small{flex-basis:100%;color:#94a3b8;font-size:13px;font-weight:400;line-height:1.6}.home-hero-demo{position:relative;display:block;width:100%;max-width:1280px;margin:0 auto;color:#f8fafc}.home-demo-badge{display:inline-flex;align-items:center;min-height:32px;margin:0 0 12px;padding:5px 12px;border:1px solid rgba(147,197,253,.36);border-radius:999px;background:#2563eb2e;color:#dbeafe;font-size:14px;font-weight:800}.hero-demo-picture{display:block;width:100%;overflow:hidden;border:1px solid rgba(226,232,240,.28);border-radius:14px;background:#020617}.hero-demo-picture img{display:block;width:100%;height:auto}.home-demo-link{display:inline-block;margin-top:14px;color:#60a5fa;font-size:14px;font-weight:700;transition:color var(--transition-fast)}.home-demo-link:hover,.home-demo-link:focus-visible{color:#bfdbfe}.home-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:56px}.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.home-section-heading h2{margin-bottom:0}.home-section-heading a{color:var(--primary-purple);font-size:14px;font-weight:800}.home-faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-lg)}.feature-card,.home-faq-card{border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--bg-white);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.feature-card{display:flex;min-height:176px}.home-faq-card{display:grid;gap:10px;min-height:176px;padding:var(--spacing-lg)}.feature-card .card-content{display:grid;grid-template-rows:auto 1fr auto;gap:10px;width:100%;padding:var(--spacing-lg)}.feature-card:hover,.home-faq-card:hover{border-color:#2563eb59;box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-card .card-title,.home-faq-card strong{margin:0;color:var(--text-dark);font-size:18px;line-height:1.4}.feature-card .card-description,.home-faq-card span{margin:0;color:var(--text-gray);font-size:14px;line-height:1.65}.feature-card .card-content>p:last-child,.home-faq-card em{align-self:end;color:var(--primary-purple);font-size:14px;font-style:normal;font-weight:800}.home-plugin-section{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,56px);align-items:center;padding:clamp(28px,4vw,48px);border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#f8fbff,#fff 58%,#fdf6ff);box-shadow:var(--shadow-sm)}.home-plugin-copy h2{margin-bottom:16px}.home-plugin-copy p{max-width:720px;color:var(--text-gray);font-size:16px;line-height:1.85}.home-plugin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:26px}.home-plugin-link{color:var(--primary-purple);font-size:14px;font-weight:800}.home-plugin-details{padding:24px;border:1px solid rgba(37,99,235,.16);border-radius:var(--radius-md);background:#ffffffd1}.home-plugin-elements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-plugin-elements strong{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px;border:1px solid rgba(37,99,235,.18);border-radius:var(--radius-sm);background:#f8fafc;color:var(--text-dark);font-size:16px}.home-plugin-details ul{display:grid;gap:10px;margin:22px 0 0;padding:0;list-style:none}.home-plugin-details li{position:relative;padding-left:18px;color:var(--text-gray);font-size:14px;line-height:1.6}.home-plugin-details li:before{content:"";position:absolute;top:.62em;left:0;width:6px;height:6px;border-radius:50%;background:var(--primary-purple)}.intro-hero{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;padding:var(--spacing-2xl) 0;text-align:center;margin-bottom:var(--spacing-2xl)}.intro-hero h1{font-size:2.5rem;margin-bottom:var(--spacing-md)}.intro-hero p{font-size:1.1rem;opacity:.9;max-width:600px;margin:0 auto}.intro-section{margin-bottom:56px}.intro-section h2{font-size:2rem;margin-bottom:var(--spacing-lg);color:var(--text-dark)}.intro-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.concepts-layout{display:grid;grid-template-columns:250px 1fr;gap:var(--spacing-xl)}.concepts-sidebar{position:sticky;top:90px;height:fit-content;padding:var(--spacing-lg);background-color:var(--bg-light-gray);border-radius:var(--radius-lg)}.concepts-nav{display:flex;flex-direction:column;gap:var(--spacing-sm)}.concepts-nav-link{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--text-gray);transition:var(--transition-fast)}.concepts-nav-link:hover,.concepts-nav-link.active{background-color:var(--primary-purple);color:#fff}.concepts-content{min-width:0}.concept-section{margin-bottom:var(--spacing-2xl);padding:var(--spacing-xl);background-color:var(--bg-light-gray);border-radius:var(--radius-lg)}.concept-section h2{font-size:1.8rem;margin-bottom:var(--spacing-lg);color:var(--text-dark)}.concept-section p{color:var(--text-gray);line-height:1.8;margin-bottom:var(--spacing-md)}.lessons-header{margin-bottom:var(--spacing-xl)}.lessons-search{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.search-input{flex:1;padding:var(--spacing-md);border:2px solid var(--bg-gray);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition-fast)}.search-input:focus{border-color:var(--primary-purple)}.lessons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.lesson-card{padding:var(--spacing-lg);background:linear-gradient(180deg,#fffffff5,#f8fbfff5);border:1px solid var(--surface-line);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-normal);box-shadow:var(--shadow-sm)}.lesson-card:hover{transform:translateY(-4px);border-color:#2563eb4d;box-shadow:var(--shadow-lg)}.lesson-number{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;margin-bottom:var(--spacing-sm)}.lesson-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--text-dark)}.lesson-description{color:var(--text-gray);font-size:.9rem;line-height:1.5}.pagination{display:flex;justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.pagination-btn{padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--bg-gray);border-radius:var(--radius-sm);background-color:var(--bg-white);color:var(--text-dark);cursor:pointer;transition:var(--transition-fast)}.pagination-btn:hover:not(:disabled),.pagination-btn.active{border-color:var(--primary-purple);background-color:var(--primary-purple);color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.lesson-detail-page{padding-bottom:var(--spacing-2xl)}.breadcrumb{padding:var(--spacing-md) 0;background-color:var(--bg-light-gray);font-size:.9rem;color:var(--text-gray);margin-bottom:var(--spacing-xl)}.breadcrumb a{color:var(--primary-purple)}.breadcrumb a:hover{text-decoration:underline}.lesson-detail-header{text-align:center;padding:var(--spacing-2xl) 0;background:linear-gradient(135deg,var(--bg-light-gray),var(--bg-white));margin-bottom:var(--spacing-2xl)}.lesson-number-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-lg);background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border-radius:var(--radius-full);font-size:1rem;font-weight:700;margin-right:var(--spacing-sm);margin-bottom:var(--spacing-md)}.lesson-category-badge{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background-color:var(--bg-gray);color:var(--text-gray);border-radius:var(--radius-full);font-size:.85rem;margin-bottom:var(--spacing-md)}.lesson-detail-header h1{font-size:2rem;font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-dark)}.lesson-detail-desc{font-size:1.1rem;color:var(--text-gray);max-width:700px;margin:0 auto;line-height:1.8}.lesson-content-card{background-color:var(--bg-white);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-sm);line-height:1.9;color:var(--text-dark)}.lesson-content-card h2{font-size:1.5rem;color:var(--primary-purple);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--bg-gray)}.lesson-content-card h2:first-child{margin-top:0}.lesson-content-card h3{font-size:1.2rem;color:var(--text-dark);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}.lesson-content-card ul,.lesson-content-card ol{padding-left:var(--spacing-xl);margin-bottom:var(--spacing-md)}.lesson-content-card li{margin-bottom:var(--spacing-sm)}.lesson-content-card strong{color:var(--primary-purple)}.lesson-content-card p{margin-bottom:var(--spacing-md)}.fulltext-loading{text-align:center;padding:var(--spacing-2xl);color:var(--text-gray)}.fulltext-content{background-color:var(--bg-light-gray);border-radius:var(--radius-md);padding:var(--spacing-xl) var(--spacing-2xl);margin-top:var(--spacing-md);line-height:1.9;font-size:.95rem;color:var(--text-dark);max-height:800px;overflow-y:auto}.fulltext-content p{text-indent:2em;margin-bottom:var(--spacing-sm)}.fulltext-empty{text-align:center;padding:var(--spacing-lg);color:var(--text-gray)}.lesson-navigation{margin-top:var(--spacing-2xl);padding:var(--spacing-xl) 0;background-color:var(--bg-light-gray)}.lesson-nav-buttons{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.lesson-nav-btn{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-outline{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border:2px solid var(--primary-purple);border-radius:var(--radius-md);color:var(--primary-purple);font-weight:600;transition:var(--transition-fast)}.btn-outline:hover{background-color:var(--primary-purple);color:#fff}.lessons-stats{margin-top:var(--spacing-md);display:flex;justify-content:center;gap:var(--spacing-xl);font-size:.95rem;color:var(--text-gray)}.lessons-stats span{padding:var(--spacing-xs) var(--spacing-lg);background-color:var(--bg-gray);border-radius:var(--radius-full)}.lesson-category{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-gray);color:var(--text-gray);border-radius:var(--radius-sm);font-size:.8rem;margin-top:var(--spacing-sm)}.no-results{grid-column:1 / -1;text-align:center;padding:var(--spacing-2xl);color:var(--text-gray);font-size:1.1rem}.view-toggle-container{margin-bottom:var(--spacing-lg)}.view-toggle-bar{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.view-toggle-label{font-size:.9rem;color:var(--text-gray);margin-right:var(--spacing-xs)}.view-toggle-btn{padding:var(--spacing-xs) var(--spacing-lg);border:2px solid var(--bg-gray);border-radius:var(--radius-full);background-color:var(--bg-white);color:var(--text-dark);font-size:.9rem;cursor:pointer;transition:var(--transition-fast)}.view-toggle-btn:hover{border-color:var(--primary-purple);color:var(--primary-purple)}.view-toggle-btn.active{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border-color:transparent}.view-toggle-hint{font-size:.85rem;color:var(--text-gray);margin-left:auto}.lessons-full-list,.full-list-group{margin-bottom:var(--spacing-xl)}.full-list-cat-title{font-size:1.15rem;font-weight:700;color:var(--primary-purple);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--bg-gray)}.full-list-count{font-size:.85rem;font-weight:400;color:var(--text-gray);margin-left:var(--spacing-xs)}.full-list-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-sm)}.full-list-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-light-gray);border-radius:var(--radius-sm);text-decoration:none;transition:var(--transition-fast)}.full-list-item:hover{background-color:var(--bg-gray);transform:translate(4px)}.full-list-num{flex-shrink:0;display:inline-block;padding:2px var(--spacing-sm);background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;min-width:52px;text-align:center}.full-list-title{color:var(--text-dark);font-size:.92rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.full-list-item:hover .full-list-title{color:var(--primary-purple)}.search-filter-container{display:flex;gap:var(--spacing-md)}.filter-select{padding:var(--spacing-md);border:2px solid var(--bg-gray);border-radius:var(--radius-md);font-size:1rem;background-color:var(--bg-white);cursor:pointer;min-width:130px}.filter-select:focus{border-color:var(--primary-purple);outline:none}.books-header{margin-bottom:var(--spacing-xl);text-align:center}.books-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}.book-card{padding:var(--spacing-lg);background:linear-gradient(180deg,#fffffff5,#f8fbfff5);border:1px solid var(--surface-line);border-radius:var(--radius-lg);text-align:center;transition:var(--transition-normal);box-shadow:var(--shadow-sm)}.book-card:hover{transform:translateY(-4px);border-color:#2563eb4d;box-shadow:var(--shadow-lg)}.book-cover{width:100%;height:300px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.book-title{font-size:1.2rem;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--text-dark)}.book-author{color:var(--text-gray);font-size:.9rem;margin-bottom:var(--spacing-md)}.book-description{color:var(--text-gray);font-size:.9rem;line-height:1.5;margin-bottom:var(--spacing-md)}.book-description strong{color:var(--text-dark)}.book-level{display:inline-flex;align-items:center;width:fit-content;min-height:26px;margin-bottom:var(--spacing-md);padding:3px 10px;border-radius:var(--radius-sm);background:#2563eb14;color:var(--primary-purple);font-size:.82rem;font-weight:700}.book-link{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border-radius:var(--radius-md);font-weight:600;transition:var(--transition-fast)}.book-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}@media(max-width:1200px){.container{max-width:960px}}@media(max-width:992px){.home-hero h1{font-size:60px}.home-hero-lead{font-size:24px}.container{max-width:720px}.concepts-layout{grid-template-columns:1fr}.concepts-sidebar{position:static;margin-bottom:var(--spacing-lg)}.home-features,.home-faq-grid,.home-plugin-section{grid-template-columns:1fr}.home-hero{margin-left:calc(var(--spacing-lg) * -1);margin-right:calc(var(--spacing-lg) * -1)}.home-hero-inner{display:flex}}@media(max-width:768px){.container{max-width:540px;padding:0 var(--spacing-md)}.home-hero{padding:56px 0 48px;margin-left:0;margin-right:0;background:linear-gradient(180deg,#0b1220f5,#0f172ae6),#0b1220}.home-hero .container{max-width:none}.home-hero h1{font-size:52px;line-height:1.1}.home-hero-lead{font-size:20px}.home-hero-definition{font-size:16px}.intro-hero h1{font-size:1.8rem}.intro-section h2,.concept-section h2{font-size:1.5rem}.lessons-grid,.books-grid,.concept-index-grid,.faq-tree-layout{grid-template-columns:1fr}.faq-tree-nav{position:static}.full-list-items{grid-template-columns:1fr}.hero-buttons,.home-hero-actions{flex-direction:column;gap:var(--spacing-md)}.home-hero-actions .btn{width:100%;min-height:48px;padding-inline:22px}.home-hero-demo{width:100%;margin-top:32px}.home-section-heading{align-items:start;flex-direction:column;gap:var(--spacing-sm)}.home-plugin-section{padding:24px}.home-plugin-actions{align-items:stretch;flex-direction:column}.home-plugin-actions .btn{width:100%}.stats-grid{grid-template-columns:1fr}.book-cover{height:220px}.search-filter-container{flex-direction:column;gap:var(--spacing-sm)}.filter-select{min-width:auto;width:100%}}@media(max-width:576px){.home-hero-kicker{font-size:14px}.home-hero h1{font-size:42px}.page-header h1{font-size:1.5rem}.book-card,.lesson-card{padding:var(--spacing-md)}.book-cover{height:180px}.lesson-detail-header h1{font-size:1.3rem}.lesson-content-card{padding:var(--spacing-md)}.fulltext-content{max-height:400px;padding:var(--spacing-md)}.intro-cards{grid-template-columns:1fr}.breadcrumb{padding:var(--spacing-sm) var(--spacing-md);font-size:.8rem}.lesson-number-badge{font-size:.8rem;padding:2px 10px}.install-browser-card{padding:var(--spacing-lg)}.install-browser-icon img{width:48px;height:48px}.install-browser-name{font-size:1.1rem}}.install-intro{padding:var(--spacing-2xl) 0}.install-intro-content{max-width:800px;margin:0 auto}.install-intro-content h2{font-size:1.5rem;color:var(--primary-purple);margin-bottom:var(--spacing-lg)}.install-intro-content ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md)}.install-intro-content li{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-light-gray);border-radius:var(--radius-md);border-left:4px solid var(--primary-purple);font-size:1rem;color:var(--text-dark);line-height:1.6}.install-browsers{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-xl);padding:var(--spacing-xl) 0 var(--spacing-2xl)}.install-browser-card{background:linear-gradient(180deg,#fffffff5,#f8fbfff5);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-sm);text-align:center;transition:var(--transition-normal);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);border:1px solid var(--surface-line)}.install-browser-card:hover{border-color:#2563eb4d;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.install-browser-icon img{width:64px;height:64px}.install-browser-name{font-size:1.3rem;font-weight:700;color:var(--text-dark)}.install-browser-desc{color:var(--text-gray);font-size:.95rem;line-height:1.6;flex:1}.install-browser-tip{font-size:.85rem;color:var(--warning);background-color:#fff8e1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);width:100%}.install-btn{display:inline-block;padding:var(--spacing-md) var(--spacing-xl);background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;text-decoration:none;transition:var(--transition-fast);width:100%;text-align:center}.install-btn:hover{opacity:.9;transform:scale(1.02)}.install-note{padding:var(--spacing-xl) 0 var(--spacing-2xl)}.install-note-content{max-width:800px;margin:0 auto;background-color:var(--bg-light-gray);border-radius:var(--radius-lg);padding:var(--spacing-2xl);border:1px solid var(--bg-gray)}.install-note-content h3{font-size:1.2rem;color:var(--primary-purple);margin-bottom:var(--spacing-md)}.install-note-content p{color:var(--text-gray);margin-bottom:var(--spacing-sm);font-size:.95rem}.install-note-content ul{list-style:disc;padding-left:var(--spacing-xl);margin-bottom:var(--spacing-lg)}.install-note-content li{color:var(--text-gray);font-size:.95rem;margin-bottom:var(--spacing-xs);line-height:1.6}.install-note-link{word-break:break-all}.install-note-link a{color:var(--primary-purple);font-size:.85rem;text-decoration:underline}.install-note-link a:hover{color:var(--primary-pink)}.knowledge-hub{--hub-blue: #2563eb;--hub-blue-soft: rgba(37, 99, 235, .08);--hub-bg: #f8fafc;--hub-card: #ffffff;--hub-border: #e2e8f0;--hub-text: #0f172a;--hub-muted: #64748b;--hub-soft: #f1f5f9;--hub-shadow: 0 18px 48px -34px rgba(15, 23, 42, .45);background:var(--hub-bg);color:var(--hub-text);margin:calc(var(--spacing-2xl) * -1) 0;padding-bottom:100px}.knowledge-hub svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.hub-container{width:min(1120px,calc(100% - 48px));margin:0 auto}.hub-hero{min-height:40vh;display:flex;align-items:center;padding:82px 0 72px;border-bottom:1px solid var(--hub-border);background:#f8fafc}.hub-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:64px;align-items:center}.hub-hero h1{max-width:720px;margin-bottom:20px;font-size:44px;line-height:1.15;letter-spacing:0;color:var(--hub-text)}.hub-hero p{max-width:720px;color:#475569;font-size:16px;line-height:1.75}.hub-actions,.hub-install-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}.hub-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--hub-border);font-size:14px;font-weight:700;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.hub-btn-primary{color:#fff;background:var(--hub-blue);border-color:var(--hub-blue);box-shadow:0 14px 28px -20px #2563ebcc}.hub-btn-secondary{color:var(--hub-text);background:#fff}.hub-btn:hover{transform:translateY(-2px);border-color:var(--hub-blue);box-shadow:var(--hub-shadow)}.hub-hero-panel{position:relative;min-height:230px;padding:32px;border:1px solid var(--hub-border);border-radius:16px;background:#fff;box-shadow:var(--hub-shadow)}.hub-panel-line{position:absolute;left:48px;right:48px;top:50%;height:2px;background:var(--hub-blue)}.hub-panel-line:before,.hub-panel-line:after{content:"";position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--hub-blue)}.hub-panel-line:before{left:0}.hub-panel-line:after{right:0}.hub-panel-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:24px;height:100%}.hub-panel-grid span{display:flex;align-items:center;justify-content:center;min-height:72px;border:1px solid var(--hub-border);border-radius:12px;background:var(--hub-soft);color:#334155;font-size:14px;font-weight:700}.hub-section{padding-top:100px}.hub-section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:32px}.hub-section-heading h2{font-size:30px;line-height:1.25;letter-spacing:0;color:var(--hub-text)}.hub-section-heading p{max-width:520px;color:var(--hub-muted);font-size:14px;line-height:1.75;text-align:right}.hub-path{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));align-items:stretch;gap:12px}.hub-path-step,.hub-feature-card,.hub-goal-card,.hub-update-item,.hub-install-card{background:var(--hub-card);border:1px solid var(--hub-border);border-radius:16px;box-shadow:0 1px 2px #0f172a0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.hub-path-step:hover,.hub-feature-card:hover,.hub-goal-card:hover,.hub-update-item:hover,.hub-install-card:hover{transform:translateY(-3px);border-color:var(--hub-blue);box-shadow:var(--hub-shadow)}.hub-path-step{display:block;min-height:158px;padding:24px}.hub-step-number{display:block;margin-bottom:22px;color:var(--hub-blue);font-size:13px;font-weight:800}.hub-path-step strong{display:block;margin-bottom:10px;color:var(--hub-text);font-size:22px;line-height:1.25}.hub-path-step p{color:var(--hub-muted);font-size:14px;line-height:1.65}.hub-path-arrow{display:none}.hub-featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.hub-feature-card{overflow:hidden}.hub-card-illustration{display:flex;align-items:center;justify-content:center;height:160px;background:linear-gradient(135deg,#f8fafc,#eef2ff);border-bottom:1px solid var(--hub-border);color:var(--hub-blue)}.hub-card-illustration svg{width:54px;height:54px;stroke-width:1.5}.hub-card-body,.hub-goal-card{padding:32px}.hub-tag{display:inline-flex;margin-bottom:14px;color:var(--hub-blue);font-size:14px;font-weight:800}.hub-feature-card h3,.hub-goal-card h3,.hub-update-item h3{margin-bottom:12px;color:var(--hub-text);font-size:22px;line-height:1.35}.hub-feature-card p,.hub-goal-card p,.hub-update-item p,.hub-install-card p{color:var(--hub-muted);font-size:16px;line-height:1.75}.hub-read-link,.hub-goal-links a{display:inline-flex;align-items:center;gap:6px;margin-top:22px;color:var(--hub-blue);font-size:14px;font-weight:800}.hub-read-link svg,.hub-goal-links a svg{width:16px;height:16px}.hub-goal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.hub-goal-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:22px;border-radius:12px;background:var(--hub-blue-soft);color:var(--hub-blue)}.hub-goal-links{display:grid;gap:10px;margin-top:26px}.hub-goal-links a{justify-content:space-between;margin-top:0;padding-top:10px;border-top:1px solid var(--hub-border)}.hub-updates-list{display:grid;gap:12px}.hub-update-item{display:grid;grid-template-columns:220px minmax(220px,.8fr) 1fr;gap:24px;align-items:center;padding:24px 32px}.hub-update-meta{display:flex;flex-direction:column;gap:8px;color:var(--hub-muted);font-size:14px}.hub-update-meta span{color:var(--hub-blue);font-weight:800}.hub-update-item h3{margin-bottom:0}.hub-install-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding:40px}.hub-install-icon{display:inline-flex;margin-bottom:18px;color:var(--hub-blue)}.hub-install-card h2{margin-bottom:14px;font-size:30px;line-height:1.25}.hub-install-copy small{display:inline-block;margin-top:16px;margin-right:16px;color:var(--hub-muted);font-size:14px;line-height:1.75}.hub-install-actions{justify-content:flex-end;margin-top:0}.hub-kicker{display:inline-flex;margin-bottom:14px;color:var(--hub-blue);font-size:13px;font-weight:800}.hub-system-panel{min-height:auto}.hub-system-panel ol{display:grid;gap:14px;list-style:none}.hub-system-panel li{display:grid;grid-template-columns:44px 1fr;gap:2px 14px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--hub-border)}.hub-system-panel li:last-child{padding-bottom:0;border-bottom:0}.hub-system-panel li span{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--hub-blue-soft);color:var(--hub-blue);font-size:13px;font-weight:800}.hub-system-panel strong{color:var(--hub-text);font-size:15px}.hub-system-panel small{color:var(--hub-muted);font-size:13px;line-height:1.5}.hub-learning-stages{grid-template-columns:repeat(5,minmax(150px,1fr))}.hub-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.hub-course-card,.hub-question-item,.hub-practice-card,.hub-deep-card,.hub-reading-card{background:var(--hub-card);border:1px solid var(--hub-border);border-radius:16px;box-shadow:0 1px 2px #0f172a0a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.hub-course-card:hover,.hub-question-item:hover,.hub-practice-card:hover,.hub-deep-card:hover,.hub-reading-card:hover{transform:translateY(-3px);border-color:var(--hub-blue);box-shadow:var(--hub-shadow)}.hub-course-card{overflow:hidden}.hub-course-art{min-height:220px;padding:22px 22px 12px;border-bottom:1px solid var(--hub-border);background:#f8fafc}.knowledge-hub .concept-svg{display:block;width:100%;height:auto;color:var(--hub-blue)}.knowledge-hub .concept-svg text{fill:#334155;stroke:none;font-size:13px;font-weight:700}.knowledge-hub .concept-svg .axis,.knowledge-hub .concept-svg .candle-wick{stroke:#cbd5e1;stroke-width:2}.knowledge-hub .concept-svg .candle-body{fill:#fff;stroke:#94a3b8;stroke-width:2}.knowledge-hub .concept-svg .structure-line,.knowledge-hub .concept-svg .main-stroke,.knowledge-hub .concept-svg .segment-line{fill:none;stroke:var(--hub-blue);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.knowledge-hub .concept-svg .down{stroke:#16a34a}.knowledge-hub .concept-svg .secondary{stroke:#38bdf8;stroke-width:3}.knowledge-hub .concept-svg .tertiary{stroke:#64748b;stroke-width:3}.knowledge-hub .concept-svg .node{fill:#fff;stroke-width:3}.knowledge-hub .concept-svg .node.top{stroke:var(--hub-blue)}.knowledge-hub .concept-svg .node.bottom{stroke:#16a34a}.knowledge-hub .concept-svg .zone-box{fill:#2563eb1f;stroke:#2563eb73;stroke-width:2}.knowledge-hub .concept-svg .zone-label{fill:var(--hub-blue);font-size:16px}.hub-course-body{padding:28px}.hub-course-body h3,.hub-practice-card strong,.hub-reading-card h3{display:block;margin-bottom:12px;color:var(--hub-text);font-size:22px;line-height:1.35}.hub-course-body p,.hub-practice-card p,.hub-reading-card p,.hub-deep-card p{color:var(--hub-muted);font-size:15px;line-height:1.75}.hub-question-list{display:grid;gap:12px}.hub-question-item{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:18px;align-items:center;padding:22px 24px}.hub-question-icon,.hub-practice-icon,.hub-deep-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--hub-blue-soft);color:var(--hub-blue)}.hub-question-item strong{display:block;margin-bottom:4px;color:var(--hub-text);font-size:17px;line-height:1.4}.hub-question-item small{display:block;color:var(--hub-muted);font-size:14px;line-height:1.65}.hub-practice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.hub-practice-card{display:flex;min-height:230px;flex-direction:column;padding:26px}.hub-practice-icon{margin-bottom:22px}.hub-card-link{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:22px;color:var(--hub-blue);font-size:14px;font-weight:800}.hub-card-link svg{width:16px;height:16px}.hub-deep-card{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:22px;align-items:center;padding:34px}.hub-deep-card h2{margin-bottom:12px;color:var(--hub-text);font-size:28px;line-height:1.3}.hub-reading-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.hub-reading-card{display:flex;min-width:0;flex-direction:column;overflow:hidden}.hub-reading-card img{width:100%;aspect-ratio:3 / 4;object-fit:cover;background:var(--hub-soft);border-bottom:1px solid var(--hub-border)}.hub-reading-body{display:flex;flex:1;flex-direction:column;padding:20px}.hub-reading-card h3{font-size:17px}.hub-reading-card p{margin-bottom:10px;font-size:14px}.hub-reading-card p strong{color:var(--hub-text)}.hub-reading-card .hub-read-link{margin-top:auto;padding-top:12px}.hub-reading-note{margin-top:18px;padding:16px 18px;border:1px solid var(--hub-border);border-radius:12px;background:#fff;color:var(--hub-muted);font-size:13px;line-height:1.75}.hub-section-more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:var(--hub-blue);font-size:14px;font-weight:800}.hub-section-more svg{width:16px;height:16px}.concept-index-section,.faq-index-section{padding:var(--spacing-2xl) 0}.concept-tree-card{padding:var(--spacing-2xl);background:var(--bg-white);border:1px solid var(--surface-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.concept-tree-card h2{margin-bottom:var(--spacing-sm);font-size:1.6rem}.concept-tree-card>p{color:var(--text-gray);margin-bottom:var(--spacing-xl)}.concept-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-lg)}.concept-index-card,.faq-card{display:block;padding:var(--spacing-lg);background:linear-gradient(180deg,#fffffff5,#f8fbfff5);border:1px solid var(--surface-line);border-radius:var(--radius-lg);transition:var(--transition-fast)}.concept-index-card:hover,.faq-card:hover{border-color:#2563eb59;box-shadow:var(--shadow-md);transform:translateY(-2px)}.concept-index-card span,.faq-card span{display:inline-flex;margin-bottom:var(--spacing-sm);color:var(--primary-purple);font-size:.82rem;font-weight:800}.concept-index-card h3,.faq-card strong{display:block;margin-bottom:var(--spacing-sm);color:var(--text-dark);font-size:1.15rem}.concept-index-card p,.faq-card p{color:var(--text-gray);font-size:.92rem;line-height:1.65}.concept-definition,.concept-visual,.related-links,.article-practice-cta{margin-bottom:var(--spacing-xl)}.concept-visual{padding:var(--spacing-md);border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:#f8fafc}.concept-visual .concept-svg{display:block;width:100%;height:auto}.related-links{display:grid;gap:var(--spacing-sm);padding:var(--spacing-lg);border:1px solid var(--surface-line);border-radius:var(--radius-lg);background:var(--surface-soft)}.related-links h3{margin-bottom:var(--spacing-xs)}.related-links a{color:var(--primary-purple);font-weight:700}.article-practice-cta{padding:var(--spacing-lg);border:1px solid rgba(37,99,235,.2);border-radius:var(--radius-lg);background:#2563eb0f}.faq-tree-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--spacing-xl);align-items:start}.faq-tree-nav{position:sticky;top:96px;padding:var(--spacing-lg);background:var(--bg-white);border:1px solid var(--surface-line);border-radius:var(--radius-lg)}.faq-tree-nav h3{margin-bottom:var(--spacing-md);font-size:1rem}.faq-tree-nav a{display:block;padding:8px 0;color:var(--text-gray);font-weight:700}.faq-tree-content{display:grid;gap:var(--spacing-xl)}.faq-group h2{margin-bottom:var(--spacing-md)}.faq-card-list{display:grid;gap:var(--spacing-md)}@media(max-width:1200px){.hub-path,.hub-learning-stages{grid-template-columns:repeat(3,1fr)}.hub-goal-grid,.hub-practice-grid,.hub-reading-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:992px){.hub-hero-inner,.hub-install-card{grid-template-columns:1fr}.hub-hero-panel{display:none}.hub-featured-grid,.hub-course-grid,.hub-deep-card{grid-template-columns:1fr}.hub-update-item{grid-template-columns:1fr;gap:12px}}@media(max-width:768px){.knowledge-hub{margin:calc(var(--spacing-lg) * -1) 0}.hub-container{width:min(100% - 32px,540px)}.hub-hero{padding:56px 0 48px}.hub-hero h1{font-size:34px}.hub-section{padding-top:72px}.hub-section-heading{display:block}.hub-section-heading h2,.hub-install-card h2{font-size:26px}.hub-section-heading p{max-width:none;margin-top:10px;text-align:left}.hub-path,.hub-learning-stages,.hub-goal-grid,.hub-practice-grid,.hub-reading-grid{grid-template-columns:1fr}.hub-path-step{min-height:auto}.hub-card-body,.hub-goal-card,.hub-course-body,.hub-practice-card,.hub-deep-card,.hub-reading-body,.hub-install-card{padding:24px}.hub-course-art{min-height:0;padding:18px 18px 8px}.hub-question-item{grid-template-columns:36px minmax(0,1fr);padding:20px}.hub-question-item>svg{display:none}.hub-actions,.hub-install-actions{align-items:stretch;flex-direction:column}.hub-btn{width:100%}}.books-resource-header p{max-width:680px;margin:12px auto 0;color:var(--text-gray);font-size:16px;line-height:1.75}.books-disclosure{margin:-12px 0 32px}.books-disclosure .container{max-width:920px}.books-disclosure p{padding:16px 20px;border:1px solid var(--bg-gray);border-radius:16px;background:#fff;color:var(--text-gray);font-size:14px;line-height:1.75;text-align:center}.doc-page{background:#f8fafc;margin:calc(var(--spacing-2xl) * -1) 0;padding:72px 0 100px}.doc-container{max-width:860px}.doc-breadcrumb{margin-bottom:28px;color:var(--text-gray);font-size:14px;line-height:1.75}.doc-breadcrumb a{color:var(--primary-purple);font-weight:700}.doc-content{padding:44px;border:1px solid var(--bg-gray);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.doc-content h1{margin-bottom:24px;color:var(--text-dark);font-size:36px;line-height:1.25;letter-spacing:0}.doc-content h2{margin:42px 0 14px;color:var(--text-dark);font-size:26px;line-height:1.3;letter-spacing:0}.doc-content h3{margin:30px 0 12px;color:var(--text-dark);font-size:22px;line-height:1.35;letter-spacing:0}.doc-content p,.doc-content li{color:#475569;font-size:16px;line-height:1.85}.doc-content p{margin-bottom:18px}.doc-content ul{margin:12px 0 22px;padding-left:22px;list-style:disc}.doc-content li{margin-bottom:8px}.doc-content a{color:var(--primary-purple);font-weight:700}.doc-content strong{color:var(--text-dark)}.doc-content code{padding:2px 6px;border-radius:6px;background:#f1f5f9;color:var(--text-dark);font-family:var(--font-mono);font-size:.92em}@media(max-width:768px){.doc-page{margin:calc(var(--spacing-lg) * -1) 0;padding:40px 0 72px}.doc-content{padding:26px}.doc-content h1{font-size:28px}.doc-content h2{font-size:23px}}
