:root{--primary:#CC785C;--primary-hover:#B56548;--primary-deep:#A55540;--primary-soft:#FDF1EC;--primary-line:#F3D3C6;--gold:#E0A84A;--ink:#1E1B17;--ink-2:#2D2A26;--fg:#1E1B17;--fg-2:#4A453F;--muted:#7C766E;--bg:#FAF8F3;--surface:#FFFFFF;--surface-muted:#F3EFE6;--border:#E8E1D3;--green:#4E8A3E;--green-soft:#EAF3E5;--blue:#2F6FB0;--blue-soft:#E7F0FA;--purple:#7A5AC8;--danger:#C2410C;--danger-soft:#FDECE4;--radius:1rem;--shadow:0 1px 2px rgba(30,27,23,.04),0 8px 28px rgba(30,27,23,.06);--grad:linear-gradient(125deg,#E8997E,#CC785C 50%,#A55540)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-heebo),-apple-system,"Segoe UI",Arial,sans-serif;font-weight:500;font-size:16.5px;line-height:1.7;color:var(--fg);background:radial-gradient(at 0 0,rgba(204,120,92,.07) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(224,168,74,.07) 0,transparent 50%),var(--bg);min-height:100vh}h1,h2,h3,h4{font-family:var(--font-rubik),var(--font-heebo),sans-serif;line-height:1.22}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;font-size:inherit}.ltr{direction:ltr;text-align:right}.muted{color:var(--muted)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:.85rem;padding:12px 22px;cursor:pointer;font-family:var(--font-rubik),inherit;font-weight:700;font-size:16.5px;transition:filter .15s,background .15s,transform .08s,border-color .15s;white-space:nowrap}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{color:#fff;background-image:var(--grad);box-shadow:0 6px 18px rgba(204,120,92,.28)}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:var(--surface);border:1.5px solid var(--border);color:var(--fg)}.btn.ghost:hover{border-color:var(--primary-line);background:var(--primary-soft)}.btn.done{background:var(--green-soft);color:var(--green);border:1.5px solid #cfe3c6}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.sm{padding:8px 15px;font-size:15px;border-radius:.65rem}.btn.block{width:100%}.link{color:var(--primary-hover);font-weight:700;cursor:pointer;background:none;border:0;font-size:15.5px}.link:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field>label,.label{font-weight:700;font-size:16px}.field .hint{font-size:14px;color:var(--muted);font-weight:500}.field input:not([type=checkbox]):not([type=file]),.field select,.field textarea,.input{width:100%;border:1.5px solid var(--border);border-radius:.8rem;padding:12px 15px;background:var(--surface);outline:none;color:var(--fg);font-size:16.5px;font-weight:500;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.check{display:flex;gap:12px;align-items:center;padding:12px 15px;border:1.5px solid var(--border);border-radius:.8rem;margin-bottom:9px;cursor:pointer;background:var(--surface);font-weight:600}.check input{accent-color:var(--primary);width:19px;height:19px}.alert{border-radius:.8rem;padding:12px 16px;font-weight:600;margin-bottom:18px}.alert.err{background:var(--danger-soft);color:var(--danger)}.alert.ok{background:var(--green-soft);color:var(--green)}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 12px;border-radius:999px;font-size:13.5px;font-weight:700;white-space:nowrap}.tag.green{background:var(--green-soft);color:var(--green)}.tag.coral{background:var(--primary-soft);color:var(--primary-hover)}.tag.gray{background:var(--surface-muted);color:var(--muted)}.tag.blue{background:var(--blue-soft);color:var(--blue)}.avatar{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--font-rubik);font-weight:800;font-size:17px;background:var(--surface-muted);color:var(--primary-hover)}.avatar.host{background:var(--grad);color:#fff}.avatar.sm{width:34px;height:34px;font-size:14px}.brand{display:flex;align-items:center;gap:12px}.mark{width:46px;height:46px;border-radius:13px;flex:none;display:grid;place-items:center;color:#fff;background:var(--grad);font-weight:900;font-size:22px;box-shadow:0 6px 16px rgba(204,120,92,.3)}.brand .name,.mark{font-family:var(--font-rubik)}.brand .name{font-weight:800;font-size:20px;line-height:1.1;display:block}.brand .sub{font-size:13.5px;color:var(--muted);display:block;margin-top:2px}.progress{height:10px;background:var(--surface-muted);border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,#6FA65E,var(--green));border-radius:99px;transition:width .35s}.progress-row{display:flex;justify-content:space-between;font-size:14.5px;color:var(--fg-2);margin-top:8px;font-weight:600}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.login-art{background:var(--grad);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-art:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:rgba(255,255,255,.08);bottom:-180px;left:-160px}.login-art .brand .mark{background:rgba(255,255,255,.2);box-shadow:none}.login-art .brand .sub{color:rgba(255,255,255,.8)}.login-art h1{font-size:52px;font-weight:900;margin-bottom:18px}.login-art p{font-size:20px;opacity:.93;max-width:460px;line-height:1.6}.login-box{display:flex;align-items:center;justify-content:center;padding:40px 24px}.login-card{width:100%;max-width:420px}.login-card h2{font-size:34px;font-weight:800;margin-bottom:6px}.login-card .lead{color:var(--muted);margin-bottom:30px;font-size:17.5px}.login-card .btn{padding:15px;font-size:18px}.login-foot{text-align:center;margin-top:20px}.topbar{height:74px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:20;gap:16px}.topnav{display:flex;gap:6px}.topnav a{padding:9px 16px;border-radius:.7rem;color:var(--fg-2);font-weight:600}.topnav a:hover{background:var(--surface-muted)}.topnav a.on{background:var(--primary-soft);color:var(--primary-hover)}.usermenu{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--fg-2)}.usermenu form{display:inline}.page{max-width:1160px;margin:0 auto;padding:44px 28px 90px}.hello h1{font-size:40px;font-weight:900}.hello p{color:var(--muted);font-size:19px;margin:6px 0 34px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:24px;gap:24px}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s;display:block}a.course-card:hover{transform:translateY(-3px);border-color:var(--primary-line);box-shadow:0 16px 40px rgba(30,27,23,.1)}.cover{height:180px;background:var(--grad);padding:24px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;position:relative;overflow:hidden}.cover:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.1);top:-90px;left:-60px}.cover.dark{background:linear-gradient(125deg,#4A453F,#1E1B17)}.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cover h3{font-size:27px;font-weight:900;position:relative}.cover .kicker{font-size:14px;font-weight:700;opacity:.85;position:relative}.course-body{padding:22px 24px 24px}.course-body .meta{color:var(--muted);font-size:15px;margin-bottom:14px}.course-card.locked{opacity:.82}.continue{color:var(--primary-hover);font-weight:800}.player{display:grid;grid-template-columns:360px 1fr;min-height:calc(100vh - 74px)}.side{background:var(--surface);-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border);position:-webkit-sticky;position:sticky;top:74px;height:calc(100vh - 74px);overflow-y:auto}.side-head{padding:24px 24px 20px;border-bottom:1px solid var(--border)}.side-head h3{font-size:21px;font-weight:800;margin-bottom:14px}.mod-title{padding:15px 24px;font-weight:800;font-size:15.5px;display:flex;justify-content:space-between;align-items:center;background:var(--bg);border-bottom:1px solid var(--border);font-family:var(--font-rubik)}.mod-title small{color:var(--muted);font-weight:600;font-family:var(--font-heebo)}.les-list{list-style:none;border-bottom:1px solid var(--border)}.les-list a{padding:12px 24px;display:flex;gap:12px;align-items:center;font-size:15.5px;color:var(--fg-2);-webkit-border-start:4px solid transparent;border-inline-start:4px solid transparent}.les-list a.current,.les-list a:hover{background:var(--primary-soft)}.les-list a.current{color:var(--primary-hover);font-weight:700;border-inline-start-color:var(--primary)}.les-list .ic{width:24px;height:24px;border-radius:50%;border:2px solid var(--border);display:grid;place-items:center;font-size:12px;flex:none;background:#fff}.les-list a.done .ic{background:var(--green);border-color:var(--green);color:#fff}.les-list a.current .ic{border-color:var(--primary);color:var(--primary)}.les-list .dur{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--muted);font-size:13px;font-weight:600}.main{padding:32px 44px 90px;max-width:1020px;width:100%}.crumbs{font-size:14.5px;color:var(--muted);margin-bottom:14px;font-weight:600}.video{aspect-ratio:16/9;background:#141210;border-radius:1.25rem;overflow:hidden;position:relative;box-shadow:0 18px 50px rgba(20,18,16,.22)}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video .empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:rgba(255,255,255,.78);background:radial-gradient(ellipse at 30% 30%,rgba(204,120,92,.3),transparent 60%);font-size:19px;font-weight:600;padding:20px}.video .empty b{display:block;font-size:46px;margin-bottom:6px}.lesson-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:28px 0 6px}.lesson-head h1{font-size:32px;font-weight:800}.lesson-meta{color:var(--muted);font-size:15px;margin-bottom:18px;font-weight:600}.lesson-desc{color:var(--fg-2);margin-bottom:22px;font-size:17.5px;white-space:pre-line}.files{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:26px}.file{background:var(--surface);border:1.5px solid var(--border);border-radius:.8rem;padding:10px 16px;font-size:15.5px;font-weight:600;display:inline-flex;gap:9px;align-items:center}.file:hover{border-color:var(--primary-line);background:var(--primary-soft)}.lesson-nav{display:flex;justify-content:space-between;gap:12px;padding:22px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:34px}.comments h2{font-size:24px;font-weight:800;margin-bottom:18px}.comment-new{display:flex;gap:14px;margin-bottom:30px}.comment-new form{flex:1 1;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.comment-new textarea{width:100%;border:1.5px solid var(--border);border-radius:1rem;padding:14px 16px;min-height:96px;resize:vertical;outline:none;background:#fff;font-size:16.5px}.comment-new textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft)}.comment{display:flex;gap:14px;margin-bottom:22px}.comment .bubble{flex:1 1;min-width:0}.comment .who{font-weight:800;font-size:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.comment .who small{color:var(--muted);font-weight:500;font-size:14px}.comment p{margin-top:3px;color:var(--fg-2);white-space:pre-line;overflow-wrap:anywhere}.reply{margin-top:14px;background:var(--primary-soft);border-radius:1rem;padding:14px 16px;border:1px solid var(--primary-line)}.reply .comment{margin:0}.a-layout{display:flex;min-height:100vh}.a-side{width:17.5rem;flex:none;background:var(--ink);color:#fff;display:flex;flex-direction:column;padding:24px 18px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.a-side .brand{margin-bottom:26px}.a-side .brand .name{color:#fff}.a-side .brand .sub{color:#A8A096}.a-nav{display:flex;flex-direction:column;gap:5px}.a-nav a{display:flex;align-items:center;gap:13px;border-radius:.8rem;padding:12px 14px;font-weight:600;color:rgba(245,240,232,.82);font-size:17px}.a-nav a:hover{background:rgba(255,255,255,.07)}.a-nav a.on{background:rgba(232,153,126,.2);color:#FFD9CA}.a-nav .ico{width:24px;text-align:center;font-size:19px}.a-nav .pill{-webkit-margin-start:auto;margin-inline-start:auto;min-width:26px;height:24px;padding:0 8px;border-radius:999px;background:var(--gold);color:#3A2A00;display:grid;place-items:center}.a-nav .pill,.a-navlabel{font-size:13px;font-weight:800}.a-navlabel{letter-spacing:.04em;color:#8E867B;padding:18px 14px 6px}.a-side-foot{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:6px}.a-side-foot a,.a-side-foot button{color:rgba(245,240,232,.7);font-size:15px;font-weight:600;background:none;border:0;text-align:start;padding:8px 14px;border-radius:.7rem;cursor:pointer}.a-side-foot a:hover,.a-side-foot button:hover{background:rgba(255,255,255,.07);color:#fff}.a-main{flex:1 1;min-width:0;max-width:72rem;margin-inline:auto;padding:38px 36px 80px}.a-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:28px}.a-head h1{font-size:34px;font-weight:900}.a-head .sub{color:var(--muted);font-size:17px;margin-top:4px}.a-head .actions{display:flex;gap:10px;flex-wrap:wrap}.a-crumbs{font-size:15px;color:var(--muted);font-weight:600;margin-bottom:4px}.a-crumbs a:hover{color:var(--primary-hover)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:28px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:10px;min-height:150px;box-shadow:0 1px 2px rgba(30,27,23,.03)}.stat .sq{width:46px;height:46px;border-radius:.8rem;display:grid;place-items:center;font-size:22px;color:#fff}.stat .lbl{font-size:15px;font-weight:700;color:var(--muted)}.stat .val{font-family:var(--font-rubik);font-size:34px;font-weight:800;line-height:1;margin-top:auto}.sq.coral{background:var(--grad)}.sq.green{background:linear-gradient(125deg,#6FA65E,#3F7A30)}.sq.blue{background:linear-gradient(125deg,#4A8BD0,#245A94)}.sq.gold{background:linear-gradient(125deg,#EBBA5E,#C68A22)}.sq.purple{background:linear-gradient(125deg,#9A7BE0,#6247B0)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px rgba(30,27,23,.03);margin-bottom:22px}.card-pad{padding:26px}.card-head{padding:18px 24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.card-head h2{font-size:21px;font-weight:800}.tablewrap{overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:16px}.t th{text-align:start;font-weight:700;color:var(--muted);font-size:14px;padding:13px 22px;background:var(--bg);white-space:nowrap}.t td,.t th{border-bottom:1px solid var(--border)}.t td{padding:15px 22px;vertical-align:middle}.t tr:last-child td{border-bottom:0}.t tr:hover td{background:#FFFDFA}.t .mini{width:120px;display:inline-block;vertical-align:middle;-webkit-margin-end:8px;margin-inline-end:8px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar .input{width:280px}.feed-item{display:flex;gap:14px;align-items:center;padding:15px 24px;border-bottom:1px solid var(--border)}.feed-item:last-child{border-bottom:0}.feed-item .when{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--muted);font-size:14px;white-space:nowrap}.feed-ico{width:38px;height:38px;border-radius:.7rem;display:grid;place-items:center;font-size:17px;flex:none}.mod-block{border-bottom:1px solid var(--border)}.mod-block:last-child{border-bottom:0}.mod-row{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--bg);flex-wrap:wrap}.mod-row .title{font-family:var(--font-rubik);font-weight:800;font-size:18px}.mod-row .sp{-webkit-margin-start:auto;margin-inline-start:auto;gap:6px}.les-row,.mod-row .sp{display:flex;align-items:center}.les-row{gap:14px;padding:13px 24px;-webkit-padding-start:52px;padding-inline-start:52px;border-top:1px solid var(--border);font-size:16px;flex-wrap:wrap}.les-row .t1{flex:1 1;min-width:200px;font-weight:600}.les-row .v{color:var(--muted);font-size:14.5px;min-width:110px}.add-row{padding:12px 24px 16px;-webkit-padding-start:52px;padding-inline-start:52px;border-top:1px solid var(--border)}.order{display:inline-flex;gap:2px}.order button{width:30px;height:30px;border-radius:.5rem;border:1px solid var(--border);background:#fff;color:var(--muted);cursor:pointer;font-size:13px}.order button:hover{border-color:var(--primary-line);color:var(--primary-hover)}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form .input{width:auto;flex:1 1;min-width:220px;padding:9px 13px}.cm-item{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;gap:14px}.cm-item:last-child{border-bottom:0}.cm-item.new{background:#FFFBF6}.cm-item .body{flex:1 1;min-width:0}.cm-item .where{font-size:14.5px;color:var(--muted);font-weight:600}.cm-item p{margin:4px 0 10px;color:var(--fg-2);white-space:pre-line}.cm-item .replybox{display:flex;gap:8px;flex-wrap:wrap}.cm-item .replybox .input{flex:1 1;min-width:220px;padding:10px 14px}.cm-item .answer{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:.8rem;padding:10px 14px;margin-top:8px;font-size:15.5px}.grid2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-gap:22px;gap:22px;align-items:start}.creds{background:var(--surface-muted);border-radius:.9rem;padding:16px 18px;font-size:16px;line-height:1.9;white-space:pre-line;border:1px dashed var(--border)}.empty-state{padding:40px 24px;text-align:center;color:var(--muted);font-size:17px}.empty-state b{display:block;font-size:40px;margin-bottom:6px}@media (max-width:960px){.login{grid-template-columns:1fr}.login-art{padding:30px 22px;gap:26px}.login-art h1{font-size:34px}.login-art p{font-size:17px}.player{grid-template-columns:1fr}.side{position:static;height:auto;max-height:340px;-webkit-border-end:0;border-inline-end:0;border-bottom:1px solid var(--border)}.main{padding:22px 16px 80px}.lesson-head{flex-direction:column}.lesson-head h1{font-size:25px}.topbar{padding:0 16px;height:66px}.topnav{display:none}.page{padding:28px 16px 70px}.hello h1{font-size:30px}.course-grid{grid-template-columns:1fr}.a-layout{flex-direction:column}.a-side{width:100%;height:auto;position:static;padding:14px 16px}.a-side .brand{margin-bottom:10px}.a-nav{flex-direction:row;overflow-x:auto}.a-nav a{white-space:nowrap;font-size:15.5px;padding:9px 12px}.a-navlabel,.a-side-foot{display:none}.a-main{padding:22px 16px 70px}.a-head h1{font-size:27px}.stats{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.toolbar .input{width:100%}.add-row,.les-row{-webkit-padding-start:24px;padding-inline-start:24px}}.drop-zone{border:2px dashed var(--border);border-radius:1rem;padding:26px 20px;text-align:center;background:var(--bg);cursor:pointer;font-weight:600;transition:.15s;margin-bottom:14px}.drop-zone.on,.drop-zone:hover{border-color:var(--primary);background:var(--primary-soft)}.drop-zone.off{cursor:default;color:var(--muted);font-weight:500}