:root{--bg:#faf8f3;--panel:#fff;--panel-2:#f4f1ea;--border:#e6e1d5;--text:#21251f;--muted:#76796f;--accent:#3e7d5c;--accent-2:#2e6b4f;--accent-soft:#eaf3ed;--good:#2e6b4f;--bad:#b0402e;--warn:#a87a1f;--gold:#c9a227;--silver:#9aa0a6;--bronze:#b87333;--shadow:0 1px 2px #21251f0d, 0 1px 6px #21251f0a;--shadow-md:0 1px 2px #141a2e0d, 0 12px 32px -12px #141a2e2e;--shadow-lg:0 2px 6px #141a2e0f, 0 30px 60px -22px #141a2e47;--radius:14px;--amber:#ffb23e;--pink:#ff5c8a;--purple:#8a3ff0;--indigo:#1e2a78;--grad:linear-gradient(115deg, #ffb23e 0%, #ff5c8a 34%, #8a3ff0 68%, #1e2a78 100%);--grad-bright:linear-gradient(115deg, #ffb23e 0%, #ff5c8a 45%, #8a3ff0 100%);--font-serif:Georgia, "Iowan Old Style", "Times New Roman", "Songti SC", "Noto Serif SC", "SimSun", serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.6}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell-main{flex:1}.site-footer{border-top:1px solid var(--border);background:var(--panel);align-items:center;gap:18px;padding:18px 24px;display:flex}.site-footer .spacer{flex:1}.container{max-width:920px;margin:0 auto;padding:28px 20px 80px}.container-wide{max-width:1200px;margin:0 auto;padding:28px 20px 80px}.nav{border-bottom:1px solid var(--border);background:var(--panel);align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{font-family:var(--font-serif);color:var(--text);letter-spacing:.01em;align-items:center;gap:9px;font-size:19px;font-weight:700;display:inline-flex}.brand:hover{text-decoration:none}.nav .spacer{flex:1}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);margin-bottom:16px;padding:22px}h1,h2,h3{font-family:var(--font-serif);color:var(--text);font-weight:700}h1{margin:0 0 16px;font-size:30px;line-height:1.3}h2{margin:0 0 12px;font-size:21px;line-height:1.35}h3{margin:0 0 8px;font-size:17px}label{color:var(--muted);margin:12px 0 4px;font-size:13px;display:block}input,textarea,select{background:var(--panel);width:100%;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:14px;transition:border-color .16s,box-shadow .16s}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #3e7d5c1f}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='%2376796f'%3E%3Cpath d='M0 0 L5 6 L10 0 Z'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:34px}textarea{resize:vertical;min-height:120px}button{background:var(--accent-2);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s,filter .16s}button:hover{background:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}button.secondary:hover{background:var(--border)}button.danger{color:var(--bad);background:#fdf1ef;border:1px solid #e8c5bd}button.danger:hover{background:#f8e3df}button.ghost{border:1px solid var(--border);color:var(--text);background:0 0}button.ghost:hover{background:var(--panel-2)}.social-auth{justify-content:center;gap:14px;margin-top:4px;display:flex}.social-btn{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:inline-grid}.social-btn:hover{background:var(--panel);border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-1px)}.social-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.social-btn svg{width:22px;height:22px;display:block}button.link-button{color:var(--accent-2);background:0 0;border:none;border-radius:0;padding:0;font-weight:600}button.link-button:hover{background:0 0;text-decoration:underline}a.btn{background:var(--accent-2);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s,filter .16s;display:inline-block}a.btn:hover{background:var(--accent);text-decoration:none}a.btn.small{padding:7px 14px}a.btn.ghost{border:1px solid var(--border);color:var(--text);background:0 0}a.btn.ghost:hover{background:var(--panel-2)}button.cta,a.btn.cta{background:var(--grad);color:#fff;background-clip:padding-box;border:1px solid #0000;box-shadow:0 8px 22px -8px #8a3ff08c}button.cta:hover,a.btn.cta:hover{background:var(--grad);filter:brightness(1.04);background-clip:padding-box;transform:translateY(-1px);box-shadow:0 12px 28px -8px #8a3ff099}button.cta:disabled{filter:none;transform:none}.grad-text{background:var(--grad-bright);color:#0000;-webkit-background-clip:text;background-clip:text}.lang{display:inline-flex;position:relative}.lang-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 10px;line-height:1}.lang-btn:hover{background:var(--panel-2)}.lang-flag{font-size:18px;line-height:1}.lang-code{text-align:center;letter-spacing:.02em;min-width:20px;font-size:14px;font-weight:600;line-height:1;display:inline-block}.lang-menu{top:calc(100% + 6px);z-index:60;background:var(--panel);border:1px solid var(--border);min-width:168px;max-height:340px;box-shadow:var(--shadow);border-radius:10px;margin:0;padding:6px;list-style:none;position:absolute;inset-inline-end:0;overflow-y:auto}.lang-item{text-align:start;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;font-weight:500;display:flex}.lang-item:hover{background:var(--panel-2)}.lang-item.active{background:var(--accent-soft);font-weight:600}.lang.block{width:100%;display:block}.lang-btn.lang-field{justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;display:flex}.lang-field .lang-name{text-align:start;flex:1;font-weight:500}.lang-field .lang-caret{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='%2376796f'%3E%3Cpath d='M0 0 L5 6 L10 0 Z'/%3E%3C/svg%3E") 50% no-repeat;flex:none;width:10px;height:6px;font-size:0}.lang-menu.block{min-width:0;inset-inline:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--bad)}.good{color:var(--good)}.badge{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}.badge.good{color:var(--good);background:var(--accent-soft);border-color:#cde0d4}.badge.warn{color:var(--warn);background:#faf3e3;border-color:#e8d9b8}.badge.locked{color:var(--muted)}.bar{background:#e3ded2;border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--grad-bright);border-radius:999px;height:100%;display:block}.bubble{border-radius:14px;max-width:80%;margin:10px 0;padding:12px 16px}.bubble.tutor{background:var(--panel-2);border:1px solid var(--border)}.bubble.learner{background:var(--accent-soft);border:1px solid #d4e4da;margin-left:auto}.qa-soon{text-align:center;padding:28px 24px 32px}.qa-soon-img{border:1px solid var(--border);border-radius:16px;width:100%;max-width:460px;height:auto;margin:0 auto 20px;display:block}.qa-soon-title{margin:0 0 8px;font-size:1.15rem;font-weight:700}.qa-soon-body{max-width:44ch;margin:0 auto}.quiz-item+.quiz-item{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.quiz-panel>.ghost+.quiz-item{margin-top:14px}.option{text-align:left;background:var(--panel);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:10px;margin:8px 0;padding:12px 14px;font-weight:500;display:block}@media (hover:hover){.option:hover{border-color:var(--accent);background:var(--accent-soft)}}.option.correct{border-color:var(--good);background:var(--accent-soft)}.option.wrong{border-color:var(--bad);background:#fdf1ef}.option.selected{border-color:var(--accent)}.course-layout{align-items:flex-start;display:flex}.sidebar{border-right:1px solid var(--border);background:var(--panel);flex:0 0 300px;width:300px;height:calc(100vh - 54px);padding:18px 14px;position:sticky;top:0;overflow-y:auto}.sidebar .course-title{font-family:var(--font-serif);color:inherit;cursor:pointer;margin-bottom:4px;font-size:17px;font-weight:700;text-decoration:none;display:block}.sidebar a.course-title:hover{color:var(--accent)}.sidebar .lesson-list{margin-top:14px}.lesson-item{cursor:pointer;color:inherit;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;text-decoration:none;display:flex}.lesson-item:hover{background:var(--panel-2);text-decoration:none}.lesson-item.active{background:var(--accent-soft);font-weight:600}.lesson-item .dot{border:2px solid var(--border);background:var(--panel);text-align:center;width:22px;height:22px;color:var(--muted);border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex}.lesson-item .dot.done{background:var(--panel);border-color:var(--good);color:#0000}.lesson-item .lesson-item-title{flex:auto;min-width:0}.lesson-item .lesson-star-track{flex:none;align-items:center;gap:4px;line-height:1;display:inline-flex}.lesson-item .lesson-star-track .ls-star{box-sizing:border-box;border:1.5px solid var(--accent-2);background:0 0;width:8px;height:8px}.lesson-item .lesson-star-track .ls-star.on{background:var(--accent-2)}.lesson-item .dot.next{background:var(--good);border-color:var(--good);color:#fff;font-size:13px;line-height:1}.lesson-item .dot.cur{border-color:var(--accent);color:var(--accent-2)}.lesson-item .dot.medal{background:0 0;border:none;font-size:16px}.lesson-item .dot.lock{background:0 0;border:none;font-size:13px}.lesson-item.gated>span:last-child{color:var(--muted)}.lesson-item .dot.lock{background:0 0;border:none}.lesson-item.placeholder{cursor:default}.lesson-item.placeholder:hover{background:0 0}.stars-row{align-items:center;gap:10px;margin:10px 0 4px;display:flex}.star-pips{gap:2px;font-size:16px;line-height:1;display:inline-flex}.star-pips .pip{color:#d7d0c0}.star-pips .pip.on{color:var(--gold)}.reviews-header{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;margin-bottom:8px;display:flex}.reviews-write-btn{flex:none}.course-reviews .reviews-summary{align-items:center;gap:8px;margin-bottom:14px;display:flex}.reviews-list{flex-direction:column;gap:12px;margin:0 0 14px;padding:0;list-style:none;display:flex}.review-item{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.review-head{align-items:center;gap:10px;display:flex}.review-comment{color:var(--text);margin:6px 0 10px}.review-upvote{padding:4px 10px}.review-upvote:disabled{opacity:.6}.review-mine{border-color:var(--accent);background:var(--accent-soft)}.review-status{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.review-status.pending{color:var(--warn);border:1px solid var(--warn)}.review-status.rejected{color:var(--bad);border:1px solid var(--bad)}.course-reviews .reviews-show-more{margin:0 auto;display:block}.progress-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.complete-badge{font-weight:600}.badge.opt{color:var(--muted);border-style:dashed}.badge.opt.earned{color:var(--gold);border-color:var(--gold);background:#fbf6e6;border-style:solid}.lesson-item .dot.done.challenged{background:var(--gold);border-color:var(--gold)}.terms-row{color:var(--text);cursor:pointer;align-items:flex-start;gap:8px;margin:12px 0 0;font-weight:400;display:flex}.terms-row input{width:auto;margin:2px 0 0}.main{flex:1;min-width:0;padding:28px 32px 80px}.lesson-loading{min-height:70vh;color:var(--muted);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent-2);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-bar,.sidebar-backdrop{display:none}.tabs{border-bottom:1px solid var(--border);gap:6px;margin:16px 0;display:flex}.tab{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:8px 16px;font-weight:600}.tab:hover{color:var(--text);background:0 0}.tab.active{color:var(--accent-2);border-bottom-color:var(--accent-2)}.banner{background:var(--accent-soft);color:var(--good);border:1px solid #cde0d4;border-radius:10px;margin:12px 0;padding:12px 16px}.markdown{font-family:var(--font-serif);font-size:16.5px;line-height:1.8}.markdown>:first-child{margin-top:0}.markdown p{margin:0 0 14px}.markdown h1,.markdown h2,.markdown h3{margin:20px 0 10px}.markdown ul,.markdown ol{margin:0 0 14px;padding-left:24px}.markdown li{margin:5px 0}.markdown strong{color:var(--text)}.markdown blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:14px 0;padding:4px 18px;font-style:italic}.markdown code{background:var(--panel-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-family:ui-monospace,monospace;font-size:13px}.mermaid-wrap{overflow-x:auto}.mermaid-wrap svg{height:auto;padding:10px}.mermaid-wrap svg text,.mermaid-wrap svg .nodeLabel,.mermaid-wrap svg .edgeLabel,.mermaid-wrap svg .label,.mermaid-wrap svg foreignObject div{font-size:16px!important;font-family:var(--font-serif)!important}.chart-inline{-webkit-overflow-scrolling:touch;margin:16px 0;overflow-x:auto}.chart-inline .mermaid-wrap{overflow:visible}.chart-inline .mermaid-wrap svg{padding:0}.chart-inline .visual-figure{margin:0;overflow:visible}.chart-inline .visual-table{width:auto}.chart-inline .visual-table th,.chart-inline .visual-table td{white-space:nowrap;padding:8px 14px}.mermaid-wrap svg .cluster rect{fill:#0000!important;stroke:none!important}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 10px;font-size:14px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.cat-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-2);margin:0 0 12px;font-family:inherit;font-size:13px;font-weight:700}.course-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.course-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-height:210px;color:var(--text);box-shadow:var(--shadow-md);flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.course-card:hover{box-shadow:var(--shadow-lg);border-color:#d8d2c4;text-decoration:none;transform:translateY(-3px)}.course-card-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.course-card-bg-empty{background:linear-gradient(135deg, var(--panel-2), var(--border))}.course-card-overlay{z-index:1;background:linear-gradient(90deg,#fffffff0 0%,#ffffffe0 42%,#ffffff8c 70%,#ffffff1f 100%);position:absolute;inset:0}.course-card-content{z-index:2;flex-direction:column;flex:1;max-width:78%;padding:16px 18px;display:flex;position:relative}.course-card-foot{margin-top:auto;padding-top:12px}.course-card-tag{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;align-self:flex-start;margin-bottom:9px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.course-card-title{font-family:var(--font-serif);margin-bottom:6px;font-size:16px;font-weight:700}.course-card-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;display:-webkit-box;overflow:hidden}.creator-byline{align-items:center;gap:8px;margin-bottom:8px;display:flex}.company-icon{width:20px;height:20px;color:var(--muted);flex:none}.creator-byline .company-icon{width:16px;height:16px}.creator-byline-avatar{object-fit:cover;background:var(--panel-2);border-radius:999px;flex:none;width:24px;height:24px}.creator-card .company-icon{width:28px;height:28px;color:var(--muted);margin-top:1px}.course-hero-creator .company-icon{color:#475067;width:30px;height:30px}.creator-bio-line{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.creator-avatar{object-fit:cover;background:var(--panel-2);border-radius:999px;flex:none;width:24px;height:24px}.creator-avatar.lg{width:48px;height:48px}.creator-avatar-fallback{color:var(--muted);border:1px solid var(--border);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.creator-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:12px;margin-top:14px;padding:14px;display:flex}.creator-meta{min-width:0}.creator-name{font-family:var(--font-serif);font-size:15px;font-weight:700}.creator-about{margin-top:8px}.creator-about-head{align-items:center;gap:14px;margin-top:10px;display:flex}.creator-about-avatar{object-fit:cover;background:var(--panel-2);border-radius:999px;flex:none;width:72px;height:72px}.creator-about-avatar-empty{font-family:var(--font-serif);color:var(--muted);border:1px solid var(--border);justify-content:center;align-items:center;font-size:28px;font-weight:700;display:inline-flex}.creator-about-id{min-width:0}.creator-about-name{font-family:var(--font-serif);color:var(--text);font-size:18px;font-weight:700}.creator-about-title{margin-top:2px}.creator-about-bio{margin-top:12px;line-height:1.5}.creator-about-bio.clamped{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-hero{justify-content:center;align-items:center;width:100vw;min-height:440px;margin-top:12px;margin-left:-50vw;margin-right:-50vw;display:flex;position:relative;left:50%;right:50%;overflow:hidden}.course-hero-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.course-hero-overlay{z-index:1;background:linear-gradient(90deg,#ffffffed 0%,#ffffffde 46%,#ffffff8c 72%,#ffffff1a 100%);position:absolute;inset:0}.course-hero-content{z-index:2;width:100%;max-width:760px;margin:0 auto;padding:44px 20px;position:relative}.course-hero-tag{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin-bottom:14px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-block}.course-hero-title{font-family:var(--font-serif);color:#16213c;max-width:80%;margin:0;font-size:clamp(28px,4.4vw,42px);font-weight:700;line-height:1.08}.course-hero-content .row{margin:20px 0 2px}.course-facts{flex-direction:column;gap:12px;margin-top:18px;display:flex}.course-fact{align-items:center;gap:11px;min-height:24px;display:flex}.course-fact .fact-icon{width:22px;height:22px;color:var(--accent-2);flex:none}.fact-text{color:var(--text);font-size:15px;line-height:1.3}.course-fact .fact-avatar{object-fit:cover;background:var(--panel-2);border-radius:999px;flex:none;width:34px;height:34px}.fact-verified-label{color:var(--muted);margin-bottom:1px;font-size:12px;line-height:1.2;display:block}.fact-price{color:var(--text);font-size:20px;font-weight:700}.fact-sub{color:var(--muted);margin-left:8px;font-size:14px}.course-cta-row .btn.cta,.course-cta-row .btn.preview-cta{background-clip:border-box;border:none;justify-content:center;align-items:center;min-height:46px;padding:0 20px;display:inline-flex}.btn.preview-cta{gap:7px}.btn.preview-cta .btn-arrow{width:16px;height:16px;transition:transform .16s}.btn.preview-cta:hover .btn-arrow{transform:translate(3px)}@media (max-width:600px){.course-hero{min-height:360px}.course-hero-content{padding:32px 20px}}.home-tabs{align-items:center;gap:4px;margin:4px 0 18px;display:flex}.home-tab{color:var(--muted);border-radius:999px;padding:8px 18px;font-size:15px;font-weight:600;display:inline-block}.home-tab:hover{background:var(--panel-2);color:var(--text);text-decoration:none}.home-tab.active{background:var(--accent-soft);color:var(--accent-2)}.catalog-searchbar{align-items:stretch;gap:10px;margin:4px 0 16px;display:flex}.catalog-search{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;flex:1;min-width:0;padding:12px 18px;font-size:15px}.catalog-search:focus{background:var(--panel);border-color:var(--accent);outline:none}.catalog-sort-select{field-sizing:content;appearance:none;background:var(--panel-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='%2376796f'%3E%3Cpath d='M0 0 L5 6 L10 0 Z'/%3E%3C/svg%3E") no-repeat right 12px center;border:1px solid var(--border);cursor:pointer;border-radius:999px;flex:none;width:auto;padding:0 32px 0 16px;font-size:14px}.catalog-sort-select:disabled{opacity:.5;cursor:default}.card-rating{color:var(--gold);white-space:nowrap}.review-stars-pick{justify-content:center;gap:6px;margin-top:8px;display:flex}.pip-btn{cursor:pointer;color:#d7d0c0;background:0 0;border:none;padding:0 2px;font-size:30px;line-height:1}.pip-btn.on{color:var(--gold)}.pip-btn:hover{background:0 0}.review-cta{margin:10px auto 0;display:block}.cat-pills{overscroll-behavior-x:contain;scrollbar-width:thin;grid-template-rows:repeat(2,auto);grid-auto-columns:max-content;grid-auto-flow:column;gap:8px;padding-bottom:6px;display:grid;overflow-x:auto}.cat-pill{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.cat-pill:hover{background:var(--border)}.cat-pill.active{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.cat-pill.active:hover{background:var(--accent)}.lang-pills{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.continue-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-md);align-items:center;gap:16px;padding:18px 20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.continue-card:hover{box-shadow:var(--shadow-lg);border-color:#d8d2c4;text-decoration:none;transform:translateY(-2px)}.continue-main{flex:1;min-width:0}.continue-bar{background:#e3ded2;border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.continue-bar>span{background:var(--grad-bright);border-radius:999px;height:100%;display:block}.continue-cta{background:var(--grad);color:#fff;background-clip:padding-box;border:1px solid #0000;border-radius:999px;flex:none;padding:10px 20px;font-size:14px;font-weight:600;box-shadow:0 8px 22px -8px #8a3ff080}.modal-backdrop{z-index:80;background:#21251f61;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:420px;padding:28px 26px 22px;position:relative;overflow:hidden}.modal-card h2{margin:6px 0 2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.linkedin-field{border:1px solid var(--border);background:var(--panel-2);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;display:flex}.cert-meta{grid-template-columns:1fr;gap:8px;margin:8px 0 0;display:grid}.cert-meta>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding-bottom:8px;display:flex}.cert-meta dt{color:var(--muted);font-size:13px}.cert-meta dd{text-align:right;margin:0;font-size:14px}.medal-big{margin:4px 0 6px;font-size:64px;line-height:1;animation:.42s cubic-bezier(.2,1.4,.5,1) both pop}.modal-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti-piece{opacity:0;border-radius:1px;width:8px;height:12px;animation:1.5s linear infinite confetti-fall;position:absolute;top:-12px}.confetti-piece:nth-child(4n+1){background:var(--gold)}.confetti-piece:nth-child(4n+2){background:var(--accent)}.confetti-piece:nth-child(4n+3){background:var(--bronze)}.confetti-piece:nth-child(4n){background:var(--silver)}.confetti-piece:nth-child(odd){border-radius:50%;width:7px;height:9px}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(360px)rotate(540deg)}}@media (max-width:820px){.nav{flex-wrap:wrap;gap:10px 14px;padding:10px 14px}.continue-card{flex-wrap:wrap}h1{font-size:25px}.mobile-bar{border-bottom:1px solid var(--border);background:var(--panel);z-index:30;align-items:center;gap:12px;padding:10px 14px;display:flex;position:sticky;top:0}.mobile-bar .menu-btn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:7px 12px;font-size:14px}.mobile-titles{flex-direction:column;min-width:0;line-height:1.2;display:flex}.mobile-course-title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.mobile-lesson-title{font-family:var(--font-serif);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.course-layout{display:block}.sidebar{z-index:50;flex-basis:auto;width:84%;max-width:320px;height:100vh;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:2px 0 18px #21251f2e}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:40;background:#21251f59;display:block;position:fixed;inset:0}.main{max-width:100%;padding:16px 16px 64px}.container,.container-wide{padding:16px 14px 60px}.bubble{max-width:92%}}.paywall-card{max-width:480px}.enroll-card{text-align:left;max-width:440px;padding:0 26px 22px}.enroll-hero{aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid var(--border);width:calc(100% + 52px);margin:0 -26px;display:block}.enroll-title{text-align:center;margin:18px 0 4px;font-size:21px;line-height:1.25}.enroll-benefits{margin:14px 0 4px;padding:0;list-style:none}.enroll-benefits li{color:var(--text);align-items:flex-start;gap:11px;padding:9px 0;font-size:14.5px;line-height:1.45;display:flex}.enroll-benefits li+li{border-top:1px solid var(--border)}.enroll-benefit-icon{color:#8a3ff0;flex:none;margin-top:1px}.enroll-actions{flex-direction:column;gap:8px;margin-top:16px}.enroll-actions .btn.cta{width:100%}.link-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px;font-size:14px}.link-btn:hover:not(:disabled){color:var(--text);text-decoration:underline}.link-btn:disabled{opacity:.5;cursor:default}.explore-head{margin:4px 0 20px;position:relative}.explore-head:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle closest-side,#ff5c8a21,#8a3ff014 45%,#0000 72%);width:620px;height:620px;position:absolute;top:-150px;left:-180px}.explore-head>*{z-index:1;position:relative}.explore-head h1{letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(28px,4vw,38px)}.explore-head p{margin:0;font-size:16px}.explore-quote{max-width:760px;margin:8px 0 24px}.explore-quote blockquote{letter-spacing:-.01em;border:0;margin:0;padding:0;font-size:clamp(20px,3vw,28px);font-weight:600;line-height:1.35}.explore-quote cite{color:var(--muted);margin-top:10px;font-size:15px;font-style:normal;display:block}.explore-quote cite:before{content:"— "}.course-desc.clamped{-webkit-line-clamp:8;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.course-desc-toggle{color:var(--accent-2);cursor:pointer;background:0 0;border:none;margin-top:6px;margin-left:auto;padding:0;font-size:14px;font-weight:600;display:block}.course-desc-toggle:hover{background:0 0;text-decoration:underline}.lesson-collapse{position:relative}.lesson-collapse .lesson-item.locked{cursor:default}.lesson-collapse .lesson-item.locked:hover{background:0 0}.lesson-fade{justify-content:center;margin-top:16px;display:flex}.lesson-fade button{box-shadow:var(--shadow)}.share-trigger{border-radius:8px;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:600;display:inline-flex}.share-card{text-align:start;max-width:460px}.share-card h2{text-align:start}.share-preview{border:1px solid var(--border);background:var(--panel-2);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.share-preview-img{width:100%;height:auto;display:block}.share-preview-meta{border-top:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 14px;display:flex}.share-preview-host{color:var(--muted);text-transform:lowercase;font-size:12px}.share-preview-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.share-link-row{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;gap:8px;margin-top:16px;padding:5px 5px 5px 12px;display:flex}.share-url{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.share-link-row button{flex:none;padding:8px 14px;font-size:13px}.share-socials{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.share-socials>.ghost{padding:9px 14px;font-size:13px}.share-social{border:1px solid var(--border);background:var(--panel);width:42px;height:42px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.share-social:hover{background:var(--panel-2);text-decoration:none}.share-close{width:100%;margin-top:16px}.plan-grid{text-align:left;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 4px;display:grid}.plan-card{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;flex-direction:column;gap:6px;padding:16px 14px;display:flex;position:relative}.plan-card.best{border-color:var(--accent);background:var(--accent-soft)}.plan-card button{width:100%;margin-top:auto}.plan-name{font-weight:600}.plan-price{font-size:22px;font-weight:700}.plan-per{color:var(--muted);font-size:13px;font-weight:400}.plan-badge{background:var(--accent-2);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;position:absolute;top:-10px;right:10px}@media (max-width:480px){.plan-grid{grid-template-columns:1fr}}.auth-page{grid-template-columns:1.05fr 1fr;min-height:calc(100vh - 64px);display:grid}.auth-aside{background:var(--grad);color:#fff;flex-direction:column;justify-content:space-between;padding:clamp(32px,4vw,56px);display:flex;position:relative;overflow:hidden}.auth-aside:before{content:"";pointer-events:none;background:radial-gradient(120% 90% at 15% 10%,#ffffff38,#0000 55%),radial-gradient(90% 90% at 90% 100%,#1e2a788c,#0000 60%);position:absolute;inset:0}.auth-aside>*{z-index:1;position:relative}.auth-aside-brand{font-family:var(--font-serif);color:#fff;align-items:center;gap:10px;font-size:21px;font-weight:700;display:inline-flex}.auth-aside-brand:hover{color:#fff;text-decoration:none}.auth-aside-mid{flex-direction:column;gap:18px;display:flex}.auth-aside-motif{opacity:.95;width:clamp(140px,18vw,200px);height:auto}.auth-aside-title{font-family:var(--font-serif);color:#fff;letter-spacing:-.01em;max-width:18ch;margin:0;font-size:clamp(24px,2.6vw,34px);font-weight:700;line-height:1.2}.auth-aside-foot{color:#ffffffc7;font-size:13.5px}.auth-main{justify-content:center;align-items:center;padding:clamp(28px,4vw,48px) 20px;display:flex}.auth-card-col{width:100%;max-width:400px}.auth-mobile-brand{justify-content:center;margin-bottom:18px;display:none}.auth-card-col h1{margin:0 0 4px;font-size:27px}.auth-card-col .card{box-shadow:var(--shadow-md)}.auth-header-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.auth-header-aside{text-align:right;flex:none}@media (max-width:860px){.auth-page{grid-template-columns:1fr;min-height:auto}.auth-aside{display:none}.auth-mobile-brand{display:flex}.auth-main{padding:32px 18px 8px}}
