:root{--bg:#f3f6fb;--surface:#fff;--surface-soft:#f8fafc;--line:#e5edf5;--text:#1f2a37;--muted:#6c7a8c;--primary:#2f80ed;--primary-soft:#ebf3ff;--success:#1a9b5d;--danger:#d64545}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.page-container{width:100%;max-width:none;margin:0;padding:1.1rem 1.2rem 2.4rem}h1,h2,h3,h4{margin:0}h2{font-size:1.75rem;line-height:1.2}a{color:inherit;text-decoration:none}input,button,textarea,select{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:10px;padding:.68rem .78rem;font-family:inherit;font-size:.95rem}button{cursor:pointer}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;width:100%;padding:.55rem 1.2rem;position:sticky;top:0}.topbar-main{align-items:center;gap:.65rem;min-width:0;display:flex}.topbar-brand{flex:0 auto;align-items:center;gap:.6rem;min-width:0;display:flex}.topbar-links{flex-wrap:nowrap;align-items:center;gap:.34rem;min-width:0;display:flex;overflow-x:auto}.topbar-links[hidden],.topbar-links-legacy{display:none!important}.topbar-links a{color:#3c4b5d;white-space:nowrap;border-radius:8px;padding:.34rem .52rem;font-size:.82rem;font-weight:600}.topbar-links a:hover{background:var(--primary-soft);color:var(--primary)}.topbar-logo-link{border-radius:10px;flex:none;justify-content:center;align-items:center;padding:.1rem .2rem;display:inline-flex}.topbar-logo-link:hover{background:#f4f8ff}.topbar-logo-img{object-fit:contain;width:132px;height:82px;display:block}.topbar-link-badge{align-items:center;gap:.35rem;display:inline-flex}.topbar-notify-count{color:#fff;background:#d64545;border-radius:999px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .32rem;font-size:.72rem;font-weight:700;display:inline-flex}.auth-block{flex:none;justify-content:flex-end;align-items:end;gap:.32rem;margin-left:auto;display:grid}.account-chip{border:1px solid var(--line);background:var(--surface-soft);border-radius:8px;gap:.04rem;min-width:180px;max-width:240px;padding:.34rem .58rem;text-decoration:none;display:grid}.account-chip:hover{background:#f4f9ff;border-color:#b8d2f0}.account-chip-title{color:#435366;font-size:.72rem;font-weight:700}.account-chip-nick{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.account-chip-email{color:#6d7d91;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.account-controls-row{justify-content:flex-end;align-items:center;gap:.32rem;display:flex}.account-action-btn{color:#1f5f9f;white-space:nowrap;background:#eef6ff;border:1px solid #b8d2f0;border-radius:8px;justify-content:center;align-items:center;height:30px;padding:0 .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.account-action-btn:hover{background:#dfeeff}.logout-icon-btn{color:#ad2e2e;background:#fff2f2;border:1px solid #efb5b5;border-radius:8px;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;padding:0;font-size:.86rem;font-weight:700;display:inline-flex;position:relative}.logout-icon-btn:hover{background:#ffe9e9}.message-icon-btn{color:#1f6fd1;background:#eef6ff;border-color:#b7d4ff}.message-icon-btn:hover{background:#dfeeff}.message-notify-count{min-width:1rem;height:1rem;padding:0 .25rem;font-size:.62rem;position:absolute;top:-.45rem;right:-.45rem;box-shadow:0 0 0 2px #fff}.grid{gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1rem}.soft-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:.9rem}.totp-qr{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:8px;width:min(220px,100%);padding:.5rem}.totp-offer{border-top:1px solid var(--line);gap:.45rem;padding-top:.65rem;display:grid}.dashboard-card{gap:.75rem;max-width:1100px;margin:0 auto;display:grid}.dashboard-card h2{margin:0;font-size:1.25rem}.dashboard-grid{gap:.7rem}.dashboard-profile-table{gap:.45rem;display:grid}.dashboard-settings-table{min-width:620px}.dashboard-settings-table th{white-space:nowrap;color:#415066;background:#eef5fb;width:190px;font-size:.82rem}.dashboard-settings-table td{vertical-align:middle;overflow-wrap:anywhere;font-size:.84rem}.dashboard-settings-table td:last-child{white-space:nowrap;text-align:right;width:1%}.dashboard-row-actions{justify-content:flex-end;align-items:center;gap:.35rem;display:inline-flex}.dashboard-name-input,.dashboard-card .soft-card input,.dashboard-card .soft-card textarea{max-width:360px;min-height:32px;font-size:.84rem}.dashboard-name-input{width:min(100%,280px)}.dashboard-card .soft-card{border-radius:8px;gap:.55rem;padding:.7rem}.dashboard-result-card{max-width:760px}.dashboard-result-card textarea{width:min(100%,560px)}.dashboard-card .soft-card strong{font-size:.92rem}.dashboard-card .muted{font-size:.82rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;display:grid}.pricing-card{background:#fbfdff;border:1px solid #d7e4f3;border-radius:10px;align-content:start;gap:.55rem;min-height:100%;padding:.9rem;display:grid}.pricing-card h4{margin:0;font-size:1.05rem}.pricing-price{color:#1f6fd1;font-size:1.02rem}.pricing-list{color:#435366;margin:0;padding-left:1.05rem;font-size:.86rem;line-height:1.45}.pricing-card-action{align-self:end;margin-top:auto;padding-top:.35rem}.pricing-duration-list{flex-wrap:wrap;gap:.35rem;display:flex}.pricing-duration-pill{color:#314257;background:#fff;border:1px solid #dce8f5;border-radius:999px;align-items:center;gap:.3rem;width:fit-content;padding:.26rem .52rem;font-size:.78rem;display:inline-flex}.pricing-duration-pill small{color:#0a8f63;font-weight:700}.pricing-feature-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.45rem;display:grid}.pricing-feature-grid span{background:#fff;border:1px solid #dbe7f4;border-radius:8px;padding:.45rem .55rem;font-size:.86rem}.pricing-modal{border:1px solid #cfe0f3;gap:.85rem;display:grid;box-shadow:0 24px 70px #1b2d483d}.subscription-duration-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;display:grid}.subscription-duration-option{color:#26364a;cursor:pointer;background:#fff;border:1px solid #d7e5f2;border-radius:10px;align-items:flex-start;gap:.5rem;padding:.62rem .7rem;display:flex}.subscription-duration-option-active{background:#edf6ff;border-color:#1f6fd1;box-shadow:inset 0 0 0 1px #1f6fd126}.subscription-duration-option input{width:auto;margin-top:.18rem}.subscription-duration-option span{gap:.12rem;display:grid}.subscription-duration-option small{color:#516276}.subscription-select-field{color:#42556b;gap:.3rem;max-width:320px;font-size:.84rem;font-weight:700;display:grid}.subscription-select-field select{color:#26364a;background:#fff;border:1px solid #d7e5f2;border-radius:9px;padding:.5rem .62rem;font-size:.88rem}.subscription-range-grid{background:#fbfdff;border:1px solid #d7e5f2;border-radius:10px;gap:.65rem;padding:.8rem;display:grid}.subscription-range-row{gap:.35rem;display:grid}.subscription-range-row span{color:#314257;justify-content:space-between;gap:.8rem;font-size:.86rem;display:flex}.subscription-range-row b{color:#1f6fd1}.subscription-range-row input[type=range]{accent-color:#1f6fd1;width:100%}.journal-summary{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.journal-summary span{color:#33465c;background:#fff;border:1px solid #dbe7f4;border-radius:999px;padding:.24rem .5rem;font-size:.78rem;font-weight:700}.journal-heatmap{grid-template-columns:repeat(auto-fill,minmax(18px,1fr));gap:.28rem;display:grid}.journal-day{border:1px solid #d9e5f2;border-radius:5px;width:18px;height:18px;display:inline-block}.journal-day-empty{background:#eef3f8}.journal-day-active{background:#b9d9ff;border-color:#82b8f5}.journal-day-solved{background:#9be7c1;border-color:#5ec98f}.journal-day-review{background:#ffd98f;border-color:#f2b94c}.journal-legend{color:#53657a;flex-wrap:wrap;gap:.65rem;font-size:.78rem;display:flex}.journal-legend span{align-items:center;gap:.3rem;display:inline-flex}.btn{background:var(--primary);color:#fff;border:none;border-radius:9px;width:auto;padding:.58rem .9rem;font-weight:600}.btn:hover{filter:brightness(.98)}.btn-outline{color:#37506a;background:#fff;border:1px solid #d8e4f0}.btn-danger{background:var(--danger)}.feedback{color:var(--success);margin:0;font-size:.92rem}.feedback-error{color:var(--danger);margin:0;font-size:.92rem}.app-toast-stack{z-index:5000;pointer-events:none;gap:.5rem;width:min(380px,100vw - 28px);display:grid;position:fixed;top:24px;left:50%;transform:translate(-50%)}.app-toast{color:#fff;opacity:1;border-radius:12px;max-height:180px;padding:.72rem .85rem;font-size:.9rem;line-height:1.35;animation:.22s ease-out toast-enter;overflow:hidden;transform:translate(0);box-shadow:0 14px 28px #0914233d}.app-toast-info{background:#285fadf5}.app-toast-success{background:#1c844ef5}.app-toast-warning{background:#bc770cf5}.app-toast-error{background:#b22d2df5}.app-toast-closing{animation:.38s forwards toast-exit}@keyframes toast-enter{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@keyframes toast-exit{0%{opacity:1;max-height:180px;margin-top:0;transform:translate(0)}to{opacity:0;max-height:0;margin-top:-.25rem;transform:translate(26px)}}.muted{color:var(--muted)}.badge{background:var(--primary-soft);color:var(--primary);border-radius:999px;align-items:center;gap:.32rem;padding:.2rem .6rem;font-size:.79rem;font-weight:600;display:inline-flex}.badge-success{color:#116b3c;background:#e5f8ef}.badge-warning{color:#8a5600;background:#fff3d8}.badge-muted{color:#526275;background:#edf1f6}.pill{width:fit-content;min-height:28px;color:var(--primary);background:#eff6ff;border:1px solid #cfe0f3;border-radius:999px;align-items:center;padding:.18rem .58rem;font-size:.78rem;font-weight:800;display:inline-flex}.hero{background:linear-gradient(125deg,#f4f8ff 0%,#eff6ff 56%,#f8fbff 100%);gap:.85rem;display:grid}.hero p{color:#4e5f72;margin:0}.hero-actions{flex-wrap:wrap;gap:.6rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.stats-grid article{gap:.3rem;display:grid}.stats-grid strong{color:#1b4f92;font-size:1.5rem}.project-intro{gap:.75rem}.project-intro p{margin:0}.project-value-grid{gap:.8rem;display:grid}.catalog-layout{gap:1rem;display:grid}.catalog-sidebar{align-content:start}.catalog-main{gap:.9rem;display:grid}.catalog-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.catalog-search{max-width:330px}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:.85rem;display:grid}.course-link{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;margin:0;padding:0}.course-link:hover{color:var(--primary);text-decoration:underline}.course-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:.58rem;padding:.9rem;display:grid}.course-meta{color:var(--muted);flex-wrap:wrap;gap:.45rem;font-size:.82rem;display:flex}.chips-row{flex-wrap:wrap;gap:.44rem;display:flex}.learn-layout{gap:1rem;display:grid}.learn-layout-single{grid-template-columns:1fr}.learn-sidebar{align-content:start}.learn-sidebar ul{gap:.32rem;margin:0;padding:0;list-style:none;display:grid}.learn-sidebar li{color:#4d6178;border-radius:8px;padding:.44rem .52rem;font-size:.9rem}.learn-sidebar-tab{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:0;padding:0}.learn-tree{gap:.38rem;display:grid}.learn-tree-root{color:#31557a;text-align:left;background:#f4f8ff;border:0;border-radius:9px;width:100%;padding:.52rem .62rem;font-weight:700}.learn-tree-course{gap:.26rem;display:grid}.learn-tree-course-btn{border:1px solid var(--line);color:#364b63;text-align:left;background:#fff;border-radius:9px;width:100%;padding:.46rem .62rem;font-weight:600}.learn-tree-course-btn-active{color:#2a5f9d;background:#edf4ff;border-color:#c5daf8}.learn-tree-children{border-left:2px solid #d9e7f8;gap:.2rem;margin-left:.5rem;padding-left:.55rem;display:grid}.learn-tree-child{color:#5a6f87;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.45rem;width:100%;padding:.28rem .1rem;font-size:.88rem;display:flex}.learn-tree-child-active{color:#2f80ed;font-weight:700}.learn-tree-danger{color:#b63b3b;font-weight:700}.learn-tree-danger:hover{color:#962f2f}.tree-count-badge{color:#fff;background:#d64545;border-radius:999px;justify-content:center;align-items:center;min-width:1.28rem;height:1.28rem;padding:0 .36rem;font-size:.72rem;font-weight:800;display:inline-flex}.tree-count-badge-danger{background:#b42318;box-shadow:0 0 0 2px #b423181f}.sidebar-task-counters{align-items:center;gap:.25rem;margin-left:auto;display:inline-flex}.learn-outline-course-title{text-align:left;width:100%;margin-top:.35rem}.table-pagination{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.6rem;display:flex}.table-pagination-left{justify-content:flex-start;align-items:center}.page-size-options{gap:.25rem;display:inline-flex}.page-size-options .btn{min-width:38px}.page-size-options .btn-active{color:#fff;background:#1769bd;border-color:#1769bd}.course-subtopic-btn{background:#f8fbff;border:1px solid #d9e5f3;border-radius:10px;margin-top:.25rem;padding:.5rem .6rem}.course-subtopic-btn:hover{background:#eef5ff}.learn-sidebar li a{color:inherit;text-decoration:none}.learn-sidebar li.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.learn-content{gap:1rem;display:grid}.learn-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.list-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:.35rem;padding:.78rem;display:grid}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.inline-checkbox{color:#4f6177;align-items:center;gap:.45rem;font-size:.86rem;display:inline-flex}.inline-checkbox input{width:auto;margin:0}.file-upload-line{background:#f6faff;border:1px dashed #b7cce8;border-radius:10px;gap:.35rem;padding:.65rem;display:grid}.template-links{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.import-xlsx-form{align-items:center}.import-course-target{background:#f7fbff;border:1px solid #dbe8f7;border-radius:8px;flex:100%;min-width:min(100%,320px);padding:.65rem}.import-course-target>label,.import-course-target .compact-action-row>label,.task-placement-modal form>label{gap:.25rem;width:min(100%,520px);display:grid}.import-course-target label>span,.task-placement-modal label>span{color:#40536b;font-size:.78rem;font-weight:800}.task-placement-modal form select{width:min(100%,620px)}.compact-action-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.compact-action-row>label{gap:.25rem;width:fit-content;max-width:100%;display:inline-grid}.compact-action-row>label span,.compact-action-row>label small{color:#52657c;font-size:.74rem;font-weight:800}.compact-action-row>label small{max-width:220px;font-weight:600}.compact-action-row>label input,.compact-action-row>label select{border-radius:8px;width:auto;min-width:150px;max-width:min(100%,240px);padding:.4rem .55rem;font-size:.84rem}.compact-field{gap:.25rem;width:fit-content;max-width:100%;display:inline-grid}.compact-field span{color:#52657c;font-size:.74rem;font-weight:800}.compact-help{margin:0;font-size:.76rem;line-height:1.35}.compact-field input,.compact-field select{border-radius:8px;width:auto;min-width:150px;max-width:min(100%,240px);padding:.4rem .55rem;font-size:.84rem}.compact-control{border-radius:8px;width:auto;min-width:150px;max-width:min(100%,260px);padding:.42rem .55rem;font-size:.84rem}.compact-task-form>input,.compact-task-form>select,.compact-task-form>textarea{width:100%;max-width:none}.compact-task-form .compact-action-row{align-items:flex-end}.task-constructor-wide-field,.task-constructor-statement{width:100%;max-width:none}.task-constructor-statement{resize:vertical;min-height:180px}.task-constructor-structure-fields{gap:.65rem;width:min(100%,900px);display:grid}.task-constructor-structure-fields .compact-field,.task-constructor-structure-fields select{width:100%;max-width:none}.task-condition-builder{order:10}.task-constructor-submit-actions{order:11}.task-created-actions{order:12}.task-max-score-field{width:fit-content}.task-max-score-field input{width:9rem}.assignments-page-shell{gap:1rem;display:grid}.assignments-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.assignments-layout-single{grid-template-columns:minmax(0,1fr)}.assignments-layout-single .assignments-main{width:min(100%,1100px);margin-inline:auto}.assignments-main{min-width:0}.task-navigation-floating{z-index:80;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:.55rem;padding:.55rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 12px 28px #0f172a2e}.task-navigation-floating span{color:#334155;text-align:center;min-width:4.5rem;font-size:.85rem}.assignment-sidebar{border-left:4px solid #2563eb;align-content:start}.assignment-outline-course,.course-task-outline-course{margin-top:-.35rem;display:block}.assignment-solver-head{align-items:center}.assignment-outline-tree,.assignment-outline-module,.assignment-outline-lesson,.assignment-outline-tasks{gap:.5rem;display:grid}.assignment-outline-module{background:#f8fbff;border:1px solid #cbdff6;border-radius:8px;padding:.7rem}.rich-task-editor{background:#fff;border:1px solid #94a3b8;border-radius:6px;gap:0;width:100%;display:grid;overflow:hidden}.rich-task-toolbar{background:#f8fafc;border-bottom:1px solid #cbd5e1;flex-wrap:wrap;gap:.3rem;padding:.45rem;display:flex}.rich-task-toolbar button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;min-width:2rem;min-height:2rem;padding:.25rem .55rem}.rich-task-editor-surface{text-align:left;white-space:normal;outline:none;min-height:13rem;padding:.85rem}.rich-task-editor-surface:empty:before{color:#64748b;content:attr(data-placeholder)}.rich-task-editor-surface table{border-collapse:collapse;width:100%}.rich-task-editor-surface td,.rich-task-editor-surface th{border:1px solid #94a3b8;padding:.45rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.test-file-heading{align-items:center;gap:.55rem;min-width:0;display:flex}.test-file-icon{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd;border-radius:4px;place-items:center;min-width:2.6rem;height:2rem;padding-inline:.35rem;font-size:.66rem;font-weight:800;display:inline-grid}.group-course-multiselect{width:min(100%,28rem);min-height:7rem}.course-overview-table-wrap{overflow-x:auto}.course-overview-table{min-width:700px}.course-overview-module-row td{background:#eff6ff;font-weight:600}.table-link-button{color:#1d4ed8;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:700}.assignment-outline-progress{font-size:.76rem}.assignment-outline-lesson{padding-left:.65rem}.assignment-outline-lesson-toggle{color:#334155;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;grid-template-columns:minmax(0,1fr) auto;gap:.18rem .5rem;width:100%;padding:.42rem 1.45rem .42rem .5rem;display:grid;position:relative}.assignment-outline-lesson-toggle:hover:not(:disabled){background:#eaf3ff}.assignment-outline-lesson-toggle span{font-weight:700}.assignment-outline-lesson-toggle small{color:#64748b;grid-column:1;font-size:.72rem}.assignment-outline-lesson-toggle:after{content:"";border-bottom:2px solid #4f6f94;border-right:2px solid #4f6f94;width:.42rem;height:.42rem;transition:transform .16s;position:absolute;top:.72rem;right:.55rem;transform:rotate(45deg)}.assignment-outline-lesson-toggle[aria-expanded=true]:after{transform:rotate(225deg)}.assignment-outline-lesson-toggle:disabled{cursor:default}.assignment-outline-lesson-toggle:disabled:after{display:none}.assignment-outline-tasks{grid-template-columns:minmax(0,1fr)}.assignment-outline-task{color:#1e3a5f;text-align:left;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:6px;width:100%;padding:.5rem .65rem}.assignment-outline-task:hover,.assignment-outline-task-active{color:#12335f;background:#dbeafe;border-color:#2563eb}.assignment-outline-task-solved{color:#17633d;background:#edf9f2;border-color:#a9dcc2}.floating-task-section-btn{z-index:40;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 12px 30px #0f172a3d}.assignment-recipient-picker{width:100%}.assignment-recipient-table{min-width:660px}.assignment-recipient-table th:first-child,.assignment-recipient-table td:first-child{text-align:center;width:4.5rem}.filter-selection-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.checkbox-filter{width:min(100%,230px);min-width:165px;position:relative}.checkbox-filter>summary{cursor:pointer;color:#26384f;background:#fff;border:1px solid #c7d8ea;border-radius:8px;align-items:center;gap:.42rem;min-height:34px;padding:.36rem .55rem;font-size:.79rem;list-style:none;display:flex}.checkbox-filter>summary::-webkit-details-marker{display:none}.checkbox-filter>summary:after{content:"▾";color:#55708f;margin-left:auto}.checkbox-filter[open]>summary{border-color:#5f9eea;box-shadow:0 0 0 2px #2f80ed1f}.checkbox-filter-label{color:#31557a;flex:none;font-weight:800}.checkbox-filter-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.checkbox-filter-menu{z-index:80;background:#fff;border:1px solid #bfd4ec;border-radius:8px;gap:.45rem;width:max(100%,270px);padding:.55rem;display:grid;position:absolute;top:calc(100% + .32rem);left:0;box-shadow:0 14px 34px #1e3a5f33}.checkbox-filter-options{gap:.18rem;max-height:240px;display:grid;overflow-y:auto}.checkbox-filter-option{color:#26384f;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:.45rem;min-height:30px;padding:.28rem .34rem;font-size:.8rem;display:grid}.checkbox-filter-option:hover{background:#eef6ff}.checkbox-filter-option input,.task-filter-bar .checkbox-filter-option input{width:16px;min-width:16px;height:16px;min-height:16px;margin:0;padding:0}.checkbox-filter-option-all{border-bottom:1px solid #e1ebf5;border-radius:0;padding-bottom:.46rem;font-weight:800}.filter-select-all{align-self:end}.task-card-head{align-items:flex-start}.member-picker-item{background:#fbfdff;border:1px solid #d8e6f5;border-radius:10px}.member-picker-item>input[type=checkbox]{accent-color:#2563eb;width:18px;height:18px}.task-detail-preview-card{color:#17243a;background:#fff;border-color:#cbdff6}.task-detail-preview-card .muted{color:#52657c}.task-meta-grid{color:#20324c;background:#f7fbff;border:1px solid #dbe8f7;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.4rem;padding:.75rem;display:grid}.learn-tree-course-btn{text-align:left;gap:.15rem;display:grid}.learn-tree-course-btn .muted{font-size:.76rem;line-height:1.2}.xlsx-upload-control{color:#40536b;cursor:pointer;background:#f6faff;border:1px dashed #b7cce8;border-radius:9px;align-items:center;width:min(100%,320px);min-height:36px;padding:.42rem .62rem;font-size:.84rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.xlsx-upload-control span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.xlsx-upload-control input{opacity:0;cursor:pointer;position:absolute;inset:0}.task-card{position:relative}.status-pill{border:1px solid #0000;border-radius:999px;width:fit-content;padding:.2rem .58rem;font-size:.76rem;font-weight:700;display:inline-flex}.status-green{color:#117c4a;background:#ecf9f1;border-color:#cdeedc}.status-yellow{color:#946800;background:#fff8e9;border-color:#f3dfaf}.status-red{color:#a83131;background:#fff0f0;border-color:#f0c5c5}.member-chip{color:#3368ad;background:#edf4ff;border-radius:999px;align-items:center;padding:.22rem .52rem;font-size:.79rem;display:inline-flex}.members-wrap{flex-wrap:wrap;gap:.4rem;display:flex}.tabs-row{flex-wrap:wrap;gap:.6rem;display:flex}.tab-btn{color:#4f6177;background:#fff;border:1px solid #dae6f2;border-radius:999px;width:auto;padding:.44rem .8rem;font-weight:600}.tab-btn-active{background:var(--primary-soft);color:var(--primary);border-color:#cde0fb}.user-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:.6rem;padding:.8rem;display:grid}.user-actions{flex-wrap:wrap;gap:.45rem;display:flex}.btn-mini{border-radius:8px;place-self:center start;width:fit-content;padding:.34rem .58rem;font-size:.8rem;line-height:1.1}.grid>.btn,.grid>.btn-mini,.grid>.btn.btn-mini{justify-self:start}.compact-table{min-width:680px}.compact-table th,.compact-table td{padding:.42rem;font-size:.82rem}.task-detail-preview-grid{gap:.75rem;display:grid}.task-detail-preview-card{background:#fbfdff;border-color:#cfe0f3}.course-editor-main-card input,.course-editor-main-card textarea,.course-editor-structure-card input,.task-structure-compact input,.task-structure-compact select,.task-structure-compact textarea{min-height:34px;padding:.42rem .55rem;font-size:.84rem}.course-editor-main-card textarea,.task-structure-compact textarea{min-height:86px}.course-editor-main-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.55rem;display:grid}.course-editor-main-grid input,.course-editor-main-grid textarea{width:min(100%,760px);max-width:100%}.course-editor-field,.course-pricing-grid label{color:#40536b;gap:.25rem;font-size:.78rem;font-weight:700;display:grid}.course-editor-description-field textarea{min-height:58px}.course-editor-toggle{background:#f8fbff;border:1px solid #d7e5f5;border-radius:6px;align-self:center;width:fit-content;min-height:26px;padding:.16rem .34rem;font-size:.78rem;line-height:1.2}.course-editor-toggle-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.course-editor-toggle input{width:14px;height:14px;min-height:14px}.course-pricing-grid{grid-template-columns:repeat(auto-fit,minmax(112px,max-content));align-items:end;gap:.45rem;display:grid}.course-pricing-grid input{width:112px}.course-pricing-panel{background:#f8fbff;border:1px solid #d8e6f5;border-radius:10px;padding:.65rem}.course-outline-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start;gap:.75rem;display:grid}.course-outline-nav{background:#f7fbff;border:1px solid #d8e6f5;border-radius:10px;gap:.4rem;max-height:calc(100vh - 120px);padding:.65rem;display:grid;position:sticky;top:74px;overflow:auto}.course-outline-group{gap:.2rem;display:grid}.course-outline-nav a{color:#23415f;font-size:.82rem;line-height:1.25;text-decoration:none;display:block}.course-outline-nav a:hover{color:var(--primary)}.course-outline-lesson{padding-left:.75rem;color:#61738a!important;font-size:.78rem!important}.course-outline-content{gap:.6rem;min-width:0;display:grid}.new-course-module-input{flex:520px!important;width:min(100%,720px)!important;max-width:720px!important}.course-task-structure-layout{direction:ltr;grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.course-task-node-picker{direction:ltr;background:#fff;border:1px solid #d8e6f5;border-radius:8px;grid-template-columns:minmax(0,1fr);gap:.45rem;max-height:calc(100vh - 110px);padding:.75rem;display:grid;position:sticky;top:74px;overflow:auto}.course-task-table-panel{gap:.65rem;min-width:0;display:grid}.course-task-outline-title{color:#1e3a5f;border-bottom:2px solid #d8e6f5;padding-bottom:.55rem;font-size:.9rem;font-weight:800}.course-task-outline-list,.course-task-outline-sublist{gap:.18rem;margin:0;padding:0;list-style:none;display:grid}.course-task-outline-module{gap:.18rem;display:grid}.course-task-outline-sublist{border-left:1px solid #d8e6f5;margin:.12rem 0 .35rem .65rem;padding-left:.65rem}.course-task-outline-link{color:#334a65;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:baseline;gap:.38rem;width:100%;min-width:0;padding:.42rem .32rem;display:flex}.course-task-outline-link:hover,.course-task-outline-link:focus-visible{color:#174f8f;background:#eef6ff}.course-task-outline-link:focus-visible{outline-offset:1px;outline:2px solid #7fb1f1}.course-task-outline-link-active{color:#174f8f;background:#e5f1ff;font-weight:700}.course-task-outline-module-link{font-size:.86rem;font-weight:700}.course-task-outline-lesson-link{color:#5b6f86;font-size:.79rem}.course-task-outline-number{color:#6a7d92;font-variant-numeric:tabular-nums;flex:none}.course-task-outline-name{overflow-wrap:anywhere;flex:auto;align-items:baseline;min-width:0;display:flex}.course-task-outline-name:after{content:"";border-bottom:1px dotted #b8c7d8;flex:20px;min-width:12px;margin:0 .25rem}.course-task-outline-count{color:#718399;font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:1.35rem;font-size:.72rem}.task-structure-toolbar{background:#f7fbff;border:1px solid #d8e6f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.55rem;display:flex}.task-structure-toolbar strong{margin-right:auto}.course-task-structure-table th,.course-task-structure-table td{vertical-align:middle}.course-task-structure-table th:first-child,.course-task-structure-table td:first-child,.course-task-structure-table th:nth-last-child(-n+3),.course-task-structure-table td:nth-last-child(-n+3){white-space:nowrap;text-align:center;width:1%}.course-task-settings-btn{place-items:center;width:32px;height:32px;padding:0;font-size:1rem;display:inline-grid}.test-files-editor{min-width:min(520px,72vw);margin-top:8px}.test-file-settings{width:100%;padding:10px}.test-file-settings .compact-field,.task-editor-modal .compact-field{width:100%;max-width:none}.test-file-settings input[type=text],.test-file-settings input:not([type]),.task-editor-modal input,.task-editor-modal select,.task-editor-modal textarea{width:100%}.test-file-preview{text-align:left;margin-top:8px}.task-editor-modal{max-height:92vh;position:relative;overflow-y:auto}.task-editor-modal .compact-inline-checkbox{text-align:left;justify-content:flex-start;justify-self:start;width:fit-content}.task-editor-close-prompt{z-index:8;border-top:1px solid var(--line);background:#f7fafdf5;justify-content:center;padding:.75rem;display:flex;position:sticky;bottom:0;left:0;right:0}.task-editor-close-prompt .soft-card{width:min(520px,100%)}.modal-card.task-transfer-modal{width:min(1280px,100vw - 2rem);max-height:min(92vh,980px)}.task-transfer-route{grid-template-columns:minmax(360px,1fr) auto minmax(440px,1.2fr);align-items:center;gap:1rem;display:grid}.task-transfer-point{background:#f8fbff;border:1px solid #d8e6f5;border-radius:8px;gap:.5rem;min-width:0;padding:.8rem;display:grid}.task-transfer-point label{gap:.25rem;display:grid}.task-transfer-point select{width:100%;min-width:0;max-width:none;min-height:38px}.focused-task-editor{z-index:1200;background:#fff;width:auto;max-height:94vh;padding:1rem;position:fixed;inset:3vh max(1rem,50vw - 590px);overflow:auto;box-shadow:0 0 0 100vmax #121a2685,0 24px 60px #0f172a47}.focused-task-editor form>input,.focused-task-editor form>select,.focused-task-editor form>textarea{width:100%;max-width:none}.focused-task-editor form>textarea{min-height:180px}.task-transfer-arrow{color:var(--primary);font-size:1.8rem;font-weight:800}.task-preview-modal .assignment-statement{background:#fff;border:1px solid #d8e6f5;border-radius:8px;padding:.85rem}.task-preview-location{color:#40536b;flex-wrap:wrap;gap:.5rem 1rem;display:flex}.task-preview-modal pre{white-space:pre-wrap;text-align:left;margin:0}.learn-sidebar-outline{border-top:1px solid #d8e6f5;gap:.45rem;padding-top:.75rem;display:grid}.learn-sidebar-outline-group{gap:.28rem;display:grid}.course-module-card,.course-lesson-row{scroll-margin-top:90px}.task-transfer-grid{grid-template-columns:repeat(auto-fit,minmax(140px,max-content));align-items:end;gap:.45rem;display:grid}.task-transfer-grid strong{grid-column:1/-1}.task-transfer-grid select{width:auto;min-width:140px;max-width:min(100%,280px)}.course-task-modal-form{gap:.75rem;width:100%}.course-task-modal-grid{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.55rem;display:grid}.course-task-modal-grid .compact-field input,.course-task-modal-grid .compact-field select{width:100%;min-width:0;max-width:100%}.course-task-modal-form .compact-field{width:100%;max-width:none}.course-task-modal-form select,.course-task-modal-form input,.course-task-modal-form textarea{width:100%;max-width:100%}.course-task-modal-grid .compact-field input[readonly]{color:#40536b;background:#f8fbff}.course-task-statement-field{grid-column:1/-1}.course-task-statement-field textarea,.course-task-answer-field input{width:100%;max-width:100%}.code-tests-table textarea{min-width:180px;min-height:64px;padding:.38rem .48rem;font-size:.82rem}.course-detail-hero{grid-template-columns:minmax(0,1fr) max-content;align-items:start}.course-detail-meta{color:#40536b;background:#f8fbff;border:1px solid #d8e6f5;border-radius:10px;gap:.28rem;min-width:190px;padding:.65rem;font-size:.84rem;font-weight:700;display:grid}.course-detail-outline{grid-template-columns:minmax(220px,300px) minmax(0,1fr);align-items:start;gap:.85rem;display:grid}.course-detail-outline-nav{background:#f7fbff;border:1px solid #d8e6f5;border-radius:10px;gap:.7rem;max-height:calc(100vh - 120px);padding:.7rem;display:grid;position:sticky;top:74px;overflow:auto}.course-detail-outline-group{gap:.35rem;display:grid}.course-outline-button{color:#37506a;text-align:left;background:#fff;border-color:#d9e7f5;border-radius:8px;grid-template-columns:max-content minmax(0,1fr);gap:.45rem;width:100%;padding:.38rem .48rem;font-size:.83rem;display:grid}.course-outline-button span:first-child{color:var(--primary);font-weight:800}.course-outline-button-active{border-color:var(--primary);background:#eff6ff;box-shadow:0 0 0 2px #2563eb14}.course-detail-outline-content{gap:.65rem;min-width:0;display:grid}.course-editor-structure-card .list-card,.task-structure-compact .list-card{gap:.45rem;padding:.6rem}.course-editor-structure-card .user-actions,.task-structure-compact .user-actions{align-items:center;gap:.35rem}.course-editor-structure-card .course-module-card>.user-actions input,.course-editor-structure-card .course-lesson-row input{flex:360px;min-width:min(100%,320px);max-width:min(100%,620px)}.course-editor-structure-card .btn,.task-structure-compact .btn{padding:.34rem .58rem;font-size:.8rem}.course-editor-structure-card .tab-btn,.task-structure-compact .tab-btn{text-align:left;justify-self:start;width:fit-content;max-width:100%}.user-actions input,.user-actions select,.task-filter-bar input,.task-filter-bar select,.admin-table input,.admin-table select{width:auto;min-width:8.5rem;max-width:min(100%,260px);min-height:32px;padding:.34rem .5rem;font-size:.82rem}.user-actions select,.task-filter-bar select,.admin-table select{width:fit-content;min-width:9rem;padding-right:1.85rem}.admin-table input[type=checkbox],.user-actions input[type=checkbox],.task-filter-bar input[type=checkbox]{width:16px;height:16px;min-height:16px;padding:0}.user-actions .btn,.task-filter-bar .btn,.admin-table .btn{width:fit-content;padding:.34rem .58rem;font-size:.8rem}.compact-admin-form{padding:.7rem}@media (max-width:900px){.course-editor-main-grid,.course-outline-layout,.course-detail-outline,.course-detail-hero{grid-template-columns:1fr}.course-outline-nav,.course-detail-outline-nav{max-height:none;position:static}.course-task-structure-layout{grid-template-columns:1fr}.course-task-node-picker{max-height:none;position:static}.task-transfer-route{grid-template-columns:1fr}.focused-task-editor{max-height:calc(100vh - 2rem);inset:1rem}.task-transfer-arrow{justify-self:center;transform:rotate(90deg)}}.compact-table textarea{border-radius:8px;min-height:72px;padding:.42rem .5rem;font-size:.82rem}.choice-editor{gap:.55rem}.subscription-admin-table textarea{resize:vertical;min-width:220px}.subscription-admin-table input[type=number],.subscription-admin-table input:not([type]),.subscription-admin-table select{min-width:88px}.compact-discount-grid{grid-template-columns:repeat(3,minmax(58px,1fr));gap:.35rem;display:grid}.subscription-create-card{background:#fbfdff;border-color:#d6e5f3}.subscription-create-grid{grid-template-columns:repeat(auto-fit,minmax(130px,max-content));align-items:end;gap:.55rem;display:grid}.subscription-create-grid label,.subscription-description-field{color:#42556b;gap:.25rem;font-size:.82rem;font-weight:600;display:grid}.subscription-create-grid input,.subscription-description-field textarea{border:1px solid var(--line);border-radius:8px;width:min(100%,190px);padding:.42rem .52rem;font-size:.84rem}.subscription-description-field textarea{resize:vertical;width:min(100%,620px)}.subscription-checkbox-field{grid-template-columns:auto 1fr;align-items:center;gap:.4rem;min-height:38px}.subscription-checkbox-field input{width:auto}.choice-table{min-width:560px}.choice-table th:first-child,.choice-table td:first-child{text-align:center;width:54px}.choice-table th:nth-child(3),.choice-table td:nth-child(3){text-align:center;width:118px}.choice-correct-cell{color:#1f3a5f;justify-content:center;align-items:center;gap:.4rem;min-height:32px;font-weight:700;display:inline-flex}.choice-correct-cell input{accent-color:var(--accent)}.task-filter-bar{background:#f2f8ff;border:1px solid #c8dcf2;border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;padding:.58rem;display:grid}.task-filter-bar select{color:#1f2f46;background:#fff;border-color:#bdd3eb;min-height:38px;font-size:.88rem}.assignment-meta-row{grid-template-columns:minmax(150px,190px) minmax(185px,230px);justify-content:start;align-items:end;gap:.48rem;display:grid}.assignment-meta-row label{color:#40536b;gap:.2rem;font-size:.78rem;font-weight:700;display:grid}.assignment-meta-row select,.assignment-meta-row input{border-radius:8px;min-height:32px;padding:.34rem .46rem;font-size:.8rem}.assignment-meta-row small{color:#69798d;font-size:.72rem;font-weight:500;line-height:1.25}@media (max-width:560px){.assignment-meta-row{grid-template-columns:1fr}}.filter-panel{background:#eef6ff;border:1px solid #d7e5f5;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.5rem;padding:.62rem;display:grid}.filter-panel input,.filter-panel select{background:#fff;border-color:#c9daee;border-radius:8px;padding:.46rem .56rem;font-size:.84rem}.filter-panel label{color:#40536b;gap:.25rem;font-size:.78rem;font-weight:700;display:grid}.login-history-filter-panel,.admin-page-filter-panel{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.login-history-filter-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.login-history-table{min-width:980px}.login-history-user-agent{white-space:nowrap;text-overflow:ellipsis;max-width:360px;overflow:hidden}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;min-width:860px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .58rem;font-size:.88rem}.admin-table th{color:#41526a;background:#f8fbff;font-weight:700}.admin-table th.sortable-table-header{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-table th.sortable-table-header:hover,.admin-table th.sortable-table-header:focus-visible{color:#173b66;background:#eaf3ff}.admin-table th.sortable-table-header:focus-visible{outline-offset:-2px;outline:2px solid #7fb1f1}.admin-table th.sortable-table-header:after{content:"↕";color:#7892ad;margin-left:.34rem;font-size:.74rem;display:inline-block}.admin-table th.sortable-table-header[data-sort-direction=asc]:after{content:"↑";color:#1f6fd1}.admin-table th.sortable-table-header[data-sort-direction=desc]:after{content:"↓";color:#1f6fd1}.admin-table tbody tr:last-child td{border-bottom:none}.clickable-table-row{cursor:pointer}.clickable-table-row:hover{background:#f4f8ff}.clickable-table-row:focus-visible{outline-offset:-2px;outline:2px solid #7fb1f1}.table-cell-subtitle{margin-top:.12rem;font-size:.76rem;display:block}.admin-table input,.admin-table select{border-radius:8px;width:100%;min-width:130px;padding:.4rem .52rem;font-size:.84rem}.admin-table input[type=checkbox]{width:auto;min-width:0}.modal-overlay{z-index:1100;background:#121a2673;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{width:min(680px,100%);max-height:min(80vh,760px);overflow:auto}.member-picker-list{border:1px solid var(--line);background:#fff;border-radius:10px;gap:.35rem;max-height:360px;padding:.4rem;display:grid;overflow:auto}.member-picker-item{background:#f9fcff;border:1px solid #e1eaf4;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.5rem .58rem;display:flex}.member-picker-item input{width:auto;margin-top:.2rem}.member-picker-item span{gap:.1rem;display:grid}.message-text{white-space:pre-wrap;overflow-wrap:anywhere}.message-structured{gap:.45rem;display:grid}.message-line{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.message-login-search{background:#f7fbff;border:1px solid #d8e6f5;border-radius:10px;gap:.4rem;padding:.55rem;display:grid}.message-login-search input{border:1px solid var(--line);border-radius:8px;min-height:34px;padding:.4rem .52rem;font-size:.84rem}.messages-thread{background:linear-gradient(135deg,#e8f1fcbf,#fafcffe6);border:1px solid #d8e5f4;border-radius:10px;flex-direction:column;gap:.55rem;min-height:420px;max-height:min(64vh,720px);padding:.8rem 3.8rem .8rem .8rem;display:flex;overflow:hidden auto}.messages-thread-shell{position:relative}.message-scroll-controls{z-index:3;gap:.4rem;display:grid;position:absolute;bottom:.8rem;right:.8rem}.message-scroll-controls .icon-btn{color:#175ca8;background:#fff;border:1px solid #bcd4ef;width:34px;height:34px;box-shadow:0 5px 16px #1d437033}.message-bubble{background:#fff;border:1px solid #d6e2f0;border-radius:12px;gap:.35rem;width:fit-content;min-width:0;max-width:min(78%,680px);padding:.58rem .72rem;display:grid;box-shadow:0 8px 20px #25385814}.message-bubble-in{border-bottom-left-radius:4px;align-self:flex-start}.message-bubble-out{background:#e8f3ff;border-color:#bcd8fb;border-bottom-right-radius:4px;align-self:flex-end}.message-author{color:#30435a;font-size:.82rem}.message-compose{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.message-compose textarea{resize:vertical;min-height:88px;max-height:240px}@media (max-width:720px){.message-bubble{max-width:92%}.message-compose{grid-template-columns:1fr}}.row-inline{align-items:center;gap:.4rem;margin-top:.35rem;display:flex}.row-inline select[multiple]{min-height:110px}.mini-icon-btn{color:#37506a;background:#dce7f7;border:0;border-radius:999px;width:auto;margin-left:.35rem;padding:.16rem .34rem;font-size:.72rem}.checkbox-row{align-items:center;gap:.5rem;display:flex}.checkbox-row input{width:auto}.code-editor{color:#dbe7ff;background:#0e1726;border-color:#23304b;min-height:270px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem;line-height:1.55}.python-code-editor-shell{--python-code-font-size:.9rem;--python-code-line-height:1.55;--python-code-padding-y:.6rem;--python-code-padding-x:.75rem;background:#1e1e1e;border:1px solid #23304b;border-radius:8px;grid-template-columns:auto minmax(0,1fr);display:grid;overflow:hidden}.python-code-editor-shell .code-editor{resize:vertical;border:0;border-radius:0;min-height:270px}.python-code-editor-main{background:#1e1e1e;min-width:0;min-height:270px;position:relative;overflow:hidden}.python-code-highlight{min-height:100%;padding:var(--python-code-padding-y) var(--python-code-padding-x);pointer-events:none;color:#d4d4d4;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--python-code-font-size);line-height:var(--python-code-line-height);tab-size:4;white-space:pre-wrap;word-break:break-word;margin:0;position:absolute;top:0;left:0;right:0}.python-code-highlight-line{min-height:1.55em}.python-code-editor-shell .python-code-editor{z-index:1;color:#0000;caret-color:#fff;-webkit-text-fill-color:transparent;font-size:var(--python-code-font-size);line-height:var(--python-code-line-height);padding:var(--python-code-padding-y) var(--python-code-padding-x);background:0 0;position:relative}.python-code-editor::selection{background:#264f78a6}.py-token-keyword{color:#569cd6}.py-token-builtin{color:#dcdcaa}.py-token-string{color:#ce9178}.py-token-number{color:#b5cea8}.py-token-comment{color:#6a9955}.python-code-line-numbers{min-width:3rem;height:100%;padding:var(--python-code-padding-y) .45rem;color:#858585;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:var(--python-code-font-size);line-height:var(--python-code-line-height);text-align:right;-webkit-user-select:none;user-select:none;background:#1e1e1e;border-right:1px solid #333;margin:0;overflow:hidden}.python-code-editor-shell.codemirror-python-editor{background:0 0;border:0;display:block}.codemirror-python-editor .cm-editor{overflow:hidden}.codemirror-python-editor .cm-scroller{overflow:auto}.submit-under-editor{justify-self:start}.code-snippet{border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;background:#f8fbff;border-radius:8px;margin:0;padding:.6rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.84rem}.empty-state{color:#53667d;background:#f8fbff;border:1px dashed #cfdceb;border-radius:10px;padding:.9rem}.empty-state p{margin:.3rem 0 0}.login-shell{justify-content:center;align-items:center;min-height:calc(100vh - 180px);display:flex}.login-card{gap:.8rem;width:min(100%,430px);margin:0 auto;display:grid}.login-form{gap:.7rem}.field-pop-wrap{position:relative}.field-pop-error{z-index:2;color:#b03030;background:#fff1f1;border:1px solid #f1b3b3;border-radius:8px;max-width:100%;margin:0;padding:.28rem .5rem;font-size:.78rem;line-height:1.25;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 6px 16px #b0303026}.field-pop-success{color:#207a45;margin:.25rem 0 0;font-size:.78rem;line-height:1.25}.login-title{text-align:center}.login-message{margin:0}.login-toggle{justify-self:center}.task-html{line-height:1.45;overflow-x:auto}.task-html-centered{text-align:center}.task-html-centered>*,.task-html-centered table,.task-html-centered img{margin-left:auto;margin-right:auto}.task-html img{max-width:100%;height:auto}.task-html-clickable-images img{cursor:zoom-in}.task-html table{border-collapse:collapse;margin:.35rem 0}.task-html td,.task-html th{border:1px solid #d5e2ef;padding:.28rem .34rem}.task-html a.task-file-link{color:#1e5da8;background:#eef5ff;border:1px solid #cfe0f7;border-radius:10px;align-items:center;gap:.5rem;margin:.35rem 0;padding:.45rem .7rem;font-weight:600;text-decoration:none;display:inline-flex}.task-html a.task-file-link:before{content:"Файл";color:#27548a;background:#dfeeff;border:1px solid #c6dcfb;border-radius:999px;padding:.15rem .42rem;font-size:.74rem;line-height:1}.task-html a.task-file-link:after{content:"скачать файл к задаче";color:#3569a8;font-size:.78rem;font-weight:500}.task-html a.task-file-link:hover{background:#e6f0ff;border-color:#b9d3f5}.image-lightbox-overlay{z-index:1300;background:#1018269e;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.image-lightbox-img{object-fit:contain;border-radius:12px;max-width:min(1200px,92vw);max-height:86vh;box-shadow:0 16px 36px #0006}.media-lightbox-video{background:#000}.image-lightbox-close{color:#fff;background:#00000070;border:1px solid #ffffff61;border-radius:999px;width:42px;min-width:42px;height:42px;padding:0;font-size:1.5rem;line-height:1;position:fixed;top:86px;right:24px}.image-lightbox-close:hover{background:#0009}.task-title-row{align-items:center;gap:.4rem;display:inline-flex}.title-progress-block{gap:.28rem;width:100%;display:grid}.title-progress-meta{font-size:.82rem}.solved-dot{background:#1a9b5d;border-radius:999px;width:10px;height:10px;display:inline-block}.progress-track{background:#e8eef6;border-radius:999px;width:100%;height:8px;margin-top:.25rem;overflow:hidden}.title-progress-block .progress-track{margin-top:0}.progress-fill{background:linear-gradient(90deg,#67b4ff 0%,#2f80ed 100%);border-radius:999px;height:100%}.skeleton-card{border:1px solid var(--line);background:#fff;border-radius:10px;gap:.45rem;padding:.85rem;display:grid}.skeleton-line{background:linear-gradient(90deg,#eef3f8 0%,#dfe9f3 50%,#eef3f8 100%) 0 0/180% 100%;border-radius:8px;height:10px;animation:1.4s infinite shimmer}.modal-card-wide{width:min(1120px,100vw - 2rem);max-height:min(86vh,920px);overflow:auto}.assignment-detail-modal{align-content:start}.assignment-detail-statement{text-align:left;line-height:1.65}.assignment-detail-options{gap:.4rem;margin:0;padding-left:1.5rem;display:grid}.submission-code-preview,.submission-answer-preview{white-space:pre-wrap;overflow-wrap:anywhere;text-align:left;max-width:34rem;max-height:16rem;margin:0;overflow:auto}.submission-code-preview{color:#eef5ff;background:#18212f;border-radius:6px;padding:.55rem}.python-code-editor{width:100%;height:100%;min-height:270px;padding:var(--python-code-padding-y) var(--python-code-padding-x);color:#0000;caret-color:#fff;resize:vertical;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:var(--python-code-font-size);line-height:var(--python-code-line-height);white-space:pre-wrap;word-break:break-word;tab-size:4;background:0 0;border:none;outline:none;margin:0;position:relative;overflow:hidden auto}.code-snippet{white-space:pre-wrap;word-break:break-word;max-width:100%;overflow:auto}.assignment-filter-panel{background:#f3f8ff;border-color:#c7dcf7}.assignment-table-wrap{background:#fff;border:1px solid #c7dcf7;border-radius:10px}.assignment-table{color:#182333}.assignment-table thead th{color:#18304f;background:#e8f1ff;font-weight:800}.assignment-table th button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.assignment-table tbody tr:hover{background:#f7fbff}.assignment-table td{color:#26384f}.assignment-table.assignment-table-fit{table-layout:fixed;width:100%;min-width:0;font-size:.78rem}.assignment-table.assignment-table-fit th,.assignment-table.assignment-table-fit td{white-space:normal;overflow-wrap:anywhere;padding:.4rem .42rem}.assignment-table.assignment-table-fit th:nth-child(2),.assignment-table.assignment-table-fit td:nth-child(2){width:16%}.assignment-table.assignment-table-fit th:last-child,.assignment-table.assignment-table-fit td:last-child{width:6.5rem}.assignment-table.assignment-table-fit .btn{white-space:normal;max-width:100%}.assignment-statement{color:#132033;text-align:left;background:#fbfdff;border:1px solid #d6e5f6;border-radius:10px;width:100%;padding:1rem;font-size:1.08rem;line-height:1.75}.assignment-statement.task-html-centered,.assignment-statement.task-html-centered>*,.assignment-statement [style*=text-align\:center],.assignment-statement [style*="text-align: center"]{text-align:left!important}.assignment-statement.task-html-centered>*{margin-left:0;margin-right:0}.assignment-statement p,.assignment-statement li{font-size:inherit}.w40{width:40%}.w70{width:70%}.w100{width:100%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (min-width:920px){.project-value-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-layout{grid-template-columns:290px 1fr}.learn-layout{grid-template-columns:280px 1fr;align-items:start}.learn-layout-single{grid-template-columns:1fr}.learn-sidebar{max-height:calc(100vh - 96px);position:sticky;top:86px;overflow:auto}.assignments-layout:not(.assignments-layout-single){grid-template-columns:minmax(230px,300px) minmax(0,1fr)}.assignment-sidebar{max-height:calc(100vh - 96px);position:sticky;top:86px;overflow:auto}}.student-course-table{min-width:620px}.student-course-table th:first-child,.student-course-table td:first-child{width:46%}.course-progress-cell{grid-template-columns:minmax(90px,1fr) auto;align-items:center;gap:.55rem;min-width:150px;display:grid}.assignment-table-wrap .assignment-table{font-size:.86rem}.assignment-table-wrap .assignment-table th,.assignment-table-wrap .assignment-table td{padding:.48rem .55rem}.assignment-table.assignment-table-compact{table-layout:auto;min-width:760px}.assignment-table.assignment-table-compact th,.assignment-table.assignment-table-compact td{white-space:normal}.invite-existing-student-field{width:min(100%,520px)}.invite-existing-student-field select{width:100%}
