:root{--bg:#111315;--panel:#191c1e;--panel2:#202427;--line:#ffffff12;--text:#f3f1ed;--muted:#8d969b;--orange:#ffa077;--green:#b5d8b1;--blue:#9abfe1;--purple:#c3b2de;--font:Inter,"Segoe UI","Microsoft JhengHei","PingFang TC",sans-serif;--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #ffa07788;outline-offset:1px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:650;line-height:1.4}h1{letter-spacing:-1.4px}::selection{background:#ffa07755;color:#fff}svg.icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}small{font-size:12px}.muted{color:var(--muted)}.orange-text{color:var(--orange)}.green-text{color:var(--green)}.hidden{display:none!important}.flex{display:flex;align-items:center;gap:12px}.spread{display:flex;align-items:center;justify-content:space-between;gap:16px}.stack{display:grid;gap:18px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2.4px;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-size:13px;font-weight:600;line-height:1.5;transition:background .18s,transform .18s;white-space:nowrap}.btn:hover{background:#2b3033}.btn.primary{background:var(--orange);color:#241c18;border-color:var(--orange)}.btn.primary:hover{background:#ffb18f;transform:translateY(-1px)}.btn.ghost{background:transparent}.btn.ghost:hover{background:#ffffff08}.btn.small{padding:7px 12px;font-size:12px}.btn.danger{color:#ff9d9d;background:#ff848410;border-color:#ff848422}.btn.wide{width:100%}.btn svg.icon{width:17px;height:17px}.icon-btn{background:transparent;border:1px solid var(--line);border-radius:9px;width:35px;height:35px;display:grid;place-items:center;color:var(--muted)}.icon-btn:hover{color:var(--text);background:#ffffff08}.tag{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:6px;background:#ffffff08;color:#adb4b7;font-size:10px;white-space:nowrap}.tag.orange{background:#ffa07712;color:var(--orange)}.tag.green{background:#b5d8b112;color:var(--green)}.tag.blue{background:#9abfe112;color:var(--blue)}.tag.purple{background:#c3b2de12;color:var(--purple)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.brand{display:flex;align-items:center;gap:10px;line-height:1.2}.brand-symbol{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--orange);color:#1e211f;font-size:34px;line-height:1;font-family:Arial,sans-serif}.brand-symbol.large{width:56px;height:56px;font-size:52px;border-radius:15px}.brand-title{font-size:19px;font-weight:720;letter-spacing:-.6px}.brand-ai{font-size:9px;color:var(--orange);letter-spacing:1px;margin-left:5px}.brand-sub{font-size:9px;color:var(--muted);letter-spacing:1.8px;margin-top:5px}.progress-track{height:4px;border-radius:8px;background:#ffffff0c;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--orange);border-radius:8px}.boot{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:var(--muted)}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#303735;border:1px solid #b5d8b144;padding:12px 22px;border-radius:12px;z-index:1000;opacity:0;pointer-events:none;transition:.2s;max-width:min(90vw,560px);font-size:13px;box-shadow:0 12px 35px #0004}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#3a2525;border-color:#fa777744}.spinner{width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;display:inline-block;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-panel{padding:100px 20px;text-align:center;color:var(--muted)}.loading-panel .spinner{width:30px;height:30px;margin-bottom:15px;color:var(--orange)}
/* App shell */
.sidebar{position:fixed;top:0;bottom:0;left:0;width:232px;background:#15181a;border-right:1px solid var(--line);z-index:40;display:flex;flex-direction:column;padding:28px 20px 18px}.sidebar .brand{margin:0 8px 40px}.nav-label{font-size:9px;letter-spacing:1.6px;color:#697379;margin:0 12px 13px}.nav-group{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#929a9f;border-radius:10px;font-size:12px;transition:.15s}.nav-link:hover{background:#ffffff05;color:var(--text)}.nav-link.active{background:#ffa07710;color:var(--orange)}.nav-link .icon{width:18px;height:18px}.nav-link .nav-count{margin-left:auto;font-size:10px;background:#ffffff0a;padding:0 6px;border-radius:4px}.sidebar-bottom{margin-top:auto}.sidebar-note{padding:16px;border:1px solid #ffa0771a;background:linear-gradient(125deg,#ffa0770c,transparent);border-radius:12px;margin:24px 1px 15px}.sidebar-note .icon{color:var(--orange);margin-bottom:8px}.sidebar-note h4{font-size:12px;margin-bottom:5px}.sidebar-note p{font-size:10px;color:var(--muted);line-height:1.8}.user-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:18px 6px 0}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:13px;background:#b8ccbc;color:#25352b;flex-shrink:0}.user-meta{min-width:0;flex:1}.user-meta strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta small{font-size:9px;color:var(--muted)}.user-row .icon-btn{width:26px;height:26px;border:0}.app-body{margin-left:232px;min-height:100vh}.topbar{height:76px;padding:0 40px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:#111315ee;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}.breadcrumb .icon{width:15px;height:15px}.breadcrumb strong{font-weight:500;color:#d4d8d8}.topbar-right{display:flex;align-items:center;gap:14px}.date-label{color:var(--muted);font-size:10px}.topbar .divider{height:19px;width:1px;background:var(--line)}.mobile-toggle{display:none}.content{max-width:1500px;margin:0 auto;padding:34px 40px 42px}.page-heading{margin-bottom:26px}.page-heading h1{font-size:28px;letter-spacing:-.8px}.page-heading p{margin-top:8px;color:var(--muted);font-size:12px}.greeting-label{font-size:10px;color:#aeb5b7;margin-bottom:8px;letter-spacing:.8px}.hero{position:relative;display:flex;overflow:hidden;min-height:244px;border:1px solid #ffa07720;border-radius:18px;background:radial-gradient(ellipse at 75% 70%,#68422b2b 0,transparent 52%),linear-gradient(115deg,#25231f,#191d1d 70%);margin-bottom:25px}.hero-copy{position:relative;z-index:2;padding:30px 34px;max-width:65%}.hero .eyebrow{color:#c4ae96;font-size:9px;letter-spacing:2px;margin-bottom:13px}.hero h2{font-size:30px;letter-spacing:-1px;font-weight:600;line-height:1.5}.hero h2 em{font-style:normal;color:var(--orange)}.hero p{font-size:11px;color:#b7b0a5;max-width:390px;margin-top:12px;line-height:1.9}.hero .btn{margin-top:21px;padding:9px 16px;font-size:11px}.hero-art{width:43%;height:100%;position:absolute;right:0;top:0;overflow:hidden}.orbit{width:260px;height:260px;border:1px solid #e2c29b26;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-22deg)}.orbit.o2{width:185px;height:185px;border-style:dashed;border-color:#e2c29b1a}.orbit.o3{width:330px;height:330px;border-color:#e2c29b0c}.orbit-line{position:absolute;left:50%;top:50%;width:290px;height:1px;background:linear-gradient(90deg,transparent,#e2c29b1a,transparent);transform:translate(-50%,-50%) rotate(-28deg)}.sun-core{width:112px;height:112px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:30px;background:linear-gradient(145deg,#ffc092,#ec8f61);display:grid;place-items:center;color:#4c3224;box-shadow:0 0 60px #ff9b4f12,inset 0 1px 0 #ffdead;rotate:-12deg;font-size:85px;font-family:Arial}.orbit-person{position:absolute;display:flex;align-items:center;gap:7px;border:1px solid #e4cbac28;background:#2d2b25ec;backdrop-filter:blur(5px);padding:8px 11px;border-radius:9px;box-shadow:0 5px 15px #0002;font-size:9px;color:#e4d8c8}.orbit-person .icon{width:16px;height:16px;color:var(--orange)}.person-1{top:15%;left:23%;rotate:-5deg}.person-2{bottom:18%;left:13%;rotate:4deg}.person-3{right:8%;top:44%;rotate:5deg}.spark{position:absolute;font-size:20px;color:#d7b38d;right:12%;top:14%;opacity:.65}.spark.s2{left:17%;bottom:11%;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:32px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px 18px;display:flex;align-items:center;gap:14px}.stat-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#ffa0770b;color:var(--orange)}.stat-card:nth-child(2) .stat-icon{background:#9abfe10b;color:var(--blue)}.stat-card:nth-child(3) .stat-icon{background:#b5d8b10b;color:var(--green)}.stat-card:nth-child(4) .stat-icon{background:#c3b2de0b;color:var(--purple)}.stat-value{font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-1px}.stat-value small{font-size:10px;color:var(--muted);font-weight:400;margin-left:5px;letter-spacing:0}.stat-label{font-size:10px;color:var(--muted);margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}.section-heading h2{font-size:16px;letter-spacing:-.3px}.section-heading a{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px}.section-heading a:hover{color:var(--orange)}.section-heading a .icon{width:14px;height:14px}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .2s,border-color .2s;display:flex;flex-direction:column}.course-card:hover{border-color:#ffffff25;transform:translateY(-3px)}.course-cover{height:112px;position:relative;overflow:hidden;background:#2f2823;display:flex;align-items:center;justify-content:center;isolation:isolate}.course-cover.blue{background:#222f3b}.course-cover.green{background:#26352c}.course-cover.purple{background:#312c3c}.cover-lines{position:absolute;width:220px;height:220px;border-radius:50%;border:1px solid #ffffff18;right:-55px;top:-65px;box-shadow:0 0 0 22px #ffffff04,0 0 0 44px #ffffff03,0 0 0 66px #ffffff02}.cover-icon{width:51px;height:51px;border:1px solid #ffa07730;border-radius:14px;background:#ffa07713;color:var(--orange);display:grid;place-items:center;rotate:-10deg}.course-cover.blue .cover-icon{color:var(--blue);border-color:#9abfe130;background:#9abfe113}.course-cover.green .cover-icon{color:var(--green);border-color:#b5d8b130;background:#b5d8b113}.course-cover.purple .cover-icon{color:var(--purple);border-color:#c3b2de30;background:#c3b2de13}.cover-icon .icon{width:28px;height:28px}.cover-index{position:absolute;left:15px;bottom:11px;font-size:8px;letter-spacing:2px;color:#ffffff50}.course-info{padding:17px;display:flex;flex:1;flex-direction:column}.course-info .tag{align-self:start;margin-bottom:9px;font-size:9px}.course-info h3{font-size:14px;line-height:1.65;margin-bottom:7px}.course-info p{font-size:10px;color:var(--muted);line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:13px}.course-info .course-bottom{margin-top:auto}.course-meta{display:flex;gap:12px;color:#889297;font-size:9px;align-items:center}.course-meta span{display:flex;align-items:center;gap:4px}.course-meta .icon{width:12px;height:12px}.course-progress{margin-top:17px}.course-progress .spread{font-size:9px;margin-bottom:6px;color:var(--muted)}.course-progress strong{color:var(--orange);font-weight:500}.course-footer{border-top:1px solid var(--line);padding:11px 17px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--orange)}.course-footer .icon{width:14px;height:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.role-panel{margin-bottom:17px}.role-panel>p{font-size:10px;color:var(--muted);margin-top:5px;margin-bottom:19px}.role-row{display:flex;gap:11px;align-items:center;padding:11px 0}.role-row+.role-row{border-top:1px solid var(--line)}.role-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#ffa07715;color:var(--orange);flex-shrink:0}.role-avatar.assistant{background:#b5d8b115;color:var(--green)}.role-avatar.peer{background:#9abfe115;color:var(--blue)}.role-avatar .icon{width:18px;height:18px}.role-row h4{font-size:11px;font-weight:550}.role-row p{font-size:9px;color:var(--muted);margin-top:3px}.role-row .dot{margin-left:auto;color:#8aaa87;width:4px;height:4px}.tip-panel{background:linear-gradient(140deg,#b5d8b10b,#191c1e);border-color:#b5d8b119}.tip-panel .eyebrow{color:#a8c0a5;font-size:9px}.tip-panel h4{font-size:12px;margin:9px 0}.tip-panel p{font-size:10px;color:#9ca99a;line-height:1.9}.tip-panel .tip-foot{font-size:9px;color:#71856f;margin-top:14px}.templates-section{margin-top:28px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.template-card{display:flex;align-items:center;gap:10px;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:12px;cursor:pointer;text-align:left}.template-card:hover{border-color:#ffa07740}.template-card .template-icon{width:33px;height:33px;display:grid;place-items:center;background:#ffa0770c;color:var(--orange);border-radius:9px;flex-shrink:0}.template-card h4{font-size:10px;line-height:1.7}.template-card p{font-size:9px;color:var(--muted);margin-top:3px}.template-card>.icon{margin-left:auto;width:14px;color:#697379}.empty-state{padding:36px 24px;text-align:center;border:1px dashed #ffffff18;border-radius:14px;grid-column:1/-1;background:#ffffff02}.empty-state .empty-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:#ffa0770d;color:var(--orange);margin:0 auto 15px}.empty-state h3{font-size:14px}.empty-state p{color:var(--muted);font-size:11px;margin:8px auto 18px;max-width:350px}.app-footer{font-size:9px;color:#5e696f;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:32px}.search-bar{display:flex;align-items:center;gap:10px;max-width:330px;padding:9px 13px;border:1px solid var(--line);background:var(--panel);border-radius:10px}.search-bar .icon{width:16px;color:var(--muted)}.search-bar input{background:transparent;border:0;padding:0;color:var(--text);width:100%;font-size:12px;outline:0}.filters{display:flex;gap:8px;margin:22px 0}.filter-btn{background:transparent;border:1px solid var(--line);border-radius:20px;padding:6px 14px;font-size:11px;color:var(--muted)}.filter-btn.active{background:#ffa07710;color:var(--orange);border-color:#ffa07740}.courses-all{grid-template-columns:repeat(3,minmax(0,1fr))}.error-box,.notice{border:1px solid #ffa07725;background:#ffa07708;padding:13px 16px;border-radius:10px;color:#c5ad9f;font-size:11px;line-height:1.9}.error-box{border-color:#ff888833;background:#ff888808;color:#ffb4b4}.notice .icon{width:15px;height:15px;vertical-align:middle;margin-right:5px}.notice.green{border-color:#b5d8b125;background:#b5d8b108;color:#b3c4b0}
/* Forms */
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px;align-items:start}.form-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:27px}.form-card h2{font-size:16px;margin-bottom:7px}.form-card .sub{font-size:11px;color:var(--muted);margin-bottom:23px}.field{margin-bottom:21px}.field>label{display:block;font-size:12px;font-weight:500;margin-bottom:8px}.field .hint{font-size:10px;color:var(--muted);margin-top:6px}.field input,.field textarea,.field select,.input{width:100%;padding:11px 13px;border:1px solid #ffffff12;background:#111416;border-radius:9px;color:var(--text);font-size:12px}.field textarea{min-height:150px;resize:vertical;line-height:1.85}.field input::placeholder,.field textarea::placeholder{color:#5d686e}.field select{appearance:auto;color-scheme:dark}.form-divider{height:1px;background:var(--line);margin:25px 0}.segmented{display:flex;padding:4px;background:#101315;border:1px solid var(--line);border-radius:10px;gap:4px}.segmented button{background:transparent;flex:1;border:0;color:var(--muted);padding:8px;border-radius:7px;font-size:11px}.segmented button.active{background:#2b302f;color:var(--text)}.model-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.model-option{border:1px solid var(--line);border-radius:10px;padding:14px 12px;cursor:pointer;position:relative;background:#ffffff02}.model-option:has(input:checked){border-color:var(--orange);background:#ffa07707}.model-option input{position:absolute;right:10px;top:12px;accent-color:var(--orange);width:auto}.model-option .model-mark{font-size:21px;font-weight:700;color:var(--orange);margin-bottom:10px}.model-option.pro .model-mark{color:var(--blue)}.model-option.flash .model-mark{color:var(--purple)}.model-option strong{display:block;font-size:11px}.model-option small{display:block;font-size:9px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}.upload-zone{border:1px dashed #ffffff25;border-radius:11px;padding:23px;text-align:center;cursor:pointer;display:block;background:#ffffff02}.upload-zone:hover{border-color:var(--orange)}.upload-zone .icon{color:var(--orange);width:25px;height:25px;margin-bottom:8px}.upload-zone strong{display:block;font-size:11px}.upload-zone span{font-size:10px;color:var(--muted)}.step-list{display:grid;gap:22px;margin-top:20px}.step-row{display:flex;gap:12px}.step-number{width:24px;height:24px;border-radius:7px;background:#ffa07710;color:var(--orange);display:grid;place-items:center;font-size:10px;flex-shrink:0}.step-row h4{font-size:11px}.step-row p{font-size:10px;color:var(--muted);margin-top:5px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.inline-fields .field{margin-bottom:10px}.check-field{display:flex;align-items:start;gap:9px;font-size:11px;color:var(--muted);margin:15px 0}.check-field input{margin-top:5px;accent-color:var(--orange)}.key-indicator{font-size:10px;color:var(--green);margin-top:7px}.settings-layout{max-width:900px;display:grid;gap:22px}.settings-layout .form-card{padding:25px}.setting-title{display:flex;align-items:center;gap:10px;margin-bottom:20px}.setting-title .icon{color:var(--orange)}.setting-title h2{margin:0;font-size:15px}.settings-layout .notice{margin:15px 0}.connection-results{font-size:11px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px;line-height:2}.connection-results .available{color:var(--green)}.connection-results .unavailable{color:#ffb3a4}.user-table{width:100%;border-collapse:collapse;font-size:11px}.user-table th{font-weight:500;color:var(--muted);text-align:left;padding:11px 8px;border-bottom:1px solid var(--line)}.user-table td{padding:12px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.user-table .btn{font-size:10px;padding:4px 9px}.table-scroll{overflow-x:auto}.busy-overlay{position:fixed;inset:0;background:#0c1014df;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:100}.busy-card{max-width:420px;text-align:center;padding:35px}.busy-card .spinner{width:45px;height:45px;color:var(--orange);border-width:3px;margin-bottom:24px}.busy-card h2{font-size:21px;margin-bottom:12px}.busy-card p{color:var(--muted);font-size:12px;line-height:2}
/* Course and classroom */
.course-detail-hero{display:flex;gap:28px;padding:28px;border:1px solid var(--line);border-radius:16px;background:radial-gradient(ellipse at 100% 0,#ffa0770c,transparent 65%),var(--panel);margin-bottom:25px}.course-detail-hero .cover-icon{width:78px;height:78px;flex-shrink:0;margin:5px}.course-detail-hero .cover-icon .icon{width:40px;height:40px}.detail-meta{flex:1}.detail-meta h1{font-size:25px;margin:10px 0}.detail-meta p{color:var(--muted);font-size:12px;margin-bottom:17px;max-width:600px}.detail-meta .course-meta{font-size:10px}.detail-actions{display:flex;flex-direction:column;gap:9px;justify-content:center}.outline-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px}.unit-card{display:flex;align-items:center;gap:15px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:19px;margin-bottom:12px}.unit-num{font-size:17px;font-weight:600;color:#5c666b;width:30px;text-align:center;flex-shrink:0}.unit-num.done{color:var(--green)}.unit-card .unit-info{flex:1}.unit-card h3{font-size:13px;margin-bottom:5px}.unit-card p{font-size:10px;color:var(--muted)}.unit-card small{display:block;color:#748188;font-size:9px;margin-top:6px}.unit-card .btn{font-size:10px;padding:8px 12px}.outline-edit input{margin-bottom:8px}.outline-edit textarea{min-height:65px;margin-bottom:18px}.classroom-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}.lesson-nav{background:var(--panel);border:1px solid var(--line);border-radius:14px;position:sticky;top:98px;overflow:hidden}.lesson-nav-head{padding:20px;border-bottom:1px solid var(--line)}.lesson-nav-head a{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:13px}.lesson-nav-head h3{font-size:12px;line-height:1.8}.lesson-nav-head .progress-track{margin-top:13px}.lesson-nav-head .progress-caption{font-size:9px;color:var(--muted);margin-top:7px}.lesson-nav-item{display:flex;gap:9px;padding:15px 17px;border-bottom:1px solid var(--line);font-size:10px;line-height:1.7;color:#89959b}.lesson-nav-item.active{background:#ffa07709;color:var(--orange);border-left:2px solid var(--orange);padding-left:15px}.lesson-nav-item .mini-circle{width:19px;height:19px;border:1px solid #ffffff17;border-radius:50%;font-size:9px;display:grid;place-items:center;flex-shrink:0;margin-top:1px}.lesson-nav-item .mini-circle.done{background:#b5d8b112;color:var(--green);border-color:#b5d8b133}.lesson-main{min-width:0}.lesson-title .eyebrow{color:var(--orange);margin-bottom:9px}.lesson-title h1{font-size:25px;letter-spacing:-.6px}.lesson-title p{font-size:11px;color:var(--muted);margin-top:7px}.lesson-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:23px 0}.lesson-tab{border:0;background:transparent;color:var(--muted);font-size:12px;padding:0 2px 13px;display:flex;align-items:center;gap:7px;border-bottom:2px solid transparent}.lesson-tab.active{color:var(--orange);border-bottom-color:var(--orange)}.lesson-tab .icon{width:15px;height:15px}.reading-panel{padding:27px 31px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.reading-panel .teacher-heading{display:flex;align-items:center;gap:10px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);font-size:11px}.reading-panel .teacher-heading small{font-size:9px;color:var(--muted);display:block}.prose{font-size:12px;line-height:2.05;color:#bdc4c6;overflow-wrap:anywhere}.prose h2{font-size:17px;color:var(--text);margin:25px 0 12px}.prose h3{font-size:14px;color:#e6dfd6;margin:21px 0 10px}.prose h4{font-size:12px;color:#ddd;margin:17px 0 8px}.prose p{margin:10px 0}.prose ul,.prose ol{padding-left:22px;margin:12px 0}.prose li{margin:4px 0}.prose strong{color:#e8e4df;font-weight:600}.prose code{font-family:Consolas,monospace;font-size:11px;background:#ffffff09;padding:2px 5px;border-radius:4px;color:var(--orange)}.prose pre{background:#101416;border:1px solid var(--line);padding:17px;border-radius:9px;overflow-x:auto;line-height:1.9;margin:15px 0}.prose pre code{padding:0;background:none;color:#bbd3ca;font-size:11px}.prose>:first-child{margin-top:0}.role-notes{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.role-note{padding:20px;border:1px solid #b5d8b11b;border-radius:13px;background:#b5d8b105}.role-note.peer{border-color:#9abfe11b;background:#9abfe105}.role-note h4{font-size:11px;display:flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--green)}.role-note.peer h4{color:var(--blue)}.role-note h4 .icon{width:15px;height:15px}.role-note p{font-size:11px;color:#a8b5ac;line-height:1.9}.role-note.peer p{color:#a7b3c0}.lesson-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px}.chat-panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.chat-role-picker{display:flex;gap:8px;padding:16px;border-bottom:1px solid var(--line)}.chat-role-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:transparent;padding:9px 6px;border-radius:8px;font-size:11px;color:var(--muted)}.chat-role-btn .icon{width:15px;height:15px}.chat-role-btn.active{color:var(--orange);background:#ffa0770a;border-color:#ffa07740}.chat-messages{min-height:290px;max-height:570px;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:21px}.chat-message{display:flex;gap:10px;align-items:start}.chat-message.user{flex-direction:row-reverse}.chat-bubble{background:#22282b;border:1px solid var(--line);border-radius:2px 12px 12px 12px;padding:14px 17px;max-width:88%;font-size:12px;line-height:1.9}.chat-message.user .chat-bubble{background:#ffa0770d;border-color:#ffa0771a;border-radius:12px 2px 12px 12px}.chat-bubble .bubble-meta{font-size:9px;color:var(--orange);margin-bottom:7px}.chat-bubble .prose{font-size:11px}.chat-input{border-top:1px solid var(--line);padding:16px;display:flex;gap:10px;align-items:flex-end}.chat-input textarea{flex:1;background:#111618;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:12px;resize:vertical;min-height:64px;max-height:180px;font-size:12px}.chat-input .btn{padding:12px}.chat-hint{font-size:9px;color:#738087;padding:0 18px 15px}.quiz-card{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:16px}.quiz-card .question-number{font-size:9px;color:var(--orange);letter-spacing:1.5px;margin-bottom:10px}.quiz-card h3{font-size:14px;line-height:1.8;margin-bottom:17px}.quiz-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;margin-top:8px;font-size:12px;cursor:pointer}.quiz-option:has(input:checked){border-color:#ffa07765;background:#ffa07706}.quiz-option input{accent-color:var(--orange)}.quiz-option.correct{border-color:#b5d8b166;background:#b5d8b108}.quiz-option.wrong{border-color:#ff999966;background:#ff999908}.quiz-explanation{font-size:11px;line-height:1.9;margin-top:13px;color:#b7c7b0}.quiz-result{display:flex;align-items:center;gap:24px;padding:25px;background:linear-gradient(130deg,#b5d8b10e,var(--panel));border:1px solid #b5d8b125;border-radius:14px;margin-bottom:20px}.quiz-score{font-size:45px;line-height:1;color:var(--green);font-weight:600;letter-spacing:-2px}.quiz-score small{font-size:15px;letter-spacing:0;margin-left:4px}.quiz-result h3{font-size:16px}.quiz-result p{color:var(--muted);font-size:11px;margin-top:7px}.progress-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px}.progress-course{display:flex;gap:18px;align-items:center;padding:20px;margin-bottom:12px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.progress-course .progress-body{flex:1}.progress-course h3{font-size:13px}.progress-course .progress-track{margin-top:13px}.progress-course .spread{font-size:10px;color:var(--muted);margin-top:6px}.score-entry{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line)}.score-entry h4{font-size:11px}.score-entry small{font-size:9px;color:var(--muted)}.score-entry strong{color:var(--green);font-size:17px}.modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(5px);z-index:90;display:flex;align-items:center;justify-content:center;padding:22px}.modal{width:min(100%,630px);max-height:88vh;overflow-y:auto;background:#1a1e20;border:1px solid #ffffff20;border-radius:17px;padding:27px;box-shadow:0 30px 120px #0008}.modal h2{font-size:19px;margin-bottom:18px}.modal .prose{font-size:12px}.modal .close-modal{float:right}.modal .field textarea{min-height:70px}
/* Welcome and authentication */
.public-page{min-height:100vh;background:radial-gradient(ellipse at 80% 20%,#ffa07708,transparent 50%),var(--bg)}.public-nav{max-width:1240px;margin:auto;padding:28px 40px;display:flex;align-items:center;justify-content:space-between}.public-nav-links{display:flex;align-items:center;gap:30px;font-size:11px;color:var(--muted)}.public-hero{max-width:1240px;margin:25px auto 0;padding:45px 40px 65px;display:grid;grid-template-columns:1.15fr 1fr;gap:35px;align-items:center}.public-hero .tag{font-size:10px;padding:6px 11px}.public-hero h1{font-size:54px;line-height:1.4;letter-spacing:-2px;margin:23px 0}.public-hero h1 span{color:var(--orange)}.public-hero p{max-width:440px;font-size:13px;color:#939da1;line-height:2}.public-hero .hero-cta{display:flex;align-items:center;gap:14px;margin-top:29px}.public-hero .hero-cta .btn{padding:13px 22px}.hero-social{display:flex;align-items:center;gap:12px;margin-top:30px;color:#78868c;font-size:10px}.avatar-stack{display:flex;padding-left:5px}.avatar-stack .avatar{margin-left:-5px;border:2px solid var(--bg);width:26px;height:26px;font-size:11px}.avatar-stack .avatar:nth-child(2){background:var(--blue)}.avatar-stack .avatar:nth-child(3){background:var(--orange)}.public-art{height:380px;position:relative}.public-art .hero-art{width:100%;height:100%}.public-art .sun-core{width:150px;height:150px;font-size:110px;border-radius:38px}.public-art .orbit{width:305px;height:305px}.public-art .o2{width:222px;height:222px}.public-art .o3{width:380px;height:380px}.public-art .orbit-person{padding:13px 15px;font-size:11px}.public-art .person-1{left:15%;top:11%}.public-art .person-2{left:4%;bottom:17%}.public-art .person-3{right:0;top:49%}.public-art .orbit-person .icon{width:20px;height:20px}.public-features{max-width:1240px;margin:0 auto;padding:0 40px 50px}.public-feature-heading{text-align:center;margin-bottom:30px}.public-feature-heading .eyebrow{color:var(--orange);margin-bottom:12px}.public-feature-heading h2{font-size:24px;font-weight:550;letter-spacing:-.5px}.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.public-feature-card{border:1px solid var(--line);background:#ffffff02;border-radius:15px;padding:24px}.public-feature-card .role-avatar{width:44px;height:44px;margin-bottom:20px}.public-feature-card h3{font-size:15px}.public-feature-card p{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.9}.public-footer{max-width:1240px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#65747b}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-story{padding:45px 55px;position:relative;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse at 60% 45%,#ffa0770d,transparent 65%),#171b1c;border-right:1px solid var(--line)}.auth-story .auth-art{position:relative;height:300px;margin-top:auto}.auth-story .hero-art{width:100%;height:100%}.auth-story .hero-art .sun-core{width:105px;height:105px}.auth-story .quote{margin-top:20px;margin-bottom:auto;position:relative;z-index:1}.auth-story .quote h2{font-size:30px;font-weight:500;letter-spacing:-1px;line-height:1.8}.auth-story .quote h2 span{color:var(--orange)}.auth-story .quote p{font-size:12px;color:var(--muted);margin-top:15px;max-width:360px;line-height:1.9}.auth-story .copyright{font-size:9px;color:#66737a;margin-top:45px}.auth-form-side{display:flex;align-items:center;justify-content:center;padding:45px}.auth-form{width:100%;max-width:365px}.auth-form .eyebrow{color:var(--orange);margin-bottom:12px}.auth-form h1{font-size:28px;margin-bottom:10px}.auth-form .auth-sub{color:var(--muted);font-size:12px;margin-bottom:30px}.auth-form .field{margin-bottom:19px}.auth-form .field input{padding:13px 14px;background:#191d1f;font-size:12px}.auth-form .auth-alt{text-align:center;font-size:11px;color:var(--muted);margin-top:24px}.auth-form .auth-alt a{color:var(--orange);margin-left:5px}.auth-form .auth-back{display:flex;align-items:center;gap:7px;font-size:10px;color:#77868b;margin-top:36px}.auth-form .auth-back .icon{width:13px;height:13px}.auth-form .error-box{margin-bottom:19px}.auth-form .btn.primary{padding:13px}.auth-tip{display:flex;align-items:flex-start;gap:8px;font-size:10px;color:#7e8e91;line-height:1.8;margin-top:23px;padding:13px;background:#b5d8b106;border:1px solid #b5d8b112;border-radius:9px}.auth-tip .icon{width:15px;height:15px;color:var(--green);margin-top:2px}
@media(min-width:1500px){.content{padding-left:50px;padding-right:50px}.hero{min-height:265px}.hero-copy{padding:35px 38px}.course-cover{height:135px}.hero h2{font-size:34px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1200px){.sidebar{width:205px;padding:25px 14px 18px}.sidebar .brand{margin-left:8px}.brand-title{font-size:17px}.brand-symbol{width:31px;height:31px;font-size:30px}.app-body{margin-left:205px}.topbar{padding:0 26px}.content{padding:28px 26px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.hero h2{font-size:27px}.hero-copy{padding:26px}.hero-art{width:40%}.stat-card{padding:15px 12px;gap:10px}.stat-icon{width:31px;height:31px}.stat-value{font-size:22px}.template-card{padding:12px;gap:8px}.template-card h4{font-size:9px}.template-card>.icon{display:none}.form-layout{grid-template-columns:minmax(0,1fr) 245px}.courses-all{grid-template-columns:repeat(2,minmax(0,1fr))}.public-hero h1{font-size:46px}.outline-grid{grid-template-columns:minmax(0,1fr) 250px}.classroom-layout{grid-template-columns:200px minmax(0,1fr);gap:18px}}
@media(max-width:1020px){.dashboard-grid{grid-template-columns:1fr}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;gap:17px}.role-panel{margin:0}.template-grid{margin-bottom:24px}.stats-grid{gap:10px}.stat-card{align-items:flex-start}.stat-icon{display:none}.hero-art{width:43%}.hero-copy{max-width:63%}.hero p{max-width:310px}.form-layout,.outline-grid{grid-template-columns:1fr}.form-aside{display:none}.classroom-layout{grid-template-columns:180px minmax(0,1fr);gap:17px}.reading-panel{padding:23px}.role-notes{grid-template-columns:1fr}.course-detail-hero{gap:18px;padding:22px}.course-detail-hero>.cover-icon{display:none}.auth-story{padding:38px}.auth-form-side{padding:35px}.public-hero h1{font-size:39px}.public-art{height:320px}.public-art .orbit-person{font-size:10px;padding:10px}.public-art .orbit{width:260px;height:260px}.public-art .o3{width:325px;height:325px}.public-art .o2{width:190px;height:190px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:232px;transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:20px 0 70px #0009}.app-body{margin-left:0}.mobile-toggle{display:grid}.topbar{height:62px;padding:0 20px}.topbar-right .date-label,.topbar-right .divider{display:none}.content{padding:24px 20px 30px}.breadcrumb{gap:7px;font-size:10px}.page-heading h1{font-size:25px}.page-heading .btn{font-size:10px;padding:9px 13px}.hero{min-height:226px}.hero-copy{padding:24px;max-width:68%}.hero h2{font-size:25px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero p{font-size:10px;max-width:250px}.hero-art{width:38%;opacity:.65;right:-10px}.sun-core{width:83px;height:83px;font-size:62px;border-radius:23px}.hero .orbit{width:200px;height:200px}.hero .o2{width:135px;height:135px}.hero .o3{width:255px;height:255px}.hero .orbit-person{display:none}.stats-grid{grid-template-columns:repeat(4,1fr);margin-bottom:25px}.stat-card{padding:13px 10px}.stat-value{font-size:23px}.stat-value small{font-size:8px;margin-left:3px}.stat-label{font-size:9px}.course-grid{gap:12px}.course-info{padding:14px}.course-info h3{font-size:13px}.template-grid{grid-template-columns:1fr}.template-card h4{font-size:11px}.template-card>.icon{display:block}.template-card{padding:14px}.template-card p{font-size:10px}.classroom-layout{display:block}.lesson-nav{position:static;margin-bottom:20px}.lesson-nav-head{padding:15px}.lesson-nav-head h3{font-size:12px}.lesson-nav-head .progress-track,.lesson-nav-head .progress-caption{display:none}.lesson-nav-items{display:flex;overflow-x:auto}.lesson-nav-item{min-width:155px;padding:12px;font-size:9px;border-bottom:0}.lesson-nav-item.active{border-left:0;border-bottom:2px solid var(--orange);padding-left:12px}.lesson-title h1{font-size:22px}.course-detail-hero{display:block}.detail-actions{flex-direction:row;justify-content:flex-start;margin-top:20px}.detail-meta h1{font-size:22px}.form-card{padding:21px}.model-options{gap:7px}.model-option{padding:12px 9px}.model-option strong{font-size:10px}.progress-overview{gap:10px}.progress-overview .stat-card{padding:15px}.progress-course{padding:16px;gap:13px}.public-nav{padding:22px 22px}.public-nav-links{gap:15px}.public-nav-links>a:first-child{display:none}.public-hero{grid-template-columns:1fr;margin:0;padding:35px 25px 30px;gap:0}.public-hero h1{font-size:43px;margin:20px 0}.public-hero p{font-size:12px}.public-art{height:285px;margin-top:20px}.public-art .hero-art{max-width:420px;left:50%;transform:translateX(-50%)}.public-art .sun-core{width:118px;height:118px;font-size:88px;border-radius:29px}.public-art .orbit{width:235px;height:235px}.public-art .o3{width:300px;height:300px}.public-art .o2{width:165px;height:165px}.public-art .person-1{top:4%;left:17%}.public-art .person-2{bottom:10%;left:13%}.public-art .person-3{right:5%}.public-features{padding:20px 25px 35px}.public-feature-grid{grid-template-columns:1fr}.public-feature-card{padding:20px;display:grid;grid-template-columns:44px 1fr;gap:0 16px}.public-feature-card .role-avatar{grid-row:span 2;margin:0}.public-feature-card h3{font-size:13px}.public-feature-card p{margin-top:5px;font-size:11px}.public-feature-heading h2{font-size:21px}.public-footer{padding:22px 25px;font-size:8px;gap:15px}.auth-layout{grid-template-columns:1fr}.auth-story{display:none}.auth-form-side{padding:45px 26px;min-height:100vh}.auth-form{max-width:400px}.user-table{min-width:480px}.app-footer{font-size:8px;gap:15px}.chat-bubble{max-width:86%}.quiz-card{padding:20px}.topbar .tag{font-size:9px;padding:4px 7px}.page-heading p{font-size:11px}.unit-card{padding:16px;gap:10px}.unit-card h3{font-size:12px}.unit-num{width:24px;font-size:15px}.unit-card .btn{padding:7px 9px}.lesson-bottom .btn{font-size:10px;padding:10px 12px}.reading-panel{padding:21px}.inline-fields{grid-template-columns:1fr}.modal{padding:22px}}
@media(max-width:420px){.content{padding-left:15px;padding-right:15px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{display:flex;align-items:center}.stat-icon{display:grid}.hero-copy{max-width:80%;padding:23px}.hero h2{font-size:23px}.hero-art{opacity:.35}.dashboard-aside{grid-template-columns:1fr}.course-grid{grid-template-columns:1fr}.course-cover{height:130px}.model-options{grid-template-columns:1fr}.model-option{display:grid;grid-template-columns:30px 1fr;gap:0 10px}.model-option .model-mark{grid-row:span 2;margin:0;align-self:center}.model-option input{right:13px;top:19px}.model-option small{margin:0}.progress-overview{grid-template-columns:1fr}.public-hero h1{font-size:37px}.public-nav .brand-title{font-size:16px}.public-nav-links .btn{padding:8px 12px;font-size:10px}.hero-social{font-size:9px}.course-detail-hero .course-meta{flex-wrap:wrap}.detail-actions{flex-wrap:wrap}.lesson-tabs{gap:20px}.chat-role-picker{gap:5px;padding:12px}.chat-role-btn{font-size:10px}.chat-messages{padding:15px}.quiz-result{gap:16px}.quiz-result h3{font-size:14px}.progress-course>.cover-icon{display:none}}
.brand-sub{white-space:nowrap;font-size:8px;letter-spacing:1px}.settings-layout,.settings-layout>.form-card{min-width:0}.table-scroll{max-width:100%}.form-actions{flex-wrap:wrap}
@media(max-width:760px){.settings-layout .spread{flex-wrap:wrap}.settings-layout .form-actions .btn{font-size:11px}.sidebar .brand{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition:none!important}}

/* AI credit access */
.credit-balance{font-size:44px;color:var(--orange);margin:20px 0}.credit-balance small{font-size:13px;color:var(--muted)}.credit-event{padding:14px 0;border-bottom:1px solid var(--border);gap:12px}.credit-code-list{grid-column:1/-1}#created-codes{min-height:180px;font-family:monospace;overflow-wrap:anywhere}.form-card>h2{margin-bottom:16px}.form-card>p{line-height:1.8;margin-bottom:16px}.notice a{color:var(--orange)}
