:root{--purple: #7c3aed;--purple-dark: #5b21b6;--purple-deep: #2e1065;--purple-light: #ede9fe;--purple-ghost: #f5f3ff;--sun: #fbbf24;--sun-light: #fef3c7;--mint: #34d399;--mint-light: #d1fae5;--pink: #f472b6;--pink-light: #fce7f3;--sky: #38bdf8;--sky-light: #e0f2fe;--ink: #17142b;--ink-muted: rgba(23, 20, 43, .64);--ink-soft: rgba(23, 20, 43, .45);--surface: #f6f4fb;--line: #ebe8f3;--bg: #fbfaFE;--white: #ffffff;--danger: #dc2626;--font-display: "Fraunces", Georgia, serif;--font-body: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(23, 20, 43, .04), 0 2px 8px rgba(23, 20, 43, .04);--shadow-md: 0 4px 10px rgba(23, 20, 43, .04), 0 14px 32px rgba(46, 16, 101, .09);--shadow-lg: 0 10px 24px rgba(23, 20, 43, .06), 0 28px 64px rgba(46, 16, 101, .14);--container: 1200px;--t: .2s ease}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}a{color:var(--purple);text-decoration:none}a:hover{color:var(--purple-dark)}h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0 0 .5em;color:var(--ink);letter-spacing:-.015em;font-weight:600}h1{font-weight:650}h1{font-size:clamp(2rem,4.5vw,3.4rem)}h2{font-size:clamp(1.5rem,3vw,2.2rem)}h3{font-size:1.2rem}p{margin:0 0 1em}button{font-family:inherit}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 20px}.section{padding:64px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:22px}.section-head p{color:var(--ink-muted);margin:0}.section-head h2{margin-bottom:6px}.eyebrow{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);margin-bottom:8px}.muted{color:var(--ink-muted)}.page{min-height:60vh;padding:36px 0 64px}.page-title{margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:var(--radius-full);border:1.5px solid transparent;font-weight:700;font-size:.98rem;cursor:pointer;transition:transform var(--t),background var(--t),box-shadow var(--t);text-decoration:none;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--purple);color:var(--white);box-shadow:0 1px 2px #2e106533,0 6px 16px #7c3aed38}.btn-primary:hover{background:var(--purple-dark);color:var(--white)}.btn-sun{background:var(--sun);color:var(--purple-deep)}.btn-sun:hover{background:#f59e0b;color:var(--purple-deep)}.btn-ghost{background:var(--white);color:var(--purple-dark);border-color:var(--line);border-width:1.5px}.btn-ghost:hover{border-color:var(--purple);color:var(--purple);background:var(--purple-ghost)}.btn-block{width:100%}.btn-sm{padding:8px 14px;font-size:.88rem}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);background:var(--purple-ghost);color:var(--purple-dark);font-size:.82rem;font-weight:600;border:1px solid var(--purple-light)}.chip.kids{background:var(--sun-light);color:#92400e;border-color:#fde68a}.chip.live{background:var(--pink-light);color:#9d174d;border-color:#fbcfe8}.chip.private{background:var(--sky-light);color:#075985;border-color:#bae6fd}.chip.ebook{background:var(--mint-light);color:#065f46;border-color:#a7f3d0}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-weight:600;font-size:.9rem}.input,select.input,textarea.input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1.5px solid var(--line);font:inherit;background:var(--white);color:var(--ink);transition:border var(--t)}.input:focus{border-color:var(--purple);outline:none}.form-error{color:var(--danger);font-size:.9rem;margin:6px 0 10px}.form-ok{color:#047857;font-size:.9rem;margin:6px 0 10px}.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,280px);gap:18px;overflow-x:auto;padding:4px 4px 14px;scroll-snap-type:x mandatory}.rail>*{scroll-snap-align:start}.rail::-webkit-scrollbar{height:8px}.rail::-webkit-scrollbar-thumb{background:var(--purple-light);border-radius:8px}.state{padding:48px 20px;text-align:center;color:var(--ink-muted)}.skeleton{background:linear-gradient(90deg,#f1edfb,#faf8ff,#f1edfb);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--radius-lg)}@keyframes shimmer{to{background-position:-200% 0}}.prose{max-width:760px}.prose img{border-radius:var(--radius-md)}.pager{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:28px}@media(max-width:720px){.section{padding:40px 0}.section-head{flex-direction:column;align-items:start}}@media(max-width:760px){table:not(.sr-only){display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table:not(.sr-only) th,table:not(.sr-only) td{min-width:110px}table:not(.sr-only) th:first-child,table:not(.sr-only) td:first-child{min-width:150px}}::selection{background:var(--purple-light);color:var(--purple-deep)}.input:hover{border-color:#d9d3ea}.input:focus{box-shadow:0 0 0 4px #7c3aed1f}.input::placeholder{color:var(--ink-soft)}.card{transition:box-shadow var(--t),border-color var(--t)}.rail{scrollbar-width:thin;scrollbar-color:var(--purple-light) transparent}.prose table{border-collapse:collapse;width:100%;margin:12px 0 18px;font-size:.95em}@media(max-width:700px){.prose table{display:block;overflow-x:auto}}.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;vertical-align:top;text-align:left}.prose th{background:var(--purple-ghost);font-weight:700}.prose tr:nth-child(2n) td{background:#7c3aed08}.prose img{max-width:100%;height:auto}.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--purple);cursor:pointer;font-size:.85rem}.link-btn:hover{text-decoration:underline}.narrow-page{max-width:860px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;background:var(--surface);color:var(--ink-muted)}.pill.ok{background:#d1fae5;color:#065f46}.pill.warn{background:#fef3c7;color:#92400e}.pill.bad{background:#fee2e2;color:#991b1b}.pill.info{background:var(--purple-light);color:var(--purple-dark)}.box{padding:20px}.box+.box{margin-top:16px}.box h3{display:flex;align-items:center;gap:8px;font-size:1.1rem;margin:0 0 6px}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.modal-back{position:fixed;inset:0;z-index:100;background:#17142b80;display:grid;place-items:center;padding:16px}.modal{width:min(640px,100%);max-height:90vh;overflow-y:auto;background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:24px}.modal.wide{width:min(860px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.modal-head h2{margin:0;font-size:1.4rem}.tgl{position:relative;display:inline-block;width:44px;height:26px;flex:none}.tgl input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}.tgl span{position:absolute;inset:0;border-radius:13px;background:#d9d4e8;transition:background var(--t)}.tgl span:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform var(--t)}.tgl input:checked+span{background:var(--purple)}.tgl input:checked+span:after{transform:translate(18px)}.tgl input:focus-visible+span{outline:3px solid var(--sun);outline-offset:2px}.bell{position:relative}.bell-count{top:2px;right:2px}.bell-panel{width:380px;right:-60px;padding:0;overflow:hidden;animation:umIn .18s ease}.bp-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}.bp-empty{padding:26px 16px;text-align:center;margin:0}.bp-list{list-style:none;margin:0;padding:6px;max-height:420px;overflow-y:auto}.bp-item{display:flex;gap:12px;width:100%;padding:10px;border:0;background:none;text-align:left;font:inherit;color:var(--ink);border-radius:12px;cursor:pointer;position:relative}.bp-item:hover{background:var(--surface)}.bp-item.unread{background:var(--purple-ghost)}.bp-item.unread:after{content:"";position:absolute;right:12px;top:16px;width:8px;height:8px;border-radius:50%;background:var(--purple)}.bp-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--purple-light);color:var(--purple)}.bp-ico.t-class_reminder,.bp-ico.t-booking{background:var(--pink-light);color:#db2777}.bp-ico.t-payout,.bp-ico.t-order,.bp-ico.t-gift{background:var(--mint-light);color:#059669}.bp-ico.t-message,.bp-ico.t-qa{background:var(--sky-light);color:#0284c7}.bp-ico.t-course_review,.bp-ico.t-assignment{background:var(--sun-light);color:#b45309}.bp-text{display:flex;flex-direction:column;min-width:0;padding-right:14px}.bp-text b{font-size:.9rem;line-height:1.35}.bp-text small{color:var(--ink-muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bp-text em{font-style:normal;color:var(--ink-soft);font-size:.75rem;margin-top:2px}.bp-all{display:block;text-align:center;padding:12px;border-top:1px solid var(--line);font-weight:700;font-size:.88rem}.notif-list{list-style:none;margin:0;padding:8px}.notif-list li+li{border-top:1px solid var(--line)}@media(max-width:520px){.bell-panel{position:fixed;left:12px;right:12px;top:64px;width:auto}}.notif-prefs{margin-top:20px;padding:22px}.notif-prefs h3{display:flex;align-items:center;gap:8px}.np-list{list-style:none;margin:10px 0 16px;padding:0}.np-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.np-list li span:first-child{display:flex;flex-direction:column}.btn-danger{background:#dc2626;color:#fff}.btn-danger:hover{background:#b91c1c;color:#fff}.bk-now{padding:14px 16px;display:flex;flex-direction:column;gap:2px;margin-bottom:10px;background:var(--surface)}.bk-rules{display:flex;gap:6px;align-items:flex-start;font-size:.88rem}.bk-choose{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.bk-opt{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:18px;text-align:left;cursor:pointer;font:inherit;color:var(--ink)}.bk-opt svg{color:var(--purple)}.bk-opt.danger svg{color:#dc2626}.bk-opt:hover:not(:disabled){border-color:var(--purple);box-shadow:var(--shadow-md)}.bk-opt:disabled{opacity:.55;cursor:not-allowed}.bk-move{display:grid;gap:12px;margin-top:8px}.bk-times{display:flex;flex-wrap:wrap;gap:8px}.bk-time{padding:9px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--white);font:inherit;font-weight:700;cursor:pointer}.bk-time.on{border-color:var(--purple);background:var(--purple-ghost);color:var(--purple)}.sp-day{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);cursor:pointer;font:inherit;min-width:56px}.sp-day.on{border-color:var(--purple);background:var(--purple-ghost);color:var(--purple)}.sp-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.lv-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}@media(max-width:560px){.bk-choose{grid-template-columns:1fr}}.recs{margin-top:36px}.recs h2{display:flex;align-items:center;gap:10px}.rec-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.rec-item{display:flex;align-items:center;gap:14px;padding:14px 16px}.rec-item>div{flex:1;display:flex;flex-direction:column;min-width:0}.rec-ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--purple-light);color:var(--purple);flex:none}.cd-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:10px}.cd-cols h3{display:flex;align-items:center;gap:8px;font-size:1.05rem}.att-list{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:8px}.att-list li{display:flex;gap:10px;align-items:flex-start}.att-list li span{display:flex;flex-direction:column}.att-list .ok{color:#059669;margin-top:2px}.att-list .no{color:#c4bfd4;margin-top:2px}.rec-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.rec-row a,.rec-row span{flex:1}.rec-upload{display:flex;gap:8px;margin-top:12px}.rec-upload .input{flex:1}.small{font-size:.8rem}@media(max-width:700px){.cd-cols{grid-template-columns:1fr}}.tqa-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.tqa-head{width:100%;display:flex;gap:12px;align-items:center;padding:14px 16px;border:0;background:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.tqa-main{flex:1;display:flex;flex-direction:column;min-width:0}.tqa-thread{padding:0 16px 16px;border-top:1px solid var(--line)}.tqa-thread .lesson-qa{margin-top:16px}.qe-top{display:grid;grid-template-columns:1fr 160px;gap:12px}.qe-top .field span,.modal .field>span{font-weight:600;font-size:.9rem}.qe-list{margin:12px 0;padding-left:20px;display:grid;gap:12px}.qe-q{padding:14px;display:grid;gap:8px}.qe-row{display:flex;gap:8px;align-items:flex-start}.qe-row textarea{flex:1}.qe-opt{display:flex;gap:8px;align-items:center}.qe-opt .input{flex:1}.qe-tick{background:none;border:0;padding:4px;cursor:pointer;color:var(--ink-soft)}.qe-tick.on{color:#059669}.qe-explain{font-size:.88rem}.qe-foot{justify-content:space-between;margin-top:16px}.lec-extras{margin:14px 0;padding:12px 14px;border-radius:12px;background:var(--surface)}.on-tag{border-color:#a7f3d0;color:#047857;background:#ecfdf5}.sub-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.sub-item{padding:16px 18px;display:grid;gap:10px}.sub-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sub-file{display:inline-flex;gap:6px;align-items:center;font-weight:700}.sub-review{display:grid;gap:8px}.sub-grade{width:140px}.la-mine{white-space:pre-wrap;margin:0;padding:10px 14px;border-radius:12px;background:var(--surface)}@media(max-width:560px){.qe-top{grid-template-columns:1fr}}.bundle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.bundle-card{display:flex;flex-direction:column;overflow:hidden;color:var(--ink);transition:transform var(--t),box-shadow var(--t)}.bundle-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--ink)}.bc-covers{position:relative;height:150px;background:linear-gradient(140deg,#ede9fe,#fdf4ff)}.bc-cover{position:absolute;width:58%;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;background:var(--white);box-shadow:var(--shadow-md);display:grid;place-items:center;color:var(--purple)}.bc-cover img{width:100%;height:100%;object-fit:cover}.bc-cover.c0{left:8%;top:22px;transform:rotate(-6deg)}.bc-cover.c1{left:22%;top:14px;z-index:1}.bc-cover.c2{left:36%;top:26px;transform:rotate(6deg);z-index:2}.bc-save{position:absolute;right:12px;top:12px;z-index:3;padding:4px 10px;border-radius:var(--radius-full);background:#dc2626;color:#fff;font-weight:800;font-size:.8rem}.bc-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}.bc-body h3{font-family:var(--font-body);font-size:1.05rem;margin:0}.bc-list{font-size:.84rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bc-price{margin-top:auto;padding-top:10px;display:flex;gap:8px;align-items:baseline}.bc-price b{font-size:1.15rem}.bundle-card.compact .bc-covers{height:110px}.bp-hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}.bp-hero h1{color:#fff;margin:14px 0}.bp-buy{padding:22px;color:var(--ink)}.bp-prices{display:flex;gap:10px;align-items:baseline;margin-bottom:6px}.bp-prices b{font-size:2rem}.bp-save{color:#047857;font-weight:700;margin:0 0 14px}.course-bundles{margin-top:16px;display:grid;gap:10px}.course-bundles>p{font-weight:800;margin:0;font-size:.9rem}@media(max-width:900px){.bp-hero{grid-template-columns:1fr}}.gift-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;max-width:960px}.gift-card{padding:36px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;background:radial-gradient(500px 240px at 50% 0%,#fdf4ff,var(--white))}.gift-ico{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff;margin-bottom:6px}.gift-ico.sm{width:40px;height:40px;border-radius:12px;margin:0;flex:none}.gift-msg{margin:6px 0 14px;font-family:var(--font-display);font-size:1.15rem;color:var(--ink);max-width:480px}.gift-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}.gift-row{display:flex;gap:14px;align-items:flex-start;padding:14px 16px}.gr-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.gr-tools{margin-top:6px}.gr-email{width:220px;padding:7px 10px;font-size:.85rem}.gift-link{display:inline-flex;gap:6px;align-items:center;margin-top:10px;background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--purple);cursor:pointer}.ci-gift{display:inline-flex;gap:6px;align-items:center;font-size:.85rem;font-weight:700;color:#be185d}@media(max-width:760px){.gift-wrap{grid-template-columns:1fr}}.bnd-pick{list-style:none;margin:0 0 14px;padding:8px 12px;max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:12px}.bnd-pick li{padding:4px 0}.bnd-pick label{width:100%}.bnd-pick span{flex:1}.bnd-row{display:flex;gap:16px;align-items:center;padding:14px 16px}.bnd-thumb{width:80px;height:45px;object-fit:cover;border-radius:8px}.ci-bundle-ico{width:120px;aspect-ratio:16 / 9;border-radius:var(--radius-md);background:var(--purple-light);color:var(--purple);display:grid;place-items:center;flex:none}.f-label{font-weight:700;font-size:.9rem;margin:4px 0 6px}.bundle-rail{grid-auto-columns:minmax(290px,320px)}.ana-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:16px}.ana-filters .ins-filter{margin:0}.ana-course{width:auto;min-width:220px}.ana-loading{opacity:.6;transition:opacity var(--t)}.ana-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:8px}.ana-tile{padding:14px 16px;display:flex;flex-direction:column;gap:2px}.ana-tile span{color:var(--purple)}.ana-tile small{color:var(--ink-muted);font-weight:600}.ana-tile b{font-size:1.35rem;font-family:var(--font-display)}.ana-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.ana-chart{margin:0;padding:16px}.ana-chart figcaption{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:.9rem}.ana-chart svg{width:100%;height:auto;display:block}.ana-base{stroke:var(--line);stroke-width:1}.ana-bar{fill:var(--purple);opacity:.85}.ana-bar.on{opacity:1;fill:var(--purple-dark)}.ana-tick{font-size:11px;fill:var(--ink-muted)}.ana-sources{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ana-sources li{display:grid;grid-template-columns:110px 1fr 36px;gap:10px;align-items:center;font-size:.88rem}.as-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-bar{height:10px;border-radius:6px;background:var(--surface);overflow:hidden}.as-bar i{display:block;height:100%;border-radius:6px;background:var(--purple)}.ana-table{padding:8px 12px}@media(max-width:1000px){.ana-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.ana-charts{grid-template-columns:1fr}}@media(max-width:520px){.ana-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.welcome-page{background:radial-gradient(800px 400px at 100% 0%,rgba(253,230,138,.3),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(221,214,254,.55),transparent 60%),var(--bg)}.wel-wrap{max-width:760px}.wel-card{padding:36px}.wel-card h1{font-size:clamp(1.7rem,3.5vw,2.4rem)}.wel-q{font-size:1.3rem;margin-top:18px}.wel-progress{display:flex;gap:6px;margin:10px 0 22px}.wel-progress span{flex:1;height:5px;border-radius:4px;background:var(--line)}.wel-progress span.on{background:linear-gradient(90deg,var(--purple),var(--pink))}.wel-opts{display:grid;gap:12px}.wel-opts.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wel-opt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;border-radius:var(--radius-lg);border:2px solid var(--line);background:var(--white);font:inherit;color:var(--ink);cursor:pointer;text-align:center;transition:all var(--t)}.wel-opt svg{color:var(--purple)}.wel-opt:hover{border-color:var(--purple)}.wel-opt.on{border-color:var(--purple);background:var(--purple-ghost);box-shadow:0 0 0 4px #7c3aed1f}.wel-chips{display:flex;flex-wrap:wrap;gap:8px}.finder-chip.sel{background:var(--purple);border-color:var(--purple);color:#fff;display:inline-flex;gap:4px;align-items:center}.wel-two{display:grid;gap:18px}.wel-row{display:flex;flex-wrap:wrap;gap:8px}.wel-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px}.onb-card{display:flex;gap:16px;align-items:center;padding:18px 20px;margin-bottom:8px;background:linear-gradient(135deg,var(--purple-ghost),#fff7ed);border-color:var(--purple-light)}.onb-card>div{flex:1}.onb-card h3{margin:0 0 2px;font-size:1.1rem}.onb-card p{margin:0}@media(max-width:560px){.wel-opts.three{grid-template-columns:repeat(2,minmax(0,1fr))}.wel-card{padding:24px}}@media(min-width:901px){.header-search.sb{position:relative}}.sb-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:95;padding:6px;box-shadow:var(--shadow-lg);max-height:70vh;overflow-y:auto;animation:umIn .15s ease}.sb-empty{padding:14px;margin:0;font-size:.9rem}.sb-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;background:none;border-radius:10px;text-align:left;font:inherit;color:var(--ink);cursor:pointer}.sb-item.on{background:var(--purple-ghost)}.sb-ico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--surface);color:var(--purple);flex:none}.sb-item.k-fix .sb-ico{background:var(--sun-light);color:#b45309}.sb-text{flex:1;min-width:0;display:flex;flex-direction:column;font-size:.9rem}.sb-text b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}.sb-text small{color:var(--ink-muted);font-size:.78rem}.sb-kind{color:var(--ink-soft);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.sb-all{width:100%;padding:10px;border:0;border-top:1px solid var(--line);background:none;font:inherit;font-weight:700;color:var(--purple);cursor:pointer;margin-top:4px}.child-banner{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 16px;background:linear-gradient(90deg,#fef3c7,#fce7f3);color:#78350f;font-weight:700;font-size:.9rem}.child-banner .btn{background:#fff;color:#78350f;border-color:#fde68a;padding:5px 12px}.fam-list{list-style:none;margin:16px 0;padding:0;display:grid;gap:10px}.fam-kid{display:flex;gap:14px;align-items:center;padding:16px;flex-wrap:wrap}.fam-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--sun),var(--pink));color:#fff;font-weight:800;font-size:1.2rem;flex:none}.fk-main{flex:1;display:flex;flex-direction:column;min-width:180px}.fk-next{display:inline-flex;gap:5px;align-items:center;color:#be185d;font-weight:600}.fam-add{display:flex;gap:10px;align-items:center;padding:12px 16px}.fam-add svg{color:var(--purple);flex:none}.fam-add .input{flex:1}.fam-give{margin-top:32px}.fam-give h2{display:flex;gap:8px;align-items:center;font-size:1.3rem}.fam-courses{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fam-courses li{display:flex;gap:10px;align-items:center;padding:10px 14px;flex-wrap:wrap}.fam-courses b{flex:1;min-width:160px}.fam-courses .input{width:auto;padding:8px 10px}.fam-heat{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;margin:8px 0;max-width:420px}.fam-heat span{aspect-ratio:1;border-radius:4px;background:var(--surface);border:1px solid var(--line)}.fam-heat .l1{background:#ddd6fe;border-color:#ddd6fe}.fam-heat .l2{background:#a78bfa;border-color:#a78bfa}.fam-heat .l3{background:#6d28d9;border-color:#6d28d9}.fam-progress{list-style:none;margin:0;padding:0}.fam-progress li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.fam-progress li>span:first-child{display:flex;flex-direction:column;min-width:0}.fp-bar{display:flex;align-items:center;gap:8px;width:160px}.fp-bar .progress{flex:1;margin:0}.cms-form{display:grid;gap:4px;padding:20px}.cms-cat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.cms-faq-list{list-style:none;margin:0;padding:0}.cms-faq-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.cms-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.cms-chips .pill{gap:8px}.cms-thumb{width:120px;height:68px;object-fit:cover;border-radius:8px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.post-card{display:flex;flex-direction:column;overflow:hidden;color:var(--ink);transition:transform var(--t),box-shadow var(--t)}.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--ink)}.post-card.big{grid-column:1 / -1;flex-direction:row}.post-card.big .pc-img{width:55%;aspect-ratio:auto;min-height:280px}.post-card.big h3{font-size:1.6rem}.pc-img{aspect-ratio:16 / 9;background:linear-gradient(140deg,#ede9fe,#fdf4ff);display:grid;place-items:center;color:var(--purple);overflow:hidden}.pc-img img{width:100%;height:100%;object-fit:cover}.pc-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}.pc-body h3{margin:0;font-size:1.15rem}.pc-body p{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-post{max-width:780px}.blog-post h1{margin-top:10px}.bp-cat{margin:18px 0 0}.bp-cover{width:100%;border-radius:var(--radius-lg);margin:18px 0}.blog-prose{max-width:none;font-size:1.06rem;line-height:1.75}.blog-prose img{margin:16px 0}@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-card.big{flex-direction:column}.post-card.big .pc-img{width:100%;min-height:0;aspect-ratio:16 / 9}}@media(max-width:560px){.blog-grid{grid-template-columns:1fr}}.receipt-wrap{max-width:820px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.receipt-wrap>.row-actions{justify-content:space-between}.receipt{padding:36px}.rc-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}.rc-brand{font-family:var(--font-display);font-size:1.5rem;color:var(--purple-dark)}.rc-addr{white-space:pre-line;margin:4px 0 0}.rc-meta{text-align:right}.rc-meta h1{font-size:1.8rem;margin:0}.rc-meta p{margin:2px 0}.rc-table{margin:16px 0}.rc-total{margin-left:auto;max-width:320px}.rc-total p{display:flex;justify-content:space-between;margin:4px 0}@media(max-width:600px){.receipt{padding:18px}.rc-head{flex-direction:column;gap:10px}.rc-meta{text-align:left}.rc-table{min-width:0;width:100%;table-layout:fixed;font-size:.82rem}.rc-table th,.rc-table td{padding:8px 4px;white-space:normal;word-break:break-word}.rc-table th:nth-child(2),.rc-table td:nth-child(2),.rc-table th:nth-child(3),.rc-table td:nth-child(3){display:none}.rc-table th:last-child,.rc-table td:last-child{text-align:right;width:90px}.rc-total{max-width:none}}.rc-total p.big{font-weight:800;font-size:1.2rem;border-top:2px solid var(--ink);padding-top:8px}@media print{.site-header,.site-footer,.no-print,.cookie-notice,.child-banner{display:none!important}.receipt{box-shadow:none;border:0;padding:0}.page{padding:0}}.home-group{padding:18px 20px;display:grid;gap:10px}.home-group-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.home-group-head p{margin:2px 0 0}.home-sec{display:flex;gap:14px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px}.home-sec>img,.home-sec-noimg{width:72px;height:52px;border-radius:8px;object-fit:cover;flex:none;background:var(--surface)}.home-sec-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.home-sec-text b{overflow-wrap:anywhere}.home-sec-body{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.home-sec-btn{color:var(--purple);font-weight:600;overflow-wrap:anywhere}.home-sec-form{scroll-margin-top:130px;margin-bottom:16px;border:2px solid var(--purple-light)}.home-sec-head{display:flex;justify-content:space-between;align-items:center}.home-sec-img img{width:120px;height:80px;object-fit:cover;border-radius:8px}.rep-thread{display:grid;gap:8px;max-height:60vh;overflow-y:auto;padding:4px}.rep-msg{max-width:80%;padding:8px 12px;border-radius:12px;background:var(--surface)}.rep-msg.right{justify-self:end;background:var(--purple-ghost)}.rep-msg small{display:block;color:var(--ink-muted);font-size:.75rem;margin-bottom:2px}.rep-bar{display:inline-block;width:80px;height:6px;border-radius:99px;background:var(--surface);vertical-align:middle;margin-right:6px;overflow:hidden}.rep-bar i{display:block;height:100%;background:var(--purple)}@media(max-width:600px){.home-sec{flex-wrap:wrap}.home-sec .adm-actions{width:100%;justify-content:flex-end}.home-group-head{flex-direction:column}}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.course-card{display:flex;flex-direction:column;overflow:hidden;color:var(--ink);height:100%;border-radius:var(--radius-lg);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#e0dbef;color:var(--ink)}.course-card:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.cc-media{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--surface)}.cc-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.course-card:hover .cc-media img{transform:scale(1.04)}.cc-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:12px}.cc-fallback b{font-family:var(--font-display);font-weight:600;font-size:.95rem;opacity:.85;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cc-fallback.t-violet{background:linear-gradient(140deg,#ede9fe,#f5f3ff 60%,#fdf4ff);color:#6d28d9}.cc-fallback.t-rose{background:linear-gradient(140deg,#ffe4e6,#fff1f2 60%,#fdf2f8);color:#be123c}.cc-fallback.t-amber{background:linear-gradient(140deg,#fef3c7,#fffbeb 60%,#fff7ed);color:#b45309}.cc-fallback.t-teal{background:linear-gradient(140deg,#ccfbf1,#f0fdfa 60%,#ecfeff);color:#0f766e}.cc-fallback.t-sky{background:linear-gradient(140deg,#e0f2fe,#f0f9ff 60%,#eef2ff);color:#0369a1}.cc-type{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--radius-full);background:#ffffffeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:.74rem;font-weight:700;color:var(--ink);box-shadow:0 1px 3px #17142b14}.cc-type.recorded svg{color:var(--purple)}.cc-type.live svg{color:#db2777}.cc-type.private svg{color:#0284c7}.cc-type.ebook svg{color:#059669}.cc-kids{position:absolute;right:10px;top:10px;padding:4px 10px;border-radius:var(--radius-full);background:var(--sun);color:var(--purple-deep);font-size:.74rem;font-weight:800}.cc-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;gap:4px}.cc-cat{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-title{font-family:var(--font-body);font-size:1rem;font-weight:700;line-height:1.35;margin:0;letter-spacing:-.005em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cc-by{font-size:.84rem;margin:0;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-rating{display:flex;align-items:center;gap:10px;min-height:20px;font-size:.82rem}.cc-learners{display:inline-flex;align-items:center;gap:4px;color:var(--ink-muted);font-weight:600}.cc-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.78rem;color:var(--ink-muted);margin-bottom:8px}.cc-meta span{display:inline-flex;align-items:center;gap:4px}.cc-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px dashed var(--line)}.cc-badge{font-size:.7rem;font-weight:800;padding:3px 9px;border-radius:6px;letter-spacing:.02em}.cc-badge.bestseller{background:#fef3c7;color:#92400e}.cc-badge.top{background:#ede9fe;color:#5b21b6}.cc-badge.new{background:#d1fae5;color:#065f46}.price{font-weight:800;font-size:1.08rem;color:var(--ink)}.price.free{color:#047857}.price small{font-weight:600;color:var(--ink-muted);font-size:.8rem}.stars{display:inline-flex;align-items:center;gap:1px}.stars b{margin-left:4px;font-size:.85rem;color:var(--ink)}.stars .muted{margin-left:3px;font-size:.8rem}.wish-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--white);color:var(--ink-muted);cursor:pointer;font:inherit;font-weight:700;transition:color var(--t),background var(--t),transform var(--t),border-color var(--t)}.wish-btn.icon{width:34px;height:34px;border-radius:50%;box-shadow:var(--shadow-sm);background:#fffffff0}.wish-btn.full{padding:10px 16px;border-radius:var(--radius-full)}.wish-btn:hover{color:#db2777;border-color:#fbcfe8;transform:scale(1.06)}.wish-btn.saved{color:#db2777;background:var(--pink-light);border-color:#fbcfe8}.wish-btn.saved svg{animation:heartPop .35s ease}@keyframes heartPop{50%{transform:scale(1.3)}}.cc-wish{position:absolute;right:10px;bottom:10px;opacity:.95}@media(hover:hover){.cc-wish:not(.saved){opacity:0;transform:translateY(4px)}.course-card:hover .cc-wish,.cc-wish:focus-visible{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.course-card,.cc-media img{transition:none}.course-card:hover{transform:none}}.site-header{position:sticky;top:0;z-index:50;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;gap:18px;height:70px}.logo{display:inline-flex;align-items:center;gap:6px;color:var(--ink);flex-shrink:0}.logo-badge{background:var(--purple);color:var(--white);font-weight:800;padding:4px 10px;border-radius:10px;font-size:1.15rem;position:relative;letter-spacing:.02em}.logo-badge:after{content:"";position:absolute;top:-5px;right:-5px;width:11px;height:11px;border-radius:50%;background:var(--sun);border:2px solid var(--white)}.logo-img{display:block;height:44px;width:auto;max-width:220px;object-fit:contain}.logo-word{font-family:var(--font-display);font-weight:700;font-size:1.35rem;color:var(--purple-deep)}.header-search{flex:1;display:flex;align-items:center;gap:8px;background:var(--purple-ghost);border:1.5px solid var(--purple-light);border-radius:var(--radius-full);padding:0 16px;max-width:520px;color:var(--ink-muted)}.header-search:focus-within{border-color:var(--purple);background:var(--white)}.header-search input{border:0;background:transparent;padding:11px 0;width:100%;font:inherit;color:var(--ink);outline:none}.header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.auth-links{display:flex;gap:8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:0;background:transparent;color:var(--ink);cursor:pointer;position:relative}.icon-btn:hover{background:var(--purple-ghost);color:var(--purple)}.cart-count{position:absolute;top:2px;right:0;background:var(--pink);color:var(--white);font-size:.7rem;font-weight:800;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}.main-nav{display:flex;gap:6px;height:46px;align-items:center}.main-nav a{padding:7px 14px;border-radius:var(--radius-full);color:var(--ink);font-weight:600;font-size:.93rem}.main-nav a:hover,.main-nav a.active{background:var(--purple-ghost);color:var(--purple)}.main-nav a.nav-kids{background:var(--sun);color:var(--purple-deep)}.main-nav a.nav-kids:hover{background:#f59e0b}.main-nav .nav-teach{margin-left:auto;color:var(--purple)}.lang-switch{display:inline-flex;align-items:center;gap:4px;color:var(--ink-muted)}.lang-switch select{border:0;background:transparent;font:inherit;color:var(--ink);cursor:pointer}.drawer-backdrop{position:fixed;inset:0;background:#1a1a2e73;z-index:60}.drawer{position:absolute;left:0;top:0;bottom:0;width:min(320px,86vw);background:var(--white);padding:16px 20px;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.drawer a,.drawer>button{padding:12px 6px;color:var(--ink);background:none;border:0;text-align:left;font:inherit;font-weight:600;cursor:pointer}.drawer a.nav-kids{color:#b45309}.drawer hr{border:0;border-top:1px solid var(--line);width:100%}.only-mobile{display:none}@media(max-width:900px){.only-desktop{display:none!important}.only-mobile{display:inline-flex}.header-row{gap:8px;height:62px}.logo-word{font-size:1.1rem}.logo-img{height:36px;max-width:160px}.header-search{order:5;position:absolute;left:16px;right:16px;top:62px;max-width:none}.site-header{padding-bottom:54px}}.user-menu{position:relative}.avatar-btn{position:relative;display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 3px;border:1px solid var(--line);border-radius:var(--radius-full);background:var(--white);cursor:pointer;color:var(--ink-muted);transition:box-shadow var(--t),border-color var(--t)}.avatar-btn:hover,.avatar-btn[aria-expanded=true]{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-light)}.avatar-img{display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,var(--purple),var(--pink));color:var(--white);font-weight:800;letter-spacing:.02em}.avatar-img img{width:100%;height:100%;object-fit:cover}.avatar-dot{position:absolute;left:30px;top:2px;width:11px;height:11px;border-radius:50%;background:#ec4899;border:2px solid var(--white)}.um-chevron{transition:transform var(--t)}.um-chevron.up{transform:rotate(180deg)}.dropdown{position:absolute;right:0;top:calc(100% + 10px);z-index:80;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.um{width:300px;max-height:calc(100vh - 90px);overflow-y:auto;padding:8px;animation:umIn .18s ease}@keyframes umIn{0%{opacity:0;transform:translateY(-6px)}}.um a,.um button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border-radius:var(--radius-sm);color:var(--ink);background:none;border:0;font:inherit;font-size:.94rem;font-weight:600;cursor:pointer;text-align:left}.um a:hover,.um button:hover,.um a:focus-visible,.um button:focus-visible{background:var(--purple-ghost);color:var(--purple);outline:none}.um a svg,.um button svg{color:var(--ink-muted);flex-shrink:0}.um a:hover svg,.um button:hover svg{color:var(--purple)}.um-label{flex:1}.um-ext{opacity:.6}.um-badge{min-width:22px;height:22px;padding:0 7px;border-radius:var(--radius-full);display:inline-grid;place-items:center;background:var(--purple-light);color:var(--purple);font-size:.75rem;font-weight:800}.um-badge.hot{background:#ec4899;color:var(--white)}.um .um-head{gap:12px;padding:12px;margin-bottom:4px;background:linear-gradient(135deg,var(--purple-ghost),var(--sun-light));border-radius:var(--radius-md)}.um .um-head:hover{background:linear-gradient(135deg,var(--purple-light),var(--sun-light))}.um-who{display:flex;flex-direction:column;min-width:0}.um-who b{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-who small{color:var(--ink-muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.um-roles{display:flex;gap:6px;margin-top:6px}.um-role{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-full);background:var(--white);color:var(--purple)}.um-role.teach{background:var(--sun);color:var(--purple-deep)}.um-role.admin{background:var(--purple-deep);color:var(--white)}.um-group{padding:4px 0}.um-group+.um-group{border-top:1px solid var(--line)}.um-title{margin:8px 12px 4px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.um .um-logout:hover{background:#fef2f2;color:var(--danger)}.um .um-logout:hover svg{color:var(--danger)}.drawer-user{display:flex;align-items:center;gap:12px;padding:8px 6px 12px}.drawer-user span{display:flex;flex-direction:column;min-width:0}.drawer-user small{color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis}@media(max-width:520px){.um{position:fixed;left:12px;right:12px;top:64px;width:auto}.um-chevron{display:none}}.site-header{background:#ffffffe6;-webkit-backdrop-filter:saturate(1.6) blur(12px);backdrop-filter:saturate(1.6) blur(12px)}.header-search{background:var(--surface);border-color:transparent}.header-search:hover{border-color:var(--line)}.header-search:focus-within{box-shadow:0 0 0 4px #7c3aed1a}.main-nav{border-top:1px solid rgba(235,232,243,.6)}.main-nav a{font-weight:600;color:var(--ink-muted)}.main-nav a.active{color:var(--purple);background:var(--purple-ghost)}.main-nav a.nav-kids{background:var(--sun-light);color:#92400e;border:1px solid #fde68a}.main-nav a.nav-kids:hover{background:#fde68a;color:#78350f}.main-nav a.nav-kids:before{content:"✦ ";color:#f59e0b}.explore{position:relative}.explore-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:var(--radius-full);border:0;background:none;font:inherit;font-weight:700;font-size:.93rem;color:var(--ink);cursor:pointer}.explore-btn:hover,.explore-btn.on{background:var(--purple-ghost);color:var(--purple)}.explore-btn .up{transform:rotate(180deg)}.explore-btn svg{transition:transform var(--t)}.explore-panel{position:absolute;left:-10px;top:calc(100% + 12px);z-index:90;display:grid;grid-template-columns:240px 240px 280px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px;animation:umIn .18s ease}.explore-panel:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}.ex-col{padding:8px;display:flex;flex-direction:column;gap:2px;max-height:70vh;overflow-y:auto}.ex-col+.ex-col{border-left:1px solid var(--line)}.ex-title{margin:2px 10px 8px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.ex-top,.ex-sub{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:10px;color:var(--ink);font-weight:600;font-size:.92rem}.ex-top svg{color:var(--ink-soft)}.ex-top.on,.ex-top:hover,.ex-sub:hover{background:var(--purple-ghost);color:var(--purple)}.ex-strong{color:var(--purple)}.ex-all{margin-top:6px;padding:9px 10px;font-weight:700;font-size:.88rem}.ex-format{display:flex;gap:12px;align-items:center;padding:9px 10px;border-radius:12px;color:var(--ink)}.ex-format:hover{background:var(--surface);color:var(--ink)}.ex-format span:last-child{display:flex;flex-direction:column}.ex-format b{font-size:.92rem}.ex-format small{color:var(--ink-muted);font-size:.78rem}.ex-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}.ex-format.recorded .ex-ico{background:var(--purple-light);color:var(--purple)}.ex-format.live .ex-ico{background:var(--pink-light);color:#db2777}.ex-format.private .ex-ico{background:var(--sky-light);color:#0284c7}.ex-format.ebook .ex-ico{background:var(--mint-light);color:#059669}.ex-format.kids .ex-ico{background:var(--sun-light);color:#b45309}@media(max-width:1100px){.explore-panel{grid-template-columns:220px 220px}.ex-formats{display:none}}.site-footer{position:relative;background:var(--purple-deep);color:#ffffffd1;padding:64px 0 24px;margin-top:56px;overflow:hidden}.site-footer:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--purple),var(--pink),var(--sun),var(--mint),var(--sky))}.site-footer .logo-word{color:var(--white)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}.footer-grid h4{color:var(--white);font-family:var(--font-body);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 14px}.footer-grid a{display:block;color:#ffffffbd;padding:5px 0;font-size:.94rem;transition:color var(--t),transform var(--t)}.footer-grid a:hover{color:var(--sun);transform:translate(3px)}.footer-logo-chip{display:inline-flex;background:var(--white);border-radius:var(--radius-md);padding:8px 14px}.footer-logo-chip .logo-word{color:var(--purple-deep)}.footer-logo-chip a:hover{transform:none}.footer-logo-chip .logo-img{height:40px}.footer-tag{color:#ffffffb3;margin:16px 0 22px;max-width:320px}.socials{display:flex;flex-wrap:wrap;gap:10px}.footer-grid .socials a{display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:12px;background:#ffffff14;color:var(--white)}.footer-grid .socials a:hover{background:var(--sun);color:var(--purple-deep);transform:translateY(-2px)}.footer-bottom{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:18px;font-size:.85rem;color:#fff9}.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px}.footer-legal a{color:#ffffffb3}.footer-legal a:hover{color:var(--sun)}.cookie-notice{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:560px;margin:0 auto;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);padding:14px 16px;display:flex;gap:14px;align-items:center;justify-content:space-between;font-size:.9rem}@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}.footer-grid .logo{display:inline-flex;padding:0}.site-footer{background:radial-gradient(1200px 400px at 10% 0%,rgba(124,58,237,.22),transparent 60%),#16112b;padding-top:0}.site-footer:before{height:3px;background:linear-gradient(90deg,var(--purple),var(--pink) 60%,var(--sun))}.footer-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:34px 20px;margin-bottom:44px;border-bottom:1px solid rgba(255,255,255,.08)}.ft-item{display:flex;gap:12px;align-items:flex-start}.ft-item>span{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none;background:#ffffff12;color:#c4b5fd}.ft-item div{display:flex;flex-direction:column}.ft-item b{color:var(--white);font-size:.92rem}.ft-item small{color:#fff9;font-size:.8rem;line-height:1.4}.footer-grid a:hover{color:#ddd6fe}.footer-grid .socials a:hover{background:var(--purple);color:var(--white)}.footer-legal a:hover{color:#ddd6fe}@media(max-width:900px){.footer-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.footer-trust{grid-template-columns:1fr}}.h-ico{vertical-align:-3px;color:var(--purple)}.finder{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:0;padding:0;overflow:hidden;border-radius:var(--radius-xl)}.finder-side{padding:32px;background:linear-gradient(150deg,var(--purple-deep),var(--purple) 70%,var(--pink));color:#fff}.finder-side h2{color:#fff;margin:12px 0 8px}.finder-side p{color:#ffffffd9;margin:0 0 22px}.finder-badge{display:inline-flex;gap:6px;align-items:center;padding:6px 12px;border-radius:var(--radius-full);background:#ffffff29;font-weight:700;font-size:.85rem}.finder-steps{list-style:none;padding:0;margin:0;display:grid;gap:10px}.finder-steps li{display:flex;gap:10px;align-items:center;opacity:.6;font-weight:600;transition:opacity var(--t)}.finder-steps li.on,.finder-steps li.done{opacity:1}.finder-steps li>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;border:2px solid rgba(255,255,255,.6);flex:none}.finder-steps li.on>span{background:var(--sun);color:var(--purple-deep);border-color:var(--sun)}.finder-steps li.done>span{background:#fff;color:var(--purple);border-color:#fff}.finder-main{padding:32px;display:flex;flex-direction:column;min-height:320px;min-width:0}.finder-q{animation:finderIn .35s ease both}.finder-q h3{font-size:1.3rem;margin:0 0 16px}@keyframes finderIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.finder-opts{display:grid;gap:12px}.finder-opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}.finder-opts.five{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.finder-opt{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:18px;border-radius:var(--radius-lg);border:2px solid var(--line);background:var(--white);cursor:pointer;font:inherit;color:var(--ink);transition:transform var(--t),border-color var(--t),box-shadow var(--t)}.finder-opt svg{color:var(--purple)}.finder-opt small{color:var(--ink-muted)}.finder-opt.small{align-items:center;text-align:center;padding:16px 10px}.finder-opt:hover,.finder-opt:focus-visible{border-color:var(--purple);transform:translateY(-2px);box-shadow:var(--shadow-md);outline:none}.finder-chips{display:flex;flex-wrap:wrap;gap:8px}.finder-chip{padding:9px 16px;border-radius:var(--radius-full);border:1.5px solid var(--line);background:var(--white);font:inherit;font-weight:600;color:var(--ink);cursor:pointer;transition:all var(--t)}.finder-chip:hover,.finder-chip:focus-visible{background:var(--purple);border-color:var(--purple);color:#fff;outline:none}.finder-chip.any{background:var(--purple-light);border-color:var(--purple-light);color:var(--purple-dark)}.finder-summary{margin:-8px 0 14px}.finder-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.finder-hit{display:flex;gap:12px;align-items:center;padding:8px;border-radius:var(--radius-md);border:1px solid var(--line);color:var(--ink);text-decoration:none;min-width:0;transition:background var(--t),border-color var(--t)}.finder-hit:hover{background:var(--purple-ghost);border-color:var(--purple-light)}.fh-img{width:64px;height:44px;border-radius:8px;overflow:hidden;flex:none;background:linear-gradient(135deg,var(--purple-light),var(--pink-light))}.fh-img img{width:100%;height:100%;object-fit:cover}.fh-text{min-width:0;display:flex;flex-direction:column}.fh-text b{font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fh-text small{color:var(--ink-muted);display:inline-flex;align-items:center;gap:3px;white-space:nowrap;overflow:hidden}.finder-empty{padding:20px;border-radius:var(--radius-md);background:var(--purple-ghost)}.finder-load{display:flex;gap:8px;padding:30px 0}.finder-load span{width:10px;height:10px;border-radius:50%;background:var(--purple);animation:finderDot .9s infinite alternate}.finder-load span:nth-child(2){animation-delay:.2s}.finder-load span:nth-child(3){animation-delay:.4s}@keyframes finderDot{to{opacity:.2;transform:translateY(-6px)}}.finder-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:20px}.finder-nav .btn-primary{margin-left:auto}.pulse-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#ef4444;margin-right:6px;vertical-align:2px;box-shadow:0 0 #ef444499;animation:pulseDot 1.6s infinite}@keyframes pulseDot{70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.ls-card{flex:0 0 280px;padding:0;overflow:hidden;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;scroll-snap-align:start;transition:transform var(--t),box-shadow var(--t)}.ls-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.ls-media{position:relative;aspect-ratio:16 / 9;background:linear-gradient(135deg,var(--sky-light),var(--purple-light))}.ls-media img{width:100%;height:100%;object-fit:cover}.ls-when{position:absolute;left:10px;bottom:10px;display:inline-flex;gap:5px;align-items:center;padding:5px 10px;border-radius:var(--radius-full);background:#1a1a2ec7;color:#fff;font-size:.78rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ls-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:4px;flex:1}.ls-body h3{font-size:1rem;margin:0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ls-sub{margin:0;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdn{display:flex;gap:6px;margin-top:auto;padding-top:10px}.cdn-cell{flex:1;text-align:center;padding:6px 0;border-radius:var(--radius-sm);background:var(--purple-ghost)}.cdn-cell b{display:block;font-family:var(--font-display);font-size:1.15rem;color:var(--purple-dark);font-variant-numeric:tabular-nums}.cdn-cell small{font-size:.7rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.cdn.live-now{align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:var(--radius-sm);background:#fee2e2;color:#b91c1c;font-weight:700}.tch-card{flex:0 0 220px;text-align:center;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;scroll-snap-align:start;transition:transform var(--t),box-shadow var(--t)}.tch-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.tch-pic{width:84px;height:84px;border-radius:50%;overflow:hidden;display:grid;place-items:center;padding:3px;background:conic-gradient(var(--purple),var(--pink),var(--sun),var(--purple))}.tch-pic img,.tch-pic b{width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--white)}.tch-pic b{display:grid;place-items:center;font-family:var(--font-display);font-size:2rem;color:var(--purple)}.tch-card h3{font-size:1rem;margin:6px 0 0}.tch-head{font-size:.82rem;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tch-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:auto 0 0;padding-top:6px;font-size:.8rem;color:var(--ink-muted)}.tch-stats span{display:inline-flex;gap:4px;align-items:center}.stk{padding:20px;display:flex;flex-direction:column;gap:16px}.stk.reached{background:linear-gradient(135deg,var(--sun-light),var(--white))}.stk-top{display:flex;gap:12px;align-items:center}.stk-top>div{display:flex;flex-direction:column}.stk-flame{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--purple-ghost);color:var(--ink-muted);flex:none}.stk-flame.on{background:linear-gradient(135deg,#fdba74,#f97316);color:#fff;animation:flameWobble 2.4s ease-in-out infinite}@keyframes flameWobble{50%{transform:scale(1.06) rotate(-3deg)}}.stk-n{font-family:var(--font-display);font-size:1.4rem}.stk-week{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.stk-week li{display:flex;flex-direction:column;align-items:center;gap:4px}.stk-week li>span{width:30px;height:30px;border-radius:50%;border:2px dashed var(--line);display:grid;place-items:center}.stk-week li.on>span{border:none;background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff}.stk-week li.future>span{opacity:.5}.stk-week small{font-size:.72rem;color:var(--ink-muted)}.stk-goal{display:flex;flex-direction:column;gap:8px}.sg-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;font-size:.9rem}.sg-row>span{display:inline-flex;gap:6px;align-items:center}.sg-pick select{font:inherit;font-size:.82rem;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--white);color:var(--ink)}.stk .bar{height:8px;border-radius:8px;background:var(--purple-light);overflow:hidden}.stk .bar span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--sun),#f97316);transition:width .8s ease}@media(max-width:860px){.finder{grid-template-columns:1fr}.finder-side{padding:24px}.finder-steps{grid-auto-flow:column;grid-auto-columns:auto;justify-content:start;gap:14px;font-size:.85rem}.finder-main{padding:22px;min-height:0}}@media(max-width:560px){.finder-steps li{font-size:0;gap:0}.finder-opts.two,.finder-results{grid-template-columns:1fr}.finder-opts.five{grid-template-columns:repeat(2,minmax(0,1fr))}.ls-card{flex-basis:250px}.tch-card{flex-basis:180px}}@media(prefers-reduced-motion:reduce){.finder-q,.pulse-dot,.stk-flame.on,.finder-load span{animation:none}}.subjects .explorer-tab .tab-count{display:inline-block;min-width:20px;margin-left:4px;padding:0 6px;border-radius:999px;background:var(--surface, #f1eefb);color:var(--ink-muted);font-size:.75rem;font-weight:700}.subjects .explorer-tab.on .tab-count{background:#ffffff40;color:inherit}.course-skeleton{min-height:280px;border-radius:16px;background:linear-gradient(90deg,var(--surface, #f1eefb) 25%,#fff 50%,var(--surface, #f1eefb) 75%);background-size:200% 100%;animation:skel 1.2s linear infinite}@keyframes skel{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.course-skeleton{animation:none}}.dash-hero{position:relative;padding:44px 0 28px;background:radial-gradient(900px 400px at 90% -20%,var(--sun-light),transparent 60%),radial-gradient(700px 400px at -10% 120%,var(--pink-light),transparent 60%),var(--purple-ghost)}.dash-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:36px;align-items:center}.dash-hello{display:flex;align-items:center;gap:16px}.dash-hello .avatar-img{box-shadow:0 0 0 4px var(--white),var(--shadow-md)}.dash-date{margin:0;color:var(--ink-muted);font-weight:600;font-size:.9rem;text-transform:capitalize}.dash-hero h1{margin:2px 0 0;font-size:clamp(1.8rem,3.4vw,2.6rem);color:var(--purple-deep)}.wave{display:inline-block;transform-origin:70% 70%;animation:wave 2.4s ease-in-out 1}@keyframes wave{10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:none}}.dash-sub{margin:14px 0 0;color:var(--ink-muted);font-size:1.08rem}.dash-hero .hero-search{margin-top:20px}.upnext{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;color:var(--ink);box-shadow:var(--shadow-lg);border:0;position:relative;overflow:hidden}.upnext:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--purple),var(--pink))}.upnext.explore:before{background:linear-gradient(90deg,var(--sun),var(--mint))}.upnext:hover{color:var(--ink)}.upnext h3{margin:0;font-size:1.3rem}.upnext p{margin:0}.upnext-tag{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);background:var(--purple-light);padding:4px 10px;border-radius:var(--radius-full)}.upnext.live .upnext-tag{color:#be185d;background:var(--pink-light)}.upnext.now{box-shadow:0 0 0 3px #f9a8d4,var(--shadow-lg)}.upnext.now .upnext-tag:before{content:"";width:7px;height:7px;border-radius:50%;background:#ec4899;animation:pulse 1.6s ease-out infinite}.upnext-when{font-family:var(--font-display);font-size:1.5rem;color:var(--purple-deep)}.upnext-course{display:flex;align-items:center;gap:14px;margin:4px 0 6px}.upnext-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.upnext.resume:hover{transform:translateY(-3px);transition:transform var(--t)}.ring{flex-shrink:0}.ring-bg{fill:none;stroke:var(--purple-light);stroke-width:6}.ring-fg{fill:none;stroke:var(--purple);stroke-width:6;stroke-linecap:round;transform:rotate(-90deg);transform-origin:50% 50%;transition:stroke-dashoffset .8s ease}.ring text{font-size:13px;font-weight:800;fill:var(--purple-deep);font-family:var(--font-body)}.dash-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px}.dash-stat{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--ink);transition:transform var(--t),box-shadow var(--t)}.dash-stat:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--ink)}.dash-stat>span:last-child{display:flex;flex-direction:column}.dash-stat b{font-family:var(--font-display);font-size:1.5rem;line-height:1.1;color:var(--purple-deep)}.dash-stat small{color:var(--ink-muted);font-size:.82rem;font-weight:600}.ds-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.dash-stat.purple .ds-icon{background:var(--purple-light);color:var(--purple)}.dash-stat.pink .ds-icon{background:var(--pink-light);color:#db2777}.dash-stat.sun .ds-icon{background:var(--sun-light);color:#b45309}.dash-stat.sky .ds-icon{background:var(--sky-light);color:#0284c7}.dash-stat.mint .ds-icon{background:var(--mint-light);color:#059669}.cont-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cont-card{display:flex;overflow:hidden;color:var(--ink);transition:transform var(--t),box-shadow var(--t)}.cont-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--ink)}.cont-media{position:relative;width:120px;flex-shrink:0;background:linear-gradient(135deg,var(--purple-light),var(--sun-light))}.cont-media img{width:100%;height:100%;object-fit:cover}.cont-play{position:absolute;inset:0;margin:auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#ffffffeb;color:var(--purple);box-shadow:var(--shadow-sm);transition:transform var(--t)}.cont-card:hover .cont-play{transform:scale(1.1)}.cont-body{flex:1;min-width:0;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.cont-body h3{margin:0;font-family:var(--font-body);font-size:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bar{height:8px;border-radius:8px;background:var(--purple-light);overflow:hidden}.bar span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--purple),var(--pink));transition:width .8s ease}.cont-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.cont-foot b{color:var(--purple);font-size:.9rem}.dash-live{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.dash-live li{display:flex;align-items:center;gap:16px;padding:14px 16px}.dash-live li.now{box-shadow:0 0 0 2px #f9a8d4}.date-block{width:60px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:8px 0;border-radius:var(--radius-md);background:var(--purple-ghost);color:var(--purple)}.date-block b{font-family:var(--font-display);font-size:1.5rem;line-height:1.1;color:var(--purple-deep)}.date-block small{font-size:.72rem;font-weight:800;text-transform:uppercase}.dl-text{flex:1;min-width:0}.dl-text h3{margin:6px 0 2px;font-family:var(--font-body);font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dl-text p{margin:0;font-size:.88rem}.dl-wait{font-size:.82rem;max-width:110px;text-align:right}.dash-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.more-card{display:flex;flex-direction:column;gap:6px;padding:22px;color:var(--ink);transition:transform var(--t),box-shadow var(--t)}.more-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--ink)}.more-card h3{margin:6px 0 0;font-size:1.15rem}.more-card p{margin:0}.more-card.sun{background:linear-gradient(135deg,var(--sun-light),var(--white))}.more-card.sun svg{color:#b45309}.more-card.pink{background:linear-gradient(135deg,var(--pink-light),var(--white))}.more-card.pink svg{color:#db2777}.more-card.sky{background:linear-gradient(135deg,var(--sky-light),var(--white))}.more-card.sky svg{color:#0284c7}@media(max-width:1000px){.dash-hero-grid{grid-template-columns:1fr}.dash-stats{grid-template-columns:repeat(3,1fr)}.cont-grid{grid-template-columns:1fr 1fr}.dash-live{grid-template-columns:1fr}}@media(max-width:600px){.dash-hero{padding-top:28px}.dash-hero .hero-search,.dash-hero .hero-topics{display:none}.dash-stats{grid-template-columns:1fr 1fr}.dash-stat:last-child{grid-column:1 / -1}.cont-grid{grid-template-columns:1fr}.dash-live li{flex-wrap:wrap}.dash-live li .btn{width:100%}}@media(prefers-reduced-motion:reduce){.wave{animation:none}}.dash-progress-link{font-weight:700;white-space:nowrap}.dash-pair{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.dash-pair.solo{grid-template-columns:minmax(0,420px)}.dash-pair-main{min-width:0}.dash-pair-title{font-size:1.35rem;margin:0 0 14px}.dash-pair-main .section-head{margin-bottom:14px}@media(max-width:900px){.dash-pair,.dash-pair.solo{grid-template-columns:1fr}}.hl{background:linear-gradient(120deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.hl-sun{color:var(--sun)}.section-intro{text-align:center;max-width:680px;margin:0 auto 30px}.section-intro h2{margin-bottom:8px}.section-intro p,.section-intro .muted p{margin:0}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.blob,.hero-bg span,.live-pill:before,.model-progress{animation:none!important}}.hero{position:relative;isolation:isolate;overflow:hidden;padding:72px 0 84px;background:radial-gradient(1200px 520px at 85% -10%,var(--sun-light),transparent 60%),radial-gradient(900px 520px at -10% 110%,var(--pink-light),transparent 60%),var(--purple-ghost)}.hero:after{content:"";position:absolute;inset:0;z-index:-2;background-image:var(--hero-img, none);background-size:cover;background-position:center;opacity:.14}.hero-bg{position:absolute;inset:0;z-index:-1;pointer-events:none}.hero-bg span{position:absolute;border-radius:50%;filter:blur(60px);opacity:.45;animation:drift 18s ease-in-out infinite}.hero-bg span:nth-child(1){width:340px;height:340px;background:var(--purple-light);top:-80px;left:30%}.hero-bg span:nth-child(2){width:260px;height:260px;background:var(--sky-light);bottom:-60px;right:30%;animation-delay:-6s}.hero-bg span:nth-child(3){width:200px;height:200px;background:var(--mint-light);top:40%;left:-60px;animation-delay:-12s}@keyframes drift{50%{transform:translate(40px,-30px) scale(1.1)}}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}.hero h1{margin:16px 0 14px;color:var(--purple-deep);font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.02em}.hero-text{font-size:1.15rem;color:var(--ink-muted);max-width:580px}.hero-text p{margin:0 0 8px}.hero-search{display:flex;align-items:center;gap:10px;margin:26px 0 12px;max-width:580px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-full);padding:6px 6px 6px 18px;box-shadow:var(--shadow-md);transition:box-shadow var(--t),border-color var(--t)}.hero-search:focus-within{border-color:var(--purple);box-shadow:0 0 0 4px var(--purple-light),var(--shadow-md)}.hero-search svg{color:var(--purple);flex-shrink:0}.hero-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:1rem;padding:10px 0}.hero-search .btn{border-radius:var(--radius-full)}.hero-topics{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88rem;color:var(--ink-muted)}.topic{padding:5px 12px;border-radius:var(--radius-full);background:var(--white);border:1px solid var(--line);color:var(--ink);font-weight:600;transition:background var(--t),color var(--t),transform var(--t)}.topic:hover{background:var(--purple);color:var(--white);transform:translateY(-2px)}.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.hero-art{position:relative;min-height:400px;display:grid;place-items:center}.blob{position:absolute;width:92px;height:92px;border-radius:28px;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:1.8rem;box-shadow:var(--shadow-md);animation:float 6s ease-in-out infinite}.b1{top:-2%;left:0;background:var(--purple);color:var(--white);transform:rotate(-8deg)}.b2{top:-4%;right:2%;background:var(--sun);color:var(--purple-deep);animation-delay:-1.5s}.b3{bottom:-4%;left:6%;background:var(--mint);color:var(--white);animation-delay:-3s}.b4{bottom:0;right:-2%;background:var(--pink);color:var(--white);animation-delay:-4.5s}@keyframes float{50%{transform:translateY(-14px) rotate(4deg)}}.hero-card{position:relative;z-index:2;padding:26px 22px 22px;width:min(330px,100%);box-shadow:var(--shadow-lg)}.live-pill{position:absolute;top:-14px;left:22px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 22px;border-radius:var(--radius-full);background:var(--white);border:1px solid #fbcfe8;color:#be185d;font-size:.8rem;font-weight:800;box-shadow:var(--shadow-sm)}.live-pill:before{content:"";position:absolute;left:10px;width:7px;height:7px;border-radius:50%;background:#ec4899;animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 #ec489999}to{box-shadow:0 0 0 8px #ec489900}}.hero-card-title{font-weight:800;font-size:1.1rem;margin-bottom:14px}.age-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.age-pill{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border-radius:var(--radius-md);text-align:center;font-weight:800;color:var(--ink);transition:transform var(--t),box-shadow var(--t)}.age-pill:hover{transform:translateY(-3px) scale(1.03);box-shadow:var(--shadow-md);color:var(--ink)}.age-emoji{font-size:1.6rem;line-height:1}.age-pill.pink{background:var(--pink-light)}.age-pill.sun{background:var(--sun-light)}.age-pill.mint{background:var(--mint-light)}.age-pill.sky{background:var(--sky-light)}.stats-band{position:relative;z-index:3;margin-top:-36px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:10px}.stat{display:flex;align-items:center;gap:14px;padding:16px 20px}.stat+.stat{border-left:1px solid var(--line)}.stat-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--purple-light);color:var(--purple);flex-shrink:0}.stat:nth-child(2) .stat-icon{background:var(--pink-light);color:#db2777}.stat:nth-child(3) .stat-icon{background:var(--mint-light);color:#059669}.stat:nth-child(4) .stat-icon{background:var(--sun-light);color:#b45309}.stat div{display:flex;flex-direction:column}.stat b{font-family:var(--font-display);font-size:1.8rem;line-height:1.1;color:var(--purple-deep)}.stat span{color:var(--ink-muted);font-size:.9rem}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.cat-tile{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--line);color:var(--ink);text-align:center;transition:transform var(--t),box-shadow var(--t),border-color var(--t)}.cat-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);color:var(--ink)}.cat-img{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;overflow:hidden}.cat-img img{width:100%;height:100%;object-fit:cover}.cat-img b{font-family:var(--font-display);font-size:1.7rem}.cat-name{font-weight:700;font-size:.95rem;line-height:1.3}.cat-tile.purple .cat-img{background:var(--purple-light);color:var(--purple)}.cat-tile.purple:hover{border-color:var(--purple)}.cat-tile.pink .cat-img{background:var(--pink-light);color:#db2777}.cat-tile.pink:hover{border-color:var(--pink)}.cat-tile.sun .cat-img{background:var(--sun-light);color:#b45309}.cat-tile.sun:hover{border-color:var(--sun)}.cat-tile.mint .cat-img{background:var(--mint-light);color:#059669}.cat-tile.mint:hover{border-color:var(--mint)}.cat-tile.sky .cat-img{background:var(--sky-light);color:#0284c7}.cat-tile.sky:hover{border-color:var(--sky)}.models{background:linear-gradient(180deg,transparent,var(--purple-ghost) 30%,var(--purple-ghost) 70%,transparent)}.model-tabs{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:stretch}.model-list{display:grid;gap:10px;align-content:start}.model-tab{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--white);cursor:pointer;font:inherit;color:var(--ink);transition:transform var(--t),box-shadow var(--t),border-color var(--t)}.model-tab:hover{transform:translate(4px)}.model-tab.active{border-color:var(--purple);box-shadow:var(--shadow-md)}.model-tab-text{display:flex;flex-direction:column}.model-tab-text small{color:var(--ink-muted);font-size:.82rem}.model-progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--purple);transform-origin:left;animation:progress 6s linear forwards}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.model-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}.model-icon.big{width:60px;height:60px;border-radius:18px;margin-bottom:16px}.purple .model-icon{background:var(--purple-light);color:var(--purple)}.pink .model-icon{background:var(--pink-light);color:#db2777}.sky .model-icon{background:var(--sky-light);color:#0284c7}.mint .model-icon{background:var(--mint-light);color:#059669}.model-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;padding:34px;animation:panelIn .45s ease}@keyframes panelIn{0%{opacity:0;transform:translateY(10px)}}.model-panel h3{font-size:1.6rem;margin-bottom:10px}.model-panel .muted{margin-bottom:20px;font-size:1.05rem}.model-panel-art{display:grid;place-items:center;min-height:220px;border-radius:var(--radius-lg);overflow:hidden}.model-panel-art img{width:100%;height:100%;max-height:280px;object-fit:cover;border-radius:var(--radius-lg)}.model-panel.purple .model-panel-art{background:var(--purple-light);color:var(--purple)}.model-panel.pink .model-panel-art{background:var(--pink-light);color:#db2777}.model-panel.sky .model-panel-art{background:var(--sky-light);color:#0284c7}.model-panel.mint .model-panel-art{background:var(--mint-light);color:#059669}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:step}.how-step{position:relative;padding:28px 24px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--line);transition:transform var(--t),box-shadow var(--t)}.how-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.how-step:not(:last-child):after{content:"→";position:absolute;right:-20px;top:50%;transform:translateY(-50%);color:var(--purple);font-size:1.4rem;font-weight:800}.how-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center}.how-step.purple .how-icon{background:var(--purple-light);color:var(--purple)}.how-step.pink .how-icon{background:var(--pink-light);color:#db2777}.how-step.mint .how-icon{background:var(--mint-light);color:#059669}.how-step h3{color:var(--ink);margin-top:14px}.how-num{position:absolute;right:18px;top:10px;font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--purple-light)}.hreview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.hreview{position:relative;margin:0;padding:24px;display:flex;flex-direction:column;gap:12px;transition:transform var(--t),box-shadow var(--t)}.hreview:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:var(--shadow-md)}.hreview-quote{position:absolute;right:18px;top:18px;color:var(--purple-light)}.hreview-stars{display:flex;gap:2px;color:#f59e0b}.hreview blockquote{margin:0;font-size:1rem;line-height:1.6;flex:1}.hreview figcaption{display:flex;align-items:center;gap:12px;font-size:.9rem}.hreview figcaption>span:last-child{display:flex;flex-direction:column;min-width:0}.hreview figcaption a{color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hreview-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--white);background:var(--purple);flex-shrink:0}.hreview.pink .hreview-avatar{background:var(--pink)}.hreview.sun .hreview-avatar{background:#f59e0b}.hreview.mint .hreview-avatar{background:#10b981}.hreview.sky .hreview-avatar{background:#0ea5e9}.safety{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px;background:linear-gradient(135deg,var(--sun-light),var(--white) 70%)}.safety ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.safety li{display:flex;gap:12px;align-items:center;font-weight:600}.safety li>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--white);color:var(--purple);box-shadow:var(--shadow-sm);flex-shrink:0}.cta-band{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:44px;border-radius:var(--radius-xl);color:var(--white);background:radial-gradient(500px 240px at 90% 0%,rgba(251,191,36,.35),transparent 70%),linear-gradient(120deg,var(--purple-deep),var(--purple))}.cta-band:after{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--cta-img, none);background-size:cover;background-position:center;opacity:.18}.cta-band h2{color:var(--white);margin-bottom:8px}.cta-text,.cta-text p{color:#ffffffdb;margin:0;max-width:640px}.teach-cta{display:flex;align-items:center;gap:28px;background:var(--white);border:2px dashed var(--purple-light);border-radius:var(--radius-xl);padding:36px 40px}.teach-cta>div:nth-child(2){flex:1}.teach-art{width:96px;height:96px;border-radius:28px;display:grid;place-items:center;background:var(--sun-light);color:var(--purple);flex-shrink:0;transform:rotate(-6deg)}.teach-cta h2{margin-bottom:6px}.teach-cta p{color:var(--ink-muted);max-width:640px;margin:0}@media(max-width:960px){.hero-grid{grid-template-columns:1fr}.hero-art{min-height:320px}.model-tabs{grid-template-columns:1fr}.model-list{grid-template-columns:1fr 1fr}.model-panel{grid-template-columns:1fr}.model-panel-art{min-height:160px}.hreview-grid{grid-template-columns:1fr 1fr}.how-grid{grid-template-columns:1fr}.how-step:not(:last-child):after{content:"↓";inset:auto auto -24px 50%;transform:translate(-50%)}.safety,.cta-band,.teach-cta{flex-direction:column;align-items:start}.stat+.stat{border-left:0}}@media(max-width:600px){.hero{padding:48px 0 72px}.hero-search{flex-wrap:wrap;border-radius:var(--radius-lg);padding:8px 8px 8px 14px}.hero-search .btn{width:100%}.model-list,.hreview-grid{grid-template-columns:1fr}.model-panel,.cta-band,.teach-cta,.safety{padding:24px}.stats-grid{grid-template-columns:1fr 1fr}.stat{padding:12px;flex-direction:column;align-items:start;gap:8px}.blob{display:none}.hero-art{min-height:0;padding-top:12px}}.hero2{padding:64px 0 96px;background:#faf8ff}.hero-mesh{position:absolute;inset:-20%;z-index:-2;filter:blur(70px);opacity:.75;pointer-events:none}.hero-mesh span{position:absolute;border-radius:50%;mix-blend-mode:multiply;animation:mesh 22s ease-in-out infinite}.hero-mesh span:nth-child(1){width:46vw;height:46vw;left:50%;top:-6%;background:#ddd6fe}.hero-mesh span:nth-child(2){width:34vw;height:34vw;left:72%;top:34%;background:#fde68a;animation-delay:-6s}.hero-mesh span:nth-child(3){width:38vw;height:38vw;left:8%;top:46%;background:#fbcfe8;animation-delay:-11s}.hero-mesh span:nth-child(4){width:26vw;height:26vw;left:30%;top:8%;background:#bae6fd;animation-delay:-16s}@keyframes mesh{33%{transform:translate(6%,-8%) scale(1.08)}66%{transform:translate(-6%,6%) scale(.95)}}.hero-grid-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(46,16,101,.09) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 40%,transparent 100%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 40%,transparent 100%)}.hero-badge{box-shadow:var(--shadow-sm)}.hl-anim{background:linear-gradient(90deg,var(--purple),var(--pink),#f59e0b,var(--purple));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 8s linear infinite}@keyframes shine{to{background-position:300% 0}}.hero-proof{display:flex;align-items:center;gap:12px;margin:22px 0 0;color:var(--ink-muted);font-size:.92rem;font-weight:600}.hero-faces{display:inline-flex}.hero-faces i{width:30px;height:30px;margin-left:-8px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:.75rem;font-weight:800;color:#fff;border:2px solid #fff;background:var(--purple)}.hero-faces i:first-child{margin-left:0}.hero-faces i:nth-child(2){background:var(--pink)}.hero-faces i:nth-child(3){background:#f59e0b}.hero-faces i:nth-child(4){background:#10b981}.hero-art2{position:relative;min-height:500px;perspective:1200px}.hero-glow{position:absolute;inset:12% 8%;border-radius:40%;background:radial-gradient(circle,rgba(124,58,237,.25),transparent 65%);filter:blur(20px)}.hero-course{position:absolute;width:250px;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;color:var(--ink);box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.7);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s;animation:floatCard 7s ease-in-out infinite}.hero-course img{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--purple-light)}.hero-course-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}.hero-course-body .chip{align-self:flex-start;font-size:.7rem}.hero-course-body b{font-size:.95rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-course-foot{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.hero-rating{display:inline-flex;align-items:center;gap:3px;color:#f59e0b;font-weight:800}.hc1{top:10px;left:2%;transform:rotate(-5deg);z-index:1;width:230px}.hc2{top:0;right:0;transform:rotate(4deg);z-index:2;animation-delay:-2.3s;width:240px}.hc3{display:none}.hero-course:hover{transform:rotate(0) translateY(-8px) scale(1.03);z-index:4;box-shadow:0 30px 70px #2e106540}@keyframes floatCard{50%{translate:0 -10px}}.glass{background:#ffffffb8;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-lg)}.hero-age{position:absolute;z-index:3;left:50%;translate:-50% 0;bottom:0;width:min(310px,92%);padding:24px 18px 18px;border-radius:22px}.hero-age .age-pill{padding:10px 8px}.hero-art2:not(:has(.hero-course)) .hero-age{position:relative;left:auto;bottom:auto;margin:60px auto 0}.marquee{position:relative;z-index:4;margin-top:-26px;overflow:hidden;padding:10px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-track{display:flex;gap:12px;width:max-content;animation:marquee 45s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-item{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:var(--radius-full);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);font-weight:700;color:var(--ink);white-space:nowrap}.marquee-item.purple svg{color:var(--purple)}.marquee-item.pink svg{color:#db2777}.marquee-item.sun svg{color:#d97706}.marquee-item.mint svg{color:#059669}.marquee-item.sky svg{color:#0284c7}.marquee-item:hover{border-color:var(--purple);color:var(--purple)}@keyframes marquee{to{transform:translate(-50%)}}.stats2{margin-top:26px}.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(200px,auto);gap:16px}.bento-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:24px;color:var(--ink);border:1px solid var(--line);background:#fff;transition:transform .3s,box-shadow .3s;isolation:isolate}.bento-tile:before{content:"";position:absolute;z-index:-1;width:260px;height:260px;border-radius:50%;right:-90px;top:-110px;opacity:.9;transition:transform .5s}.bento-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);color:var(--ink)}.bento-tile:hover:before{transform:scale(1.25)}.bento-tile.bt1{grid-column:span 2;grid-row:span 2}.bento-tile.bt2{grid-column:span 2}.bento-tile.bt1 h3{font-size:2rem}.bento-bg{position:absolute;z-index:-1;right:-18px;bottom:-22px;opacity:.07;transition:transform .5s}.bento-tile:hover .bento-bg{transform:rotate(-8deg) scale(1.06)}.bento-tile h3{font-size:1.35rem;margin:6px 0 0}.bento-text,.bento-text p{color:var(--ink-muted);margin:0;max-width:46ch}.bento-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow-sm)}.bento-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px}.bento-thumbs{display:flex}.bento-thumbs img{width:46px;height:46px;object-fit:cover;border-radius:12px;border:3px solid #fff;margin-left:-12px;box-shadow:var(--shadow-sm)}.bento-thumbs img:first-child{margin-left:0}.bt1 .bento-thumbs img{width:70px;height:70px;border-radius:16px}.bento-count{display:inline-flex;align-items:center;gap:6px;font-weight:800}.bento-tile.pink:before{background:var(--pink-light)}.bento-tile.pink .bento-icon,.bento-tile.pink .bento-count{color:#db2777}.bento-tile.purple:before{background:var(--purple-light)}.bento-tile.purple .bento-icon,.bento-tile.purple .bento-count{color:var(--purple)}.bento-tile.sky:before{background:var(--sky-light)}.bento-tile.sky .bento-icon,.bento-tile.sky .bento-count{color:#0284c7}.bento-tile.mint:before{background:var(--mint-light)}.bento-tile.mint .bento-icon,.bento-tile.mint .bento-count{color:#059669}.bento-tile.bt1{background:linear-gradient(160deg,#fff 40%,var(--pink-light))}.explorer-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;scrollbar-width:none}.explorer-tabs::-webkit-scrollbar{display:none}.explorer-tab{flex-shrink:0;padding:9px 18px;border-radius:var(--radius-full);border:1px solid var(--line);background:#fff;font:inherit;font-weight:700;color:var(--ink-muted);cursor:pointer;transition:all .2s}.explorer-tab:hover{color:var(--purple);border-color:var(--purple-light)}.explorer-tab.on{background:var(--ink);border-color:var(--ink);color:#fff}.explorer-rail{animation:panelIn .4s ease}.cat-grid2 .cat-tile{flex-direction:row;justify-content:flex-start;text-align:left;padding:12px 14px;gap:12px}.cat-grid2 .cat-img{width:46px;height:46px;border-radius:14px;flex-shrink:0}.cat-grid2 .cat-img b{font-size:1.3rem}.cat-grid2 .cat-name{flex:1}.cat-go{color:var(--ink-muted);opacity:0;transform:translate(-6px);transition:all .2s}.cat-grid2 .cat-tile:hover .cat-go{opacity:1;transform:none;color:var(--purple)}.cat-grid2{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.shelf-section{background:linear-gradient(180deg,transparent,#fff7ed 18%,#fff7ed 82%,transparent)}.shelf-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}.shelf-copy h2{margin:12px 0 10px}.shelf-points{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:10px}.shelf-points li{position:relative;padding-left:28px;font-weight:600}.shelf-points li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--mint-light);color:#059669;display:grid;place-items:center;font-size:.75rem;font-weight:900}.shelf{position:relative;padding:10px 10px 0}.shelf-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:28px 22px;align-items:end;perspective:1400px}.book{position:relative;display:flex;flex-direction:column;gap:10px;color:var(--ink);transform-style:preserve-3d}.book-cover{position:relative;aspect-ratio:3 / 4;border-radius:4px 12px 12px 4px;overflow:hidden;display:flex;align-items:flex-end;padding:12px;transform:rotateY(-18deg);transform-origin:left center;transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;box-shadow:10px 14px 24px #2e106538,inset 6px 0 10px -6px #00000059}.book-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.book-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.18) 0 3%,rgba(255,255,255,.18) 4%,transparent 9%),linear-gradient(0deg,rgba(20,10,40,.7),transparent 55%)}.book-title{position:relative;z-index:1;color:#fff;font-family:var(--font-display);font-weight:700;font-size:.95rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.book.purple .book-cover{background:linear-gradient(150deg,#7c3aed,#4c1d95)}.book.pink .book-cover{background:linear-gradient(150deg,#ec4899,#9d174d)}.book.sun .book-cover{background:linear-gradient(150deg,#f59e0b,#b45309)}.book.mint .book-cover{background:linear-gradient(150deg,#10b981,#065f46)}.book.sky .book-cover{background:linear-gradient(150deg,#0ea5e9,#075985)}.book:hover .book-cover{transform:rotateY(-4deg) translateY(-8px);box-shadow:18px 24px 34px #2e106547}.book-spine{display:none}.book-meta{display:flex;flex-direction:column;gap:2px;font-size:.85rem}.book-meta b{font-size:.88rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shelf-board{height:14px;margin:-54px -10px 0;border-radius:6px;background:linear-gradient(180deg,#e7c9a3,#c9a37a);box-shadow:0 12px 20px -8px #78481473;position:relative;z-index:-1;display:none}.shelf-empty{display:grid;justify-items:start;gap:8px;padding:32px;border:2px dashed #fcd34d;background:#fffbeb}.shelf-empty svg{color:#d97706}.shelf-empty h3{margin:4px 0 0}.how-line{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}.how-line:before{content:"";position:absolute;top:30px;left:16%;right:16%;height:2px;background:repeating-linear-gradient(90deg,var(--purple-light) 0 10px,transparent 10px 18px)}.how-step2{position:relative;text-align:center;padding:0 12px}.how-dot{position:relative;z-index:1;width:62px;height:62px;margin:0 auto 14px;border-radius:20px;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow-md)}.how-step2.purple .how-dot{color:var(--purple)}.how-step2.pink .how-dot{color:#db2777}.how-step2.mint .how-dot{color:#059669}.how-n{display:block;font-family:var(--font-display);font-size:.95rem;color:var(--ink-muted);letter-spacing:.1em}.how-step2 h3{margin:4px 0 6px}.reviews-wall{overflow:hidden}.wall-row{overflow:hidden;padding:8px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.wall-track{display:flex;gap:16px;width:max-content;animation:marquee 60s linear infinite}.wall-row.reverse .wall-track{animation-direction:reverse;animation-duration:70s}.wall-row:hover .wall-track{animation-play-state:paused}.wall-card{width:340px;margin:0;padding:20px;display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm)}.wall-card blockquote{margin:0;flex:1;line-height:1.6;font-size:.95rem}.wall-card figcaption{display:flex;align-items:center;gap:10px;font-size:.88rem}.wall-card figcaption>span:last-child{display:flex;flex-direction:column;min-width:0}.wall-card figcaption a{color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-card.pink .hreview-avatar{background:var(--pink)}.wall-card.sun .hreview-avatar{background:#f59e0b}.wall-card.mint .hreview-avatar{background:#10b981}.wall-card.sky .hreview-avatar{background:#0ea5e9}.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}.duo-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:34px;border-radius:28px}.duo-card h2{margin:0}.duo-icon{padding:10px;width:54px;height:54px;border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.safety2{background:linear-gradient(150deg,var(--mint-light),#fff 70%);border:1px solid #bbf7d0}.safety2 .duo-icon{color:#059669}.safety2 ul{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:10px}.safety2 li{display:flex;gap:10px;align-items:center;font-weight:600}.safety2 li>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#fff;color:#059669;flex-shrink:0}.teach2{color:#fff;background:radial-gradient(400px 220px at 100% 0%,rgba(251,191,36,.35),transparent 70%),linear-gradient(150deg,var(--purple),var(--purple-deep))}.teach2 h2{color:#fff}.teach2 p{color:#ffffffd9;margin:0 0 8px}.teach2 .duo-icon{color:var(--purple)}.teach2 .btn{margin-top:auto}.faq-wrap{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;align-items:start}.home-faq{display:grid;gap:10px}.hfaq{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:box-shadow .2s}.hfaq.open{box-shadow:var(--shadow-md);border-color:var(--purple-light)}.hfaq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border:0;background:none;font:inherit;font-weight:700;text-align:left;cursor:pointer;color:var(--ink)}.hfaq-q svg{flex-shrink:0;transition:transform .25s;color:var(--purple)}.hfaq.open .hfaq-q svg{transform:rotate(180deg)}.hfaq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.hfaq.open .hfaq-a{grid-template-rows:1fr}.hfaq-a>div{overflow:hidden;padding:0 18px;color:var(--ink-muted)}.hfaq.open .hfaq-a>div{padding-bottom:14px}.cta2{position:relative}.cta2:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ang, 0deg),var(--sun),var(--pink),var(--sky),var(--sun));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spinBorder 6s linear infinite;pointer-events:none}@property --ang{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes spinBorder{to{--ang: 360deg}}@media(prefers-reduced-motion:reduce){.hero-mesh span,.hl-anim,.hero-course,.marquee-track,.wall-track,.cta2:before{animation:none!important}.marquee,.wall-row{overflow-x:auto}}@media(max-width:1020px){.bento{grid-template-columns:1fr 1fr}.bento-tile.bt1,.bento-tile.bt2{grid-column:span 2;grid-row:auto}.shelf-wrap,.faq-wrap{grid-template-columns:1fr}}@media(max-width:960px){.hero-art2{min-height:420px;max-width:520px;margin:0 auto;width:100%}.duo{grid-template-columns:1fr}}@media(max-width:640px){.hero2{padding:40px 0 70px}.hero-art2{min-height:0}.hero-course,.hero-glow{display:none}.hero-art2 .hero-age{position:relative;left:auto;bottom:auto;translate:none;margin:24px auto 0}.bento{grid-template-columns:1fr}.bento-tile.bt1,.bento-tile.bt2{grid-column:auto}.bento-tile.bt1 h3{font-size:1.6rem}.how-line{grid-template-columns:1fr;gap:26px}.how-line:before{inset:0 auto 0 50%;width:2px;height:auto;background:repeating-linear-gradient(180deg,var(--purple-light) 0 10px,transparent 10px 18px)}.how-step2{background:var(--bg);padding:6px 0}.wall-card{width:280px}.duo-card{padding:24px}.shelf-books{grid-template-columns:repeat(2,1fr)}}.who-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin-bottom:12px;border-radius:var(--radius-full);background:#7c3aed14}.who-switch button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:0;border-radius:var(--radius-full);background:none;font:inherit;font-weight:700;color:var(--ink-muted);cursor:pointer;transition:all .2s}.who-switch button.on{background:#fff;color:var(--purple);box-shadow:var(--shadow-sm)}.who-panel{display:grid;gap:8px;animation:panelIn .3s ease}.who-subjects{display:flex;flex-wrap:wrap;gap:6px}.who-subject{padding:7px 12px;border-radius:var(--radius-full);font-size:.85rem;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--line);transition:transform .2s}.who-subject:hover{transform:translateY(-2px);color:var(--purple);border-color:var(--purple-light)}.who-subject.purple{background:var(--purple-light)}.who-subject.pink{background:var(--pink-light)}.who-subject.sun{background:var(--sun-light)}.who-subject.mint{background:var(--mint-light)}.who-subject.sky{background:var(--sky-light)}.who-subject.all{background:none;border-style:dashed;color:var(--purple)}.hero2{background:linear-gradient(180deg,#fbfaff,#f7f5fd)}.hero-mesh{opacity:.5}.hero-mesh span:nth-child(2){background:#fef3c7}.hero-mesh span:nth-child(3){background:#fce7f3}.hero-mesh span:nth-child(4){background:#e0e7ff}.hero2 h1{color:var(--ink)}.hero-course .cc-fallback{position:relative;aspect-ratio:16 / 9}.kids-banner{background:linear-gradient(135deg,var(--sun-light),var(--pink-light));border-radius:var(--radius-xl);padding:32px;margin-bottom:24px}.kids-banner h1{color:var(--purple-deep)}.kids-ages{display:flex;flex-wrap:wrap;gap:10px}.kids-ages .age-pill{border:2px solid transparent;cursor:pointer;font:inherit;font-weight:800;padding:12px 18px}.kids-ages .age-pill.on{border-color:var(--purple);box-shadow:var(--shadow-md)}.type-tabs{display:flex;gap:8px;overflow-x:auto;margin:18px 0 22px;padding-bottom:4px}.type-tabs button{border:1.5px solid var(--line);background:var(--white);border-radius:var(--radius-full);padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}.type-tabs button.on{background:var(--purple);color:var(--white);border-color:var(--purple)}.catalog{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}.filters{padding:18px;position:sticky;top:130px}.filters h3{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:1rem}.check{display:flex;align-items:center;gap:8px;font-size:.92rem;margin:6px 0;cursor:pointer}.check input{accent-color:var(--purple);width:16px;height:16px}.results{margin:0 0 12px}@media(max-width:900px){.catalog{grid-template-columns:1fr}.filters{position:static}}.catalog-head{padding:8px 0 4px}.catalog-head p{max-width:640px}.type-tabs button{color:var(--ink-muted);transition:all var(--t)}.type-tabs button:hover{border-color:var(--purple);color:var(--purple)}.type-tabs button.on{color:var(--white);box-shadow:0 4px 12px #7c3aed33}.filters{padding:20px;border-radius:var(--radius-lg)}.filters h3{justify-content:flex-start;margin-bottom:14px}.f-close{display:none;margin-left:auto}.f-group{display:flex;flex-direction:column;gap:2px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.f-label{font-weight:700;font-size:.85rem;margin:0 0 6px}.f-opt{text-align:left;background:none;border:0;padding:7px 10px;border-radius:8px;font:inherit;font-size:.9rem;color:var(--ink-muted);cursor:pointer}.f-opt:hover{background:var(--surface);color:var(--ink)}.f-opt.on{background:var(--purple-ghost);color:var(--purple);font-weight:700}.f-more{align-self:flex-start;background:none;border:0;padding:6px 10px;color:var(--purple);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}.cat-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.cat-toolbar .results{margin:0;font-weight:700;color:var(--ink)}.f-toggle{display:none}.sort-pick{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--ink-muted)}.sort-pick select{font:inherit;font-weight:700;color:var(--ink);padding:8px 12px;border-radius:var(--radius-full);border:1.5px solid var(--line);background:var(--white);cursor:pointer}.active-chips{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}.a-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--purple-light);background:var(--purple-ghost);color:var(--purple-dark);font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}.a-chip:hover{background:var(--purple-light)}.a-clear{background:none;border:0;color:var(--ink-muted);font:inherit;font-size:.84rem;text-decoration:underline;cursor:pointer}.cat-empty{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.cat-empty>span{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--purple-ghost);color:var(--purple);margin-bottom:6px}@media(max-width:900px){.f-toggle{display:inline-flex}.filters{display:none}.filters.open{display:block;position:fixed;inset:auto 0 0;top:15vh;z-index:80;overflow-y:auto;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -20px 60px #17142b40}.f-close{display:inline-flex}.sort-pick span{display:none}}.price-range{display:flex;gap:6px;align-items:center}.price-range .input{padding:8px 10px;min-width:0}.price-range .btn{padding:8px 12px}.f-top{margin-top:12px;border-top:1px solid var(--line);padding-top:14px}.did-you-mean{margin:-4px 0 14px;font-size:.95rem}.did-you-mean .link-btn{font-size:.95rem}.lp-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#140a2899;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:lpFade .2s ease}@keyframes lpFade{0%{opacity:0}}.lp-sheet{width:min(920px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:lpUp .25s ease}.lp-sheet.book{width:min(780px,100%);background:#fffdf8}@keyframes lpUp{0%{transform:translateY(16px);opacity:0}}.lp-head{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}.lp-head-text{flex:1;min-width:0;display:flex;flex-direction:column}.lp-head-text b{font-size:1.1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-kicker{font-size:.74rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-body{flex:1;overflow-y:auto;padding:22px 24px}.lp-video{width:100%;border-radius:var(--radius-lg);background:#000;margin-bottom:18px}.lp-desc{font-size:1.05rem;color:var(--ink-muted)}.lp-text{line-height:1.75;font-size:1.04rem}.lp-text.book{font-family:Literata,Georgia,Times New Roman,serif;font-size:1.12rem;line-height:1.8;color:#2a2838;max-width:640px;margin:0 auto}.lp-text.book h1,.lp-text.book h2,.lp-text.book h3{font-family:var(--font-body);color:var(--purple-deep)}.lp-text img{max-width:100%;height:auto;border-radius:var(--radius-md)}.lp-image{display:block;max-width:100%;margin:14px auto;border-radius:var(--radius-md)}.lp-pdf{width:100%;height:70vh;border:1px solid var(--line);border-radius:var(--radius-md);margin-top:14px}.lp-docs{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px}.lp-docs li{display:flex;align-items:center;gap:8px}.lp-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;border-top:1px solid var(--line);background:var(--purple-ghost)}.lp-nav{display:flex;align-items:center;gap:10px}@media(max-width:600px){.lp-backdrop{padding:0;align-items:end}.lp-sheet{max-height:94vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.lp-body{padding:18px 16px}.lp-foot .btn-primary{width:100%}}.review-form{padding:22px;display:grid;gap:12px;justify-items:start}.review-form.compact{padding:16px;margin:12px}.review-form h3{margin:0;font-size:1.1rem}.review-form .rf-head p{margin:4px 0 0;font-size:.9rem}.rf-stars{display:flex;align-items:center;gap:2px}.rf-stars button{background:none;border:0;padding:2px;cursor:pointer;color:#d6d3e0;transition:transform .15s ease,color .15s ease}.rf-stars button:hover:not(:disabled){transform:scale(1.12)}.rf-stars button:disabled{cursor:default}.rf-stars button.on{color:#f59e0b}.rf-stars button.on svg{fill:#fbbf24}.rf-label{margin-left:8px;font-weight:700;font-size:.9rem;color:var(--ink-muted)}.review-form textarea{width:100%;resize:vertical}.rf-text{margin:0;color:var(--ink);font-style:italic}.cd-hero{background:linear-gradient(135deg,var(--purple-deep),var(--purple-dark));color:var(--white);padding:44px 0 40px}.cd-hero h1{color:var(--white);font-size:clamp(1.8rem,3.6vw,2.8rem);margin:14px 0;max-width:760px}.cd-hero a{color:var(--sun);font-weight:700}.cd-chips{display:flex;flex-wrap:wrap;gap:8px}.cd-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;color:#ffffffd9}.cd-meta span{display:inline-flex;align-items:center;gap:6px}.cd-meta .stars b{color:var(--white)}.cd-meta .muted{color:#ffffffb3}.cd-grid{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start;padding-top:28px}.cd-block{margin-bottom:30px}.cd-block h3{display:flex;align-items:center;gap:8px;font-size:1.35rem}.cd-block.learn{background:var(--purple-ghost);border:1px solid var(--purple-light);border-radius:var(--radius-lg);padding:20px 22px}.ticks{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ticks li{display:flex;gap:8px;align-items:start}.ticks svg{color:var(--mint);flex-shrink:0;margin-top:3px}.sessions{list-style:none;padding:0;margin:0;display:grid;gap:8px}.sessions li{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.slot{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--white);cursor:pointer;font:inherit;text-align:left}.slot.on{border-color:var(--purple);background:var(--purple-ghost)}.slot span{color:var(--ink-muted);font-size:.88rem}.accordion{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--white)}.acc+.acc{border-top:1px solid var(--line)}.acc-head{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--purple-ghost);border:0;font:inherit;font-weight:700;cursor:pointer;text-align:left}.acc-head .muted{display:inline-flex;align-items:center;gap:6px;font-weight:500}.acc.open .acc-head svg{transform:rotate(180deg)}.acc-body{list-style:none;margin:0;padding:6px 16px 12px}.acc-body li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line)}.acc-body li span:nth-child(2){flex:1}.review{padding:12px 0;border-bottom:1px solid var(--line)}.review p{margin:6px 0 0}.buy-box{position:sticky;top:130px;overflow:hidden;margin-top:-120px;box-shadow:var(--shadow-lg)}.buy-box video,.buy-box img{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:#000}.buy-inner{padding:20px}.buy-price{display:block;font-size:1.8rem;margin-bottom:14px}.includes-title{font-weight:800;margin:18px 0 8px}.includes{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--ink-muted);font-size:.93rem}.includes li{display:flex;gap:8px;align-items:center}@media(max-width:960px){.cd-grid{grid-template-columns:1fr}.buy-box{position:static;margin-top:0;order:-1}}.wish-detail{width:100%;margin-top:10px}.slot-help{font-size:.88rem;margin:0 0 10px}.sp-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px}.sp-day{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;min-width:58px;padding:8px 6px;border-radius:var(--radius-md);border:1.5px solid var(--line);background:var(--white);cursor:pointer;font:inherit}.sp-day b{font-size:1.15rem}.sp-day small{color:var(--ink-muted);font-size:.75rem}.sp-day.on{border-color:var(--purple);background:var(--purple-ghost)}.sp-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;border-radius:10px;background:var(--purple);color:#fff;font-size:.72rem;display:grid;place-items:center;padding:0 5px}.slot-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;font-size:.95rem}.link-btn{background:none;border:0;padding:0;color:var(--purple);cursor:pointer;font:inherit;text-decoration:underline}.msg-detail{margin-top:8px}.cd-grid>main{min-width:0}.sp-days{max-width:100%}.book-more{margin-top:8px}.acc-free{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0;border:0;background:none;font:inherit;color:var(--purple);cursor:pointer;text-align:left}.acc-free span:first-of-type{flex:1;text-decoration:underline;text-underline-offset:3px}.acc-free:hover span:first-of-type{color:var(--purple-dark)}.preview-btn{margin-top:8px}.buy-actions{display:grid;gap:8px}.buy-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.buy-actions .in-cart{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.toast-cart{display:inline}.toast-link{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--purple);cursor:pointer;text-decoration:underline}.cd-hero{background:radial-gradient(900px 380px at 85% -10%,rgba(244,114,182,.18),transparent 60%),radial-gradient(800px 400px at 0% 120%,rgba(124,58,237,.35),transparent 60%),#1b1433;padding:30px 0 44px}.cd-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem;color:#fff9;margin-bottom:14px}.cd-hero .cd-crumbs a{color:#c4b5fd;font-weight:600}.cd-chips .cc-badge{align-self:center}.cd-sub{color:#ffffffd1;font-size:1.08rem;max-width:700px;margin:-4px 0 16px}.cd-meta{gap:10px 20px;font-size:.92rem}.cd-rate{display:inline-flex;align-items:center;gap:8px}.cd-rate>b{color:var(--sun);font-size:1.05rem}.cd-by{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:14px;color:#ffffffc7;font-size:.92rem}.cd-hero .cd-by a{color:#ddd6fe;text-decoration:underline;text-underline-offset:3px}.cd-upd{display:inline-flex;align-items:center;gap:6px}.ticks.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin-top:8px}.cd-block.learn{background:var(--white);border-color:var(--line);box-shadow:var(--shadow-sm)}.acc-head{background:var(--surface)}.teacher-card{display:flex;gap:18px;padding:20px;align-items:flex-start}.tc-pic{position:relative;width:84px;height:84px;border-radius:50%;flex:none;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),var(--pink))}.tc-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.tc-pic b{color:#fff;font-family:var(--font-display);font-size:2rem}.tc-body{min-width:0}.tc-name{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--ink)}.tc-head{margin:2px 0 8px;color:var(--purple);font-weight:600;font-size:.92rem}.tc-stats{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 10px;font-size:.86rem;color:var(--ink-muted)}.tc-stats span{display:inline-flex;align-items:center;gap:5px}.tc-bio{color:var(--ink-muted);font-size:.93rem;margin:0 0 12px}.tc-actions{display:flex;flex-wrap:wrap;gap:8px}.rating-sum{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;padding:20px;margin-bottom:18px}.rs-big{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.rs-big>b{font-family:var(--font-display);font-size:3rem;line-height:1;color:var(--ink)}.rs-big .stars .muted,.rs-big .stars b{display:none}.rs-bars{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rs-bars li{display:grid;grid-template-columns:40px 1fr 44px;gap:10px;align-items:center;font-size:.86rem}.rs-bars li>span:first-child{display:inline-flex;align-items:center;gap:3px;font-weight:700}.rs-bars svg{color:#f59e0b;fill:#fbbf24}.rs-bar{height:8px;border-radius:8px;background:var(--surface);overflow:hidden}.rs-bar i{display:block;height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:8px}.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-card{margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white)}.rv-top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.rv-top>div{display:flex;flex-direction:column;flex:1;min-width:0}.rv-top small{font-size:.78rem}.rv-top .stars .muted,.rv-top .stars b{display:none}.rv-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--purple-light);color:var(--purple-dark);font-weight:800;flex:none}.review-card blockquote{margin:0;color:var(--ink);font-size:.94rem;line-height:1.55}.mobile-buy{display:none}@media(max-width:960px){.mobile-buy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px #17142b14}.mobile-buy .price{font-size:1.2rem}.course-page{padding-bottom:70px}}@media(max-width:640px){.ticks.two,.review-list,.rating-sum{grid-template-columns:1fr}.teacher-card{flex-direction:column}}.teacher-head{display:flex;gap:24px;align-items:center;padding:26px}.teacher-photo{position:relative;width:132px;height:132px;border-radius:50%;flex-shrink:0;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),#a78bfa);color:#fff;font-size:3rem;font-weight:800}.teacher-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}.teacher-main{min-width:0}.teacher-main h1{margin:0 0 4px;font-size:clamp(1.6rem,3vw,2.2rem)}.teacher-kicker{margin:0;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;font-weight:700}.teacher-headline{margin:0 0 10px;font-weight:600;color:var(--ink)}.teacher-stats{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 14px;color:var(--ink-muted);font-size:.92rem}.teacher-stats span{display:inline-flex;align-items:center;gap:6px}.teacher-stats svg{color:var(--purple)}.teacher-about{display:grid;gap:16px;margin-top:16px}.teacher-about.with-video{grid-template-columns:1.3fr 1fr;align-items:start}.teacher-about .card{padding:22px}.teacher-about h2{font-size:1.2rem;margin:0 0 10px}.teacher-video video{width:100%;border-radius:var(--radius-md);background:#000}@media(max-width:760px){.teacher-head{flex-direction:column;text-align:center;padding:20px 16px}.teacher-photo{width:104px;height:104px}.teacher-stats{justify-content:center}.teacher-about.with-video{grid-template-columns:minmax(0,1fr)}}.auth-page{min-height:70vh;display:grid;place-items:center;padding:40px 16px;background:radial-gradient(700px 400px at 90% 0%,var(--sun-light),transparent 60%),var(--purple-ghost)}.auth-card{width:min(440px,100%);padding:32px;box-shadow:var(--shadow-lg)}.auth-card h1{font-size:1.9rem}.auth-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:16px 0 0;font-size:.92rem}.google{margin-top:8px}.or{display:flex;align-items:center;gap:12px;color:var(--ink-muted);font-size:.85rem;margin:16px 0}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.auth-page{background:radial-gradient(800px 420px at 100% 0%,rgba(253,230,138,.35),transparent 60%),radial-gradient(700px 400px at 0% 100%,rgba(221,214,254,.6),transparent 60%),var(--bg)}.auth-split{width:min(940px,100%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;box-shadow:var(--shadow-lg);padding:0}.auth-split .auth-card{width:auto;box-shadow:none;padding:40px}.auth-aside{position:relative;padding:40px;color:#fff;background:radial-gradient(500px 300px at 100% 0%,rgba(244,114,182,.35),transparent 60%),linear-gradient(160deg,#2e1065,#1b1433);display:flex;flex-direction:column;gap:18px}.aa-badge{align-self:flex-start;padding:5px 12px;border-radius:var(--radius-full);background:#ffffff1f;font-size:.78rem;font-weight:800;letter-spacing:.06em}.auth-aside h2{color:#fff;font-size:1.9rem;margin:0}.auth-aside ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.auth-aside li{display:flex;gap:10px;align-items:flex-start;color:#ffffffe0}.auth-aside li span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;background:#a78bfa4d;color:#ede9fe}.aa-quote{margin:auto 0 0;padding:18px;border-radius:var(--radius-lg);background:#ffffff14;border:1px solid rgba(255,255,255,.1)}.aa-quote svg{color:#c4b5fd}.aa-quote blockquote{margin:8px 0;font-family:var(--font-display);font-size:1.05rem;line-height:1.45}.aa-quote figcaption{color:#ffffffa6;font-size:.85rem}@media(max-width:820px){.auth-split{grid-template-columns:1fr;width:min(460px,100%)}.auth-aside{display:none}.auth-split .auth-card{padding:28px}}.cart-grid{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}.cart-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.cart-item{display:flex;gap:16px;padding:14px;align-items:center}.cart-item img{width:120px;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md);background:var(--purple-light)}.ci-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.ci-title{font-weight:700;color:var(--ink)}.ci-slot{display:inline-flex;gap:6px;align-items:center;font-size:.88rem;color:var(--purple-dark)}.ci-right{display:flex;align-items:center;gap:8px}.cart-summary{padding:22px;position:sticky;top:130px}.cs-row{display:flex;justify-content:space-between;font-size:1.2rem;margin-bottom:16px}.cs-note{display:flex;gap:8px;font-size:.85rem;margin:14px 0 0}.success{display:grid;place-items:center}.success-card{padding:40px;text-align:center;max-width:520px;display:grid;justify-items:center;gap:6px}@media(max-width:860px){.cart-grid{grid-template-columns:1fr}.cart-item img{width:84px}}.ci-deal{display:inline-flex;align-items:center;gap:6px;color:#047857;font-size:.88rem;font-weight:600}.ci-old{font-size:.85rem}.cs-save b{color:#047857}.ebook-dl{margin:12px 14px 4px;padding:14px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--line)}.ebook-dl-head{display:flex;align-items:center;gap:8px;color:var(--purple-deep)}.ebook-dl-head svg{color:var(--purple)}.ebook-dl p{margin:6px 0 10px;font-size:.86rem}.modal-backdrop{position:fixed;inset:0;z-index:90;background:#1a1a2e80;display:grid;place-items:center;padding:16px}.modal{position:relative;width:min(480px,100%);padding:26px;box-shadow:var(--shadow-lg);animation:umIn .18s ease}.modal h2{display:flex;align-items:center;gap:10px;font-size:1.3rem;margin:0 28px 12px 0}.modal h2 svg{color:var(--purple);flex-shrink:0}.modal ul{margin:0 0 18px;padding-left:20px;display:grid;gap:6px;color:var(--ink)}.modal-x{position:absolute;right:12px;top:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.lesson-qa{margin:32px 0 20px;max-width:820px}.lesson-qa h2{display:flex;align-items:center;gap:10px;font-size:1.35rem}.qa-ask{padding:14px;display:grid;gap:10px;margin-bottom:16px}.qa-ask .row-actions{justify-content:space-between}.qa-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.qa-item{padding:16px 18px;display:grid;gap:8px}.qa-item.resolved{border-color:#a7f3d0}.qa-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qa-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--purple-light);color:var(--purple-dark);font-weight:800;font-size:.8rem;flex:none}.qa-tools{margin-left:auto;display:inline-flex;gap:6px;align-items:center}.qa-body{margin:0;white-space:pre-wrap}.qa-ans{margin-left:18px;padding:10px 14px;border-left:3px solid var(--line);background:var(--surface);border-radius:0 12px 12px 0;display:grid;gap:6px}.qa-ans.teacher{border-left-color:var(--purple);background:var(--purple-ghost)}.qa-ans .qa-av{background:var(--white)}.qa-reply-form{display:grid;gap:8px}.lesson-assess{display:grid;gap:16px;margin:24px 0;max-width:820px}.la-box{padding:20px;display:grid;gap:10px;justify-items:start}.la-box h3{display:flex;align-items:center;gap:8px;margin:0;font-size:1.15rem}.la-qs{margin:0;padding-left:20px;display:grid;gap:18px;width:100%}.la-q{font-weight:700;margin:0 0 8px}.la-opts{display:grid;gap:8px}.la-opt{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 14px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);font:inherit;color:var(--ink);cursor:pointer}.la-opt:hover:not(:disabled){border-color:var(--purple)}.la-opt.on{border-color:var(--purple);background:var(--purple-ghost)}.la-opt.is-right{border-color:#10b981;background:#ecfdf5}.la-opt:disabled{cursor:default}.la-dot{width:16px;height:16px;border-radius:50%;border:2px solid #c4bfd4;flex:none}.la-dot.sq{border-radius:4px}.la-opt.on .la-dot{border-color:var(--purple);background:var(--purple);box-shadow:inset 0 0 0 3px #fff}.la-fb{display:flex;gap:6px;align-items:flex-start;margin:6px 0 0;font-size:.9rem}.la-fb.ok,.la-ok{color:#047857;display:inline-flex;gap:6px;align-items:center}.la-fb.bad,.la-bad{color:#b91c1c}.la-result{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.la-instr{white-space:pre-wrap;margin:0}.la-feedback{width:100%;padding:12px 14px;border-radius:12px;background:var(--sun-light);border:1px solid #fde68a}.la-feedback p{margin:4px 0 0;white-space:pre-wrap}.la-sub,.la-form{display:grid;gap:8px;width:100%;justify-items:start}.la-mine{white-space:pre-wrap;margin:0;padding:10px 14px;border-radius:12px;background:var(--surface);width:100%}.la-form textarea{width:100%}.my-course{overflow:hidden;color:var(--ink)}.my-course img{aspect-ratio:16 / 9;object-fit:cover;width:100%;background:var(--purple-light)}.mc-body{padding:14px 16px 16px}.mc-body h3{font-family:var(--font-body);font-size:1rem;margin:10px 0}.progress{height:8px;background:var(--purple-light);border-radius:8px;overflow:hidden;margin-bottom:6px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--purple),var(--pink))}.player{display:grid;grid-template-columns:1fr 340px;min-height:calc(100vh - 116px)}.player-main{background:var(--white)}.player-video{width:100%;max-height:70vh;background:#000;display:block}.player-doc{width:100%;height:75vh;border:0;background:#f4f2fa}.player-info{padding-top:20px;padding-bottom:40px}.player-info h1{font-size:1.6rem}.player-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.locked{display:grid;justify-items:center;gap:12px;padding:80px 20px;text-align:center;color:var(--ink-muted)}.player-side{border-left:1px solid var(--line);background:var(--purple-ghost);overflow-y:auto;max-height:calc(100vh - 116px);position:sticky;top:116px}.ps-title{display:block;padding:16px;font-weight:800;color:var(--ink);border-bottom:1px solid var(--line)}.ps-sec-title{padding:12px 16px 4px;margin:0;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.ps-lecture{display:flex;gap:10px;align-items:center;width:100%;padding:10px 16px;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.ps-lecture:hover{background:var(--white)}.ps-lecture.on{background:var(--white);box-shadow:inset 4px 0 0 var(--purple);font-weight:700}.live-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.live-item{display:flex;align-items:center;gap:16px;padding:14px}.live-item img{width:110px;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius-md);background:var(--purple-light)}.live-when{font-weight:700;color:var(--purple-dark)}@media(max-width:960px){.player{grid-template-columns:1fr}.player-side{position:static;max-height:none;border-left:0}}@media(max-width:600px){.live-item{flex-wrap:wrap}}.ps-progress{margin:0 14px 12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--line);display:grid;gap:8px}.ps-prog-row{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600}.ps-prog-row span{display:inline-flex;gap:6px;align-items:center}.ps-bar{height:6px;border-radius:6px;background:var(--purple-light);overflow:hidden}.ps-bar span{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--purple),var(--pink));transition:width .6s ease}.pa-nav{display:inline-flex;gap:6px;margin-left:auto}.player-actions{flex-wrap:wrap;align-items:center}.my-course{display:flex;flex-direction:column;transition:transform var(--t),box-shadow var(--t)}.my-course:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--ink)}.mc-media{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--surface)}.mc-media img{width:100%;height:100%;object-fit:cover}.mc-done{position:absolute;left:10px;bottom:10px;display:inline-flex;gap:5px;align-items:center;padding:4px 10px;border-radius:var(--radius-full);background:#065f46;color:#fff;font-size:.75rem;font-weight:800}.mc-body{display:flex;flex-direction:column;gap:4px;flex:1}.mc-body .chip{align-self:flex-start;font-size:.74rem;padding:4px 10px}.mc-body h3{margin:8px 0 0;line-height:1.35}.mc-prog{margin-top:8px}.mc-action{margin-top:auto;padding-top:10px;font-weight:800;font-size:.88rem;color:var(--purple)}.tab-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:4px;border-radius:10px;background:var(--surface);color:var(--ink-muted);font-size:.72rem}.type-tabs button.on .tab-n{background:#ffffff40;color:#fff}.ml-empty{padding:48px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:560px;margin:20px auto}.ml-empty>span{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--purple-ghost);color:var(--purple);margin-bottom:6px}.live-mats{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-top:6px}.live-mats a{display:inline-flex;align-items:center;gap:4px;font-size:.88rem;font-weight:600;color:var(--purple)}.lv-date{width:64px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 0;border-radius:14px;text-transform:uppercase}.lv-date.live{background:var(--pink-light);color:#9d174d}.lv-date.private{background:var(--sky-light);color:#075985}.lv-date b{font-family:var(--font-display);font-size:1.6rem;line-height:1.1}.lv-date small{font-size:.7rem;font-weight:800;letter-spacing:.05em}.live-room{display:flex;flex-direction:column;height:calc(100vh - 116px);background:var(--purple-deep)}.lr-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;background:var(--white);border-bottom:1px solid var(--line)}.lr-frame{flex:1;width:100%;border:0}@media(max-width:900px){.live-room{height:calc(100vh - 116px)}}.empty-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:48px 24px;margin-top:24px}.empty-card h2{margin:8px 0 0}.empty-card p{max-width:420px;margin:0 0 12px}.empty-icon{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;background:var(--pink-light);color:#db2777}.account{max-width:980px}.account-head{display:flex;align-items:center;gap:22px;padding:26px;margin-bottom:22px;background:linear-gradient(135deg,var(--purple-ghost),var(--sun-light))}.account-head h1{margin:0 0 6px;font-size:1.8rem}.account-head p{display:flex;align-items:center;gap:6px;margin:2px 0}.google-linked{color:#047857;font-weight:600;font-size:.9rem}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.account-card{padding:24px}.account-card h2{display:flex;align-items:center;gap:10px;font-size:1.2rem;margin:0 0 16px}.account-card h2 svg{color:var(--purple)}.account-card small{font-size:.8rem}.account-card .input:disabled{background:var(--purple-ghost);color:var(--ink-muted)}@media(max-width:760px){.account-grid{grid-template-columns:1fr}.account-head{flex-direction:column;text-align:center}.account-head p{justify-content:center}}.ref-hero{display:flex;gap:20px;align-items:flex-start;padding:24px;margin-bottom:18px}.ref-hero h1{margin:0 0 4px;font-size:clamp(1.5rem,3vw,2rem)}.ref-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--purple-ghost);color:var(--purple);flex-shrink:0}.ref-hero>div{flex:1;min-width:0}.ref-link{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ref-link .input{flex:1;min-width:220px}.ref-friends{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ref-friends li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}@media(max-width:640px){.ref-hero{flex-direction:column;padding:18px}}.md-head{display:flex;align-items:center;gap:16px;margin-bottom:8px}.md-head h1{margin:0;font-size:clamp(1.7rem,3vw,2.3rem)}.md-head p{margin:2px 0 0}.md-head-link{margin-left:auto}.md-section{margin-top:36px}.md-section>h2{display:flex;align-items:center;gap:10px;font-size:1.4rem;margin:0 0 16px}.md-section>h2 svg{color:var(--purple)}.md-week{display:grid;grid-template-columns:300px 1fr;gap:18px}.md-kpis{display:grid;gap:18px}.kpi{display:flex;flex-direction:column;gap:4px;padding:18px 20px}.kpi-label{font-size:.82rem;font-weight:700;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.05em}.kpi-num{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:2.4rem;line-height:1.1;color:var(--purple-deep)}.kpi-delta{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--ink-muted)}.kpi-delta.up{color:#047857}.kpi-delta.down{color:#b45309}.kpi.streak .kpi-num svg{color:var(--ink-muted)}.kpi.streak.on{background:linear-gradient(135deg,var(--sun-light),var(--white))}.kpi.streak.on .kpi-num svg{color:#f97316}.star-ic{color:#f59e0b;fill:#f59e0b}.md-chart{padding:18px 20px 12px}.md-chart-title{margin:0 0 4px;font-weight:700;color:var(--ink)}.wchart{position:relative}.wchart svg{width:100%;height:180px;display:block;overflow:visible}.wc-grid{stroke:var(--line);stroke-width:1}.wc-base{stroke:#cfc8e6;stroke-width:1}.wc-axis{font-size:11px;fill:var(--ink-muted);font-family:var(--font-body)}.wc-value{font-size:12px;font-weight:800;fill:var(--ink);font-family:var(--font-body)}.wc-bar{fill:#c4b5fd;transition:fill var(--t)}.wc-bar.current{fill:var(--purple)}.wc-bar.hover{fill:var(--purple-dark)}.wchart g:focus{outline:none}.wchart g:focus-visible .wc-bar{fill:var(--purple-dark)}.wc-tip{position:absolute;top:0;transform:translate(-50%);pointer-events:none;background:var(--ink);color:var(--white);border-radius:var(--radius-sm);padding:6px 10px;font-size:.8rem;display:flex;flex-direction:column;white-space:nowrap;box-shadow:var(--shadow-md)}.wc-tip span{opacity:.8}.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}.cal-wrap{display:grid;grid-template-columns:380px 1fr;gap:18px;align-items:start}.cal{padding:16px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;text-transform:capitalize}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-wd{text-align:center;font-size:.75rem;font-weight:800;color:var(--ink-muted);padding:4px 0}.cal-day{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:none;font:inherit;font-weight:600;color:var(--ink);cursor:pointer;transition:background var(--t)}.cal-day:hover{background:var(--purple-ghost)}.cal-day.learned{background:var(--mint-light)}.cal-day.today{box-shadow:inset 0 0 0 2px var(--purple)}.cal-day.picked{background:var(--purple);color:var(--white)}.cal-dot{position:absolute;left:50%;bottom:5px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#ec4899}.cal-day.picked .cal-dot{background:var(--white)}.cal-legend{display:flex;gap:16px;margin-top:12px;font-size:.8rem;color:var(--ink-muted)}.cal-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:-1px}.lg-class{background:#ec4899}.lg-learned{background:var(--mint-light);border:1px solid var(--mint)}.cal-side h3{font-family:var(--font-body);font-size:1rem;margin:4px 0 10px;text-transform:capitalize}.cal-side .cal-next{margin-top:22px}.sess-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.sess-list li{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-md)}.sess-time{display:flex;flex-direction:column;min-width:78px;font-weight:800;color:var(--purple-deep)}.sess-time small{font-weight:600;color:var(--ink-muted);font-size:.75rem}.sess-title{flex:1;min-width:0;display:flex;flex-direction:column}.sess-title b,.sess-title small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sess-title small{color:var(--ink-muted)}.ach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.ach{display:flex;align-items:center;gap:14px;padding:16px}.ach-medal{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:radial-gradient(circle at 30% 30%,#fde68a,var(--sun));color:var(--purple-deep);box-shadow:inset 0 -3px #00000014}.ach-text{flex:1;min-width:0}.ach-text h3{margin:0;font-family:var(--font-body);font-size:1rem}.ach-text p{margin:2px 0 0;font-size:.85rem}.md-empty{display:flex;align-items:center;gap:14px;padding:18px 20px;color:var(--ink-muted)}.md-empty p{flex:1;margin:0}.pur{padding:20px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;justify-items:start}.pur-totals{display:flex;flex-wrap:wrap;gap:28px}.pur-totals div{display:flex;flex-direction:column}.pur-totals b{font-family:var(--font-display);font-size:1.8rem;color:var(--purple-deep)}.pur-totals small{color:var(--ink-muted)}.pur-list{list-style:none;margin:0;padding:0;width:100%}.pur-list li{display:flex;gap:16px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.pur-date{width:110px;flex-shrink:0;color:var(--ink-muted);font-size:.88rem}.pur-course{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.teach-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}.teach-box{padding:18px}.teach-box h3{font-family:var(--font-body);font-size:1rem;margin:0 0 12px}.rev-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.rev-list li{padding-bottom:12px;border-bottom:1px solid var(--line)}.rev-list li:last-child{border-bottom:0;padding-bottom:0}.rev-list p{margin:4px 0}.rev-stars{color:#f59e0b;letter-spacing:1px}.rev-stars span{color:var(--line)}@media(max-width:960px){.md-week,.cal-wrap,.teach-cols{grid-template-columns:1fr}.md-kpis{grid-template-columns:1fr 1fr}}@media(max-width:600px){.md-head-link{display:none}.teach-grid{grid-template-columns:1fr 1fr}.sess-list li{flex-wrap:wrap}.pur-date{width:auto}.ach-grid{grid-template-columns:1fr}.ach{flex-wrap:wrap}}.ebook-settings{margin-bottom:16px}.ebook-settings>p{margin:-6px 0 12px;font-size:.9rem}.ebook-settings ul{list-style:none;margin:0;padding:0}.ebook-settings li{display:flex;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--line)}.es-title{flex:1;min-width:0;display:flex;flex-direction:column}.switch{position:relative;display:inline-flex;align-items:center;gap:8px;padding:3px 12px 3px 3px;border:1px solid var(--line);border-radius:var(--radius-full);background:var(--purple-ghost);cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;color:var(--ink-muted);min-width:74px}.switch-knob{width:24px;height:24px;border-radius:50%;background:var(--white);box-shadow:var(--shadow-sm);transition:transform var(--t)}.switch.on{background:var(--purple);border-color:var(--purple);color:var(--white);flex-direction:row-reverse;padding:3px 3px 3px 12px}.switch:disabled{opacity:.6}.cert-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.cert-hint{margin-top:8px;font-size:.88rem}.cert-sheet{width:min(1000px,calc(100% - 32px));margin:18px auto 0;aspect-ratio:297 / 210;background:var(--white);box-shadow:var(--shadow-lg);padding:2.4%;container-type:inline-size}.cert-border{height:100%;border:3px solid var(--purple);outline:1px solid var(--sun);outline-offset:-10px;padding:4% 6%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(600px 300px at 100% 0%,var(--sun-light),transparent 70%),radial-gradient(600px 300px at 0% 100%,var(--purple-ghost),transparent 70%)}.cert-top{margin-bottom:2cqw}.cert-logo{height:5cqw;max-width:30cqw;object-fit:contain}.cert-wordmark{font-family:var(--font-display);font-size:3cqw;color:var(--purple);font-weight:700}.cert-kicker{margin:0;font-size:1.4cqw;letter-spacing:.35em;text-transform:uppercase;font-weight:800;color:var(--purple)}.cert-presented,.cert-for{margin:2.4cqw 0 .6cqw;font-size:1.6cqw;color:var(--ink-muted)}.cert-name{margin:0;font-family:var(--font-display);font-size:5.4cqw;line-height:1.1;color:var(--purple-deep);border-bottom:2px solid var(--sun);padding:0 3cqw .6cqw}.cert-course{margin:0;font-family:var(--font-display);font-size:3cqw;line-height:1.2;color:var(--ink);max-width:80%}.cert-meta{margin:1cqw 0 0;font-size:1.4cqw;color:var(--ink-muted)}.cert-foot{margin-top:auto;width:100%;display:flex;align-items:flex-end;justify-content:space-between;padding-top:2cqw}.cert-foot div:not(.cert-seal){display:flex;flex-direction:column;min-width:22cqw;border-top:1px solid var(--ink-muted);padding-top:.6cqw}.cert-foot b{font-size:1.6cqw}.cert-foot span{font-size:1.1cqw;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em}.cert-seal{width:9cqw;height:9cqw;border-radius:50%;display:grid;place-items:center;font-size:4cqw;color:var(--purple-deep);background:radial-gradient(circle at 30% 30%,#fde68a,var(--sun));box-shadow:0 0 0 .6cqw var(--sun-light)}@media print{@page{size:A4 landscape;margin:0}body{background:var(--white)!important}.site-header,.site-footer,.cookie-notice,.no-print,.Toastify{display:none!important}.page.cert-page{padding:0!important;margin:0!important}.cert-sheet{width:297mm;height:210mm;margin:0;box-shadow:none;aspect-ratio:auto;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.admin h2{font-size:1.3rem;margin:30px 0 12px}.admin-box{padding:18px}.admin-limit{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}.admin-limit>svg{color:var(--purple)}.admin-limit label{flex:1;min-width:220px;display:flex;flex-direction:column}.admin-limit .input{width:90px}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.admin-table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table tr:last-child td{border-bottom:0}.admin-table tr.is-reset td{color:var(--ink-muted)}.admin-table code{background:var(--purple-ghost);padding:2px 6px;border-radius:6px;font-size:.85rem}.input-sm{width:80px;padding:6px 10px}.admin-note{margin:10px 0 0;font-size:.85rem}.admin-log-head{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-search{display:flex;align-items:center;gap:8px;margin:30px 0 12px}.admin-search svg{color:var(--ink-muted)}.admin-search .input{width:280px}.pay-sep{width:1px;background:var(--line);margin:0 4px}.pay-search{display:flex;gap:6px;margin-left:auto}.pay-search .input{padding:6px 12px;min-width:200px}.pend-cats{margin-top:18px}.pend-cats td .input{min-width:160px}.pend-cats td small{display:block;margin-top:4px}.pend-cats td.adm-actions{display:table-cell;white-space:nowrap}.pend-cats td.adm-actions .btn+.btn{margin-left:6px}.adm-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 120px);background:#f7f6fb}.adm-side{position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:18px 12px;background:#1f1340;color:#e9e5f8}.adm-brand{display:flex;align-items:center;gap:8px;padding:4px 10px 12px;font-size:1.05rem;color:#fff}.adm-brand svg{color:#fbbf24}.adm-close{display:none;margin-left:auto;color:#fff}.adm-group{display:grid;gap:2px;margin-bottom:10px}.adm-group-title{margin:6px 10px 4px;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#a79fcc}.adm-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:#e9e5f8;font-weight:600;font-size:.92rem}.adm-link:hover{background:#ffffff14;color:#fff}.adm-link.active{background:#fff;color:#3b0f8a}.adm-link span:first-of-type{flex:1}.adm-badge{min-width:22px;height:20px;padding:0 7px;border-radius:10px;background:#f97316;color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center}.adm-note-small{font-size:.82rem;margin:6px 0}.adm-side .adm-note-small{color:#a79fcc;margin:4px 10px}.adm-back{margin-top:auto;display:inline-flex;align-items:center;gap:6px;padding:10px;color:#c4b5fd;font-weight:600;font-size:.88rem}.adm-main{padding:26px 32px 60px;min-width:0}.adm-main>.page,.adm-main .page{padding:0!important;background:none}.adm-main .container{max-width:none;padding:0;margin:0}.adm-menu-btn{display:none;margin-bottom:12px}.adm-scrim{display:none}.adm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.adm-head h1{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 4px}.adm-head p{margin:0}.adm-head-actions{display:flex;gap:8px;flex-wrap:wrap}.adm-h2{font-family:var(--font-body);font-size:1.05rem;margin:26px 0 10px}.adm-h2.in-box{margin-top:0}.adm-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.adm-tile{display:flex;flex-direction:column;gap:2px;padding:18px;color:var(--ink);transition:transform .15s,box-shadow .15s}.adm-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-md, 0 6px 20px rgba(60, 30, 120, .12))}.adm-tile-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--purple-ghost);color:var(--purple);margin-bottom:8px}.adm-tile-label{font-size:.82rem;font-weight:600}.adm-tile-num{font-size:1.9rem;line-height:1.1}.adm-todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.adm-todo-item{display:flex;align-items:center;gap:10px;padding:14px 16px;color:var(--ink-muted)}.adm-todo-item b{font-size:1.2rem;color:var(--ink)}.adm-todo-item.hot{border-color:#fdba74;background:#fff7ed;color:#9a3412}.adm-todo-item.hot b{color:#c2410c}.adm-todo-go{margin-left:auto}.adm-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.adm-main .admin-box{margin-bottom:16px}.adm-two .admin-box{margin-bottom:0}.adm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.adm-toolbar .ins-filter{margin:0}.adm-searchbox{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:var(--radius-full);background:#fff;color:var(--ink-muted);min-width:280px}.adm-searchbox .input{border:0;box-shadow:none;padding:9px 0;background:transparent}.adm-pager{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:12px;font-size:.9rem}.adm-count{text-align:right;font-size:.85rem;margin:10px 0 0}.admin-table tr.clickable{cursor:pointer}.admin-table tr.clickable:hover td{background:#faf8ff}.admin-table.is-loading{opacity:.55}.admin-table td.num{text-align:right;white-space:nowrap}.admin-table td.adm-wrap{max-width:320px}.admin-table td.adm-actions{white-space:nowrap;text-align:right}.admin-table td.adm-actions>*+*{margin-left:6px}.ord-st{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;background:#eef0f4;color:#475569}.ord-st.confirm{background:var(--mint-light, #d1fae5);color:#065f46}.ord-st.pending{background:#fef3c7;color:#92400e}.ord-st.cancel{background:#fee2e2;color:#991b1b}.adm-check{margin:4px 0 14px;align-items:flex-start}.adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 18px}.adm-logo img{height:42px;max-width:180px;object-fit:contain;background:#f4f2fa;border-radius:8px;padding:4px}.adm-inline-add{display:flex;gap:8px;margin-bottom:12px}.adm-inline-add .input{flex:1}.adm-wide{width:100%}.adm-stars{color:#f59e0b;white-space:nowrap;letter-spacing:1px}.adm-stars span{color:#e5e7eb}.cat-thumb{width:48px;height:48px;object-fit:cover;border-radius:10px}.adm-main .pend-cats{margin:0 0 16px}.adm-main .page-title{font-size:clamp(1.5rem,3vw,2rem)}@media(max-width:960px){.adm-shell{grid-template-columns:minmax(0,1fr)}.adm-side{position:fixed;z-index:95;left:0;top:0;width:270px;transform:translate(-100%);transition:transform .2s}.adm-side.open{transform:none}.adm-close{display:inline-grid}.adm-scrim{display:block;position:fixed;inset:0;z-index:94;background:#140a2873}.adm-menu-btn{display:inline-flex}.adm-main{padding:16px}.adm-two{grid-template-columns:minmax(0,1fr)}.adm-searchbox{min-width:0;width:100%}}.adm-main .admin-table td.adm-actions{display:table-cell}.teach-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.teach-nav a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-full);color:var(--ink-muted);font-weight:700;font-size:.9rem}.teach-nav a:hover{background:var(--purple-ghost);color:var(--purple)}.teach-nav a.active{background:var(--purple);color:var(--white)}.teach-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.teach-head .page-title{margin-bottom:4px}.ins-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:20px 0}.ins-stats .kpi-num{font-size:2rem}.ins-stats a.kpi-delta{color:var(--purple)}.ins-empty{margin-top:10px}.ins-filter{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.tab-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--white);font:inherit;font-weight:700;font-size:.88rem;color:var(--ink-muted);cursor:pointer}.tab-pill span{background:var(--purple-ghost);color:var(--purple);border-radius:var(--radius-full);padding:0 7px;font-size:.78rem}.tab-pill.on{background:var(--purple);color:var(--white);border-color:var(--purple)}.tab-pill.on span{background:#fff3;color:var(--white)}.ins-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.ins-row{display:flex;align-items:center;gap:16px;padding:14px 16px}.ins-thumb{position:relative;width:112px;aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple-light),var(--sun-light));color:var(--purple)}.ins-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ins-row-main{flex:1;min-width:0}.ins-row-main h3{margin:4px 0 2px;font-family:var(--font-body);font-size:1.05rem}.ins-row-main h3 a{color:var(--ink)}.ins-row-top{display:flex;align-items:center;gap:10px;font-size:.82rem}.ins-meta{margin:0;font-size:.88rem}.ins-reject{display:flex;gap:6px;align-items:flex-start;margin:4px 0;color:#b45309;font-size:.88rem}.ins-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.st-chip{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.st-chip.draft{background:#eef0f4;color:#475569}.st-chip.review{background:var(--sky-light);color:#075985}.st-chip.live{background:var(--mint-light);color:#065f46}.st-chip.rejected{background:#fff1e6;color:#9a3412}.nc-modal{width:min(640px,100%)}.nc-types{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.nc-type{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border-radius:var(--radius-md);border:2px solid var(--line);background:var(--white);cursor:pointer;font:inherit;color:var(--ink)}.nc-type svg{color:var(--purple)}.nc-type small{color:var(--ink-muted);font-size:.82rem}.nc-type.on{border-color:var(--purple);background:var(--purple-ghost)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-weight:600;margin-bottom:12px}.ed-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ed-head h1{margin:4px 0 0;font-size:clamp(1.5rem,3vw,2rem)}.ed-head>div{flex:1;min-width:200px}.ed-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--purple-light);color:var(--purple);flex-shrink:0}.ed-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:20px 0}.ed-tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;border:0;background:none;font:inherit;font-weight:700;color:var(--ink-muted);cursor:pointer;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}.ed-tab:hover{color:var(--purple)}.ed-tab.on{color:var(--purple);border-bottom-color:var(--purple)}.tab-badge{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-full);background:#f97316;color:var(--white);font-size:.72rem;display:inline-grid;place-items:center}.ed-panel{padding:4px 0 20px}.ed-panel.narrow{max-width:680px}.card.ed-panel{padding:18px;margin-bottom:16px}.ed-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}.ed-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ed-four{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ed-h3{font-family:var(--font-body);font-size:1.05rem;margin:22px 0 10px}.field textarea.input{resize:vertical}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--purple)}.check.big b{font-size:1.05rem}.kids-box{padding:14px 16px;margin:6px 0 16px;background:var(--sun-light);border-color:#fde68a}.kids-box p{margin:4px 0 8px;font-size:.88rem}.cat-pick{display:flex;flex-wrap:wrap;gap:6px;max-height:260px;overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white)}.cat-pick>div{display:contents}.cat-chip{padding:6px 12px;border-radius:var(--radius-full);border:1px solid var(--line);background:var(--white);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--ink)}.cat-chip.sub{font-weight:500;color:var(--ink-muted)}.cat-chip.on{background:var(--purple);border-color:var(--purple);color:var(--white)}.media-box .img-preview{aspect-ratio:16 / 9;border-radius:var(--radius-md);overflow:hidden;background:var(--purple-ghost);display:grid;place-items:center;color:var(--purple);margin-bottom:8px}.media-box .img-preview img{width:100%;height:100%;object-fit:cover}.vid-preview{width:100%;border-radius:var(--radius-md);margin-bottom:8px;background:#000}.row-gap{display:flex;gap:8px;flex-wrap:wrap}.upload-btn{cursor:pointer}.upload-btn.busy{pointer-events:none}.up-bar{display:inline-block;width:80px;height:6px;border-radius:6px;background:var(--purple-light);overflow:hidden}.up-bar span{display:block;height:100%;background:var(--purple);transition:width .2s}.list-editor{display:grid;gap:8px}.le-row{display:flex;gap:6px}.save-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:16px;padding:12px 16px;background:#fffffff0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 24px #2e106514}.save-bar.dirty .muted{color:#b45309;font-weight:600}.share-note{font-size:.86rem;margin-top:12px}.sec{margin:18px 0;padding:14px;border-radius:var(--radius-lg);background:var(--purple-ghost)}.sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sec-head h3{margin:0;font-family:var(--font-body);font-size:1.02rem}.sec-edit{display:flex;gap:6px;flex:1}.lec-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}.lec{padding:0;overflow:hidden}.lec-head{display:flex;align-items:center;gap:10px;padding:10px 12px}.lec-num{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--purple-light);color:var(--purple);font-weight:800;font-size:.82rem;flex-shrink:0}.lec-title{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;border:0;background:none;font:inherit;text-align:left;cursor:pointer;color:var(--ink)}.lec-title small{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.lec-tools{display:flex;gap:2px}.free-tag{background:var(--mint-light);color:#065f46;border-radius:var(--radius-full);padding:0 8px;font-weight:700}.warn-tag{display:inline-flex;align-items:center;gap:4px;color:#b45309;font-weight:700}.lec-body{padding:4px 16px 16px;border-top:1px solid var(--line)}.lec-free{align-self:end;margin-bottom:18px}.lec-files{margin:8px 0 14px}.lf-title{font-weight:700;margin:0 0 6px}.lec-files ul{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:6px}.lec-files li{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm)}.lec-files li a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lec-actions{display:flex;justify-content:space-between;gap:10px}.add-lec{margin-top:2px}.btn.danger{color:var(--danger)}.btn.danger:hover{background:#fef2f2;color:var(--danger)}.sched-form{padding:18px;margin-bottom:8px}.sched-form h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-family:var(--font-body);font-size:1.05rem}.sched-form h3 svg{color:var(--purple)}.wd-pick{display:flex;flex-wrap:wrap;gap:6px}.slot-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.slot-day{padding:12px}.slot-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.slot-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 6px 4px 10px;border-radius:var(--radius-full);background:var(--purple-ghost);font-size:.82rem;font-weight:700;color:var(--purple-deep)}.slot-chip button{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--ink-muted);cursor:pointer}.slot-chip button:hover{background:var(--white);color:var(--danger)}.slot-chip.booked{background:var(--mint-light);color:#065f46;padding-right:10px}.mini-bar{display:inline-block;width:80px;height:6px;border-radius:6px;background:var(--purple-light);overflow:hidden;vertical-align:middle;margin-right:6px}.mini-bar span{display:block;height:100%;background:var(--purple)}.banner{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);margin-bottom:12px;font-weight:600}.banner.info{background:var(--sky-light);color:#075985}.banner.ok{background:var(--mint-light);color:#065f46}.banner.warn{background:#fff1e6;color:#9a3412;font-weight:500}.checklist{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}.checklist li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white)}.checklist li span{flex:1}.checklist li svg{color:var(--ink-muted)}.checklist li.ok svg{color:#10b981}.del-course{margin-top:18px}.mbars{display:grid;grid-template-columns:repeat(12,1fr);gap:8px;align-items:end;height:180px}.mbar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}.mbar-fill{width:70%;min-height:2px;border-radius:4px 4px 0 0;background:var(--purple)}.mbar small{color:var(--ink-muted);font-size:.75rem}.rev-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.rev-cards li{padding:16px}.rev-cards p{margin:6px 0}.adm-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}@media(max-width:900px){.ed-grid{grid-template-columns:1fr}.ed-four{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ins-row{flex-wrap:wrap}.ins-thumb{width:88px}.ins-row-actions{width:100%;justify-content:flex-start}.nc-types,.ed-two{grid-template-columns:1fr}.lec-actions{flex-wrap:wrap}}.cpn-modal{width:min(640px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.modal .cpn-results{list-style:none;margin:6px 0 0;padding:4px;border:1px solid var(--line);border-radius:var(--radius-md);display:grid;gap:2px;max-height:200px;overflow-y:auto}.cpn-results li{padding:0}.cpn-results li.muted{padding:8px 10px;font-size:.9rem}.cpn-results button{width:100%;text-align:left;padding:8px 10px;border:0;background:none;border-radius:8px;cursor:pointer;font:inherit}.cpn-results button:hover{background:var(--purple-ghost)}.cpn-student{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-md);background:var(--purple-ghost)}.cpn-student .icon-btn{margin-left:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.03em}.cpn-copy{width:26px;height:26px;vertical-align:middle}.cpn-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;cursor:pointer}.cpn-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.cpn-switch span{position:absolute;inset:0;border-radius:11px;background:#cbd5e1;transition:background .15s;pointer-events:none}.cpn-switch span:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}.cpn-switch input:checked+span{background:var(--purple)}.cpn-switch input:checked+span:after{transform:translate(18px)}.cpn-switch input:focus-visible+span{outline:2px solid var(--purple);outline-offset:2px}td.row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.cls-day{margin-bottom:18px}.cls-date{font-family:var(--font-body);font-size:1rem;color:var(--ink-muted);margin:18px 0 8px}.cls-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.cls-item{display:flex;gap:16px;align-items:flex-start;padding:14px 16px}.cls-time{display:flex;flex-direction:column;align-items:center;min-width:64px;padding-top:4px}.cls-time b{font-size:1.1rem}.cls-main{flex:1;min-width:0}.cls-main h3{margin:6px 0 2px;font-family:var(--font-body);font-size:1.02rem}.cls-sub{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.88rem}.cls-mats{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cls-mat{display:inline-flex;align-items:center;gap:2px;padding:2px 4px 2px 10px;border-radius:var(--radius-full);background:var(--purple-ghost);font-size:.84rem;max-width:100%}.cls-mat a{display:inline-flex;align-items:center;gap:4px;color:var(--purple);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cls-mat .icon-btn{width:24px;height:24px}.cls-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.ledger-totals{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0 14px}.ledger-totals .kpi{min-width:200px}.pay-chip{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800}.pay-chip.pending{background:var(--sun-light, #fef3c7);color:#92400e}.pay-chip.paid{background:var(--mint-light, #d1fae5);color:#065f46}.payout-row{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 6px}.payout-row .input{flex:1;min-width:220px}.prof-grid{align-items:start}.prof-photo{width:140px;height:140px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--purple-ghost);color:var(--purple);margin-bottom:12px}.prof-photo img{width:100%;height:100%;object-fit:cover}@media(max-width:700px){.cls-item{flex-wrap:wrap}.cls-actions{flex-direction:row;flex-wrap:wrap;width:100%;align-items:center}.cls-main{flex-basis:calc(100% - 80px)}}.cat-box{display:grid;gap:8px}.cat-selected{display:flex;flex-wrap:wrap;gap:6px}.cat-selected .cat-chip{display:inline-flex;align-items:center;gap:6px;cursor:default}.cat-selected .cat-chip button{border:0;background:#ffffff40;color:inherit;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0}.cat-pick .cat-group{display:contents}.cat-chip.pending{border-style:dashed}.cat-chip small{font-weight:500;opacity:.8}.cat-none{margin:4px}.cat-add{justify-self:start}.rte{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.rte:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-light)}.rte-bar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;border-bottom:1px solid var(--line);background:var(--purple-ghost)}.rte-bar button{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:8px;background:none;color:var(--ink-muted);cursor:pointer}.rte-bar button:hover{background:var(--white);color:var(--purple)}.rte-body{padding:12px 14px;outline:none;max-height:70vh;overflow-y:auto}.rte-body:empty:before{content:attr(data-placeholder);color:var(--ink-muted)}.rte-body h2{font-size:1.35rem}.rte-body h3{font-size:1.12rem}.rte-body blockquote{border-left:3px solid var(--purple-light);margin:8px 0;padding-left:12px;color:var(--ink-muted)}.rte-body img{max-width:100%;height:auto;border-radius:8px}.rte-spin{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--purple);border-radius:50%;display:inline-block;animation:rte-spin .8s linear infinite}@keyframes rte-spin{to{transform:rotate(360deg)}}.rte-tablebar{display:inline-flex;flex-wrap:wrap;gap:2px;margin-left:6px;padding-left:6px;border-left:1px solid var(--line)}.rte-bar button.rte-txt{width:auto;padding:0 8px;font-size:.78rem;font-weight:700}.rte-tablepick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--white);font-size:.88rem}.rte-tablepick label{display:inline-flex;align-items:center;gap:6px}.rte-tablepick input[type=number]{width:60px;padding:4px 6px;border:1px solid var(--line);border-radius:8px;font:inherit}.rte-body table{border-collapse:collapse;width:100%;margin:10px 0}.rte-body th,.rte-body td{border:1px solid var(--line);padding:6px 8px;min-width:40px;vertical-align:top}.rte-body th{background:var(--purple-ghost);text-align:left}.wimp{width:min(720px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.wimp-body{display:grid;gap:12px}.wimp-rules{margin:0;padding-left:18px;display:grid;gap:4px}.wimp-error{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;padding:10px 12px;border-radius:10px;background:#fef2f2;color:#991b1b}.wimp-progress{padding:24px 4px;justify-items:start}.wimp-progress p{display:flex;gap:10px;align-items:center;margin:0;font-weight:600}.wimp-bar{width:100%;height:8px;border-radius:99px;background:var(--surface, #f1eefb);overflow:hidden}.wimp-bar i{display:block;height:100%;background:var(--purple);transition:width .3s}.wimp-stats{display:flex;flex-wrap:wrap;gap:8px}.wimp-stats span{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:var(--purple-ghost);font-size:.85rem;font-weight:600}.wimp-warn{list-style:none;margin:0;padding:10px 12px;border-radius:10px;background:#fffbeb;color:#92400e;display:grid;gap:6px;font-size:.88rem}.wimp-warn li{display:flex;gap:8px;align-items:flex-start}.wimp-tree{margin:0;padding:10px 12px 10px 28px;border:1px solid var(--line);border-radius:12px;max-height:340px;overflow-y:auto;display:grid;gap:8px}.wimp-tree ul{margin:4px 0 0;padding-left:18px;display:grid;gap:2px;font-size:.9rem}.wimp-mode{border:0;margin:0;padding:0;display:grid;gap:6px}.wimp-mode label{display:flex;gap:8px;align-items:center}.wimp-done{justify-items:center;text-align:center;padding:12px 0;color:var(--ink)}.wimp-done>svg{color:#16a34a}.ed-import{padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.msg-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;height:min(72vh,760px);min-height:460px}.msg-list,.msg-conv{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0}.msg-search{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line);color:var(--ink-muted)}.msg-search .input{border:0;padding:6px 0;box-shadow:none;background:transparent}.msg-threads{list-style:none;margin:0;padding:6px;overflow-y:auto;flex:1}.msg-thread{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:var(--radius-md);color:var(--ink);background:none;border:0;font:inherit;text-align:left;cursor:pointer}.msg-thread:hover{background:#f8f7fc}.msg-thread.on{background:var(--purple-ghost)}.msg-thread.unread b{color:var(--purple)}.mt-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mt-top{display:flex;justify-content:space-between;gap:8px}.mt-top b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-last{color:var(--ink-muted);font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-thread.unread .mt-last{color:var(--ink);font-weight:600}.mt-badge{min-width:22px;height:22px;border-radius:11px;background:var(--purple);color:#fff;font-size:.75rem;font-weight:700;display:grid;place-items:center;padding:0 6px}.msg-face{position:relative;flex-shrink:0;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple),#a78bfa);color:#fff;font-weight:800}.msg-face img{width:100%;height:100%;object-fit:cover}.msg-empty-line{padding:16px;margin:0}.msg-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}.msg-head>div{display:flex;flex-direction:column;min-width:0}.msg-head small{font-size:.8rem}.msg-profile{margin-left:auto}.msg-back{display:none}.msg-body{flex:1;overflow-y:auto;padding:16px;background:#faf9fd}.msg-start{display:grid;place-items:center;gap:6px;text-align:center;color:var(--ink-muted);padding:40px 10px}.msg-start svg{color:var(--purple)}.msg-day{text-align:center;margin:14px 0 10px}.msg-day span{font-size:.75rem;color:var(--ink-muted);background:#fff;border:1px solid var(--line);padding:3px 10px;border-radius:var(--radius-full)}.bubble-row{display:flex;align-items:center;gap:6px;margin:4px 0}.bubble-row.mine{flex-direction:row-reverse}.bubble{max-width:min(75%,520px);padding:9px 12px 6px;border-radius:16px 16px 16px 4px;background:#fff;border:1px solid var(--line)}.bubble-row.mine .bubble{border-radius:16px 16px 4px;background:var(--purple);color:#fff;border-color:var(--purple)}.bubble p{margin:0 0 2px;white-space:pre-wrap;overflow-wrap:anywhere}.bubble.deleted{background:transparent!important;color:var(--ink-muted)!important;border-style:dashed!important;border-color:var(--line)!important}.bubble-meta{display:block;font-size:.7rem;opacity:.75;text-align:right}.bubble-file{display:inline-flex;align-items:center;gap:6px;margin:4px 0;font-weight:600;color:inherit;text-decoration:underline;overflow-wrap:anywhere}.bubble-del{opacity:0;transition:opacity .15s;width:28px;height:28px}.bubble-row:hover .bubble-del,.bubble-del:focus-visible{opacity:1}.msg-compose{border-top:1px solid var(--line);padding:10px 12px;background:#fff}.msg-compose-row{display:flex;align-items:flex-end;gap:8px}.msg-compose textarea{resize:none;min-height:42px;max-height:140px;field-sizing:content}.msg-send{padding:0 14px;height:42px}.msg-file-chip{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;padding:4px 10px;border-radius:var(--radius-full);background:var(--purple-ghost);font-size:.85rem}.msg-placeholder{display:grid;place-items:center;align-content:center;gap:8px;color:var(--purple)}@media(max-width:820px){.msg-layout{grid-template-columns:minmax(0,1fr);height:calc(100vh - 190px)}.msg-layout.has-conv .msg-list{display:none}.msg-layout:not(.has-conv) .msg-conv{display:none}.msg-back{display:inline-grid}.bubble-del{opacity:1}}.prose-page{max-width:820px}.lead{font-size:1.15rem;color:var(--ink-muted)}.ticks-big{list-style:none;padding:0;margin:20px 0 28px;display:grid;gap:12px;font-weight:600}.ticks-big li{display:flex;gap:10px;align-items:center}.ticks-big svg{color:var(--purple)}.contact-form{padding:24px}.faq-cat{margin-top:28px}.faq{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--white);margin-bottom:10px}.faq button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border:0;background:none;font:inherit;font-weight:700;text-align:left;cursor:pointer}.faq.open button svg{transform:rotate(180deg)}.faq .prose{padding:0 16px 16px}.info-hero{padding:64px 0 56px;background:radial-gradient(800px 360px at 100% 0%,rgba(253,230,138,.3),transparent 60%),radial-gradient(700px 360px at 0% 100%,rgba(221,214,254,.55),transparent 60%),var(--bg);border-bottom:1px solid var(--line)}.info-hero-in{max-width:820px}.info-hero-split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px;align-items:center}.info-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem)}.info-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.info-ctas.center{justify-content:center}.info-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:-28px;position:relative}.info-stats .card{padding:18px 20px;display:flex;flex-direction:column}.info-stats b{font-family:var(--font-display);font-size:2rem;color:var(--purple-dark)}.info-stats span{color:var(--ink-muted);font-size:.9rem}.info-grid{display:grid;gap:16px}.info-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.info-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card{padding:22px;color:var(--ink);display:flex;flex-direction:column;gap:6px;transition:transform var(--t),box-shadow var(--t)}a.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);color:var(--ink)}.info-card h3{font-size:1.15rem;margin:6px 0 0}.info-card p{margin:0;font-size:.93rem}.ic-ico{width:46px;height:46px;border-radius:14px;display:grid;place-items:center}.fmt-recorded .ic-ico{background:var(--purple-light);color:var(--purple)}.fmt-live .ic-ico{background:var(--pink-light);color:#db2777}.fmt-private .ic-ico{background:var(--sky-light);color:#0284c7}.fmt-ebook .ic-ico{background:var(--mint-light);color:#059669}.ic-n{font-family:var(--font-display);font-size:1.6rem;color:var(--purple-light);font-weight:700}.perk-list{list-style:none;margin:0;padding:22px;display:grid;gap:16px;box-shadow:var(--shadow-lg)}.perk-list li{display:flex;gap:12px;align-items:flex-start}.perk-list li>span{color:#059669;margin-top:2px}.perk-list div{display:flex;flex-direction:column}.perk-list small{color:var(--ink-muted)}.step-line{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}.step-line li{padding:22px;position:relative}.step-line h3{font-size:1.08rem;margin:10px 0 6px}.step-line p{margin:0;font-size:.92rem}.sl-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:800}.narrow{max-width:820px}.faq-list{display:grid;gap:10px}.faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border:0;background:none;font:inherit;font-weight:700;text-align:left;cursor:pointer;color:var(--ink)}.faq-item button svg{transition:transform var(--t);flex:none}.faq-item.open button svg{transform:rotate(180deg)}.faq-item p{padding:0 20px 18px;margin:0;color:var(--ink-muted)}.info-cta{margin:24px 0 8px;padding:40px;border-radius:var(--radius-xl);background:radial-gradient(500px 260px at 100% 0%,rgba(244,114,182,.35),transparent 60%),linear-gradient(135deg,#2e1065,#1b1433);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}.info-cta h2{color:#fff;margin:0}.nf-page{text-align:center;max-width:640px;padding-top:64px}.nf-art{width:96px;height:96px;border-radius:28px;display:inline-grid;place-items:center;background:var(--purple-ghost);color:var(--purple);margin-bottom:14px;animation:nfSpin 6s ease-in-out infinite}@keyframes nfSpin{50%{transform:rotate(-12deg)}}.nf-search{margin:20px auto 10px;max-width:560px;text-align:left}@media(max-width:960px){.info-grid.four,.step-line{grid-template-columns:repeat(2,minmax(0,1fr))}.info-hero-split{grid-template-columns:1fr}}@media(max-width:560px){.info-grid.four,.info-grid.three,.step-line{grid-template-columns:1fr}.info-cta{padding:28px}}@media(prefers-reduced-motion:reduce){.nf-art{animation:none}}.nf-page .eyebrow{display:block;margin:0 0 4px}
