:root{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-size:16px;font-weight:400;line-height:1.6;font-synthesis:none;color:var(--text);background:var(--bg);color-scheme:light;--bg: #f5f7fb;--surface: #ffffff;--surface-raised: #edf3f9;--text: #22344c;--line: #dce4ef;--muted: #586b80;--accent: #24788a;--accent-hover: #1c6272;--blue: #3264cf;--mint: #24788a;--mint-dark: #eaf5f1;--danger: #ad3546;--shadow: 0 4px 20px #22344c05;--on-accent: #fff;--nav-hover: #f0f6f8;--nav-active: #eaf4f5;--nav-active-line: #d3e7e9;--nav-active-text: #216778}html[data-theme=dark]{color-scheme:dark;--bg: #0e1726;--surface: #152235;--surface-raised: #1d2e43;--text: #e7edf5;--line: #34465d;--control-line: #657d98;--muted: #afbed0;--accent: #80d0d6;--accent-hover: #aae6e8;--blue: #97baff;--mint: #80d0d6;--mint-dark: #18363a;--danger: #ffacb8;--shadow: 0 4px 20px #0000001a;--on-accent: #10252e;--nav-hover: #1d3044;--nav-active: #203c48;--nav-active-line: #487887;--nav-active-text: #aae6e8}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;min-width:44px;min-height:44px}button:disabled{cursor:not-allowed;opacity:1;color:#627184;background:#e9eef4}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--blue)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #3264cf18}a{color:inherit;text-decoration:none}button{color:inherit;min-width:44px;min-height:44px}input,textarea,select{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:8px;padding:12px 13px;min-width:0;transition:border-color .2s;border-color:#c5d1e0;font-size:16px;min-height:44px;max-width:100%}input::placeholder,textarea::placeholder{color:#697a8e;opacity:1}input[type=checkbox]{accent-color:var(--mint)}textarea{resize:vertical}select{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}svg{flex-shrink:0}button{border:0;min-width:44px;min-height:44px}::selection{background:#c7e7eb;color:#173d52}html{scroll-behavior:smooth;scroll-padding-top:24px}.skip-link{position:fixed;top:-100px;left:16px;background:var(--accent);color:#fff;padding:12px;z-index:100}.skip-link:focus{top:12px}.mint-text{color:var(--mint)}.muted{color:var(--muted)}.danger-text{color:var(--danger)!important}.full{width:100%}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.sidebar{width:260px;height:100dvh;position:fixed;top:0;left:0;background:#fff;border-right:1px solid var(--line);padding:30px 18px 18px;display:flex;flex-direction:column;z-index:30;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;scrollbar-color:#c5d3df transparent}.brand{display:flex;align-items:center;gap:12px;margin:0 13px 38px}.brand-mark{width:38px;height:42px;color:var(--accent);display:grid;place-items:center}.brand-mark svg{width:36px}.brand strong{font-size:23px;letter-spacing:2.5px;line-height:1.4;color:var(--text)}.brand small{display:block;font-family:Space Grotesk,sans-serif;color:var(--muted);letter-spacing:3px;font-size:12px;margin-top:5px}.nav-label{font-size:13px;font-weight:500;color:var(--muted);letter-spacing:1.5px;margin:0 14px 12px}.main-nav{display:flex;flex-direction:column;gap:5px}.main-nav>a,.nav-group-heading>a,.nav-group-toggle{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid transparent;border-radius:8px;color:var(--muted);background:transparent;font-size:16px;transition:background .2s,color .2s,border-color .2s;min-height:44px}.main-nav>a svg{color:var(--muted)}.main-nav>a:hover,.nav-group-heading>a:hover,.nav-group-toggle:hover,.nav-group-chevron:hover,.nav-sublink:hover{background:var(--nav-hover);color:var(--accent-hover)}.main-nav>a.active,.nav-group-heading>a.active,.nav-sublink.active{background:var(--nav-active);border-color:var(--nav-active-line);color:var(--nav-active-text);font-weight:600}.main-nav>a.active svg,.nav-group-heading>a.active svg{color:var(--accent)}.nav-group,.nav-group-heading{min-width:0}.nav-group-heading{display:flex;align-items:center;gap:2px}.nav-group-heading>a,.nav-group-toggle{flex:1;min-width:0;text-align:left;overflow-wrap:anywhere}.nav-group-toggle{width:100%}.nav-group-toggle>svg:last-child{margin-left:auto}.nav-group-chevron{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:8px;color:var(--muted);background:transparent}.nav-group-toggle[aria-expanded=true],.nav-group-chevron[aria-expanded=true]{color:var(--accent)}.nav-submenu{display:flex;flex-direction:column;gap:4px;margin:6px 0 8px 24px;padding-left:10px;border-left:1px solid var(--line)}.nav-submenu[hidden]{display:none}.nav-sublink{display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:7px;color:var(--muted);font-size:15px;overflow-wrap:anywhere}.nav-dot{margin-left:auto;width:5px;height:5px;border-radius:50%;background:var(--mint);display:none}.active .nav-dot{display:block}.admin-nav{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.admin-nav a{display:flex;align-items:center;gap:10px;color:#2d58ae;padding:12px 14px;font-size:16px;min-height:48px;border:1px solid #cfddf7;border-radius:9px;background:#edf3ff;font-weight:600}.admin-nav a svg:last-child{margin-left:auto}.admin-nav a.active{color:#fff;background:var(--blue);border-color:var(--blue)}.sidebar-bottom{margin-top:auto;padding-top:32px}.sidebar-membership{background:linear-gradient(135deg,#edf7f2,#f2f7fc);border:1px solid var(--line);border-radius:10px;padding:16px 14px;border-color:#d6e7e1}.membership-top{display:flex;align-items:center;gap:8px;color:#315c55;font-size:15px;font-weight:600}.tiny-star{margin-left:auto;font-size:20px;font-weight:400;color:var(--muted)}.sidebar-membership p{font-size:13px;line-height:1.8;color:#536e68;margin:7px 0 13px}.sidebar-membership button{width:100%;display:flex;align-items:center;justify-content:space-between;background:#ffffffb8;color:#2d665b;border:1px solid var(--line);border-radius:5px;font-size:14px;padding:9px 10px;min-height:44px;border-color:#c8dfd8}.sidebar-membership button:hover{background:#fff;border-color:#9fc4b9}.sidebar-signature{font-size:13px;color:var(--muted);text-align:center;display:flex;justify-content:center;gap:7px;align-items:center;margin-top:20px}.sidebar-signature .status-dot{width:4px;height:4px;background:#fff;box-shadow:none}.main-shell{margin-left:260px;min-width:0}.topbar{height:auto;padding:16px 36px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px 24px;background:#fff;min-height:88px;flex-wrap:wrap}.topbar-left{display:flex;gap:13px;align-items:center;color:var(--muted);font-size:14px}.topbar-left>svg{color:var(--muted)}.topbar-left strong{font-weight:400;color:var(--text)}.topbar-right{display:flex;align-items:center;gap:15px;flex-wrap:wrap;min-width:0;max-width:100%;margin-left:auto;justify-content:flex-end}.topbar-motto{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;margin-right:6px}.topbar-motto svg{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:normal;border-radius:7px;padding:12px 20px;font-size:15px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s,border-color .2s;border:1px solid transparent;min-height:44px;max-width:100%}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{color:#fff;background:var(--accent);box-shadow:none;border-color:var(--accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.secondary{background:#fff;border-color:#cbd7e5;color:#36516d}.button.secondary:hover:not(:disabled){background:#eff5fa;border-color:#a9bdcf}.button.danger{background:#fff1f2;border-color:#e9bec5;color:var(--danger)}.button.small{padding:8px 12px;font-size:14px}.button.login-button{padding:9px 14px;font-size:14px;color:var(--accent-hover);border-color:#cce2e7;background:#eef7f8}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:7px;background:transparent;color:var(--muted);transition:background .2s}.icon-button:hover{background:#eaf2f7;color:var(--accent-hover)}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:none;padding:4px 0;color:var(--mint);font-size:14px;cursor:pointer;min-height:44px}.text-button:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:4px}.user-pill{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);min-width:0;min-height:44px;max-width:100%}.avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eaf4f2;color:#2e6d71;font-size:15px;border:1px solid var(--line);flex-shrink:0;border-color:#cce0df}.main-content{max-width:1600px;margin:auto;padding:32px 36px 0;min-width:0}.mobile-toggle,.mobile-close{display:none}.status-dot{width:5px;height:5px;border-radius:50%;background:#3b8d79;box-shadow:0 0 0 4px #3b8d790d;display:inline-block}.hero{min-height:410px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:radial-gradient(ellipse at 85% 60%,#d1ede2,transparent 58%),linear-gradient(115deg,#eef5ff,#e2eff9 55%,#e7f5ee);border-color:#d3e5ee}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.18' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-copy{position:relative;padding:36px 0 38px 36px;z-index:2;min-width:0}.eyebrow{display:flex;gap:8px;align-items:center;font-family:Space Grotesk,Noto Sans SC,sans-serif;color:#486b7c;font-size:12px;letter-spacing:1px;flex-wrap:wrap}.eyebrow-divider{height:9px;width:1px;background:#a1beca;margin:0 3px}.hero h1{font-size:clamp(32px,3vw,46px);line-height:1.48;letter-spacing:1px;font-weight:600;margin-top:22px;color:#223d58}.hero h1>span{color:var(--accent);position:relative;display:inline-block}.hero h1>span svg{position:absolute;width:100%;height:12px;bottom:-5px;left:0;color:#79b5ac}.hero-copy>p{font-size:16px;line-height:1.95;color:#526b7f;margin-top:21px;letter-spacing:.5px}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:7px;font-size:13px;color:#55776f}.small-orbit{width:11px;height:11px;border:1px solid var(--line);border-radius:50%;position:relative;border-color:#5d9386}.small-orbit:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;right:0;top:-1px;background:#3c8274}.hero-universe{position:relative;min-height:410px;isolation:isolate;overflow:hidden;min-width:0}.universe-grid{position:absolute;inset:0;opacity:.55;background-image:linear-gradient(#6e9cb81b 1px,transparent 1px),linear-gradient(90deg,#6e9cb81b 1px,transparent 1px);background-size:35px 35px;-webkit-mask-image:radial-gradient(ellipse at center,black,transparent 68%);mask-image:radial-gradient(ellipse at center,black,transparent 68%)}.planet-halo{position:absolute;top:calc(47% - 125px);left:calc(47% - 125px);width:250px;height:250px;border-radius:50%;box-shadow:0 0 60px 20px #ffffff45,0 0 0 33px #ffffff0d,0 0 0 34px #83b8bb20,0 0 0 62px #ffffff08,0 0 0 63px #83b8bb15}.planet{position:absolute;width:205px;height:205px;left:calc(47% - 102px);top:calc(47% - 102px);border-radius:50%;background:radial-gradient(circle at 30% 22%,#f4fff8,#c5e8db 22%,#93c6bd,#6b9faa 68%,#54788e 95%);box-shadow:inset 8px 8px 15px #fff6,inset -9px -13px 28px #416e7c3b,0 20px 40px #427f9220;border-top:1px solid var(--line);overflow:hidden;transform:rotate(-22deg);border-top-color:#fff}.planet-lines{position:absolute;inset:-30%;transform:rotate(20deg);border-radius:50%;background:repeating-linear-gradient(175deg,transparent 0,transparent 10px,#477b8012 11px,#f4fff52e 15px,transparent 17px);filter:blur(1px);opacity:.6}.planet:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 65% 70%,#3b698e25,transparent 75%)}.planet-ring{position:absolute;width:330px;height:98px;border:1px solid var(--line);border-radius:50%;left:calc(47% - 165px);top:calc(47% - 49px);transform:rotate(-29deg);box-shadow:0 0 0 4px #ffffff50,0 0 0 7px #84b6b126,0 0 0 9px #ffffff3d;border-color:#79a9a9}.ring-back{z-index:-1}.ring-front{clip-path:polygon(0 50%,100% 50%,100% 100%,0 100%);border-bottom:3px solid #dce4ef;box-shadow:0 4px 0 4px #73a8a421,0 6px 0 7px #ffffff40;z-index:2;border-bottom-color:#e9fff3}.universe-star{position:absolute;width:43px;height:43px;right:15%;top:19%;color:#619a91;transform:rotate(12deg);filter:drop-shadow(0 3px 8px #ffffff99)}.moon{position:absolute;border-radius:50%;background:radial-gradient(circle at 25% 20%,#f4fafc,#accddc 45%,#6a99b0 90%);box-shadow:0 5px 15px #668aa515}.moon-one{width:28px;height:28px;right:14%;bottom:19%}.moon-two{width:12px;height:12px;left:13%;top:21%}.coordinate{position:absolute;font-family:Space Grotesk,sans-serif;font-size:10px;letter-spacing:2px;color:#688a95;line-height:1.7}.coord-top{right:30px;top:24px;writing-mode:vertical-rl}.coord-bottom{left:14%;bottom:28px;letter-spacing:2px;font-size:10px}.coord-bottom b{color:#507a7d;font-weight:400;font-size:10px}.universe-cross{position:absolute;color:#709caa;font-weight:200;font-size:15px}.cross-one{left:3%;top:48%}.cross-two{right:10%;top:46%}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;margin-top:18px;padding:24px 0;background:#fff}.principles>div{display:flex;align-items:center;gap:13px;padding:0 24px;position:relative;min-width:0}.principles>div+div{border-left:1px solid var(--line)}.principle-icon{color:#47818a;width:33px;height:35px;display:grid;place-items:center;flex-shrink:0}.principles strong{display:block;font-size:15px;font-weight:500;color:#374e65;white-space:normal}.principles small{display:block;font-size:13px;color:var(--muted);margin-top:6px}.library{margin-top:38px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-kicker{font-size:12px;letter-spacing:2px;color:#567a83;font-family:Space Grotesk,sans-serif;font-weight:500}.section-heading h2{font-size:26px;letter-spacing:.6px;margin-top:8px;display:flex;align-items:center;gap:11px;flex-wrap:wrap}.count-chip{font-size:13px;letter-spacing:0;background:#eef3f9;color:#567086;border:1px solid var(--line);border-radius:5px;padding:4px 7px;font-weight:400;display:inline-flex;vertical-align:middle;border-color:#dce5ef}.section-heading p{font-size:15px;color:var(--muted);margin-top:8px}.search-box{display:flex;align-items:center;gap:9px;width:290px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#637c91;padding:0 12px;border-color:#cfdbe7;min-width:0;max-width:100%}.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #3264cf12}.search-box input{width:100%;border:0;background:transparent;padding:11px 0;font-size:16px;box-shadow:none;color:var(--text)}.search-box button{background:none;color:var(--muted);font-size:20px;padding:0 2px}.category-tabs{display:flex;gap:6px;margin:23px 0 21px;border-bottom:1px solid var(--line);padding-bottom:13px;overflow-x:auto;scrollbar-width:none;max-width:100%;padding-top:4px}.category-tabs::-webkit-scrollbar{display:none}.category-tabs button{flex-shrink:0;font-size:15px;background:transparent;color:var(--muted);padding:8px 12px;border-radius:5px;transition:.2s}.category-tabs button:hover{color:var(--accent-hover);background:#eaf2f6}.category-tabs button.selected{background:#e4f0f3;color:#246779}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-card{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:border-color .25s,transform .25s,box-shadow .25s;box-shadow:var(--shadow);display:flex;flex-direction:column}.course-card:hover{transform:translateY(-4px);border-color:#a8c6d3;box-shadow:0 12px 26px #3657780d}.course-art{height:184px;background:radial-gradient(ellipse at 65% 65%,#d2eadf,#edf6f0);position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--line);--art-ink: color-mix(in srgb,var(--art-color,#a6d4c3) 35%,#22344c);border-bottom-color:#dce6ec}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#6284970d 1px,transparent 1px),linear-gradient(90deg,#6284970d 1px,transparent 1px);background-size:23px 23px;-webkit-mask-image:radial-gradient(ellipse at center,black,transparent 90%);mask-image:radial-gradient(ellipse at center,black,transparent 90%)}.art-coordinate{font:10px Space Grotesk,sans-serif;letter-spacing:1.4px;color:var(--art-ink);position:absolute;top:16px;left:18px;font-size:10px;opacity:.7}.art-object{width:91px;height:81px;position:absolute;left:calc(50% - 45px);top:45px;display:grid;place-items:center;transform:rotate(-10deg);border:1px solid color-mix(in srgb,var(--art-color) 30%,transparent);border-top-color:#fff;border-radius:15px;background:linear-gradient(145deg,#ffffffeb,color-mix(in srgb,var(--art-color,#a6d4c3) 38%,#fff) 90%);box-shadow:inset 1px 1px 2px #fff,8px 8px 0 -2px color-mix(in srgb,var(--art-color,#a6d4c3) 45%,#fff),9px 9px 0 -2px color-mix(in srgb,var(--art-ink) 25%,#fff),0 12px 20px #334b6410;transition:transform .3s;border-color:color-mix(in srgb,var(--art-ink) 22%,#fff)}.art-object>svg{width:45px;height:45px;color:var(--art-ink);filter:none}.course-card:hover .art-object{transform:rotate(-5deg) translateY(-2px)}.art-orbit{position:absolute;width:171px;height:57px;top:68px;left:calc(50% - 86px);border:1px solid color-mix(in srgb,var(--art-color) 17%,transparent);border-radius:50%;transform:rotate(-27deg);z-index:-1;border-color:color-mix(in srgb,var(--art-ink) 22%,transparent)}.orbit-two{transform:rotate(38deg);width:160px;left:calc(50% - 80px);opacity:.45}.object-glint{position:absolute;width:24px;height:1px;background:#fff;top:-1px;left:20%;box-shadow:0 0 7px #fff}.art-star{position:absolute;color:var(--art-ink);font-size:15px;font-weight:200}.star-one{right:20%;top:42px}.star-two{left:22%;bottom:45px;font-size:13px}.art-caption{position:absolute;bottom:12px;left:0;right:0;text-align:center;font:12px Space Grotesk,sans-serif;letter-spacing:2px;color:var(--art-ink);font-size:12px}.art-codex{background:radial-gradient(ellipse at 70% 70%,#d8dff8,#edf0fc)}.art-codex .art-object{border-radius:7px;width:110px;height:76px;left:calc(50% - 55px);transform:rotate(-7deg);padding-top:10px}.art-codex .art-object:before{content:"•••";letter-spacing:3px;font-size:12px;color:#7282b4;position:absolute;left:8px;top:0;right:8px;border-bottom:1px solid var(--line);line-height:19px;border-bottom-color:#a8b6db66}.art-skills{background:radial-gradient(ellipse at 65% 60%,#e8daf1,#f5eef9)}.art-skills .art-object{border-radius:23px;transform:rotate(8deg)}.art-visual{background:radial-gradient(ellipse at 65% 60%,#f3ddcd,#fbf1e9)}.art-visual .art-object{width:101px;height:76px;left:calc(50% - 50px);transform:rotate(-10deg);border-radius:8px}.art-deploy{background:radial-gradient(ellipse at 65% 60%,#cde5f2,#eaf4fc)}.art-deploy .art-object{border-radius:50%;transform:rotate(5deg)}.art-games{background:radial-gradient(ellipse at 65% 60%,#e0e9ce,#f1f6e9)}.art-games .art-object{border-radius:25px 25px 33px 33px;transform:rotate(9deg)}.art-redbook{background:radial-gradient(ellipse at 65% 60%,#f1d9e4,#f9eef3)}.art-work{background:radial-gradient(ellipse at 65% 60%,#cce6e4,#eaf5f4)}.art-work .art-object{border-radius:50%;transform:rotate(-12deg)}.course-card-body{padding:20px 20px 0;display:flex;flex:1;flex-direction:column}.card-eyebrow{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:color-mix(in srgb,var(--art-color,#a6d4c3) 28%,#22344c)}.vip-label{display:inline-flex;align-items:center;gap:4px;font-family:Space Grotesk,Noto Sans SC,sans-serif;letter-spacing:.5px;font-size:12px;color:#79602e;background:#fbf6e9;padding:3px 6px;border:1px solid var(--line);border-radius:4px;border-color:#e6d9b9}.course-card h3{font-size:20px;margin-top:10px;letter-spacing:.1px;font-weight:500;color:var(--text);overflow:hidden;display:block;line-height:1.55}.course-card-body>p{font-size:14px;line-height:1.8;color:var(--muted);white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.6em;margin:9px 0 18px}.course-card-bottom{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:auto;padding:15px 0;color:var(--muted);font-size:13px;flex-wrap:wrap;align-items:center}.course-card-bottom>span{display:flex;align-items:center;gap:6px}.course-card-bottom>span:last-child{gap:9px;color:#3e7180;font-size:13px}.membership-banner{margin-top:35px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:22px;padding:28px;background:linear-gradient(110deg,#eef7f1,#f1f6fc);border-color:#d7e6e0;flex-wrap:wrap}.membership-symbol{width:58px;height:65px;display:grid;place-items:center;flex-shrink:0}.membership-symbol svg{width:41px;color:#5b9984}.membership-banner h2{font-size:21px;color:#31574e;margin-top:8px;font-weight:500}.membership-banner p{font-size:15px;color:#557068;margin-top:8px}.membership-banner .button{margin-left:auto;font-size:14px;background:#fffc;border-color:#bfd8cf;color:#2e6a5e}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:38px;padding:24px 0;color:var(--muted);font-size:13px;flex-wrap:wrap}.footer>div{display:flex;align-items:center;gap:8px;min-width:0}.footer svg{width:15px;height:15px;color:var(--muted)}.footer-divider{margin:0 10px;color:var(--muted)}.footer>span{font-family:Space Grotesk,Noto Sans SC,sans-serif;font-size:12px;letter-spacing:1px}.loading{min-height:200px;display:flex;gap:10px;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.empty-state{min-height:280px;border:1px dashed var(--line);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;gap:14px;background:#fbfdff;color:var(--muted);border-color:#c8d6e3}.empty-state h3{color:var(--text);font-size:18px;font-weight:500}.empty-state p{color:var(--muted);font-size:15px;line-height:1.8;max-width:550px}.empty-state .button{margin-top:4px}.modal{border:1px solid var(--line);background:#fff;border-radius:16px;padding:28px;color:var(--text);width:480px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);box-shadow:0 24px 100px #22344c30;overflow:auto;border-color:#d8e2ed;overscroll-behavior:contain}.modal::backdrop{background:#24395066;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal.wide{width:680px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.modal-head h2{font-size:24px;font-weight:500;letter-spacing:.5px}.modal-head>.icon-button{margin:-5px -8px 0 0}.modal-description{font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:22px}.form{display:flex;flex-direction:column;gap:18px;min-width:0}.form>label,.form-columns>label{display:flex;flex-direction:column;gap:8px;font-size:15px;color:#3e566c;min-width:0}.form input,.form select,.form textarea{width:100%;font-size:16px;line-height:1.6}.form-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form .checkbox-label{flex-direction:row;align-items:center;gap:10px;font-size:14px;min-height:44px;cursor:pointer}.checkbox-label input{width:18px;height:18px;min-height:18px;padding:0;flex-shrink:0}.form-error{font-size:14px!important;color:#a33244!important;padding:10px 12px;border:1px solid var(--line);background:#fff2f3;border-radius:6px;line-height:1.8;border-color:#eac5cb}.form-note{font-size:13px;color:var(--muted);line-height:1.85;margin-top:13px;display:flex;gap:7px;align-items:flex-start}.form .form-note{margin-top:0}.form-note svg{margin-top:2px}.auth-switch{display:flex;align-items:center;justify-content:center;gap:6px;border-top:1px solid var(--line);margin-top:23px;padding-top:18px;font-size:13px;color:var(--muted)}.auth-switch button{font-size:14px}.logout-forced{display:flex;margin:20px auto 0}.vip-modal-art{border-radius:10px;background:radial-gradient(ellipse at 50% 40%,#e4efd7,transparent 85%),#f0f7f2;color:#527c5a;min-height:145px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;margin-bottom:20px;border:1px solid var(--line);border-color:#d5e6db}.vip-modal-art>span{font-family:Space Grotesk,sans-serif;font-size:13px;letter-spacing:3px}.benefits{padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;font-size:15px;color:#476559;margin:20px 0}.benefits li{display:flex;align-items:center;gap:9px}.benefits svg{color:#39806b}.callout{display:flex;align-items:flex-start;gap:10px;padding:15px 17px;border:1px solid var(--line);background:#eef6f9;border-radius:8px;font-size:14px;line-height:1.9;color:#486779;margin:18px 0;flex-wrap:wrap;border-color:#d3e4e9;overflow-wrap:anywhere}.callout>svg{margin-top:3px;color:var(--accent)}.callout>span{flex:1}.callout strong{color:#27586b}.callout .text-button{margin-left:auto;white-space:nowrap}.callout.quiet{color:var(--muted);font-size:13px;border:0;padding-left:0;background:transparent}.toast{pointer-events:none;position:fixed;z-index:80;bottom:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:9px;background:#eff9f2;color:#295e49;border:1px solid var(--line);box-shadow:0 8px 40px #22344c1a;padding:14px 22px;border-radius:10px;font-size:14px;max-width:calc(100vw - 32px);border-color:#b9d6c8;overflow-wrap:anywhere}.page-heading{padding:15px 0 28px}.page-heading h1{font-size:32px;letter-spacing:1px;margin-top:10px}.page-heading p{font-size:16px;line-height:1.9;color:var(--muted);margin-top:10px}.back-link{display:inline-flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin:7px 0 28px;min-height:44px}.back-link:hover{color:var(--mint)}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.pill{background:#edf7f3;border:1px solid var(--line);color:#376c65;font-size:13px;padding:5px 9px;border-radius:4px;display:inline-block;border-color:#cce2df}.detail-heading h1{font-size:29px;margin-top:12px}.detail-heading p{font-size:16px;color:var(--muted);line-height:1.9;margin-top:10px}.vip-label.large{font-size:13px;padding:8px 11px;gap:7px;flex-shrink:0}.classroom{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px;align-items:start}.player-section{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;min-width:0}.player-locked{position:relative;min-height:390px;aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;gap:12px;background:radial-gradient(ellipse at center,#dbeee766,transparent 75%),#f1f6fb;color:var(--text)}.lock-orbits{width:80px;height:80px;margin-bottom:10px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);box-shadow:0 0 0 14px #ffffff35,0 0 0 15px #92c0b51f;background:#f3fbf7;color:#4d8a7c;border-color:#bcdad3}.player-locked h2{font-size:22px;font-weight:500}.player-locked p{font-size:15px;color:var(--muted);line-height:1.9;max-width:350px}.player-locked .button{margin-top:10px}.lesson-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:23px;flex-wrap:wrap}.lesson-caption h3{font-size:20px;font-weight:500;margin-top:9px}.lesson-caption>span{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center;flex-shrink:0}.lesson-sidebar{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;min-width:0}.lesson-sidebar-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:20px}.lesson-sidebar-head h3{font-size:18px}.lesson-sidebar-head>span{font-size:13px;color:var(--muted)}.lesson-list{list-style:none;padding:9px;margin:0;max-height:460px;overflow:auto}.lesson-list button{background:transparent;width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:15px 9px;border-radius:6px;color:var(--muted)}.lesson-list button:hover{background:#f0f5f9}.lesson-list button.active{background:#eaf4f5;color:#276c77}.lesson-index{font-family:Space Grotesk,sans-serif;font-size:13px;color:var(--muted)}.lesson-list button>span:nth-child(2){flex:1;min-width:0}.lesson-list strong{font-size:15px;font-weight:500;display:block;line-height:1.8}.lesson-list small{display:block;color:var(--muted);font-size:13px;margin-top:6px}.directory-empty{text-align:center;padding:65px 20px;color:var(--muted)}.directory-empty p{font-size:13px;color:var(--muted);line-height:2.2;margin-top:15px}.lesson-tip{border-top:1px solid var(--line);margin:0 17px;padding:18px 0;display:flex;align-items:flex-start;gap:10px;color:var(--muted)}.lesson-tip svg{margin-top:3px}.lesson-tip p{font-size:13px;line-height:1.9}.lesson-tip p span{color:var(--muted);font-size:13px}.video-wrapper{position:relative;background:#0b111b}.video-wrapper video{display:block;width:100%;max-width:100%;object-fit:contain;aspect-ratio:16/9;background:#0b111b;color-scheme:dark}.video-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;color:#f0d5da;font-size:15px;background:#101927f5;line-height:2}.player-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 17px;font-size:13px;color:#4f746b;border-bottom:1px solid var(--line);background:#fbfdfd;flex-wrap:wrap}.player-toolbar label{display:flex;align-items:center;gap:8px;color:var(--muted)}.player-toolbar select{padding:5px 8px;font-size:16px}.learning-list{display:flex;flex-direction:column;gap:15px}.learning-item{display:flex;align-items:center;gap:22px;padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:.2s}.learning-item:hover{border-color:#dce4ef}.learning-play{width:70px;height:70px;border-radius:10px;background:linear-gradient(135deg,#e2f0e7,#e7f0f9);color:#428577;display:grid;place-items:center}.learning-info{flex:1;min-width:0}.learning-info>span{font-size:13px;color:var(--muted)}.learning-info h3{font-size:20px;margin-top:7px;margin-bottom:12px}.learning-info small{font-size:13px;color:var(--muted);display:block;margin-top:8px}.progress-track{height:4px;border-radius:5px;background:#e3eaf0;overflow:hidden;max-width:420px}.progress-track>span{display:block;height:100%;background:var(--accent);border-radius:5px}.continue-label{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:14px}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.panel{padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:0}.panel h2{font-size:22px;font-weight:500;margin-bottom:20px}.account-identity{display:flex;gap:15px;align-items:center;margin:28px 0}.large-avatar{width:58px;height:58px;font-size:23px}.account-identity h3{font-size:18px;font-weight:500}.account-identity span{display:block;color:var(--muted);font-size:13px;margin-top:7px}.account-facts{display:flex;flex-direction:column;gap:19px;margin:24px 0 28px;font-size:15px}.account-facts>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:15px;flex-wrap:wrap}.account-facts dt{color:var(--muted)}.account-facts dd{color:#3b6358;margin:0}.button-row{display:flex;flex-wrap:wrap;gap:10px}.admin-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:0 0 27px;max-width:100%;overflow-x:auto;padding-top:4px}.admin-tabs a{font-size:16px;color:var(--muted);padding:4px 4px 15px;border-bottom:2px solid transparent;min-height:48px;flex-shrink:0}.admin-tabs a.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:500}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stat-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:11px;min-width:0;box-shadow:var(--shadow)}.stat-card>span{display:flex;justify-content:space-between;gap:10px;color:#526a7e;font-size:15px;align-items:center}.stat-card svg{color:#578ba0}.stat-card strong{font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:500;display:block;margin-top:20px;color:#284763;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.admin-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}.shortcut{transition:border .2s}.shortcut:hover{border-color:#b4ccd8;box-shadow:0 6px 20px #22344c0a}.shortcut-icon{width:56px;height:56px;border-radius:12px;color:#4d807a;background:#eaf4f2;display:grid;place-items:center;margin-bottom:22px}.shortcut h2{margin-bottom:12px;font-size:18px}.shortcut p{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:22px}.table-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.table-toolbar h2{display:flex;align-items:center;gap:9px;font-size:21px;font-weight:500;flex-wrap:wrap}.admin-course-list{display:flex;flex-direction:column;gap:12px}.admin-course{background:var(--surface);border:1px solid var(--line);border-radius:10px}.admin-course-main{display:flex;align-items:center;gap:15px;padding:20px;flex-wrap:wrap}.admin-course-icon{width:48px;height:48px;border-radius:9px;background:#edf4f8;display:grid;place-items:center;flex-shrink:0}.admin-course-info{flex:1 1 200px;min-width:0}.admin-course-info h3{font-size:20px;font-weight:500;line-height:1.7}.admin-course-info p{font-size:13px;color:var(--muted);margin-top:5px}.status-badge{display:inline-flex;background:#f0f4f8;border:1px solid var(--line);color:#5b6e84;border-radius:4px;padding:4px 8px;font-size:13px;white-space:nowrap;border-color:#d5dfeb}.status-badge.enabled{color:#326b51;background:#edf7f0;border-color:#c5dfce}.status-badge.disabled{color:#a13a4b;border-color:#eac5cd;background:#fff0f2}.row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row-actions .text-button{font-size:14px;margin-right:6px}.admin-lesson-list{border-top:1px solid var(--line);padding:16px 20px 16px 84px}.admin-lesson-list>div:not(.loading){display:flex;align-items:center;gap:12px;padding:8px 0;font-size:14px;flex-wrap:wrap}.admin-lesson-list>div>span{display:flex;align-items:center;gap:9px;flex:1;color:#496c67;min-width:0;overflow-wrap:anywhere}.admin-lesson-list small{color:var(--muted);font-size:13px}.admin-lesson-list>p{font-size:14px;padding:6px 0}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);max-width:100%;min-width:0;scrollbar-width:thin}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:14px;color:#4d667f;background:#f0f5fa;font-weight:400;padding:16px 20px}td{padding:17px 20px;border-top:1px solid var(--line);font-size:14px;color:#50677e}.table-user{display:flex;gap:11px;align-items:center}.table-user strong{display:block;font-size:15px;color:var(--text);font-weight:500}.table-user small{display:block;font-size:13px;margin-top:6px;color:var(--muted)}.expired{display:block;font-size:13px;color:#a34553;margin-top:5px}.upload-zone{padding:30px 20px;border:1px dashed var(--line);border-radius:10px;background:#f1f8fa;display:flex;flex-direction:column;align-items:center;gap:14px;color:#4a8b94;white-space:normal;word-break:normal;border-color:#9fc3cf;min-width:0;overflow-wrap:anywhere}.upload-zone:hover:not(:disabled){background:#e6f2f6;border-color:var(--accent)}.upload-zone strong{font-size:16px;font-weight:400;color:#355c6c;max-width:100%}.upload-zone span{font-size:13px;color:#576f80;max-width:100%;line-height:1.8}.upload-zone.has-file{border-style:solid;background:#edf7f1;border-color:#accfbd}.file-input{position:absolute;width:1px!important;height:1px;opacity:0;overflow:hidden;pointer-events:none;min-height:0;padding:0}.upload-progress{display:flex;flex-direction:column;gap:10px}.upload-progress>span{font-size:14px;color:#356f62}.upload-progress .progress-track{max-width:none;height:6px}.temporary-password{display:flex;align-items:center;gap:10px;background:#f0f7f3;border:1px solid var(--line);border-radius:8px;padding:16px;margin:20px 0;border-color:#c9dfd6}.temporary-password code{overflow-wrap:anywhere;flex:1;font-size:16px;color:#2e6854;-webkit-user-select:all;user-select:all;min-width:0}.admin-nav a:hover{background:#e1ebfd;border-color:#a8c0ee}.button.danger:hover:not(:disabled){background:#fbe3e7}.button:disabled{color:#627184;background:#e9eef4;border-color:#ccd6e1;box-shadow:none}input:disabled,textarea:disabled,select:disabled{color:#627184;background:#eef2f6;opacity:1}.callout.form-error{background:#fff2f3;border-color:#eac5cb}.stat-card small{display:block;margin-top:11px;color:var(--muted);font-size:13px;line-height:1.75;overflow-wrap:anywhere}.stats-note{margin:15px 0 24px;color:var(--muted);font-size:13px;line-height:1.85}.admin-course-icon svg{color:var(--accent)}.upload-zone:disabled{background:#f0f3f6;border-color:#c7d3dd}.upload-zone:disabled strong,.upload-zone:disabled span{color:#627184}.role-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:3px 8px;border:1px solid #d1deef;border-radius:5px;color:#3d5e8b;background:#eef3fb;font-size:12px;font-weight:500;line-height:1.6;white-space:nowrap}.admin-entry{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 11px;border:1px solid #d1def7;border-radius:8px;color:#2d58ae;background:#f1f5ff;font-size:14px;font-weight:500;white-space:nowrap}.admin-entry:hover{background:#e5edfd;border-color:#abc2ee}.admin-page-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}.admin-page-heading>div{flex:1 1 300px;min-width:0}.admin-page-heading>.button{flex-shrink:0}.admin-page-heading .page-heading{padding:0}.table-toolbar .button-row{justify-content:flex-end;margin-left:auto}.file-input:focus-visible+.upload-zone{outline:2px solid var(--blue);outline-offset:4px}.user-pill>span:nth-child(2){min-width:0;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.section-heading>div{min-width:0}.membership-banner>div:nth-child(2){flex:1 1 300px;min-width:0}.detail-heading>div{min-width:0}.lesson-caption>div{min-width:0}.player-toolbar>span{min-width:0;overflow-wrap:anywhere}.account-identity>div:last-child{min-width:0;overflow-wrap:anywhere}@media(min-width:1680px){.course-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero{min-height:367px;background:radial-gradient(ellipse at 85% 60%,#d1ede2,transparent 58%),linear-gradient(115deg,#eef5ff,#e2eff9 55%,#e7f5ee);border-color:#d3e5ee}.hero-copy{padding-left:45px;padding-top:38px}.hero-universe{min-height:367px}.hero h1{font-size:47px;color:#223d58}.course-art{height:169px;--art-ink: color-mix(in srgb,var(--art-color,#a6d4c3) 35%,#22344c);background:radial-gradient(ellipse at 65% 65%,#d2eadf,#edf6f0);border-bottom-color:#dce6ec}}@media(max-width:1230px){.sidebar{width:260px;padding-left:14px;padding-right:14px}.main-shell{margin-left:260px}.main-content{padding:25px 27px 0}.topbar{padding:12px 27px;height:auto;min-height:76px}.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);background:radial-gradient(ellipse at 85% 60%,#d1ede2,transparent 58%),linear-gradient(115deg,#eef5ff,#e2eff9 55%,#e7f5ee);border-color:#d3e5ee;min-height:410px}.hero-copy{padding-left:27px}.hero h1{font-size:36px;color:#223d58}.hero-note{display:none;color:#55776f}.hero-universe{margin-left:-35px;min-height:410px}.planet{width:175px;height:175px;left:calc(47% - 87px);top:calc(47% - 87px);background:radial-gradient(circle at 30% 22%,#f4fff8,#c5e8db 22%,#93c6bd,#6b9faa 68%,#54788e 95%);border-top-color:#fff;box-shadow:inset 8px 8px 15px #fff6,inset -9px -13px 28px #416e7c3b,0 20px 40px #427f9220}.planet-ring{width:280px;left:calc(47% - 140px);height:85px;top:calc(47% - 42px);border-color:#79a9a9;box-shadow:0 0 0 4px #ffffff50,0 0 0 7px #84b6b126,0 0 0 9px #ffffff3d}.hero-universe .coord-bottom{left:20%;bottom:25px}.principles>div{padding:0 15px;gap:7px;align-items:flex-start;white-space:normal}.principles small{font-size:13px;display:block}.principle-icon{width:28px;color:#47818a}.course-grid{gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.course-card-body{padding:15px 14px 0}.course-card h3{font-size:20px;display:block;line-height:1.55;color:var(--text)}.topbar-motto{display:none}.category-tabs{gap:2px}.category-tabs button{padding:8px 10px;font-size:15px}.course-art{height:184px;--art-ink: color-mix(in srgb,var(--art-color,#a6d4c3) 35%,#22344c);background:radial-gradient(ellipse at 65% 65%,#d2eadf,#edf6f0);border-bottom-color:#dce6ec}.art-object{top:30px;transform:scale(.9) rotate(-10deg);background:linear-gradient(145deg,#ffffffeb,color-mix(in srgb,var(--art-color,#a6d4c3) 38%,#fff) 90%);border-color:color-mix(in srgb,var(--art-ink) 22%,#fff);border-top-color:#fff;box-shadow:inset 1px 1px 2px #fff,8px 8px 0 -2px color-mix(in srgb,var(--art-color,#a6d4c3) 45%,#fff),9px 9px 0 -2px color-mix(in srgb,var(--art-ink) 25%,#fff),0 12px 20px #334b6410}.art-caption{font-size:12px;color:var(--art-ink)}.classroom{grid-template-columns:minmax(0,1fr) 248px;gap:15px}.player-locked{min-height:340px;color:var(--text);background:radial-gradient(ellipse at center,#dbeee766,transparent 75%),#f1f6fb}.player-locked h2{font-size:18px}.lesson-caption{padding:20px}.lesson-caption>span{display:flex}.admin-course-main{gap:10px;padding:17px;flex-wrap:wrap}.admin-course-info h3{font-size:20px}.row-actions{gap:3px}.stat-card{padding:18px}.stat-card strong{font-size:28px;color:#284763;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.admin-course-main>.status-badge{display:inline-flex}}@media(max-width:1020px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-art{height:184px;--art-ink: color-mix(in srgb,var(--art-color,#a6d4c3) 35%,#22344c);background:radial-gradient(ellipse at 65% 65%,#d2eadf,#edf6f0);border-bottom-color:#dce6ec}.art-object{top:37px;background:linear-gradient(145deg,#ffffffeb,color-mix(in srgb,var(--art-color,#a6d4c3) 38%,#fff) 90%);border-color:color-mix(in srgb,var(--art-ink) 22%,#fff);border-top-color:#fff;box-shadow:inset 1px 1px 2px #fff,8px 8px 0 -2px color-mix(in srgb,var(--art-color,#a6d4c3) 45%,#fff),9px 9px 0 -2px color-mix(in srgb,var(--art-ink) 25%,#fff),0 12px 20px #334b6410}.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);min-height:410px;background:radial-gradient(ellipse at 85% 60%,#d1ede2,transparent 58%),linear-gradient(115deg,#eef5ff,#e2eff9 55%,#e7f5ee);border-color:#d3e5ee}.hero h1{font-size:33px;color:#223d58}.hero-copy{padding:28px 0 28px 24px}.hero-universe{min-height:410px;margin-left:-65px;margin-right:-45px}.eyebrow{font-size:12px;letter-spacing:.3px;color:#486b7c}.hero-universe .coord-top{right:49px}.principles>div{padding:0 12px;gap:7px;align-items:flex-start;white-space:normal;flex-direction:column}.principles strong{font-size:15px;white-space:normal;color:#374e65}.principles small{display:block;font-size:13px}.principles{padding:17px 0}.principle-icon svg{width:17px}.section-heading h2{font-size:20px}.section-heading{align-items:flex-start;flex-wrap:wrap}.search-box{width:100%;margin-top:0;border-color:#cfdbe7;color:#637c91;background:#fff}.classroom{grid-template-columns:1fr}.lesson-list{max-height:300px}.directory-empty{padding:28px 20px}.directory-empty br{display:none}.player-locked{aspect-ratio:16/9;color:var(--text);background:radial-gradient(ellipse at center,#dbeee766,transparent 75%),#f1f6fb}.detail-heading h1{font-size:25px}.detail-heading{align-items:flex-start}.vip-label.large{font-size:13px;padding:5px}.account-grid{grid-template-columns:1fr}.membership-banner{gap:15px;padding:21px;background:linear-gradient(110deg,#eef7f1,#f1f6fc);border-color:#d7e6e0}.membership-symbol{width:40px}.membership-banner h2{font-size:14px;color:#31574e}.membership-banner p{font-size:15px;color:#557068}.membership-banner .button{padding:10px 13px;font-size:14px;color:#2e6a5e;background:#fffc;border-color:#bfd8cf}.membership-banner .section-kicker{font-size:13px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-shortcuts{grid-template-columns:1fr}.admin-course-main{flex-wrap:wrap}.admin-course-info{flex-basis:calc(100% - 64px)}.admin-course-main .row-actions{margin-left:0;flex-wrap:wrap}.admin-course-main>.status-badge{display:inline-flex}.admin-lesson-list{padding-left:20px}}@media(max-width:780px){.sidebar{transform:translate(-100%);transition:transform .25s,visibility .25s;width:260px;padding-top:28px;visibility:hidden;max-width:calc(100vw - 32px)}.sidebar.open{transform:translate(0);visibility:visible}.sidebar-shade{position:fixed;inset:0;z-index:25;background:#263d5261;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);width:100%;height:100dvh;padding:0}.main-shell{margin-left:0}.mobile-toggle{display:inline-flex;margin-left:-5px}.mobile-close{display:inline-flex;position:absolute;right:9px;top:9px}.topbar{height:auto;padding:12px 23px;min-height:76px}.topbar-left{gap:10px}.main-content{padding:23px 23px 0}.hero{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);min-height:410px;background:radial-gradient(ellipse at 85% 60%,#d1ede2,transparent 58%),linear-gradient(115deg,#eef5ff,#e2eff9 55%,#e7f5ee);border-color:#d3e5ee}.hero-copy{padding-left:28px}.hero-universe{min-height:410px;margin-left:-30px}.hero h1{font-size:36px;color:#223d58}.hero-copy>p{font-size:16px;color:#526b7f}.hero-actions{margin-top:22px}.principles small{display:block;font-size:13px}.principles>div{padding:0 15px;align-items:flex-start;white-space:normal}.principles strong{font-size:15px;white-space:normal;color:#374e65}.course-art{height:184px;--art-ink: color-mix(in srgb,var(--art-color,#a6d4c3) 35%,#22344c);background:radial-gradient(ellipse at 65% 65%,#d2eadf,#edf6f0);border-bottom-color:#dce6ec}.art-object{top:43px;background:linear-gradient(145deg,#ffffffeb,color-mix(in srgb,var(--art-color,#a6d4c3) 38%,#fff) 90%);border-color:color-mix(in srgb,var(--art-ink) 22%,#fff);border-top-color:#fff;box-shadow:inset 1px 1px 2px #fff,8px 8px 0 -2px color-mix(in srgb,var(--art-color,#a6d4c3) 45%,#fff),9px 9px 0 -2px color-mix(in srgb,var(--art-ink) 25%,#fff),0 12px 20px #334b6410}.art-caption{bottom:15px;color:var(--art-ink);font-size:12px}.course-card h3{font-size:20px;display:block;line-height:1.55;color:var(--text)}.course-grid{gap:18px}.section-heading h2{font-size:22px}.category-tabs button{padding:8px 11px;font-size:15px}.sidebar .brand{margin-bottom:30px}.sidebar-bottom{padding-top:25px}.footer{font-size:13px}.footer>span{font-size:13px}.admin-course-info{flex-basis:0}.admin-course-main .row-actions{margin-left:0;flex-wrap:wrap}.admin-course-main{flex-wrap:wrap}.admin-course-main .button.small{font-size:14px;padding:8px}.admin-course-main .icon-button{width:44px;height:44px}.user-pill>span:nth-child(2){max-width:85px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:540px){.topbar{padding:12px 17px;height:auto;min-height:76px}.topbar-left{gap:8px;font-size:13px}.topbar-left>span{display:none}.topbar-left>svg{display:none}.topbar-right{gap:8px}.button.login-button{font-size:14px;padding:8px 11px;color:var(--accent-hover);background:#eef7f8;border-color:#cce2e7}.main-content{padding:17px 17px 0}.hero{display:grid;min-height:0;background:radial-gradient(ellipse at 85% 60%,#d1ede2,transparent 58%),linear-gradient(115deg,#eef5ff,#e2eff9 55%,#e7f5ee);border-color:#d3e5ee;grid-template-columns:minmax(0,1fr)}.hero-copy{padding:26px 22px 18px;max-width:100%}.hero h1{font-size:clamp(28px,7.5vw,34px);position:relative;z-index:2;margin-top:23px;line-height:1.55;color:#223d58}.hero-copy>p{position:relative;z-index:2;font-size:15px;margin-top:17px;color:#526b7f}.hero-universe{position:relative;right:auto;bottom:auto;width:auto;height:auto;min-height:195px;opacity:1;z-index:auto;margin:0}.hero-universe .coordinate{display:none}.hero-universe .universe-star{width:29px;right:20%;top:17%}.hero .planet{width:156px;height:156px;left:calc(50% - 78px);top:calc(48% - 78px)}.hero .planet-ring{width:260px;left:calc(50% - 130px);height:80px;top:calc(48% - 40px)}.hero .planet-halo{width:180px;height:180px;top:calc(48% - 90px);left:calc(50% - 90px)}.eyebrow{font-size:12px;gap:7px;letter-spacing:.35px;color:#486b7c}.hero-actions .button{padding:11px 17px;font-size:14px}.principles{gap:16px;padding:20px;margin-top:16px;grid-template-columns:minmax(0,1fr)}.principles>div{flex-direction:row;align-items:center;gap:14px;padding:0;white-space:normal}.principle-icon{height:36px;width:32px;display:grid;color:#47818a}.principles strong{font-size:15px;font-weight:400;white-space:normal;color:#374e65}.principles small{display:block;font-size:13px}.library{margin-top:31px}.section-heading{flex-direction:column;gap:14px}.section-heading h2{font-size:22px}.section-heading p{font-size:13px}.search-box{width:100%;margin-top:0;border-color:#cfdbe7;color:#637c91;background:#fff}.search-box input{font-size:16px;padding:12px 0;color:var(--text);background:transparent}.section-kicker{font-size:12px;color:#567a83}.section-heading .count-chip{font-size:13px}.category-tabs{margin:15px 0 17px;padding-bottom:11px;gap:3px}.category-tabs button{font-size:15px;padding:7px 10px}.course-grid{gap:20px;grid-template-columns:minmax(0,1fr)}.course-art{height:184px;--art-ink: color-mix(in srgb,var(--art-color,#a6d4c3) 35%,#22344c);background:radial-gradient(ellipse at 65% 65%,#d2eadf,#edf6f0);border-bottom-color:#dce6ec}.art-coordinate{font-size:10px;top:12px;left:11px;letter-spacing:1px;color:var(--art-ink);opacity:.7}.art-object{width:91px;height:81px;left:calc(50% - 45px);top:45px;border-radius:15px;transform:rotate(-10deg);background:linear-gradient(145deg,#ffffffeb,color-mix(in srgb,var(--art-color,#a6d4c3) 38%,#fff) 90%);border-color:color-mix(in srgb,var(--art-ink) 22%,#fff);border-top-color:#fff;box-shadow:inset 1px 1px 2px #fff,8px 8px 0 -2px color-mix(in srgb,var(--art-color,#a6d4c3) 45%,#fff),9px 9px 0 -2px color-mix(in srgb,var(--art-ink) 25%,#fff),0 12px 20px #334b6410}.art-object>svg{width:45px;height:45px;color:var(--art-ink);filter:none}.art-orbit{width:171px;height:57px;top:68px;left:calc(50% - 86px);border-color:color-mix(in srgb,var(--art-ink) 22%,transparent)}.orbit-two{width:160px;left:calc(50% - 80px)}.art-caption{font-size:12px;letter-spacing:1.4px;bottom:10px;color:var(--art-ink)}.art-star{font-size:13px;color:var(--art-ink)}.star-one{right:16%;top:26px}.star-two{left:15%;bottom:33px}.art-codex .art-object{width:110px;height:76px;left:calc(50% - 55px);padding-top:10px}.art-codex .art-object:before{font-size:12px;line-height:15px;color:#7282b4;border-bottom-color:#a8b6db66}.art-visual .art-object{width:101px;height:76px;left:calc(50% - 50px)}.art-games .art-object{border-radius:19px 19px 26px 26px}.art-skills .art-object{border-radius:16px}.course-card-body{padding:18px 18px 0}.card-eyebrow{font-size:13px;color:color-mix(in srgb,var(--art-color,#a6d4c3) 28%,#22344c)}.vip-label{font-size:12px;padding:2px 4px;gap:3px;color:#79602e;background:#fbf6e9;border-color:#e6d9b9}.vip-label svg{width:9px;height:9px}.course-card h3{font-size:18px;margin-top:10px;line-height:1.55;display:block;overflow:hidden;color:var(--text)}.course-card-body>p{font-size:14px;margin-top:5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:3.6em;line-height:1.8}.course-card-bottom{margin-top:12px;font-size:13px;padding:11px 0;gap:3px}.course-card-bottom>span{gap:4px}.course-card-bottom>span:first-child svg{width:10px}.course-card-bottom>span:last-child{font-size:13px;gap:9px;color:#3e7180}.course-card-bottom>span:last-child svg{width:12px}.membership-banner{margin-top:26px;gap:12px;padding:20px 17px;flex-wrap:wrap;position:relative;background:linear-gradient(110deg,#eef7f1,#f1f6fc);border-color:#d7e6e0}.membership-symbol{position:absolute;right:20px;top:21px;opacity:.4}.membership-banner h2{font-size:15px;padding-right:20px;line-height:1.8;margin-top:5px;color:#31574e}.membership-banner p{line-height:1.9;font-size:14px;padding-right:10px;color:#557068}.membership-banner .button{margin-left:0;margin-top:5px;padding:10px 15px;color:#2e6a5e;background:#fffc;border-color:#bfd8cf}.membership-banner>div:nth-child(2){max-width:100%}.footer{margin-top:27px;padding:20px 0;flex-wrap:wrap;gap:13px}.footer>span{font-size:12px;letter-spacing:.75px}.footer svg{width:13px}.modal{padding:24px 22px;color:var(--text);background:#fff;border-color:#d8e2ed;box-shadow:0 24px 100px #22344c30}.modal-head h2{font-size:19px}.toast{font-size:14px;padding:12px 17px;bottom:16px;width:max-content;max-width:calc(100% - 32px);color:#295e49;background:#eff9f2;border-color:#b9d6c8;box-shadow:0 8px 40px #22344c1a;overflow-wrap:anywhere}.page-heading{padding:10px 0 24px}.page-heading h1{font-size:25px}.page-heading p{font-size:15px}.detail-heading{display:block;margin-bottom:23px}.detail-heading h1{font-size:24px;line-height:1.5}.detail-heading p{font-size:15px}.detail-heading .vip-label.large{margin-top:16px;font-size:13px}.detail-heading .vip-label.large svg{width:12px;height:12px}.back-link{margin:2px 0 22px;min-height:44px}.player-locked{min-height:340px;aspect-ratio:auto;padding:22px 17px;color:var(--text);background:radial-gradient(ellipse at center,#dbeee766,transparent 75%),#f1f6fb}.player-locked h2{font-size:18px}.player-locked p{font-size:14px}.lock-orbits{width:65px;height:65px;margin-bottom:15px;color:#4d8a7c;background:#f3fbf7;border-color:#bcdad3;box-shadow:0 0 0 14px #ffffff35,0 0 0 15px #92c0b51f}.lock-orbits svg{width:25px}.lesson-caption{padding:21px 18px}.lesson-caption h3{font-size:18px}.player-toolbar{font-size:13px;padding:10px 11px;color:#4f746b;background:#fbfdfd}.player-toolbar select{font-size:16px}.learning-item{padding:18px 14px;gap:13px;flex-wrap:wrap}.learning-play{width:44px;height:50px;color:#428577;background:linear-gradient(135deg,#e2f0e7,#e7f0f9)}.learning-info h3{font-size:18px;line-height:1.8}.learning-info small{font-size:13px}.continue-label{margin-left:57px;font-size:14px;color:var(--accent)}.panel{padding:22px 20px}.panel h2{font-size:17px}.account-grid{gap:17px}.callout{font-size:14px;padding:13px;line-height:1.9;color:#486779;background:#eef6f9;border-color:#d3e4e9;overflow-wrap:anywhere}.callout .text-button{margin-left:0}.stat-grid{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:19px 16px}.stat-card>span{font-size:15px;color:#526a7e;align-items:center}.stat-card strong{font-size:27px;color:#284763;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.admin-tabs{gap:20px}.admin-tabs a{font-size:16px;color:var(--muted);min-height:48px}.table-toolbar{gap:12px;flex-wrap:wrap;align-items:flex-start}.table-toolbar h2{font-size:15px;gap:6px}.table-toolbar .button{font-size:14px;padding:10px 13px}.table-toolbar .search-box{width:100%}.table-toolbar .search-box input{font-size:16px}.admin-course-main{flex-wrap:wrap;gap:12px;padding:17px}.admin-course-info{flex-basis:calc(100% - 64px)}.admin-course-icon{width:39px;height:43px;background:#edf4f8}.admin-course-main .row-actions{margin-left:0;flex-wrap:wrap;gap:8px}.admin-course-info h3{font-size:18px}.admin-course-info p{font-size:13px}.admin-course-main .row-actions{gap:8px;margin-left:0;flex-wrap:wrap}.admin-lesson-list{padding:15px}.admin-lesson-list>div:not(.loading){font-size:14px;flex-wrap:wrap}.admin-lesson-list small{font-size:13px}.table-scroll th,.table-scroll td{padding:15px}.upload-zone{padding:25px 15px;color:#4a8b94;background:#f1f8fa;border-color:#9fc3cf;min-width:0;word-break:normal;overflow-wrap:anywhere}.upload-zone strong{font-size:16px;color:#355c6c;max-width:100%}.user-pill>span:nth-child(2){max-width:80px;min-width:0}.logout-button{width:44px;height:44px}.shortcut h2{font-size:17px}.shortcut p{font-size:14px}.form-columns{gap:18px;grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.course-grid{grid-template-columns:minmax(0,1fr)}.course-card h3{font-size:18px}}@media(max-width:540px){.topbar-right:has(.user-pill){flex-basis:100%;justify-content:space-between;margin-left:0}.topbar-right .user-pill{flex:1 1 120px}.user-pill .avatar{width:32px;height:32px}.role-badge{padding-right:6px;padding-left:6px}.admin-entry{padding-right:9px;padding-left:9px;font-size:13px}.principles>div+div{border-left:0;border-top:1px solid var(--line);padding-top:16px}.table-toolbar .button-row{flex-basis:100%;justify-content:flex-start;margin-left:0}.admin-page-heading>div{flex-basis:100%}.admin-lesson-list>div>span{flex-basis:100%}}@media(max-width:400px){.stat-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:1024px)and (pointer:coarse){.sidebar{width:260px;transform:translate(-100%);transition:transform .25s}.sidebar.open{transform:translate(0)}.sidebar-shade{position:fixed;inset:0;z-index:25;background:#030910bc;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.main-shell{margin-left:0}.mobile-toggle{display:inline-flex}.mobile-close{display:inline-flex;position:absolute;top:9px;right:9px}}@media(max-width:1024px)and (pointer:coarse)and (orientation:landscape){.video-wrapper video:not(:fullscreen){max-height:calc(100dvh - 32px)}}@media(max-width:780px),(max-height:500px){.modal{scroll-padding-top:80px}.modal .modal-head{position:sticky;top:-1px;z-index:3;background:var(--surface);padding-bottom:12px}}.group-entry{display:flex;align-items:center;gap:12px;width:100%;min-height:92px;padding:16px 13px;text-align:left;border:1px solid #44bd91;border-radius:17px;background:#e7faf1;color:#175740;transition:background .2s,border-color .2s}.group-entry:hover{background:#d8f6e7;border-color:#20a575}.group-entry-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;color:#fff;background:#08b96e;border-radius:13px}.group-entry-copy{display:flex;flex-direction:column;min-width:0;gap:4px}.group-entry-copy strong{font-size:16px;font-weight:600}.group-entry-copy>span{font-size:13px;line-height:1.7;color:#2d7055}.modal.group-join-modal{width:500px;text-align:center}.group-join-modal .modal-head{text-align:left;padding-bottom:17px;border-bottom:1px solid var(--line)}.group-join-description,.group-scan-label{color:var(--muted);font-size:15px;line-height:1.9}.group-join-name{font-size:16px;font-weight:500;color:var(--text);margin:8px 0 23px}.group-qr-frame{position:relative;width:min(320px,100%);padding:23px;margin:0 auto 22px;background:#fff;border:1px solid #eef1f4;border-radius:23px;box-shadow:0 7px 20px #22344c0c}.group-qr-frame img{display:block;width:100%;max-width:272px;height:auto;margin:0 auto;aspect-ratio:1;object-fit:contain}.group-qr-badge{position:absolute;top:-12px;right:-6px;display:grid;place-items:center;width:44px;height:44px;border:3px solid var(--surface);border-radius:50%;color:#fff;background:#08b96e}.group-join-hint,.group-qr-expiry{font-size:13px;line-height:1.9;color:var(--muted);margin-top:6px}.group-qr-download{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.group-topic-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:12px 0 18px}.group-topic-tags span{padding:5px 12px;border-radius:20px;font-size:13px;background:#eafaf1;color:#177653}.group-topic-tags span:nth-child(2){background:#eff4ff;color:#345ac1}.group-topic-tags span:nth-child(3){background:#f7efff;color:#8354b3}.group-qr-expiry{padding-top:15px;border-top:1px solid var(--line)}.group-qr-expiry strong{color:var(--text);font-weight:500}html[data-theme=dark] .group-entry{background:#153b32;border-color:#3c9c77;color:#d6f7e7}html[data-theme=dark] .group-entry:hover{background:#1a493b;border-color:#5bc896}html[data-theme=dark] .group-entry-copy>span{color:#a8dec4}html[data-theme=dark] .group-topic-tags span{background:#183c32;color:#96e3bd}html[data-theme=dark] .group-topic-tags span:nth-child(2){background:#223655;color:#aac5ff}html[data-theme=dark] .group-topic-tags span:nth-child(3){background:#37274b;color:#d3b4f4}@media(max-width:540px){.modal.group-join-modal{padding:20px}.group-join-modal .modal-head h2{font-size:21px}.group-qr-frame{padding:14px;border-radius:18px}.group-qr-badge{right:-4px}.group-topic-tags{gap:6px}.group-topic-tags span{padding:5px 9px}}.modal.course-announcement{width:960px;padding:24px}.course-announcement .modal-head{margin-bottom:22px}.announcement-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}.announcement-copy{grid-column:2;grid-row:1;min-width:0}.announcement-date{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:14px;font-weight:600;flex-wrap:wrap}.announcement-copy h3{font-size:clamp(25px,2.3vw,32px);line-height:1.55;color:var(--text);margin:16px 0}.announcement-copy>p{color:var(--muted);font-size:15px;line-height:1.95;margin:0 0 14px}.announcement-copy>.announcement-invitation{color:var(--text)}.announcement-poster{grid-column:1;grid-row:1;min-width:0;margin:0}.announcement-poster a{display:block;border-radius:12px;overflow:hidden;background:#071425}.announcement-poster img{display:block;width:100%;height:auto}.announcement-poster figcaption{color:var(--muted);font-size:13px;text-align:center;margin-top:10px}.wechat-contact{border:1px solid var(--nav-active-line);background:var(--nav-active);border-radius:12px;padding:17px;margin:20px 0}.wechat-contact-heading,.wechat-contact-row{display:flex;align-items:center;gap:10px}.wechat-contact-heading{color:var(--accent);font-size:14px}.wechat-contact-row{justify-content:space-between;flex-wrap:wrap;margin:12px 0 10px}.wechat-contact-row strong{font-family:Segoe UI,sans-serif;color:var(--text);font-size:24px;letter-spacing:.6px;-webkit-user-select:all;user-select:all}.wechat-contact-row .button{font-size:14px;padding:9px 12px}.wechat-contact-hint,.wechat-copy-status{font-size:13px;line-height:1.8;color:var(--muted)}.wechat-copy-status{color:var(--accent);margin-top:8px}.vip-access-modal .vip-modal-art{min-height:100px;gap:10px;margin-bottom:16px}.vip-access-modal .benefits{font-size:14px;gap:10px}.vip-access-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vip-access-actions .button{flex:1}@media(max-width:760px){.modal.course-announcement{width:520px;padding:22px}.announcement-layout{grid-template-columns:minmax(0,1fr);gap:24px}.announcement-copy,.announcement-poster{grid-column:1;grid-row:auto}.announcement-copy h3{font-size:27px}.course-announcement .modal-head h2{font-size:21px}}@media(max-width:400px){.modal.course-announcement{padding:18px}.course-announcement .modal-head h2{font-size:19px}.announcement-date{font-size:13px}.announcement-copy h3{font-size:25px}.wechat-contact{padding:14px}.wechat-contact-row strong{font-size:23px}.wechat-contact-row .button{width:100%}.vip-access-actions{flex-direction:column}}.theme-toggle{flex-shrink:0;padding:10px 12px;gap:8px}.portal-grid,.skill-grid,.skill-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.portal-grid{margin:24px 0 32px}.portal-card,.skill-card,.skill-step{min-width:0;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow-wrap:anywhere}.portal-card,.skill-card{display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.portal-card{transition:border-color .2s,background .2s}.portal-card:hover{border-color:var(--accent);background:var(--surface-raised)}.portal-icon,.skill-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:11px;background:var(--mint-dark);color:var(--accent)}.portal-icon svg,.skill-icon svg{width:26px;height:26px}.portal-card h3,.skill-card-title h3{color:var(--text);font-size:20px;line-height:1.6}.portal-card p,.skill-card>p,.skill-step p{color:var(--muted);font-size:15px;line-height:1.85}.portal-card .text-button{align-self:flex-start;margin-top:auto}.portal-count,.skill-card-title small{color:var(--muted);font-size:14px}.section-description,.lesson-description{min-width:0;padding:20px;margin:0 0 24px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface);font-size:15px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.player-section>.lesson-description{margin:0 23px 23px}.skill-steps{margin-bottom:24px}.skill-step b{display:grid;place-items:center;width:36px;height:36px;margin-bottom:14px;border-radius:50%;background:var(--mint-dark);color:var(--accent);font:600 18px Space Grotesk,sans-serif}.skill-step strong{display:block;margin-bottom:8px;font-size:17px;color:var(--text)}.skill-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:20px;min-width:0}.skill-toolbar .search-box{flex:1 1 260px;width:auto;max-width:420px}.skill-toolbar .category-tabs{flex:1 1 320px;min-width:0;margin:0}.skill-card-head{display:flex;align-items:flex-start;gap:12px}.skill-card-title{flex:1;min-width:0}.skill-card-title small{display:block;margin-top:4px}.skill-tags,.skill-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.skill-tags>span,.skill-tags>small{max-width:100%;padding:3px 9px;border:1px solid var(--line);border-radius:20px;color:var(--muted);background:var(--surface-raised);font-size:14px}.skill-card-actions{margin-top:auto;padding-top:6px}.skill-card-actions .button{flex:1 1 auto;padding:10px 12px}.skill-details{min-width:0;overflow-wrap:anywhere}.skill-details h3{margin:18px 0 10px;font-size:18px}.skill-command{max-width:100%;margin:16px 0;padding:16px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface-raised)}.skill-command,.skill-command pre,.skill-command code{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.85}.skill-command pre{margin:0}.skill-details-copy{margin-bottom:18px;max-width:100%}.prose-text{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.9}@media(max-width:1230px){.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1020px){.portal-grid,.skill-steps{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.skill-grid{grid-template-columns:minmax(0,1fr)}.portal-card,.skill-card,.skill-step{padding:20px}.skill-toolbar .search-box{max-width:100%}}@media(max-width:540px){.topbar:has(.theme-toggle) .topbar-left{min-width:0;max-width:100%}.topbar-right:has(.theme-toggle){flex-basis:100%;margin-left:0;justify-content:flex-start}.theme-toggle{font-size:14px;padding:9px 11px}.player-section>.lesson-description{margin:0 18px 18px}.section-description,.lesson-description{padding:16px}}html[data-theme=dark] :is(.sidebar,.topbar,.principles,.course-card,.player-section,.lesson-sidebar,.modal){background:var(--surface);border-color:var(--line)}html[data-theme=dark] .sidebar{scrollbar-color:var(--control-line) transparent}html[data-theme=dark] :is(input,textarea,select,.search-box){background:var(--surface);color:var(--text);border-color:var(--control-line)}html[data-theme=dark] :is(input,textarea)::placeholder{color:var(--muted)}html[data-theme=dark] :is(input,textarea,select):focus,html[data-theme=dark] .search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #97baff26}html[data-theme=dark] .search-box input{background:transparent;box-shadow:none}html[data-theme=dark] ::selection{background:#375d78;color:#fff}html[data-theme=dark] :is(.button.primary,.skip-link){color:var(--on-accent)}html[data-theme=dark] :is(.button.secondary,.sidebar-membership button,.membership-banner .button){background:var(--surface-raised);border-color:var(--control-line);color:var(--text)}html[data-theme=dark] :is(.button.secondary,.sidebar-membership button,.membership-banner .button):hover:not(:disabled){background:#294057;border-color:var(--accent)}html[data-theme=dark] :is(.button.login-button,.avatar,.pill){background:var(--mint-dark);color:var(--accent-hover);border-color:#487887}html[data-theme=dark] .button.login-button:hover:not(:disabled){background:#244b50}html[data-theme=dark] :is(.icon-button:hover,.category-tabs button:hover,.lesson-list button:hover){background:var(--nav-hover);color:var(--accent-hover)}html[data-theme=dark] :is(.category-tabs button.selected,.lesson-list button.active){background:var(--nav-active);color:var(--nav-active-text)}html[data-theme=dark] :is(.admin-nav a,.admin-entry,.role-badge){color:var(--blue);background:#1e304e;border-color:#526f9c}html[data-theme=dark] :is(.admin-nav a,.admin-entry):hover{background:#2a4265;border-color:var(--blue)}html[data-theme=dark] .admin-nav a.active,html[data-theme=dark] .admin-nav a.active:hover{color:var(--on-accent);background:var(--blue);border-color:var(--blue)}html[data-theme=dark] :is(.sidebar-membership,.membership-banner,.vip-modal-art){background:linear-gradient(120deg,#193b3c,#1d3046);border-color:#3d6467}html[data-theme=dark] :is(.membership-top,.membership-banner h2,.membership-symbol svg,.vip-modal-art,.benefits,.benefits svg,.hero-note,.account-facts dd,.upload-progress>span,.temporary-password code,.admin-lesson-list>div>span){color:var(--accent-hover)}html[data-theme=dark] :is(.sidebar-membership p,.membership-banner p,.hero-copy>p,.eyebrow,.coordinate,.coord-bottom b,.stat-card>span,.upload-zone span){color:var(--muted)}html[data-theme=dark] :is(.status-dot,.sidebar-signature .status-dot){background:var(--accent);box-shadow:none}html[data-theme=dark] .hero{background:radial-gradient(ellipse at 85% 60%,#245052,transparent 58%),linear-gradient(115deg,#1c2c46,#20394d 55%,#1b3d40);border-color:#3b566c}html[data-theme=dark] :is(.hero h1,.principles strong,.stat-card strong,.callout strong,.upload-zone strong){color:var(--text)}html[data-theme=dark] :is(.section-kicker,.principle-icon,.stat-card svg,.course-card-bottom>span:last-child){color:var(--accent)}html[data-theme=dark] .eyebrow-divider{background:var(--control-line)}html[data-theme=dark] .planet{background:radial-gradient(circle at 30% 22%,#badfd6,#6ba7a3 25%,#427b85 48%,#29475f 75%,#1a2c45);border-top-color:#9acac6;box-shadow:inset 8px 8px 15px #bdece92b,inset -9px -13px 28px #07162566,0 20px 40px #08172940}html[data-theme=dark] .planet-halo{box-shadow:0 0 60px 20px #80d0d614,0 0 0 34px #80d0d612,0 0 0 63px #80d0d608}html[data-theme=dark] .planet-ring{border-color:#75a6ac;box-shadow:0 0 0 4px #80d0d61f,0 0 0 9px #80d0d60d}html[data-theme=dark] .ring-front{border-bottom-color:#a0d9d4}html[data-theme=dark] .moon{background:radial-gradient(circle at 25% 20%,#b5d5e5,#709bb2 45%,#2f526a 90%)}html[data-theme=dark] :is(.universe-star,.universe-cross){color:#a0d9d4;filter:none}html[data-theme=dark] :is(.count-chip,.status-badge){color:var(--muted);background:var(--surface-raised);border-color:var(--line)}html[data-theme=dark] :is(.course-card:hover,.learning-item:hover,.shortcut:hover){border-color:#668f9e;box-shadow:0 10px 26px #00000026}html[data-theme=dark] .course-art{--art-ink: color-mix(in srgb,var(--art-color,#a6d4c3) 65%,#e7edf5);background:radial-gradient(ellipse at 65% 65%,color-mix(in srgb,var(--art-color,#a6d4c3) 18%,#203044),#19283c);border-bottom-color:var(--line)}html[data-theme=dark] .art-object{background:linear-gradient(145deg,#2c4157,color-mix(in srgb,var(--art-color,#a6d4c3) 18%,#1d2e43));border-color:color-mix(in srgb,var(--art-ink) 45%,#26394f);border-top-color:#8caab9;box-shadow:inset 1px 1px 2px #bdece929,8px 8px 0 -2px #293f53,9px 9px 0 -2px #5a7588,0 12px 20px #00000026}html[data-theme=dark] .art-codex .art-object:before{color:var(--art-ink);border-bottom-color:#8ea6cd66}html[data-theme=dark] .card-eyebrow{color:color-mix(in srgb,var(--art-color,#a6d4c3) 60%,#e7edf5)}html[data-theme=dark] .vip-label{color:#e8d299;background:#3a3428;border-color:#796949}html[data-theme=dark] .empty-state{color:var(--muted);background:var(--surface);border-color:var(--control-line)}html[data-theme=dark] .modal{box-shadow:0 24px 100px #00000080}html[data-theme=dark] .modal::backdrop,html[data-theme=dark] .sidebar-shade{background:#050c18b3}html[data-theme=dark] :is(.form>label,.form-columns>label){color:var(--text)}html[data-theme=dark] .callout{color:var(--muted);background:#1b3344;border-color:#456576}html[data-theme=dark] .callout.quiet{background:transparent}html[data-theme=dark] :is(.toast,.status-badge.enabled,.temporary-password,.upload-zone.has-file){color:#ace0ca;background:#1b3b35;border-color:#4a7b6a}html[data-theme=dark] .toast{box-shadow:0 8px 40px #00000040}html[data-theme=dark] .player-locked{background:radial-gradient(ellipse at center,#244447,transparent 75%),var(--surface-raised)}html[data-theme=dark] .lock-orbits{color:var(--accent);background:#234247;border-color:#568e90;box-shadow:0 0 0 14px #80d0d60a,0 0 0 15px #80d0d61f}html[data-theme=dark] .player-toolbar{color:var(--accent-hover);background:var(--surface-raised)}html[data-theme=dark] :is(.video-wrapper,.video-wrapper video){background:#000}html[data-theme=dark] :is(.learning-play,.shortcut-icon,.admin-course-icon){color:var(--accent);background:var(--surface-raised)}html[data-theme=dark] .progress-track{background:#3a4e64}html[data-theme=dark] th{color:var(--text);background:var(--surface-raised)}html[data-theme=dark] td{color:var(--muted)}html[data-theme=dark] .upload-zone{color:var(--accent);background:#1b3344;border-color:var(--control-line)}html[data-theme=dark] .upload-zone:hover:not(:disabled){background:#244354;border-color:var(--accent)}html[data-theme=dark] :is(.button.danger,.status-badge.disabled,.form-error){color:var(--danger);background:#402932;border-color:#975d6c}html[data-theme=dark] .form-error{color:var(--danger)!important}html[data-theme=dark] .button.danger:hover:not(:disabled){background:#55313c}html[data-theme=dark] .expired{color:var(--danger)}html[data-theme=dark] :is(button,.button,input,textarea,select):disabled,html[data-theme=dark] .upload-zone:disabled{color:var(--muted);background:#263345;border-color:#52647a;box-shadow:none}html[data-theme=dark] .upload-zone:disabled :is(strong,span){color:var(--muted)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.course-card:hover,.button:hover{transform:none}}
