:root{--ink:#162b31;--muted:#687d83;--teal:#007c79;--line:#dce5e7;--paper:#fff;--bg:#f3f6f7}*{box-sizing:border-box}body{color:var(--ink);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55}button,input,textarea{font:inherit}button,a,label.upload-button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #45ada5}button{border:0}svg{flex-shrink:0}.app-shell{grid-template-columns:276px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:35px 20px 22px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.6px;align-items:center;gap:12px;padding:0 10px 47px;font-size:21px;font-weight:700;display:flex}.brand-icon{background:var(--teal);color:#fff;border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.brand small{letter-spacing:1.3px;color:var(--muted);font-size:12px;font-weight:400;display:block}.sidebar-label{letter-spacing:1px;color:var(--muted);justify-content:space-between;padding:0 12px 17px;font-size:12px;display:flex}.sidebar-label span{font-family:monospace}.sidebar nav{overflow:auto}.nav-item{text-align:left;color:#566d74;background:0 0;border-radius:8px;align-items:center;gap:11px;width:100%;margin-bottom:5px;padding:15px 12px;font-size:14px;line-height:1.5;display:flex}.nav-item .nav-title{flex:1}.nav-number{color:#8fa0a5;font-family:monospace;font-size:12px}.nav-item.active{color:#006d68;background:#e9f5f2;font-weight:600;box-shadow:inset 3px 0 #008b81}.nav-item.active .nav-number{color:#008b81}.nav-item:hover{background:#eef4f4}.add-tab{color:var(--teal);background:0 0;align-items:center;gap:8px;padding:13px;font-size:14px;display:flex}.sidebar-bottom{margin-top:auto;padding-top:30px}.cloud-note{color:#647b82;background:#f4f7f8;border:1px solid #e8edef;border-radius:10px;align-items:center;gap:13px;margin-bottom:19px;padding:16px;font-size:14px;display:flex}.cloud-note small{color:#8a9da3;font-size:12px;display:block}.admin-link{color:#6c7f86;background:0 0;align-items:center;gap:9px;padding:9px;font-size:14px;display:flex}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);height:77px;color:var(--muted);background:#fffa;justify-content:space-between;align-items:center;padding:0 46px;font-size:14px;display:flex}.topbar>span:first-child{align-items:center;gap:10px;display:flex}.mode-label{border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-size:12px}main{max-width:1480px;margin:auto;padding:43px 46px 0}.page-heading{justify-content:space-between;align-items:center;margin-bottom:41px;display:flex}.eyebrow{letter-spacing:1.6px;color:var(--teal);margin-bottom:10px;font-size:12px}h1{letter-spacing:-1.5px;margin:0;font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.2}h1 span{color:#00928a}.page-heading p{color:var(--muted);margin:10px 0 0;font-size:15px}.course-mark{color:#678187;border-left:1px solid #cbd9dd;align-items:center;gap:13px;padding-left:20px;font-size:12px;line-height:1.5;display:flex}.lecture-header{padding:0 0 23px;position:relative}.lecture-meta{align-items:center;gap:14px;margin-bottom:15px;display:flex}.pill{color:var(--teal);background:#e3efed;border-radius:5px;align-items:center;gap:7px;padding:4px 9px;font-size:12px;display:flex}.demo-label{color:#87979d;font-size:12px}.lecture-header h2{letter-spacing:-.6px;margin:0 0 8px;font-size:27px;font-weight:600;line-height:1.3}.lecture-header>p{color:var(--muted);margin:0;font-size:14px}.edit-actions{gap:7px;margin-top:16px;display:flex}.content-grid{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:23px;display:grid}.lecture,.resources{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.card-caption{border-bottom:1px solid #e7edee;align-items:center;gap:9px;padding:19px 25px;font-size:14px;font-weight:600;display:flex}.card-caption svg{color:var(--teal)}.card-caption>span{color:#74868c;background:#f0f4f5;border-radius:4px;margin-left:auto;padding:1px 7px;font-size:12px}.lecture-body{padding:10px 30px 27px}.lecture-body p{color:#4e646b;white-space:pre-wrap;overflow-wrap:anywhere;margin:19px 0;line-height:1.85}.lecture-body .paragraph-heading{color:var(--ink);margin-top:27px;font-size:18px;font-weight:600;line-height:1.4}.formula{border-left:3px solid var(--teal);background:#eef7f5;justify-content:space-between;align-items:center;gap:12px;margin:24px 0;padding:18px 23px;font-family:monospace;font-size:26px;display:flex}.formula small{color:#5c8e87;font-family:Arial;font-size:12px}.resources .card-caption{padding:19px 20px}.no-files{text-align:center;padding:34px 23px 27px}.no-files>div{color:#7b969d;background:#f0f6f6;border-radius:13px;place-items:center;width:55px;height:55px;margin:auto;display:grid}.no-files p{margin:14px 0 7px;font-size:14px;font-weight:600}.no-files small{color:#80939a;font-size:12px;line-height:1.6;display:block}.resource-foot{color:#809299;border-top:1px solid #e7edee;padding:16px 20px;font-size:12px}.file-list{padding:5px 17px}.file-row{border-bottom:1px solid #edf1f2;align-items:center;gap:10px;padding:17px 0;display:flex}.file-row:last-child{border:0}.file-icon{color:var(--teal);background:#edf6f4;border-radius:7px;padding:9px}.file-info{flex:1;min-width:0}.file-info strong{overflow-wrap:anywhere;font-size:14px;font-weight:500;display:block}.file-info small{color:#86969b;font-size:12px}.download{color:var(--teal);padding:6px}footer{border-top:1px solid var(--line);color:#8b9da3;justify-content:space-between;gap:16px;margin-top:35px;padding:21px 0;font-size:12px;display:flex}.primary,.secondary{border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:600;display:inline-flex}.primary{background:var(--teal);color:#fff}.primary:hover{background:#00635e}.secondary{color:#4c686f;background:#fff;border:1px solid #ccdadd}.danger-icon{color:#8a7373;background:0 0;border-radius:5px;padding:9px}.danger-icon:hover{color:#b54545;background:#fff1f1}.upload-button{color:var(--teal);cursor:pointer;border:1px dashed #a7c8c3;border-radius:7px;justify-content:center;align-items:center;gap:9px;margin:0 17px 18px;padding:11px;font-size:14px;display:flex}.upload-button input{display:none}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#092a37a3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:#fff;border-radius:17px;width:440px;max-width:100%;max-height:calc(100vh - 48px);padding:33px;position:relative;overflow:auto;box-shadow:0 25px 80px #08242d33}.modal.editor{width:750px}.close{color:#7c9299;background:0 0;padding:5px;position:absolute;top:17px;right:17px}.modal-icon{width:51px;height:51px;color:var(--teal);background:#e9f5f2;border-radius:12px;place-items:center;margin-bottom:21px;display:grid}.modal h2{letter-spacing:-.5px;margin:0 30px 10px 0;font-size:24px;line-height:1.3}.modal>p{color:var(--muted);margin:0 0 24px;font-size:14px}.modal label{margin-bottom:17px;font-size:14px;font-weight:600;display:block}.modal input,.modal textarea{width:100%;color:var(--ink);background:#fafcfc;border:1px solid #cad8dc;border-radius:7px;margin-top:7px;padding:11px 12px;font-size:16px;font-weight:400;display:block}.modal textarea{resize:vertical;line-height:1.6}.modal label small{color:var(--muted);font-size:12px;font-weight:400}.modal form>.primary{width:100%}.form-footer{justify-content:space-between;align-items:center;gap:15px;display:flex}.form-footer span{color:var(--muted);font-size:12px}.error{color:#a73e36;background:#fff0ef;border:1px solid #f1d4d0;border-radius:7px;margin:15px 0;padding:13px 16px;font-size:14px}.error button{color:inherit;background:0 0;margin-left:13px;text-decoration:underline}.notice{color:#247353;background:#e7f4ef;border-radius:7px;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;font-size:14px;display:flex}.empty{text-align:center;border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:12px;padding:60px 20px}.empty>svg{color:var(--teal)}.empty h2{color:var(--ink);font-size:22px}.empty p{font-size:14px}.confirm-actions{justify-content:flex-end;gap:10px;display:flex}.delete-button{background:#b34943}.side-empty{color:var(--muted);padding:12px;font-size:14px}.muted{color:var(--muted)}@media (width>=1500px){.content-grid{grid-template-columns:minmax(0,1fr) 330px}.lecture-body{padding:15px 38px 33px}}@media (width<=1100px){.app-shell{grid-template-columns:240px minmax(0,1fr)}main{padding:32px 28px 0}.topbar{padding:0 28px}.content-grid{grid-template-columns:1fr}.resources{max-width:none}.no-files{padding:23px}.course-mark{display:none}.lecture-body{padding:10px 25px 25px}}@media (width<=700px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:19px 18px 14px;position:relative}.brand{padding:0 0 20px;font-size:20px}.sidebar-label{display:none}.sidebar nav{gap:6px;display:flex;overflow-x:auto}.nav-item{width:auto;min-width:185px;max-width:250px;margin:0;font-size:14px}.nav-number{display:none}.sidebar-bottom{flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:12px 0 0;display:flex}.cloud-note{display:none}.admin-link{padding:5px 0;font-size:12px}.topbar{height:51px;padding:0 20px;font-size:12px}main{padding:28px 20px 0}.page-heading{margin-bottom:30px}h1{letter-spacing:-1px;font-size:31px}.lecture-header h2{font-size:24px}.lecture-body{padding:5px 21px 20px}.lecture-body p{font-size:16px}.card-caption{padding:17px 21px}.modal{padding:27px 23px}.overlay{padding:14px}.modal{max-height:calc(100dvh - 28px)}.form-footer{flex-direction:column;align-items:stretch}.form-footer .primary{width:100%}footer{flex-direction:column;gap:5px}.formula{font-size:23px}.mode-label{font-size:12px}.content-grid{gap:18px}}.app-shell{transition:grid-template-columns .32s cubic-bezier(.22,.8,.25,1)}.sidebar{padding:0;display:block;overflow:hidden}.sidebar-content{opacity:1;visibility:visible;flex-direction:column;width:276px;height:100%;padding:35px 20px 22px;transition:opacity .18s,transform .32s cubic-bezier(.22,.8,.25,1);display:flex;transform:translate(0)}.panel-toggle{z-index:2;width:36px;height:36px;color:var(--teal);background:#edf5f4;border-radius:8px;place-items:center;display:grid;position:absolute;top:9px;right:12px}.panel-toggle:hover{background:#d9eeea}.tabs-panel{min-height:0;overflow:auto}.sidebar-collapsed{grid-template-columns:64px minmax(0,1fr)}.sidebar-collapsed .sidebar-content{opacity:0;visibility:hidden;transition:opacity .14s,transform .32s cubic-bezier(.22,.8,.25,1),visibility 0s .32s;transform:translate(-22px)}.sidebar-collapsed .panel-toggle{right:14px}@media (width<=1100px) and (width>=701px){.sidebar-content{width:240px}}@media (width<=700px){.sidebar{max-height:650px;padding:0;transition:max-height .32s cubic-bezier(.22,.8,.25,1)}.sidebar-content{width:100%;height:auto;padding:19px 18px 14px}.sidebar-content .brand{padding-right:45px}.sidebar-collapsed .sidebar{min-height:64px;max-height:64px}.panel-toggle{top:14px;right:18px}.sidebar-collapsed .panel-toggle{right:18px}.sidebar-label{padding:4px 0 9px;display:block}.tabs-panel{overflow:visible}.sidebar-collapsed .sidebar-content{transform:translateY(-14px)}}@media (prefers-reduced-motion:reduce){.app-shell,.sidebar,.sidebar-content,.sidebar-collapsed .sidebar-content{transition:none}}
