@font-face{font-family:systemfallback;src:local("Microsoft YaHei")}
:root{--ink:#172746;--muted:#8492a8;--blue:#2875ff;--violet:#7152f5;--line:#e5eaf4;--bg:#f7faff;--white:#fff}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:15px/1.6 Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;background:linear-gradient(180deg,#f0f7ff 0,#fafcff 620px,#fff 100%);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8bb7ff;outline-offset:3px}[hidden]{display:none!important}.container{max-width:1440px;width:calc(100% - 96px);margin:auto}.header{height:90px;background:#ffffffdf;border-bottom:1px solid #eef2f8}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:25px;letter-spacing:-.5px;line-height:1.1}.brand>img{width:48px;height:48px;object-fit:contain}.brand small{display:block;font-size:8px;letter-spacing:2.5px;font-weight:500;margin-top:7px;color:#7f92b0}.header nav{display:flex;align-items:center;gap:30px;font-size:14px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:1px solid #dce4f2;border-radius:9px;background:#fff;color:var(--ink);padding:10px 19px;font-weight:600;line-height:1.5;transition:background .15s,transform .15s}.button:hover{background:#f1f5fc}.primary{background:linear-gradient(105deg,#277bff,#7050f4);color:white;border-color:transparent;box-shadow:0 4px 12px #4964ef20}.primary:hover{background:linear-gradient(105deg,#166ce9,#6341e7);transform:translateY(-1px)}.catalog{min-height:calc(100vh - 183px);padding-top:64px;padding-bottom:100px}.intro{margin-bottom:43px}.eyebrow{color:#8b9ab1;font-size:11px;font-weight:600;letter-spacing:2px;margin:0 0 12px}.intro h1{font-size:46px;line-height:1.2;letter-spacing:-2px;margin:0 0 14px;font-weight:800}.heading-dot{color:var(--blue);margin-left:5px}.intro>p:last-child{font-size:17px;color:var(--muted);margin:0}.catalog-toolbar{border-bottom:1px solid #dce6f4;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.categories{display:flex;gap:36px}.categories a{position:relative;font-size:18px;padding:0 4px 17px;color:#7e8da7;font-weight:600}.categories a.active{color:var(--blue)}.categories a.active:after{content:'';height:3px;border-radius:3px;background:var(--blue);position:absolute;bottom:-1px;left:0;right:0}.course-count{font-size:13px;color:#93a0b4}.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.course-card{border-radius:14px;background:white;border:1px solid #e8edf5;box-shadow:0 8px 26px #6387a608;overflow:hidden;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-5px);box-shadow:0 16px 35px #5578b019}.cover{position:relative;aspect-ratio:16/9;overflow:hidden}.cover-art{width:100%;height:100%;display:block;object-fit:cover}.cover-brand{position:absolute;top:12%;left:6.5%;display:grid;grid-template-columns:22px auto;gap:0 4px;font-size:12px;font-weight:800;line-height:1.1}.cover-brand img{width:23px;height:25px;object-fit:contain;grid-row:span 2}.cover-brand small{font-size:5px;letter-spacing:2px;margin-top:3px}.cover-title{position:absolute;left:6.5%;top:48%;font-size:clamp(20px,1.8vw,30px);font-weight:800;max-width:47%;line-height:1.35;letter-spacing:-.7px;word-break:keep-all;overflow-wrap:anywhere}.duration{position:absolute;right:10px;bottom:9px;background:#17315890;color:white;border-radius:4px;padding:0 5px;font:10px/18px monospace;letter-spacing:.3px}.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-40%);display:grid;place-items:center;background:#fffdf6;color:var(--blue);border-radius:50%;width:42px;height:42px;opacity:0;transition:.2s;box-shadow:0 4px 16px #15284825}.course-card:hover .play-icon{opacity:1;transform:translate(-50%,-50%)}.card-copy{padding:19px 20px 18px}.lesson-label{display:inline-block;color:#5487d7;background:#eef5ff;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:500}.card-copy h2{margin:9px 0 12px;font-size:17px;line-height:1.55;font-weight:650;overflow-wrap:anywhere}.watch{font-size:12px;color:#92a1b8;display:flex;justify-content:space-between;align-items:center}.watch>span{color:#749ce8;font-size:18px}.footer{border-top:1px solid #eaf0f7;padding:23px 0;color:#97a4b7;font-size:11px;display:flex;justify-content:space-between;gap:10px}.empty{text-align:center;padding:90px 20px 110px;min-height:400px}.empty-symbol{display:grid;place-items:center;margin:0 auto 20px;border:1px solid #dce9ff;background:#edf5ff;color:#7ba4f0;width:65px;height:65px;border-radius:20px;font-size:30px}.empty h2{font-size:22px;margin:0 0 8px}.empty p{color:var(--muted);margin:0 0 18px}.text-link{border:0;background:none;padding:0;color:var(--blue);font-size:13px}.player-page{padding-top:30px;padding-bottom:65px;min-height:calc(100vh - 170px)}.back-link{display:inline-block;color:#8092ae;font-size:13px;margin-bottom:23px}.player-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}.video-wrap{border-radius:14px;overflow:hidden;background:#101722;aspect-ratio:16/9}.video-wrap video{display:block;width:100%;height:100%;object-fit:contain}.lesson-info{padding:25px 0}.lesson-info h1{font-size:28px;margin:12px 0;color:#182947}.description{font-size:15px;color:#7f90a8;white-space:pre-wrap;overflow-wrap:anywhere}.playlist{background:#fff;border:1px solid var(--line);border-radius:14px;padding:21px;height:max-content}.playlist-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.playlist-head h2{font-size:17px;margin:0}.playlist-head>span{font-size:12px;color:var(--muted)}.next-lesson{display:flex;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid #eef2f8}.next-lesson>img{width:63px;border-radius:7px}.next-lesson>span:nth-child(2){flex:1;min-width:0}.next-lesson strong{font-size:13px;display:block}.next-lesson small{font-size:10px;line-height:1.5;color:var(--muted);display:block;margin-top:3px}.client-callout{background:#f5f7ff;margin-top:26px;border-radius:10px;padding:16px}.client-callout strong{font-size:14px}.client-callout p{font-size:12px;color:#8796b0;margin:6px 0 14px}.client-callout .button{font-size:11px;padding:9px 10px;width:100%}.notice{padding:10px 16px;background:#fff4d9;border-radius:8px;color:#94711b;margin-bottom:18px}.muted{color:var(--muted);font-size:13px}.error-message{color:#d34652;font-size:13px}.status{font-size:13px;color:#347be3;min-height:24px;margin-bottom:16px;white-space:pre-wrap}.admin-page{padding:30px 0 70px;min-height:calc(100vh - 170px)}.login-panel{width:400px;max-width:100%;margin:36px auto 70px;padding:38px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px #567aad12;text-align:center}.login-mark{margin:auto auto 20px;display:grid;place-items:center;width:50px;height:50px;background:linear-gradient(140deg,#4cceef,#5569fc);border-radius:15px;color:white;font-size:33px;font-weight:800;font-style:italic}.login-panel h1{font-size:25px;margin:10px 0}.login-panel form{text-align:left;margin:28px 0 20px}.login-panel .wide{width:100%;margin-top:18px}label{display:block;font-size:13px;font-weight:500;color:#596b87}input:not([type=checkbox]):not([type=file]),textarea,select{display:block;width:100%;border:1px solid #dae3f1;background:#fff;border-radius:7px;color:#21354f;padding:10px 11px;margin-top:7px;min-height:43px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a3afc1;font-size:12px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-heading h1{font-size:30px;margin:0}.admin-heading p:last-child{margin-top:7px}.actions{display:flex;gap:10px;align-items:center}.actions .button{font-size:12px}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:25px 0}.admin-summary>div{border:1px solid var(--line);border-radius:12px;padding:18px 23px;background:white}.admin-summary small{font-size:12px;color:#8a9ab3;display:block}.admin-summary strong{font-size:28px;line-height:1.5}.admin-filters{display:flex;gap:16px;align-items:center;margin:28px 0 18px}.admin-filters label{display:flex;align-items:center;gap:10px}.admin-filters select{width:auto;margin:0;font-size:12px;min-height:36px;padding:7px 20px 7px 10px}.admin-filters>span{margin-left:auto;font-size:11px}.admin-list{background:white;border-radius:13px;border:1px solid var(--line);overflow:hidden}.admin-row{display:flex;gap:18px;padding:19px 22px;align-items:center;border-bottom:1px solid var(--line)}.admin-row:last-child{border:0}.admin-thumb{width:105px;aspect-ratio:16/9;object-fit:cover;border-radius:6px}.admin-row .row-info{flex:1;min-width:0}.row-info strong{font-size:14px;display:block}.row-info small{display:block;color:#8999af;margin-top:5px;font-size:11px}.badge{font-size:11px;border-radius:5px;background:#fff4da;color:#a88226;padding:3px 8px;white-space:nowrap}.badge.live{background:#e9f8f1;color:#279c72}.admin-row .button{padding:7px 13px;font-size:12px}.admin-row .text-link{font-size:12px}.admin-row .actions{min-width:150px;justify-content:flex-end}dialog{border:1px solid #dfe7f3;border-radius:18px;max-width:940px;width:calc(100% - 40px);padding:28px 30px;max-height:90vh;color:var(--ink);box-shadow:0 30px 100px #19336530}dialog::backdrop{background:#13233c65;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dialog-heading .eyebrow{font-size:9px;margin:0}.dialog-heading h2{margin:4px 0 0;font-size:23px}.icon-button{background:transparent;border:0;color:#8795ad;font-size:30px;padding:0 3px}.editor-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:27px}.editor-fields>label,.editor-fields>.field-pair{margin-bottom:18px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{accent-color:var(--blue);width:16px;height:16px}.checkbox .muted{font-size:10px}.upload-box{border:1px dashed #c9d8ee;border-radius:12px;background:#f8fbff;text-align:center;padding:19px 15px;margin-bottom:15px}.upload-icon{font-size:25px;color:#7399ed;display:block}.upload-box>strong{display:block;font-size:14px}.upload-box p{color:#8a9ab0;font-size:11px;overflow-wrap:anywhere;margin:7px 0 13px}.upload-box .file-button{font-size:12px;padding:7px 15px;cursor:pointer;position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-box .text-link{font-size:10px;margin-left:8px}progress{display:block;width:100%;height:6px;border:0;margin-top:15px;accent-color:var(--blue)}.upload-box .upload-state{margin-bottom:0;color:#4980d0}.dialog-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:20px;margin-top:17px}.dialog-footer>span{font-size:11px}.dialog-footer .button{font-size:13px}.cover-upload{padding-top:15px;padding-bottom:15px}#password-dialog{max-width:430px}#password-dialog label{margin-bottom:16px}#password-dialog h2{margin-top:0}.status:empty{display:none}
@media(min-width:1700px){.container{max-width:1500px}.cover-title{font-size:30px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cover-title{font-size:30px}.player-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.playlist{padding:16px}.admin-heading{align-items:flex-start}.admin-heading>.actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.header{height:72px}.brand{font-size:20px}.brand>img{width:35px;height:40px}.brand small{font-size:6px;letter-spacing:1.7px}.header nav{gap:13px;font-size:11px}.header .button{padding:9px 12px;font-size:11px}.catalog{padding-top:36px;padding-bottom:55px}.intro{margin-bottom:30px}.intro h1{font-size:35px}.intro>p:last-child{font-size:14px}.categories{gap:20px}.categories a{font-size:16px;padding-bottom:14px}.course-count{font-size:11px}.course-grid{gap:14px}.cover-title{font-size:23px}.card-copy{padding:14px}.card-copy h2{font-size:15px}.cover-brand{font-size:9px;grid-template-columns:17px auto}.cover-brand img{width:17px;height:20px}.cover-brand small{font-size:4px;letter-spacing:1px}.footer{font-size:10px;flex-direction:column;text-align:center;gap:3px}.player-layout{display:block}.playlist{margin-top:16px}.next-lesson>img{width:80px}.lesson-info h1{font-size:23px}.player-page{padding-top:22px}.admin-heading{display:block}.admin-heading>.actions{justify-content:flex-start;margin-top:20px}.admin-summary{gap:10px}.admin-summary>div{padding:13px}.admin-summary small{font-size:10px}.admin-filters{flex-wrap:wrap}.admin-filters>span{display:none}.admin-row{gap:10px;flex-wrap:wrap;padding:15px}.admin-thumb{width:70px}.admin-row .actions{margin-left:auto}.row-info strong{font-size:12px}.editor-grid{grid-template-columns:1fr}.editor-fields>label,.editor-fields>.field-pair{margin-bottom:14px}dialog{padding:22px 19px;max-height:94vh;width:calc(100% - 24px)}.dialog-footer{align-items:flex-end}.checkbox .muted{font-size:9px}.login-panel{padding:28px}.cover-upload{margin-bottom:0}}
@media(max-width:480px){.course-grid{grid-template-columns:1fr;gap:20px}.cover-title{font-size:31px}.cover-brand{font-size:12px;grid-template-columns:22px auto}.cover-brand img{width:22px;height:25px}.cover-brand small{font-size:5px;letter-spacing:2px}.card-copy h2{font-size:18px}.card-copy{padding:18px 20px}.header .brand{font-size:18px;gap:6px}.header .brand>img{width:30px;height:36px}.header .brand small{display:none}.header nav{gap:8px}.header nav>a:first-child{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-size:12px;color:#2875ff;font-weight:600}.header .button{padding:9px 8px;font-size:10px;white-space:nowrap}.eyebrow{font-size:9px}.admin-filters{gap:8px}.admin-filters label{font-size:11px;gap:5px}.admin-filters select{font-size:11px}.course-count{font-size:10px}.categories{gap:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

#course-player{width:min(1080px,calc(100% - 24px));max-height:90dvh;overflow:auto;padding:18px;border:0;border-radius:16px;color:#183155;background:#fff;box-shadow:0 25px 100px #13233c55}#course-player::backdrop{background:#10182acc;backdrop-filter:blur(6px)}.player-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.player-dialog-head button{background:#f2f5fb;border:0;border-radius:8px;font-size:25px;width:40px;height:40px;cursor:pointer}#catalog-video{display:block;width:100%;max-height:70dvh;aspect-ratio:16/9;background:#080d18;border-radius:8px}#course-detail{display:block;margin-top:12px;font-size:13px}#playback-message{font-size:13px;color:#657693}@media(max-width:600px){#course-player{padding:12px}.player-dialog-head strong{font-size:15px}}
