:root{--color-bg: #f5f0e8;--color-surface: #fffcf8;--color-surface-muted: #ede6dc;--color-field: #ddd4c8;--color-accent: #b8956f;--color-accent-soft: #e2d5c3;--color-strength: #e8efe3;--color-weakness: #f3eae6;--color-text: #3d3832;--color-text-muted: #8a8279;--color-border: #e2d5c3;--color-error: #a85454;--color-success: #6b8f71;--font: system-ui, -apple-system, sans-serif;--max-width: 1500px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow-soft: 0 2px 16px rgba(61, 56, 50, .06);--focus-ring: 0 0 0 3px rgba(184, 149, 111, .25)}*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg)}a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px}a:hover{opacity:.7}.layout{min-height:100vh}.nav{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-surface);box-shadow:var(--shadow-soft)}.nav-brand{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--color-text);font-weight:600}.nav-brand:hover{opacity:1}.nav-brand img{width:24px;height:24px}.nav-links{display:flex;align-items:center;gap:var(--space-md);margin-left:auto}.nav-link{text-decoration:none;color:var(--color-text-muted);font-size:14px}.nav-link:hover,.nav-link.active{color:var(--color-text);opacity:1}.page{max-width:var(--max-width);margin:0 auto;padding:var(--space-lg)}.page-header{margin-bottom:var(--space-lg)}.page-header h1{margin:0 0 var(--space-sm);font-size:28px;font-weight:600}.page-header p{margin:0;color:var(--color-text-muted)}.student-page{display:flex;flex-direction:column;gap:20px}.home-page{display:flex;flex-direction:column;gap:0}.home-section{padding-block:var(--space-md);border-top:1px solid var(--color-border)}.home-section:first-child{border-top:none;padding-top:0}.home-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-md)}.home-section__title{margin:0;font-size:18px;font-weight:600}.home-stub-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.home-stub-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:10px 12px;border-radius:var(--radius-sm);background:var(--color-surface-muted);opacity:.75}.home-stub-list__label{font-size:14px}.home-stub-list__hint{font-size:12px;flex-shrink:0}.home-guides-section__intro,.home-attention-section__intro{margin:0 0 var(--space-md);font-size:14px}.home-attention-scroll{max-height:380px;overflow-y:auto;margin-right:-4px;padding-right:4px}.home-attention-scroll::-webkit-scrollbar{width:6px}.home-attention-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:var(--color-border)}.home-attention-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}@media(max-width:639px){.home-attention-scroll{max-height:520px}.home-attention-list{grid-template-columns:1fr}}.attention-empty{padding:var(--space-md) var(--space-lg);border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.attention-empty__title{margin:0 0 6px;font-size:15px;font-weight:600}.attention-empty__text{margin:0;font-size:13px;line-height:1.45}.attention-item{display:flex;flex-direction:column;gap:var(--space-sm);height:100%;min-height:168px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.attention-item:hover{border-color:var(--color-accent);box-shadow:0 6px 20px #3d383214;transform:translateY(-1px)}.attention-item--lesson_soon{border-left:4px solid var(--color-accent)}.attention-item--homework_not_assigned,.attention-item--recording_failed{border-left:4px solid var(--color-error)}.attention-item--homework_not_checked{border-left:4px solid #c49a3a}.attention-item__main{display:flex;flex:1;flex-direction:column;gap:6px;padding:14px 16px 10px;text-decoration:none;color:inherit}.attention-item__main:hover{opacity:1}.attention-item__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.attention-item__badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.attention-item--lesson_soon .attention-item__badge{color:#6f5438;background:var(--color-accent-soft)}.attention-item--homework_not_assigned .attention-item__badge{color:#8f3f3f;background:var(--color-weakness)}.attention-item--homework_not_checked .attention-item__badge{color:#7a5d1d;background:#f6edd8}.attention-item--recording_failed .attention-item__badge{color:#8f3f3f;background:var(--color-weakness)}.attention-item__arrow{flex-shrink:0;font-size:18px;line-height:1;color:var(--color-text-muted);transition:color .15s ease,transform .15s ease}.attention-item:hover .attention-item__arrow{color:var(--color-accent);transform:translate(2px)}.attention-item__title{font-size:17px;font-weight:700;line-height:1.3}.attention-item__detail{font-size:14px;line-height:1.45;color:var(--color-text)}.attention-item__hint{font-size:12px;line-height:1.4;margin-top:auto}.attention-item__footer{display:flex;justify-content:flex-end;padding:0 12px 12px}.attention-item__hide{font-size:12px;padding:6px 12px}.home-guides-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:640px){.home-guides-grid{grid-template-columns:repeat(2,1fr)}}.guide-card{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);height:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-decoration:none;color:inherit;transition:background .15s ease,border-color .15s ease}.guide-card:hover{background:var(--color-surface-muted);border-color:var(--color-accent)}.guide-card__body{display:flex;flex-direction:column;gap:6px;min-width:0}.guide-card__title{margin:0;font-size:15px;font-weight:600;line-height:1.35}.guide-card__excerpt{margin:0;font-size:13px;line-height:1.45}.guide-card__arrow{flex-shrink:0;font-size:18px;line-height:1;color:var(--color-text-muted);margin-top:2px}.guide-card:hover .guide-card__arrow{color:var(--color-accent)}.guide-page{display:flex;flex-direction:column;gap:var(--space-md);max-width:720px}.guide-page__back{font-size:14px;text-decoration:none;color:var(--color-text-muted);align-self:flex-start}.guide-page__back:hover{color:var(--color-accent)}.guide-page__title{margin:0;font-size:24px;font-weight:600;line-height:1.3}.guide-article{padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.students-section__toolbar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.students-section__filter{display:flex;align-items:center;gap:var(--space-sm);font-size:13px;color:var(--color-text-muted)}.students-section__filter select{padding:6px 10px;font-size:13px;border:none;border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text)}.students-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.students-list__row{display:flex;align-items:center;gap:4px}.students-list__row .students-list__item{flex:1;min-width:0}.students-list__delete{flex-shrink:0}.students-list__delete:hover:not(:disabled){color:var(--color-danger, #c0392b)}.students-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:12px 14px;border-radius:var(--radius-sm);background:var(--color-surface-muted);text-decoration:none;color:inherit;transition:background .15s ease}.students-list__item:hover{background:var(--color-accent-soft);opacity:1}.students-list__main{display:flex;flex-direction:column;gap:2px;min-width:0}.students-list__name{font-size:15px;font-weight:600}.students-list__meta{font-size:13px;color:var(--color-text-muted)}.students-list__side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.students-list__date{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.empty-state--compact{padding:var(--space-lg) var(--space-md)}.empty-state--compact img{width:80px;height:56px}.page-header--student{margin-bottom:0}.page-header--student__breadcrumb{margin-bottom:var(--space-sm)}.page-header--student__meta{margin:0 0 4px}.page-header--student h1{margin-bottom:6px;font-size:32px}.page-header__meta{color:var(--color-text-muted);font-size:14px;margin:4px 0}.page-header__notes{margin-top:12px;font-size:14px;line-height:1.6;max-width:720px}.card{background:var(--color-surface);border:none;border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:0;box-shadow:var(--shadow-soft)}.card h2{margin:0 0 var(--space-md);font-size:18px;font-weight:600}.section-actions{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-surface-muted)}.table th{font-weight:500;color:var(--color-text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em}.table tbody tr:last-child td{border-bottom:none}.form-field{margin-bottom:var(--space-md)}.form-field label{display:block;margin-bottom:6px;font-size:13px;color:var(--color-text-muted)}.form-field input[type=text],.form-field input[type=email],.form-field input[type=password],.form-field input[type=date],.form-field select,.form-field textarea{display:block;width:100%;max-width:400px;padding:10px var(--space-md);font:inherit;font-size:14px;color:var(--color-text);background:var(--color-surface-muted);border:none;border-radius:var(--radius)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;box-shadow:var(--focus-ring)}.form-field textarea{resize:vertical}.password-field{position:relative;width:100%;max-width:400px}.password-field input{width:100%;max-width:none;padding-right:44px}.password-field__toggle{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.checkbox-group{display:flex;flex-direction:column;gap:var(--space-sm)}.checkbox-group label{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text);cursor:pointer}.btn{display:inline-block;padding:10px var(--space-md);font:inherit;font-size:14px;color:var(--color-surface);background:var(--color-accent);border:none;border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:opacity .15s ease}.btn:hover{opacity:.88}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:var(--color-text);background:var(--color-surface-muted)}.btn-danger{color:var(--color-error);background:var(--color-weakness)}.error{color:var(--color-error);font-size:14px}.success{color:var(--color-success);font-size:14px}.muted{color:var(--color-text-muted);font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) var(--space-lg);color:var(--color-text-muted)}.empty-state img{width:120px;height:80px;margin-bottom:var(--space-md);opacity:.5}.empty-state p{margin:0 0 var(--space-md)}.avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-soft)}.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-xl) var(--space-lg)}.hero img{width:64px;height:64px;margin-bottom:var(--space-lg);opacity:.6}.hero h1{margin:0 0 var(--space-sm);font-size:28px;font-weight:600}.hero p{margin:0;max-width:400px;color:var(--color-text-muted)}.profile-header{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.loading{color:var(--color-text-muted);padding:var(--space-lg)}.breadcrumb{margin-bottom:var(--space-md);font-size:13px}.breadcrumb a{color:var(--color-text-muted)}.meta-line{color:var(--color-text-muted);font-size:14px;margin-bottom:var(--space-sm)}.stats-line{color:var(--color-text-muted);font-size:13px}.student-notes{margin-top:var(--space-md);font-size:14px;line-height:1.6}.lesson-link{color:var(--color-accent);cursor:pointer;text-decoration:underline}.lesson-row-highlight{background:var(--color-accent-soft);transition:background .3s ease}.soft-panel{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-soft)}.soft-panel--strength{background:var(--color-strength)}.soft-panel--weakness{background:var(--color-weakness)}.soft-panel--muted{background:var(--color-surface-muted)}.ui-field{margin-bottom:var(--space-md)}.ui-field__label{display:block;margin-bottom:6px;font-size:13px;color:var(--color-text-muted)}.ui-input,.ui-select,.ui-textarea{display:block;width:100%;padding:10px var(--space-md);font:inherit;font-size:14px;color:var(--color-text);background:var(--color-surface-muted);border:none;border-radius:var(--radius);transition:box-shadow .15s ease}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{outline:none;box-shadow:var(--focus-ring)}.ui-textarea{resize:vertical;min-height:80px}.ui-checkbox{display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.ui-checkbox input{position:absolute;opacity:0;width:0;height:0}.ui-checkbox__box{flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-sm);background:var(--color-surface-muted);transition:background .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center}.ui-checkbox__box:after{content:"";width:6px;height:10px;border:solid var(--color-surface);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .15s ease;margin-top:-2px}.ui-checkbox input:checked+.ui-checkbox__box{background:var(--color-accent)}.ui-checkbox input:checked+.ui-checkbox__box:after{transform:rotate(45deg) scale(1)}.ui-checkbox input:focus-visible+.ui-checkbox__box{box-shadow:var(--focus-ring)}.ui-checkbox__label{transition:opacity .15s ease,text-decoration-color .15s ease}.ui-checkbox__label--done{text-decoration:line-through;opacity:.65}.ui-range{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-accent-soft);border-radius:999px;outline:none}.ui-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-accent);cursor:pointer;box-shadow:0 1px 4px #3d383226}.ui-range::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--color-accent);cursor:pointer}.ui-progress{margin-top:var(--space-md)}.ui-progress__track{height:10px;background:var(--color-accent-soft);border-radius:999px;overflow:hidden}.ui-progress__fill{height:100%;background:var(--color-accent);border-radius:999px;transition:width .5s ease}.ui-progress__label{margin-top:6px;font-size:13px;color:var(--color-text-muted)}.soft-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px var(--space-md);font:inherit;font-size:14px;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .15s ease,background .15s ease}.soft-btn--primary{color:var(--color-surface);background:var(--color-accent)}.soft-btn--ghost{color:var(--color-text-muted);background:transparent}.soft-btn--ghost:hover{color:var(--color-text);background:var(--color-surface-muted)}.soft-btn--pill{border-radius:999px;padding:8px var(--space-md);background:var(--color-surface-muted);color:var(--color-text)}.soft-btn--pill:hover{background:var(--color-accent-soft)}.soft-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;transition:background .15s ease,color .15s ease}.icon-btn:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.source-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-surface);border-radius:999px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#3d383240;padding:var(--space-lg)}.modal-overlay--stacked{z-index:1100}.modal{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 8px 32px #3d38321f}.modal h2{margin:0 0 var(--space-lg);font-size:18px;font-weight:600}.modal-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.block-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.block-header h2{margin:0;font-size:18px;font-weight:600}.block-header__actions{margin-left:auto}.block-hint{position:relative;display:inline-flex}.block-hint__trigger{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:11px;cursor:help;line-height:1}.block-hint__tooltip{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:10;width:260px;padding:var(--space-sm) var(--space-md);background:var(--color-surface);color:var(--color-text);font-size:12px;line-height:1.5;border-radius:var(--radius);box-shadow:var(--shadow-soft);font-weight:400}.block-hint:hover .block-hint__tooltip,.block-hint:focus-within .block-hint__tooltip{display:block}.goal-block{position:relative;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.goal-block--embedded{padding:0;gap:var(--space-sm)}.student-overview{display:grid;grid-template-columns:1fr minmax(240px,320px);gap:var(--space-lg);align-items:start;padding-block:var(--space-md);border-top:1px solid var(--color-border)}.student-overview__profile{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.student-overview__meta{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-lg)}.student-overview__item{display:flex;flex-direction:column;gap:2px;font-size:14px}.student-overview__label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.student-overview__notes{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-muted);white-space:pre-wrap}.student-overview__edit{align-self:flex-start;margin-top:var(--space-xs, 4px)}.student-overview__progress{display:flex;flex-direction:column;gap:var(--space-sm);min-width:0}.student-overview__goal{display:flex;flex-direction:column;gap:4px}.student-overview__goal-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.student-overview__goal-title{margin:0;font-size:16px;font-weight:600;line-height:1.35}.student-overview__goal-empty{margin:0;font-size:14px}.student-overview__nav{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-xs, 4px)}.student-overview__progress .ui-progress{margin-top:0}.student-section-title{margin:0;font-size:18px;font-weight:600}.student-dynamics-summary{margin-top:var(--space-lg);padding:var(--space-lg)}.student-dynamics-summary__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.student-dynamics-summary__title{margin:0;font-size:18px;font-weight:600}.student-dynamics-summary__counter{font-size:12px;color:var(--color-text-muted)}.student-dynamics-summary__counter--near-limit{color:#b45309}.student-dynamics-summary__counter--at-limit{color:#b91c1c}.student-dynamics-summary__hint{margin:var(--space-xs) 0 var(--space-md);font-size:13px;line-height:1.5}.student-dynamics-summary__editor{margin-top:var(--space-sm)}.student-dynamics-summary__editor-wrap{overflow:hidden}.student-dynamics-summary__status{margin:var(--space-xs) 0 0;font-size:12px}.student-lessons-overview{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-block:var(--space-md);border-top:1px solid var(--color-border)}.student-lessons-overview__header{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.student-lessons-overview__all-link{font-size:13px;color:var(--color-text-muted);text-decoration:none}.student-lessons-overview__all-link:hover{color:var(--color-text);text-decoration:underline}.student-lesson-col{display:flex;flex-direction:column;gap:var(--space-sm);padding-inline:var(--space-md);min-width:0}.student-lesson-col:first-child{padding-left:0;border-right:1px solid var(--color-border)}.student-lesson-col:last-child{padding-right:0}.student-lesson-col__title{margin:0;font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.student-lesson-col__meta{margin:0;font-size:12px;color:var(--color-text-muted)}.student-lesson-col__topic{margin:0;font-size:15px;font-weight:600}.student-lesson-col__preview{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.4}.student-lesson-col__empty,.student-lesson-col__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.student-lesson-col__content{display:flex;flex-direction:column;gap:6px}.student-lesson-col--scheduled .student-lesson-col__meta{font-weight:500;color:var(--color-text)}.lesson-lifecycle-badge{display:inline-block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px}.lesson-lifecycle-badge--scheduled{color:var(--color-text-muted);border:1px dashed var(--color-border);background:transparent}@media(max-width:720px){.student-overview,.student-lessons-overview{grid-template-columns:1fr}.student-lesson-col:first-child{padding-right:0;padding-bottom:var(--space-md);border-right:none;border-bottom:1px solid var(--color-border)}.student-lesson-col:last-child{padding-left:0;padding-top:var(--space-md)}}.lessons-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-md);align-items:stretch}.lessons-feed__empty{grid-column:1 / -1;margin:0;font-size:14px}.lesson-feed-card{display:flex;flex-direction:column;min-height:180px;padding:var(--space-md);border-radius:var(--radius-sm);text-decoration:none;color:inherit;border:none;font:inherit;text-align:left;cursor:pointer;transition:opacity .15s ease,box-shadow .15s ease}.lesson-feed-card:hover{opacity:.92}.lesson-feed-card--scheduled{background:var(--color-surface-muted)}.lesson-feed-card--overdue{background:#c45c5c1a;box-shadow:inset 0 0 0 1px #c45c5c59}.lesson-feed-card--overdue:hover{opacity:1;box-shadow:inset 0 0 0 1px var(--color-error)}.lesson-feed-card__overdue-label{color:var(--color-error);font-weight:500}.lesson-feed-card--completed{background:var(--color-surface)}.lesson-feed-card--add{align-items:center;justify-content:center;gap:var(--space-sm);background:transparent;border:2px dashed var(--color-border);color:var(--color-text-muted)}.lesson-feed-card--add:hover{border-color:var(--color-accent);color:var(--color-accent);opacity:1}.lesson-feed-card__add-icon{font-size:32px;font-weight:300;line-height:1}.lesson-feed-card__add-label{font-size:13px;font-weight:500}.lesson-feed-card__meta{margin:0 0 4px;font-size:12px;color:var(--color-text-muted)}.lesson-feed-card__topic{margin:0;font-size:15px;font-weight:600;flex:1}.lesson-feed-card__preview{margin:8px 0 0;font-size:13px;color:var(--color-text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.lessons-page__actions{margin-top:var(--space-sm)}.lesson-detail-page__meta{margin:4px 0 0;font-size:14px;color:var(--color-text-muted)}.lesson-detail-page__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.lesson-detail-page__title{flex:1;min-width:0;margin:0;font-size:32px;font-weight:600;line-height:1.2;outline:none;cursor:text}.lesson-detail-page__header-actions{display:flex;flex-shrink:0;align-items:center;gap:var(--space-sm);padding-top:6px}.lesson-detail-page__title:empty:before{content:"Название урока";color:var(--color-text-muted);pointer-events:none}.lesson-detail-page__stub{margin:6px 0 0;font-size:13px}.homework-compose-modal{display:flex;flex-direction:column;gap:12px}.homework-compose-modal__textarea{width:100%;min-height:160px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:14px;line-height:1.5;resize:vertical;background:var(--color-bg);color:var(--color-text);box-sizing:border-box}.homework-compose-modal__textarea:focus{outline:none;border-color:#4a6cf780}.homework-compose-modal__textarea--fixed{resize:none}.homework-compose-modal__attachments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.homework-compose-modal__attachment{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--color-surface-muted);border-radius:var(--radius-sm)}.homework-compose-modal__filename{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.homework-compose-modal__remove{flex-shrink:0;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;font-size:18px;line-height:1;cursor:pointer;color:var(--color-text-muted)}.homework-compose-modal__remove:hover{background:#0000000f;color:var(--color-text)}.homework-compose-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.homework-compose-modal__actions-right{display:flex;align-items:center;gap:8px}.homework-compose-modal__actions--footer{justify-content:flex-end;margin-top:var(--space-md)}.lesson-homework-block__header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:var(--space-sm)}.lesson-homework-block__header .lesson-section__title{margin-bottom:0}.lesson-homework-block__actions{display:flex;align-items:center;gap:4px}.lesson-homework-block__status{margin-bottom:var(--space-sm)}.lesson-homework-block__text{margin:0 0 var(--space-sm);font-size:15px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.lesson-homework-block__text a{color:var(--color-link, #4a6cf7);text-decoration:underline}.lesson-homework-block__attachments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lesson-homework-block__file-link{font-size:14px;color:var(--color-link, #4a6cf7);text-decoration:none}.lesson-homework-block__file-link:hover{text-decoration:underline}.lesson-detail-page{display:flex;flex-direction:column;gap:24px}.lesson-section{padding-block:var(--space-md);border-top:1px solid var(--color-border)}.lesson-section__title{margin:0 0 var(--space-sm);font-size:13px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.lesson-section__title--sub{margin-bottom:6px}.lesson-section__status{margin:var(--space-sm) 0 0;font-size:12px}.lesson-topics-mini__empty{margin:0;font-size:13px}.lesson-topics-mini__linked{list-style:none;margin:var(--space-sm) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.lesson-topics-mini__item{display:inline-flex;align-items:center;margin:0;background:var(--color-surface-muted);border-radius:var(--radius-sm)}.lesson-topics-mini__link{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:4px 6px 4px 10px;border-radius:var(--radius-sm);font:inherit;font-size:13px;cursor:pointer;color:var(--color-text)}.lesson-topics-mini__link:hover{background:var(--color-accent-soft)}.lesson-topics-mini__remove{border:none;background:transparent;color:var(--color-text-muted);font-size:16px;line-height:1;cursor:pointer;padding:4px 8px 4px 2px}.lesson-topics-mini__remove:hover{color:var(--color-error)}.lesson-topics-mini__trend{font-weight:700;font-size:12px}.lesson-topics-mini__trend--improving{color:var(--color-success)}.lesson-topics-mini__trend--regressing{color:var(--color-error)}.lesson-topics-mini__trend--stable{color:var(--color-text-muted)}.lesson-topic-assessments__body{display:flex;align-items:flex-start;gap:var(--space-lg);width:100%}.lesson-topic-assessments__main{flex:1;min-width:0}.lesson-topic-assessments__empty{margin:0;font-size:13px}.lesson-topic-assessments__list{list-style:none;margin:var(--space-md) 0 0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.lesson-topic-assessments__item{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);width:fit-content;max-width:100%;padding:var(--space-sm);background:var(--color-surface-muted);border-radius:var(--radius-sm)}.lesson-topic-assessments__title{align-self:flex-start;border:none;background:transparent;padding:0;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--color-text)}.lesson-topic-assessments__title:hover:not(:disabled){color:var(--color-accent)}.lesson-topic-assessments__title:disabled{cursor:default}.lesson-topic-assessments__statuses{display:inline-flex;flex-wrap:wrap;gap:6px;width:fit-content}.lesson-topic-assessments__status{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:12px;cursor:pointer;color:var(--color-text-muted)}.lesson-topic-assessments__status:hover{border-color:var(--color-accent)}.lesson-topic-assessments__status--active{border-color:var(--color-accent);color:var(--color-text);background:var(--color-accent-soft)}.lesson-topic-assessments__comment{flex:1;min-width:240px;max-width:420px;display:flex;flex-direction:column}.lesson-topic-assessments__textarea{display:block;width:100%;height:148px;min-height:148px;max-height:148px;margin-top:6px;padding:10px var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:13px;line-height:1.5;resize:none;overflow-y:auto;background:transparent}@media(max-width:768px){.lesson-topic-assessments__body{flex-direction:column}.lesson-topic-assessments__comment{flex:1 1 auto;width:100%}}.searchable-multi-select{position:relative;max-width:360px}.searchable-multi-select__trigger{display:block;width:100%;padding:8px var(--space-md);font:inherit;font-size:13px;text-align:left;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.searchable-multi-select__trigger:hover:not(:disabled){border-color:var(--color-accent)}.searchable-multi-select__trigger:disabled{opacity:.6;cursor:default}.searchable-multi-select__dropdown{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;display:flex;flex-direction:column;gap:6px;padding:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.searchable-multi-select__search{padding:6px 10px;font-size:13px;background:var(--color-surface-muted)}.searchable-multi-select__list{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto}.searchable-multi-select__empty{padding:8px 10px;font-size:13px}.searchable-multi-select__option{display:block;width:100%;border:none;background:transparent;padding:6px 10px;font:inherit;font-size:13px;text-align:left;cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text)}.searchable-multi-select__option:hover{background:var(--color-accent-soft)}.lesson-outcomes__list{margin-bottom:var(--space-md)}.lesson-outcomes__list:last-of-type{margin-bottom:var(--space-sm)}.bullet-editor{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:6px}.bullet-editor__item{display:flex;align-items:center;gap:6px}.bullet-editor__input{flex:1;min-width:0;padding:5px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:13px;background:transparent}.bullet-editor__input:focus{outline:none;border-color:var(--color-accent)}.bullet-editor__remove{border:none;background:none;color:var(--color-text-muted);font-size:16px;cursor:pointer;padding:0 2px;line-height:1}.lesson-prep__notes{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:inherit;font-size:13px;resize:vertical;margin-bottom:var(--space-sm);background:transparent}.lesson-prep-page{gap:0}.lesson-prep-context-row{display:grid;grid-template-columns:1fr minmax(200px,280px);gap:var(--space-xl);align-items:start;padding-block:var(--space-md);border-top:1px solid var(--color-border)}.lesson-prep-context-row__progress{min-width:0}.lesson-prep-context__level{margin:0 0 var(--space-sm);font-size:13px}.lesson-prep-velocity__stats{display:flex;gap:var(--space-lg);margin-top:var(--space-xs)}.lesson-prep-velocity__stat{display:flex;flex-direction:column;gap:2px}.lesson-prep-velocity__value{font-size:28px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.lesson-prep-velocity__label{font-size:12px;color:var(--color-text-muted)}.lesson-prep-velocity__summary{margin:var(--space-sm) 0 0;font-size:12px;line-height:1.4}.lesson-prep-page__insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-xl);padding-block:var(--space-md);border-top:1px solid var(--color-border)}.lesson-prep-page__insights .lesson-section{padding-block:0;border-top:none;min-width:0}.lesson-prep-problems__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-md)}.lesson-prep-problem-card{padding:0}.lesson-prep-problem-card__header{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.lesson-prep-problem-card__title{font-weight:500;font-size:14px}.lesson-prep-problem-card__badge{margin-left:auto;font-size:11px;color:var(--color-text-muted)}.lesson-prep-problem-card__meta{margin:2px 0 0;font-size:12px}.lesson-prep-problem-card__reminder{margin:var(--space-xs) 0 0;font-size:13px;color:var(--color-text-muted);line-height:1.4}.lesson-prep-homework__meta{margin:0 0 var(--space-sm);font-size:12px}.lesson-prep-homework__text{margin:0 0 var(--space-sm);font-size:13px;line-height:1.5;white-space:pre-wrap}.lesson-prep-homework__attachments{list-style:none;margin:0 0 var(--space-sm);padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.lesson-prep-homework__file-link{font-size:13px}.lesson-prep-homework__copy-actions{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.lesson-prep-coaching__psych-marker{margin:0 0 var(--space-sm);padding-left:var(--space-sm);border-left:2px solid var(--color-border);font-size:13px;line-height:1.5}.lesson-prep-coaching__topic-title{margin:0 0 var(--space-sm);font-size:13px;font-weight:500}.lesson-prep-coaching__list-label{margin:0 0 var(--space-xs);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.lesson-prep-coaching__mandatory,.lesson-prep-coaching__optional{margin-bottom:var(--space-sm)}.lesson-prep-coaching__mandatory ul,.lesson-prep-coaching__optional ul{margin:0;padding-left:1.1rem;font-size:13px;line-height:1.45}.lesson-prep-plan__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.lesson-prep-plan__header .lesson-section__title{margin-bottom:0}.lesson-prep-plan__editor{margin-top:0;border:none;padding-block:0}.lesson-prep-plan__saving{margin:var(--space-xs) 0 0;font-size:12px}@media(max-width:960px){.lesson-prep-context-row{grid-template-columns:1fr;gap:var(--space-md)}.lesson-prep-page__insights{grid-template-columns:1fr;gap:var(--space-lg)}.lesson-prep-page__insights .lesson-section{padding-block:var(--space-md);border-top:1px solid var(--color-border)}.lesson-prep-page__insights .lesson-section:first-child{border-top:none;padding-top:0}}.lesson-notes-section{margin-top:var(--space-md);border:none;padding-block:0}.lesson-notes-editor-wrap{display:flex;flex-direction:column;gap:var(--space-md)}.lesson-notes-toolbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:var(--space-xs) 0;margin:0;background:transparent;border:none}.lesson-notes-toolbar__btn{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#fff;color:var(--color-text);cursor:pointer;transition:background .15s ease;box-shadow:0 0 0 1px #0000000f}.lesson-notes-toolbar__btn:hover:not(:disabled){background:#f5f5f5}.lesson-notes-toolbar__btn:disabled{opacity:.35;cursor:not-allowed}.lesson-notes-toolbar__btn--active{background:#ebebeb}.lesson-notes-toolbar__icon{display:flex;align-items:center;justify-content:center}.lesson-notes-toolbar__file-input{display:none}.lesson-notes-toolbar--placeholder{min-height:36px}.lesson-notes-toolbar__btn--wide{width:auto;min-width:36px;padding:0 8px;gap:2px}.lesson-notes-toolbar__heading-label{font-size:14px;font-weight:700;line-height:1}.notes-heading-dropdown,.notes-list-dropdown{position:relative}.notes-heading-dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:flex;flex-wrap:wrap;gap:2px;padding:4px;background:var(--color-bg);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000001f}.notes-heading-dropdown__item{min-width:32px;height:32px;padding:0 8px;border:none;border-radius:var(--radius-sm);background:transparent;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.notes-heading-dropdown__item--text{font-weight:500}.notes-heading-dropdown__item:hover,.notes-heading-dropdown__item--active{background:#0000000f}.notes-list-dropdown__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:flex;gap:4px;padding:4px;background:var(--color-bg);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000001f}.notes-list-dropdown__icon-btn{flex-shrink:0}.notes-list-dropdown__num-icon{font-size:12px;font-weight:700;line-height:1}.lesson-notes-editor,.lesson-notes-editor--booting{min-height:200px}.lesson-notes-editor .ProseMirror,.lesson-notes-prosemirror{outline:none;border:none;background:transparent;padding:0;font-size:15px;line-height:1.55;min-height:200px}.lesson-notes-editor .ProseMirror:focus{outline:none}.lesson-notes-editor h2,.lesson-notes-prosemirror h2{margin:1.25em 0 .5em;font-size:1.35rem;font-weight:700;line-height:1.3}.lesson-notes-editor h3,.lesson-notes-prosemirror h3{margin:1em 0 .4em;font-size:1.1rem;font-weight:600}.lesson-notes-editor h4,.lesson-notes-prosemirror h4{margin:.9em 0 .35em;font-size:1rem;font-weight:600}.lesson-notes-editor h5,.lesson-notes-prosemirror h5{margin:.8em 0 .3em;font-size:.95rem;font-weight:600}.lesson-notes-editor h6,.lesson-notes-prosemirror h6{margin:.75em 0 .25em;font-size:.9rem;font-weight:600;color:var(--color-text-muted)}.lesson-notes-editor h2:first-child,.lesson-notes-editor h3:first-child,.lesson-notes-editor h4:first-child,.lesson-notes-editor h5:first-child,.lesson-notes-editor h6:first-child,.lesson-notes-prosemirror h2:first-child,.lesson-notes-prosemirror h3:first-child,.lesson-notes-prosemirror h4:first-child,.lesson-notes-prosemirror h5:first-child,.lesson-notes-prosemirror h6:first-child{margin-top:0}.lesson-notes-editor p,.lesson-notes-prosemirror p{margin:0 0 .5em}.lesson-notes-editor ul,.lesson-notes-editor ol,.lesson-notes-prosemirror ul,.lesson-notes-prosemirror ol{padding-left:1.5em;margin:0 0 .5em;list-style-position:outside}.lesson-notes-prosemirror ul ul,.lesson-notes-prosemirror ol ol,.lesson-notes-prosemirror ul ol,.lesson-notes-prosemirror ol ul,.lesson-notes-editor ul ul,.lesson-notes-editor ol ol,.lesson-notes-editor ul ol,.lesson-notes-editor ol ul{padding-left:1.25em}.lesson-notes-editor mark,.lesson-notes-prosemirror mark{background:#fef08a;padding:0 2px;border-radius:2px}.lesson-notes-editor hr,.lesson-notes-prosemirror hr{border:none;border-top:1px solid var(--color-border);margin:1.25em 0}.lesson-notes-editor table,.lesson-notes-prosemirror table{width:100%;border-collapse:collapse;margin:0 0 1em;font-size:14px;table-layout:fixed;border:1px solid var(--color-border)}.lesson-notes-editor th,.lesson-notes-prosemirror th,.lesson-notes-editor td,.lesson-notes-prosemirror td{padding:6px 10px;border:1px solid var(--color-border);vertical-align:top;min-width:48px}.lesson-notes-editor th,.lesson-notes-prosemirror th{background:#0000000d;font-weight:600;text-align:left}.lesson-notes-prosemirror .tableWrapper{overflow-x:auto;margin:0 0 1em}.lesson-notes-prosemirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background:#4a6cf773;pointer-events:none}.lesson-notes-prosemirror .selectedCell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#4a6cf71f;pointer-events:none;z-index:1}.lesson-notes-prosemirror td,.lesson-notes-prosemirror th{position:relative}.lesson-notes-prosemirror .resize-cursor{cursor:col-resize}.notes-table-insert{position:relative}.notes-table-insert__menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;padding:8px;background:var(--color-bg);border-radius:var(--radius-sm);box-shadow:0 4px 16px #0000001f}.notes-table-insert__label{margin:0 0 6px;font-size:12px;color:var(--color-text-muted);text-align:center}.notes-table-insert__grid{display:grid;grid-template-columns:repeat(8,16px);gap:2px}.notes-table-insert__cell{width:16px;height:16px;padding:0;border:1px solid var(--color-border);border-radius:2px;background:var(--color-bg);cursor:pointer}.notes-table-insert__cell--active{background:#4a6cf759;border-color:#4a6cf799}.notes-table-bubble{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;background:var(--color-bg);border-radius:var(--radius-sm);box-shadow:0 2px 12px #0000001f}.notes-table-bubble__btn{padding:4px 8px;border:none;border-radius:var(--radius-sm);background:#0000000f;font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}.notes-table-bubble__btn:hover:not(:disabled){background:#0000001a}.notes-table-bubble__btn:disabled{opacity:.4;cursor:default}.notes-table-bubble__sep{width:1px;height:20px;margin:0 2px;background:var(--color-border)}.notes-mermaid-wrap{position:relative;display:block;margin:.75em 0}.notes-mermaid-wrap--selected{outline:2px solid rgba(74,108,247,.45);outline-offset:2px}.notes-mermaid-controls{position:absolute;top:-36px;left:0;z-index:5;display:flex;gap:4px;padding:4px;background:var(--color-bg);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0000001a}.notes-mermaid-controls button{padding:4px 8px;border:none;border-radius:var(--radius-sm);background:#0000000f;font:inherit;font-size:12px;cursor:pointer}.notes-mermaid-controls button:hover{background:#0000001a}.notes-mermaid-controls__danger{color:#c0392b}.notes-mermaid-preview{overflow-x:auto}.notes-mermaid-svg{display:flex;justify-content:center}.notes-mermaid-svg svg{max-width:100%;height:auto;background:transparent}.notes-mermaid-svg svg .edgePath .path,.notes-mermaid-svg svg .flowchart-link,.notes-mermaid-svg svg path.path{stroke:var(--color-text)!important;stroke-opacity:1!important;fill:none}.notes-mermaid-svg svg marker path,.notes-mermaid-svg svg defs marker path{fill:var(--color-text)!important;stroke:var(--color-text)!important;stroke-opacity:1!important;opacity:1!important}.notes-mermaid-error{margin:0;padding:8px;font-size:12px;color:#c0392b;white-space:pre-wrap;background:#c0392b14;border-radius:var(--radius-sm)}.notes-mermaid-editor__textarea{display:block;width:100%;min-height:160px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical;background:var(--color-bg);color:var(--color-text);box-sizing:border-box;white-space:pre;overflow-wrap:normal;overflow-x:auto;-moz-tab-size:2;tab-size:2}.notes-mermaid-wrap--editing{outline:none}.lesson-notes-prosemirror code.mermaid-source{display:none}.notes-mermaid-editor__actions{display:flex;gap:6px;margin-top:8px}.notes-mermaid-editor__actions button{padding:4px 10px;border:none;border-radius:var(--radius-sm);background:#0000000f;font:inherit;font-size:12px;cursor:pointer}.notes-mermaid-editor__actions button:hover{background:#0000001a}.notes-image-wrap{position:relative;display:inline-block;max-width:100%;margin:.5em 0;line-height:0}.notes-image-wrap--float-left{float:left;margin:0 2em .75em 0}.notes-image-wrap--float-right{float:right;margin:0 0 .75em 2em}.notes-image-wrap--selected .notes-image-inner img{outline:2px solid rgba(74,108,247,.5);outline-offset:2px}.notes-image-inner{position:relative;display:inline-block;max-width:100%}.notes-image-inner img{display:block;max-width:100%;height:auto;border-radius:4px;cursor:pointer}.notes-image-resize-handle{position:absolute;right:-4px;bottom:-4px;width:12px;height:12px;background:var(--color-text);border-radius:2px;cursor:nwse-resize}.notes-image-controls{position:absolute;top:-36px;left:0;z-index:5;display:flex;flex-wrap:wrap;gap:4px;padding:4px;background:var(--color-bg);border-radius:var(--radius-sm);box-shadow:0 2px 8px #0000001a}.notes-image-controls button{padding:4px 8px;border:none;border-radius:var(--radius-sm);background:#0000000f;font:inherit;font-size:12px;cursor:pointer}.notes-image-controls button:hover{background:#0000001a}.notes-image-controls__danger{color:#c0392b}.lesson-notes-editor .ProseMirror:after,.lesson-notes-prosemirror:after{content:"";display:table;clear:both}.goal-block__edit{opacity:1}.goal-header-row{display:grid;grid-template-columns:1fr min-content;gap:12px 16px;align-items:center;margin-bottom:var(--space-md)}.goal-header-row--edit{margin-bottom:var(--space-lg)}.goal-header-row__title-input{width:100%;min-width:0;font-size:18px;font-weight:600;background:var(--color-field)}.goal-title{font-size:22px;font-weight:600;margin:0;line-height:1.3;min-width:0}.goal-header-row__deadline{justify-self:end}.goal-deadline-pill{display:inline-block;padding:4px 12px;font-size:13px;color:var(--color-text-muted);background:var(--color-surface-muted);border-radius:999px;white-space:nowrap}.goal-deadline-input{display:flex;align-items:center;gap:8px;flex-shrink:0}.goal-deadline-input__label{font-size:13px;color:var(--color-text-muted);white-space:nowrap}.goal-deadline-input__field{width:120px;padding:8px 12px;font-size:14px;background:var(--color-field)}.goal-deadline-input__field--invalid{box-shadow:0 0 0 2px #a8545459}.goal-deadline-input__error{position:absolute;margin-top:36px;font-size:11px;color:var(--color-error)}.goal-deadline-input{position:relative}.goal-empty{color:var(--color-text-muted);font-size:14px;margin:0 0 var(--space-md)}.sub-goals-list{list-style:none;padding:0;margin:0 0 var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.sub-goals-list__item{padding:6px 0}.goal-edit-form{background:var(--color-surface-muted);border-radius:var(--radius);padding:var(--space-md);margin-bottom:var(--space-md)}.goal-edit-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.sub-goal-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.sub-goal-row .ui-input{flex:1}.goal-slider-row{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-md)}.goal-slider-row .ui-range{flex:1}.goal-slider-row__value{flex-shrink:0;min-width:40px;font-size:14px;font-weight:500;color:var(--color-text-muted)}.goal-tree-section{margin-top:var(--space-md)}.goal-tree-scroll{max-height:300px;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--color-surface-muted);border-radius:var(--radius)}.goal-tree-node{position:relative}.goal-tree-node__row{display:flex;align-items:center;gap:var(--space-sm);min-height:36px}.goal-tree-node__row .ui-input,.goal-tree-node__input{flex:1;width:100%;min-width:0;background:var(--color-field)}.goal-tree-node__row .ui-checkbox__box{background:var(--color-field)}.goal-tree-node__toggle,.goal-tree-node__spacer{flex-shrink:0;width:28px}.goal-tree-node__spacer{display:inline-block}.goal-tree-node__children{margin-top:6px;margin-left:14px;padding-left:12px;border-left:1px dashed var(--color-accent-soft);display:flex;flex-flow:column;gap:6px}.goal-tree-scroll::-webkit-scrollbar{width:6px}.goal-tree-scroll::-webkit-scrollbar-thumb{background:var(--color-accent-soft);border-radius:999px}.goal-tree-add-root{margin-top:var(--space-md);width:100%}.goal-tree-count{margin:var(--space-md) 0 0}.profile-block{padding-block:var(--space-md);border-top:1px solid var(--color-border)}.profile-block__empty-hint{margin-bottom:var(--space-md)}.student-worst-topics__empty{margin:0}.student-worst-topics__congrats{margin:0;padding:var(--space-md);border-radius:var(--radius);background:#e8f0e4;border:1px solid #9cb892;color:var(--color-text)}.student-worst-topics__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.student-worst-topics__item{display:flex;align-items:center;gap:var(--space-sm);padding:10px 12px;border-radius:var(--radius-sm);border:1px solid transparent}.student-worst-topics__list--poor .student-worst-topics__item{background:#f5e4e4;border-color:#cf9a9a}.student-worst-topics__list--issues .student-worst-topics__item{background:#faf3dc;border-color:#d9c36a}.student-worst-topics__title{font-size:14px;line-height:1.35}.student-worst-topics__link{display:inline-block;margin-top:var(--space-md);font-size:13px}.student-page__danger{padding-top:var(--space-md);border-top:1px solid var(--color-border)}.profile-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:1024px){.profile-grid{grid-template-columns:1fr 1fr}}.profile-section__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-md)}.profile-section__title{margin:0;font-size:16px;font-weight:600}.profile-section__body{max-height:280px;overflow-y:auto}.profile-section__add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}.profile-section__add:hover{color:var(--color-text);background:#fffcf880}.profile-items-list{display:flex;flex-direction:column;gap:var(--space-sm)}.profile-item-card{border-radius:var(--radius);background:#fffcf899;transition:background .15s ease}.profile-item-card:hover{background:#fffcf8f2}.profile-item-card__header{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);cursor:pointer}.profile-item-card__main{flex:1;min-width:0}.profile-item-card__title{font-weight:600;margin:0 0 6px;font-size:14px}.profile-item-card__meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.profile-item-card__source-text{font-size:13px;color:var(--color-text-muted)}.profile-item-card__actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.profile-item-card:hover .profile-item-card__actions{opacity:1}.profile-item-card__reorder{display:flex;flex-direction:column;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.profile-item-card:hover .profile-item-card__reorder{opacity:1}.profile-item-card__body{padding:0 var(--space-md) var(--space-md);font-size:14px;color:var(--color-text-muted);line-height:1.5;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.profile-empty{color:var(--color-text-muted);font-size:14px;margin:0}@media(max-width:768px){.profile-item-card__actions,.profile-item-card__reorder{opacity:1}}.page-header__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.page-header__actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.btn-sm{padding:6px 12px;font-size:13px}.lesson-status-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius);font-size:12px;font-weight:500}.lesson-status-badge--conducted{background:var(--color-surface-muted);color:var(--color-text-muted)}.lesson-status-badge--issues{background:#c45c5c26;color:var(--color-danger, #a04444)}.lesson-status-badge--breakthrough{background:#5a9e6f26;color:var(--color-success, #3d7a52)}.app-sidebar{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end}.app-sidebar__overlay{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#00000059;cursor:pointer}.app-sidebar__panel{position:relative;width:min(420px,100%);height:100%;background:var(--color-surface);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;animation:sidebar-slide-in .2s ease}@keyframes sidebar-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.app-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08))}.app-sidebar__header h2{margin:0;font-size:18px}.app-sidebar__close{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--color-text-muted)}.app-sidebar__body{flex:1;overflow-y:auto;padding:var(--space-lg)}.lesson-sidebar-view__meta{color:var(--color-text-muted);font-size:14px;margin:0 0 var(--space-sm)}.lesson-sidebar-view__topic{margin:0 0 var(--space-md);font-size:20px}.lesson-sidebar-view__field{margin:var(--space-md) 0 0;font-size:14px;line-height:1.5}.lesson-sidebar-view__actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg);flex-wrap:wrap}.lesson-form-fields{display:flex;flex-direction:column;gap:var(--space-md)}.lesson-calendar__nav{display:flex;gap:var(--space-sm)}.lesson-calendar__month{margin:0 0 var(--space-md);font-weight:600}.lesson-calendar__body{position:relative;min-height:548px;transition:opacity .15s ease}.lesson-calendar__body--refreshing{opacity:.55;pointer-events:none}.lesson-calendar__loading{margin:0;padding:var(--space-lg) 0}.lesson-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.lesson-calendar__weekday{font-size:12px;color:var(--color-text-muted);text-align:center;padding:4px}.lesson-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.lesson-calendar__day{min-height:88px;padding:6px;border:1px solid var(--color-border, rgba(0, 0, 0, .08));border-radius:var(--radius);background:var(--color-surface);cursor:pointer;display:flex;flex-direction:column;gap:4px}.lesson-calendar__day:hover{background:var(--color-surface-muted)}.lesson-calendar__day--muted{opacity:.45}.lesson-calendar__day--today{border-color:var(--color-accent)}.lesson-calendar__day-num{font-size:12px;font-weight:600;color:var(--color-text-muted)}.lesson-calendar__chips{display:flex;flex-direction:column;gap:2px}.lesson-calendar__chip{border:none;border-radius:4px;padding:2px 6px;font-size:11px;text-align:left;cursor:pointer;background:var(--color-surface-muted);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-calendar__chip--conducted{background:#0000000f}.lesson-calendar__chip--scheduled{background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted)}.lesson-calendar__chip--issues{background:#c45c5c26}.lesson-calendar__chip--breakthrough{background:#5a9e6f26}.lesson-calendar__more{font-size:11px;color:var(--color-text-muted)}.content-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.content-overlay--stacked{z-index:1100}.content-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#00000059;cursor:pointer}.content-overlay__panel{position:relative;display:flex;flex-direction:column;width:85%;height:85%;max-height:calc(100vh - 57px - 2 * var(--space-lg));background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 8px 32px #3d383226;overflow:hidden}.content-overlay__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08))}.content-overlay__title{margin:0;font-size:18px;font-weight:600}.content-overlay__close{border:none;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:var(--color-text-muted)}.content-overlay__body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.content-overlay__footer{flex-shrink:0;display:flex;justify-content:flex-end;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border, rgba(0, 0, 0, .08))}.roadmap-workspace--pick{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-surface);--roadmap-header-bar-height: 56px}.roadmap-workspace--pick .roadmap-page__workspace{flex:1;min-height:0}.roadmap-page-header--compact .roadmap-page-header__expand,.roadmap-page-header--compact .roadmap-page-header__panel-wrap{display:none}.page:has(.roadmap-page){max-width:none;padding:0;margin:0}.roadmap-page{display:flex;flex-direction:column;height:calc(100vh - 57px);min-height:0;background:var(--color-surface);--roadmap-header-bar-height: 56px}.roadmap-page__workspace{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.roadmap-page__error{position:absolute;top:var(--space-sm);right:var(--space-md);z-index:7;margin:0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-soft)}.roadmap-page-header{position:absolute;top:var(--space-md);left:50%;z-index:6;width:min(720px,calc(100% - 2 * var(--space-lg)));transform:translate(-50%);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft);transition:width .3s ease;overflow:hidden}.roadmap-page-header--expanded{width:min(var(--max-width),calc(100% - 2 * var(--space-lg)))}.roadmap-page-header__bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md)}.roadmap-page-header__main{flex:1;min-width:0}.roadmap-page-header__back{display:inline-block;font-size:13px;color:var(--color-text-muted);text-decoration:none}.roadmap-page-header__back:hover{color:var(--color-text);opacity:1}.roadmap-page-header__goal{margin:2px 0 0;font-size:18px;font-weight:600;line-height:1.3;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roadmap-page-header__goal-summary{display:flex;flex-direction:column;gap:4px;min-width:0}.roadmap-page-header__goal-progress{max-width:280px}.roadmap-page-header__goal-progress .ui-progress{margin-top:0}.roadmap-page-header__goal-progress .ui-progress__track{height:5px}.roadmap-page-header__goal-progress .ui-progress__label{margin-top:2px;font-size:11px}.roadmap-page-header--expanded .roadmap-page-header__goal-summary{display:none}.roadmap-page-header__goal--empty{font-weight:500;color:var(--color-text-muted)}.roadmap-legend{display:flex;flex-shrink:0;flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none}.roadmap-legend__item{display:flex;align-items:center;gap:5px}.roadmap-legend__swatch{flex-shrink:0;width:12px;height:12px;border-radius:3px;border:1px solid rgba(61,56,50,.15)}.roadmap-legend__swatch--todo{background:var(--color-surface)}.roadmap-legend__swatch--good{background:#dce8d6;border-color:#8fb384}.roadmap-legend__swatch--issues{background:#f5ebc8;border-color:#d4b85a}.roadmap-legend__swatch--poor{background:#f0d6d6;border-color:#c98a8a}.roadmap-legend__label{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.roadmap-page-header__expand{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:28px;height:28px;margin-top:2px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);cursor:pointer}.roadmap-page-header__expand:hover{color:var(--color-text);background:var(--color-accent-soft)}.roadmap-page-header__expand-icon{transition:transform .3s ease}.roadmap-page-header--expanded .roadmap-page-header__expand-icon{transform:rotate(180deg)}.roadmap-page-header__panel-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.roadmap-page-header--expanded .roadmap-page-header__panel-wrap{grid-template-rows:1fr}.roadmap-page-header__panel{overflow:hidden;min-height:0;border-top:1px solid transparent;padding:0 var(--space-md);transition:padding .3s ease,border-color .3s ease}.roadmap-page-header--expanded .roadmap-page-header__panel{border-top-color:var(--color-border);padding:var(--space-sm) var(--space-md) var(--space-md);max-height:75vh;overflow-y:auto}.roadmap-edge-popover{position:absolute;z-index:10;padding:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-soft)}.roadmap-edge-popover__delete{display:block;width:100%;padding:6px 10px;border:none;border-radius:6px;background:transparent;color:var(--color-error);font:inherit;font-size:13px;text-align:left;cursor:pointer;white-space:nowrap}.roadmap-edge-popover__delete:hover{background:var(--color-weakness)}.roadmap-canvas{position:relative;flex:1;min-height:0}.roadmap-canvas .react-flow{width:100%;height:100%}.roadmap-toolbar{position:absolute;top:calc(var(--space-md) + var(--space-sm));left:var(--space-md);right:var(--space-md);z-index:5;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);pointer-events:none}.roadmap-toolbar__group{display:flex;flex-wrap:nowrap;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border, rgba(0, 0, 0, .08));border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft);pointer-events:auto}.roadmap-toolbar__group--left{max-width:min(100%,360px)}.roadmap-toolbar__group--right{max-width:min(100%,420px);margin-left:auto}.roadmap-templates-modal__subtitle{margin:0 0 var(--space-md)}.roadmap-templates-modal__section+.roadmap-templates-modal__section{margin-top:var(--space-lg)}.roadmap-templates-modal__section-title{margin:0 0 var(--space-sm);font-size:1rem;font-weight:600}.roadmap-templates-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-sm)}.roadmap-template-card{border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.roadmap-template-card__main{display:block;width:100%;padding:var(--space-md);border:none;background:transparent;text-align:left;cursor:pointer}.roadmap-template-card__main:hover{background:var(--color-surface-muted, rgba(0, 0, 0, .03))}.roadmap-template-card__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--space-sm)}.roadmap-template-card__badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;background:var(--color-surface-muted, rgba(0, 0, 0, .06))}.roadmap-template-card__badge--default{background:#3b82f61f}.roadmap-template-card__title{margin:0 0 4px;font-size:.95rem}.roadmap-template-card__meta{margin:0;font-size:.85rem}.roadmap-template-card__goal{margin:var(--space-sm) 0 0;font-size:.85rem;color:var(--color-text-muted)}.roadmap-template-card__actions{display:flex;gap:var(--space-sm);padding:0 var(--space-md) var(--space-md)}.roadmap-clear-modal__warning{margin:0 0 var(--space-md);line-height:1.5}.roadmap-save-template-preview{margin:var(--space-md) 0;padding:var(--space-md);border-radius:var(--radius);background:var(--color-surface-muted, rgba(0, 0, 0, .03))}.roadmap-save-template-preview__heading{margin:0 0 var(--space-xs);font-weight:600;font-size:.9rem}.roadmap-save-template-preview ul{margin:0 0 var(--space-md);padding-left:1.2rem}.roadmap-save-template-preview ul:last-child{margin-bottom:0}.roadmap-node{min-width:160px;max-width:220px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--color-border, rgba(0, 0, 0, .12));background:var(--color-surface);box-shadow:var(--shadow-soft)}.roadmap-node--good{background:#e8f0e4;border-color:#9cb892}.roadmap-node--issues{background:#faf3dc;border-color:#d9c36a}.roadmap-node--poor{background:#f5e4e4;border-color:#cf9a9a}.roadmap-node--lesson-picked{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-text, #3d3832)}.roadmap-node__body{display:flex;align-items:center;gap:8px}.roadmap-node__check{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:2px solid var(--color-text);border-radius:4px;background:transparent;color:var(--color-text);cursor:pointer;filter:drop-shadow(0 0 1px #fffcf8) drop-shadow(0 0 1px #fffcf8)}.roadmap-node__check:hover{border-color:var(--color-accent);color:var(--color-accent)}.roadmap-node__check-icon{display:block}.roadmap-node-status-popover{position:absolute;z-index:10;min-width:180px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-soft)}.roadmap-node-status-popover__title{margin:0 0 4px;padding:2px 6px;font-size:12px;font-weight:600;color:var(--color-text-muted)}.roadmap-node-status-popover__list{margin:0;padding:0;list-style:none}.roadmap-node-status-popover__option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:6px;background:transparent;color:var(--color-text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.roadmap-node-status-popover__option:hover{background:var(--color-surface-muted)}.roadmap-node__title{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roadmap-topic-content{margin-top:var(--space-sm);font-size:14px;line-height:1.6}.roadmap-topic-content h2,.roadmap-topic-content h3{margin:var(--space-md) 0 var(--space-sm);font-size:16px}.roadmap-topic-content p,.roadmap-topic-content ul,.roadmap-topic-content ol{margin:0 0 var(--space-sm)}.roadmap-topic-content--empty{color:var(--color-text-muted);font-style:italic}.roadmap-node-sidebar{display:flex;flex-direction:column;gap:var(--space-md)}.roadmap-node-sidebar__title-readonly{margin:0 0 var(--space-md);font-size:16px;font-weight:600}.roadmap-topic-history__empty{margin:var(--space-sm) 0 0;font-size:13px}.roadmap-topic-history__list{list-style:none;margin:var(--space-sm) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.roadmap-topic-history__item{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.roadmap-topic-history__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:4px;font-size:12px;color:var(--color-text-muted)}.roadmap-topic-history__status{display:inline-flex;align-items:center;gap:6px}.roadmap-topic-history__link{font-size:13px;font-weight:500;color:var(--color-accent);text-decoration:none}.roadmap-topic-history__link:hover{text-decoration:underline}.roadmap-topic-history__comment{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-muted);white-space:pre-wrap;word-break:break-word}.lesson-report-page__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.lesson-report-page__title-row h1{margin:0}.lesson-report-page__sheet-wrap{display:flex;justify-content:center;padding:var(--space-lg) 0 var(--space-md)}.lesson-report-page__overflow-hint{text-align:center;font-size:13px;color:#9a7b2f;margin:0 0 var(--space-lg)}.lesson-report-page__download-error{margin:var(--space-sm) 0 0}.lesson-report-sheet{width:210mm;max-width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);padding:12mm 14mm;display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-report-sheet__header-editor{border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm)}.lesson-report-sheet__header-editor .lesson-report-sheet__editor .ProseMirror{min-height:48px;font-size:13px;line-height:1.45}.lesson-report-sheet__header-editor .lesson-report-sheet__editor .ProseMirror p{margin:0 0 4px}.lesson-report-sheet__header-editor .lesson-report-sheet__editor .ProseMirror p:first-child{font-size:16px;color:var(--color-accent)}.lesson-report-progress-summary{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.lesson-report-progress-summary__label{display:block;font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.lesson-report-progress-summary__goal-title{margin:0;font-size:14px;font-weight:600;color:var(--color-text)}.lesson-report-progress-summary__goal-empty{margin:0;font-size:13px}.lesson-report-progress-summary__lesson{margin:0;font-size:13px;color:var(--color-text-muted)}.lesson-report-sheet__section-title{margin:0 0 var(--space-sm);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.lesson-report-sheet__section{display:flex;flex-direction:column}.lesson-report-sheet__body{flex:1;display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-report-sheet__editor-wrap{background:transparent;border:none;border-radius:0}.lesson-report-sheet .lesson-notes-editor{min-height:0}.lesson-report-sheet__editor .ProseMirror{min-height:56px;font-size:14px}.lesson-report-topics{display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-report-topics__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lesson-report-topics__item{display:flex;align-items:center;gap:var(--space-sm)}.lesson-report-topics__title{flex:1;font-size:14px;color:var(--color-text)}.lesson-report-topics__statuses{display:flex;gap:4px}.lesson-report-topics__status{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer}.lesson-report-topics__status--active{border-color:var(--color-text)}.lesson-report-topics__status .roadmap-legend__swatch{width:14px;height:14px}.lesson-report-topics__remove{width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer}.lesson-report-topics__remove:hover{color:var(--color-error)}.lesson-report-topics__controls{margin-top:4px}.lesson-report-topics__empty{margin:0;font-size:13px}.lesson-report-sheet__footer{border-top:1px solid var(--color-border);padding-top:var(--space-md);margin-top:auto;text-align:center}.lesson-report-sheet__tutor{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--color-text)}.lesson-report-sheet__contact{margin:0;font-size:13px;color:var(--color-text-muted)}.lesson-report-sheet__tagline{margin:var(--space-sm) 0 0;font-size:13px;font-style:italic;color:var(--color-text-muted)}.home-lesson-actions{margin-bottom:var(--space-md)}.lesson-control-bar{display:grid;grid-template-columns:3fr 1fr 1fr;gap:var(--space-sm);margin-top:var(--space-md);min-height:88px}.lesson-control-bar__cell{display:flex;align-items:stretch;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:var(--color-surface);overflow:hidden}.lesson-control-bar__cell--inactive{background:#00000005;border-color:var(--color-border)}.lesson-control-bar__state{align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg)}.lesson-control-bar__state:not(.lesson-control-bar__cell--inactive){border-color:#2563eb40;background:linear-gradient(180deg,rgba(37,99,235,.06) 0%,var(--color-surface) 100%)}.lesson-control-bar__live{flex-shrink:0;width:10px;height:10px;margin-top:6px;border-radius:50%;background:#dc3545;box-shadow:0 0 #dc354580;animation:lesson-control-pulse 1.6s ease-out infinite}@keyframes lesson-control-pulse{0%{box-shadow:0 0 #dc354573}70%{box-shadow:0 0 0 8px #dc354500}to{box-shadow:0 0 #dc354500}}.lesson-control-bar__state-text{display:flex;flex-direction:column;gap:2px;min-width:0}.lesson-control-bar__label{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.lesson-control-bar__state:not(.lesson-control-bar__cell--inactive) .lesson-control-bar__label{color:var(--color-primary, #2563eb)}.lesson-control-bar__student{margin:0;font-size:18px;font-weight:600;color:var(--color-text)}.lesson-control-bar__details,.lesson-control-bar__elapsed,.lesson-control-bar__placeholder{margin:0;font-size:13px;line-height:1.4}.lesson-control-bar__details,.lesson-control-bar__elapsed{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lesson-control-bar__start,.lesson-control-bar__stop{padding:0;border:none;background:transparent}.lesson-control-bar__action{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:var(--color-surface);font-size:14px;font-weight:500;color:var(--color-text);cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.lesson-control-bar__action:hover:not(:disabled){border-color:var(--color-primary, #2563eb)}.lesson-control-bar__action--stop:not(:disabled){border-color:#dc354559;color:#b02a37}.lesson-control-bar__action--stop:hover:not(:disabled){border-color:#dc3545;background:#dc35450f}.lesson-control-bar__action--inactive,.lesson-control-bar__action:disabled{border-color:var(--color-border);background:#00000005;color:var(--color-text-muted);cursor:default}.lesson-control-bar__recording-status{margin:.25rem 0 0;font-size:.8125rem}.lesson-control-bar__recording-error{margin:.35rem 0 0;font-size:.8125rem}.lesson-start-join-url{display:flex;flex-direction:column;gap:.35rem}.lesson-start-join-url__label{font-size:.875rem;color:var(--color-text-muted)}.lesson-start-join-url__input{width:100%;padding:.55rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);font:inherit;background:var(--color-surface)}.lesson-start-join-url__input:focus{outline:2px solid var(--color-primary, #2563eb);outline-offset:1px}.home-lesson-actions__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin-top:var(--space-md)}.home-lesson-actions__card{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:var(--color-surface)}.home-lesson-actions__card--primary{border-color:#2563eb40;background:linear-gradient(180deg,rgba(37,99,235,.04) 0%,var(--color-surface) 100%)}.home-lesson-actions__card-title{margin:0;font-size:17px;font-weight:600}.home-lesson-actions__card-text{margin:0;font-size:14px;line-height:1.5;flex:1}.home-lesson-actions__card .btn{align-self:flex-start}.lesson-wizard{display:flex;flex-direction:column;gap:var(--space-lg);flex:1;min-height:0;padding:var(--space-lg);overflow-y:auto}.lesson-wizard--picker{gap:var(--space-xl);max-width:640px}.lesson-wizard__body{display:flex;flex-direction:column;flex:1;min-height:0}.lesson-wizard-picker-block{display:flex;flex-direction:column;gap:var(--space-md)}.lesson-wizard-picker-block__title{margin:0;font-size:15px;font-weight:600}.lesson-wizard__progress{display:flex;flex-direction:column;gap:var(--space-sm);flex-shrink:0}.lesson-wizard__progress-label{margin:0;font-size:14px}.lesson-wizard__footer{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-md)}.lesson-wizard__context{margin:0;font-size:14px}.lesson-wizard__footer-error{margin:0 0 var(--space-sm);width:100%}.lesson-wizard__footer-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-md)}.lesson-wizard-program-section{display:flex;flex-direction:column;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border, rgba(0, 0, 0, .08))}.lesson-wizard-program-section:first-of-type{border-top:none;padding-top:0}.lesson-wizard-program-section__title{margin:0;font-size:15px;font-weight:600}.lesson-wizard-program-section__empty{margin:0}.lesson-wizard-program-goals,.lesson-wizard-result__hero{display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-wizard-result__title{margin:0;font-size:20px;font-weight:600}.lesson-wizard-result__summary{margin:0}.lesson-wizard-result__lead{margin:0;font-size:14px}.lesson-wizard-result__preview{max-height:min(50vh,480px);overflow:auto;margin-top:var(--space-md)}.lesson-wizard-result__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg)}.lesson-wizard-result__sheet{position:absolute;left:-9999px;top:0;width:210mm;opacity:0;pointer-events:none}.lesson-wizard__footer-left,.lesson-wizard__footer-right{display:flex;align-items:center;gap:var(--space-sm)}.lesson-wizard__step{display:flex;flex-direction:column;gap:var(--space-lg);max-width:720px}.lesson-wizard__step-header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.lesson-wizard__step-title{margin:0;font-size:20px;font-weight:600}.lesson-wizard__step-description{margin:0;font-size:14px;line-height:1.5}.lesson-wizard__step-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.lesson-wizard__step-badge--required{background:#dc35451f;color:#b02a37}.lesson-wizard__step-badge--optional{background:#6c757d1f;color:var(--color-text-muted)}.lesson-wizard-student-list,.lesson-wizard-lesson-list,.lesson-wizard-topic-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-wizard-student-list__item,.lesson-wizard-lesson-list__item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.lesson-wizard-student-list__item:hover,.lesson-wizard-lesson-list__item:hover{border-color:var(--color-primary, #2563eb)}.lesson-wizard-student-list__item--selected,.lesson-wizard-lesson-list__item--selected{border-color:var(--color-primary, #2563eb);background:#2563eb0f}.lesson-wizard-student-list__name,.lesson-wizard-lesson-list__topic{font-weight:600;color:var(--color-text)}.lesson-wizard-student-list__meta,.lesson-wizard-lesson-list__meta{font-size:13px}.lesson-wizard-radio-group{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm) 0}.lesson-wizard-radio{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:14px;padding:var(--space-xs) 0}.lesson-wizard-homework{margin-top:var(--space-md)}.lesson-wizard-context-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md);margin:0;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);background:#00000005}.lesson-wizard-context-meta dt{margin:0 0 4px;font-size:12px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.02em}.lesson-wizard-context-meta dd{margin:0;font-size:15px;font-weight:500}.lesson-wizard-topic-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px)}.lesson-wizard-topic-row__statuses{display:flex;gap:6px;flex-shrink:0}.lesson-wizard-topic-row__status{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);cursor:pointer}.lesson-wizard-topic-row__status--active{border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 1px var(--color-primary, #2563eb)}.lesson-wizard-status-group{display:flex;flex-direction:column;gap:var(--space-sm)}.lesson-wizard-status-group__buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.lesson-wizard-status-group__buttons .btn--active{border-color:var(--color-primary, #2563eb);background:#2563eb14}.lesson-wizard-preview{margin:0;display:flex;flex-direction:column;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);overflow:hidden}.lesson-wizard-preview__row{display:grid;grid-template-columns:160px 1fr;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.lesson-wizard-preview__row:last-child{border-bottom:none}.lesson-wizard-preview__row dt{margin:0;font-size:13px;color:var(--color-text-muted)}.lesson-wizard-preview__row dd{margin:0;font-size:14px;color:var(--color-text);line-height:1.5}@media(max-width:768px){.app-sidebar__panel{width:100%}.lesson-calendar__grid{overflow-x:auto}.home-lesson-actions__grid{grid-template-columns:1fr}.lesson-control-bar{grid-template-columns:1fr;min-height:auto}.lesson-control-bar__action{min-height:56px}.lesson-control-bar__details,.lesson-control-bar__elapsed{white-space:normal}.lesson-wizard{padding:var(--space-md)}.lesson-wizard-preview__row{grid-template-columns:1fr;gap:4px}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
