/* A light lift and shift on touch, including navigation and icon buttons. */
#midiary-design button {transition:transform .16s ease,background .18s ease,box-shadow .18s ease;touch-action:manipulation}
#midiary-design button:active:not(:disabled) {transform:translateY(2px) scale(1.045)}
#midiary-design .week-calendar {display:flex;align-items:center;justify-content:center;gap:10px}
#midiary-design .week-calendar svg {width:21px;height:21px;flex:none}
#midiary-design .day-swipes {touch-action:pan-y pinch-zoom}
#midiary-design .has-lesson-settings {position:relative;overflow:visible}
#midiary-design .lesson-detail-header {position:relative;margin:22px 0;padding-right:50px}
#midiary-design .lesson-detail-header .lesson-settings {top:0;right:0}
#midiary-design .has-lesson-settings>.lesson-badge {display:inline-block;max-width:calc(100% - 62px);box-sizing:border-box}
#midiary-design .lesson-settings {position:absolute;right:16px;top:12px;z-index:2}
#midiary-design .lesson-settings .lesson-settings-toggle {width:44px;min-height:44px;height:44px;padding:0;text-align:center}
#midiary-design .lesson-settings .lesson-settings-toggle svg {width:23px;height:23px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
#midiary-design .has-lesson-settings .lesson-settings .lesson-settings-toggle[aria-expanded="true"] svg {transform:rotate(360deg)}
#midiary-design .lesson-settings-toggle.is-gear-animating {animation:lesson-gear-click .42s ease}
#midiary-design .is-settings-open {z-index:5}
#midiary-design .lesson-settings-panel {position:fixed;z-index:80;top:0;left:0;right:auto;width:270px;max-width:calc(100vw - 24px);padding:6px;border:1px solid var(--fd-border);border-radius:17px;background:var(--glass-opaque,var(--fd-surface));box-shadow:0 12px 32px #0003;box-sizing:border-box;overflow-y:auto;overflow-anchor:none;transform-origin:top right;animation:lesson-menu-open .24s cubic-bezier(.2,.8,.2,1) both}
#midiary-design .lesson-settings-panel.opens-up {transform-origin:bottom right;animation-name:lesson-menu-open-up}
#midiary-design .lesson-settings-panel[hidden] {display:none}
#midiary-design .lesson-settings-panel {transition:width .24s cubic-bezier(.2,.8,.2,1);overscroll-behavior:contain}
#midiary-design .lesson-settings-panel.is-editor-expanded {width:300px}
#midiary-design .lesson-settings-panel.is-editor-expanded> :not(.lesson-settings-editor[open]) {display:none}
#midiary-design .lesson-settings-panel .lesson-settings-action {display:block;width:100%;min-height:44px;padding:12px;text-align:left;border:0;border-radius:11px;background:transparent;color:var(--fd-text);font-size:14px;line-height:1.45;white-space:normal}
#midiary-design .lesson-settings-panel .lesson-settings-editor>summary {display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;list-style:none;cursor:pointer}
#midiary-design .lesson-settings-editor>summary::-webkit-details-marker {display:none}
#midiary-design .lesson-settings-editor[open]>summary {background:var(--fd-accent-soft)}
#midiary-design .lesson-upload-chevron {width:7px;height:7px;flex:none;margin-right:3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s ease}
#midiary-design .lesson-settings-editor[open] .lesson-upload-chevron {transform:rotate(135deg)}
#midiary-design .lesson-editor-body {padding:8px 8px 6px}
#midiary-design .lesson-settings-editor[open] .lesson-editor-body {animation:lesson-upload-open .24s cubic-bezier(.2,.8,.2,1) both}
#midiary-design :is(.lesson-upload-form,.lesson-settings-form) {display:grid;gap:8px;margin:0;min-width:0}
#midiary-design .lesson-upload-picker {position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--fd-border);border-radius:12px;box-sizing:border-box;background:var(--glass-input);color:var(--fd-text);font-size:14px;cursor:pointer;overflow:hidden}
#midiary-design .lesson-upload-picker svg {width:18px;height:18px;flex:none}
#midiary-design .lesson-upload-picker:focus-within {outline:2px solid var(--fd-accent);outline-offset:2px}
#midiary-design .lesson-upload-picker.is-disabled {opacity:.55;cursor:wait}
#midiary-design .lesson-upload-input {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:inherit;font-size:16px}
#midiary-design :is(.lesson-upload-form,.lesson-settings-form) .fd-input {min-height:44px;width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border-radius:12px;font-size:16px}
#midiary-design .lesson-upload-form .lesson-upload-filename {margin:0;font-size:12px;line-height:1.4;color:var(--fd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#midiary-design .lesson-upload-form .lesson-upload-hint {margin:0;font-size:12px;line-height:1.4}
#midiary-design :is(.lesson-upload-form,.lesson-settings-form) .fd-primary {min-height:44px;width:100%;padding:10px 12px;margin:0;text-align:center;border-radius:12px}
#midiary-design .lesson-upload-form .upload-progress {margin:0;padding:10px;border-radius:12px}
#midiary-design .lesson-upload-form .upload-progress .fd-secondary {width:100%;margin:6px 0 0;padding:8px 10px;text-align:center;border-radius:10px}
#midiary-design .lesson-settings-action.is-destructive {color:#b34746}
#midiary-design[data-theme="dark"] .lesson-settings-action.is-destructive {color:#ffb3b3}
#midiary-design .lesson-teachers {display:flex;flex-direction:column;align-items:flex-start;gap:0}
#midiary-design .lesson-teachers .fd-teacher-link {width:auto;max-width:100%;text-align:left;min-height:44px}
#midiary-design .lesson-card-body {display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,38%);align-items:start;gap:20px;margin:12px 0}
#midiary-design .lesson-card-title {min-width:0}
#midiary-design .lesson-card-body .fd-lesson-name {margin:0;padding:0;text-align:left;line-height:1.4;overflow-wrap:anywhere}
#midiary-design .lesson-card-body .lesson-teachers {align-items:flex-end;margin-left:auto;max-width:100%;gap:2px}
#midiary-design .lesson-card-body .lesson-teachers .fd-teacher-link {text-align:right;padding:4px 0;line-height:1.45}
#midiary-design .lesson-card-body .lesson-teachers .muted {text-align:right;margin:0;line-height:1.5}
#midiary-design .fd-lesson-card.no-homework {padding-bottom:14px}
#midiary-design .has-lesson-settings .homework-preview {border-radius:0 0 25px 25px}
#midiary-design .subject-teachers-dialog {width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:24px;box-sizing:border-box;overflow:auto;border:1px solid var(--fd-border);border-radius:24px;background:var(--fd-surface);color:var(--fd-text);box-shadow:0 24px 80px #0005}
#midiary-design .subject-teachers-dialog::backdrop {background:#0008;backdrop-filter:blur(4px)}
#midiary-design .subject-teachers-dialog h2 {margin:0 0 12px}
#midiary-design .subject-teachers-title {font-weight:600}
#midiary-design .subject-teachers-dialog .fd-secondary {margin-top:10px}
#midiary-design .lesson-teacher-fields {min-width:0;margin:20px 0;padding:0;border:0}
#midiary-design .lesson-teacher-fields legend {padding:0;font-weight:600}
#midiary-design .lesson-teacher-row {display:flex;align-items:flex-end;gap:10px}
#midiary-design .lesson-teacher-row .fd-label {flex:1;min-width:0;margin-top:12px}
#midiary-design .lesson-teacher-row .fd-input {width:100%;box-sizing:border-box}
#midiary-design .lesson-teacher-row .teacher-remove {flex:none;width:44px;height:44px;min-height:44px;padding:0;margin-bottom:4px;font-size:24px}
#midiary-design .lesson-teacher-fields .teacher-add {margin-top:12px}
@keyframes lesson-menu-open {from{opacity:0;transform:translateY(-7px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes lesson-menu-open-up {from{opacity:0;transform:translateY(7px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes lesson-gear-click {0%,100%{transform:scale(1)}45%{transform:scale(.9)}75%{transform:scale(1.08)}}
@keyframes lesson-upload-open {from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@media (hover:hover) {#midiary-design .lesson-settings-action:hover {background:var(--fd-accent-soft)}}
@media (any-hover:hover) {
 #midiary-design :is(.fd-icon-button,.lesson-settings-toggle,.fd-bottom-nav button,.week-calendar):hover:not(:disabled) {transform:translateY(-2px);box-shadow:0 5px 16px #368ef524;background:var(--fd-accent-soft)}
 #midiary-design :is(.fd-bottom-nav button,.week-calendar,.fd-icon-button):hover svg {transform:translateY(-1px) scale(1.12)}
 #midiary-design .lesson-settings-toggle:hover[aria-expanded="false"] svg {transform:rotate(20deg) scale(1.08)}
 #midiary-design :is(.fd-icon-button,.lesson-settings-toggle,.fd-bottom-nav button,.week-calendar):active:not(:disabled) {transform:translateY(2px) scale(1.045)}
}
#midiary-design :is(.fd-bottom-nav button,.week-calendar,.fd-icon-button) svg {transition:transform .2s ease}
@media (max-width:599px) {#midiary-design .lesson-card-body {grid-template-columns:minmax(0,1fr);gap:8px}#midiary-design .lesson-card-body .lesson-teachers {max-width:90%}}
@media (prefers-reduced-motion:reduce) {#midiary-design button:active:not(:disabled) {transform:none}#midiary-design .lesson-settings-panel,#midiary-design .lesson-settings-toggle.is-gear-animating {animation:none}#midiary-design .lesson-settings .lesson-settings-toggle svg {transition:none}}
@media (prefers-reduced-motion:reduce) {#midiary-design :is(.fd-icon-button,.lesson-settings-toggle,.fd-bottom-nav button,.week-calendar):is(:hover,:active) {transform:none}#midiary-design :is(.fd-bottom-nav button,.week-calendar,.fd-icon-button) svg {transition:none;transform:none}}
@media (prefers-reduced-motion:reduce) {#midiary-design .lesson-settings-panel,#midiary-design .lesson-upload-chevron {transition:none}#midiary-design .lesson-settings-editor[open] .lesson-editor-body {animation:none}}

/* Editors stay in the same anchored panel and scroll within the visible viewport. */
#midiary-design .lesson-settings-form .fd-label {display:grid;gap:5px;min-width:0;margin:0;font-size:12px}
#midiary-design .lesson-time-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#midiary-design .lesson-settings-form textarea {min-height:100px;max-height:220px;resize:vertical}
#midiary-design .lesson-settings-form :is(.lesson-editor-hint,.lesson-editor-status) {margin:0;font-size:12px;line-height:1.45}
#midiary-design .lesson-editor-status:empty {display:none}
#midiary-design .lesson-settings-form .fd-secondary {width:100%;margin:0;padding:8px 10px;min-height:40px;text-align:center;border-radius:12px;font-size:13px}
#midiary-design .lesson-settings-form .lesson-teacher-fields {margin:0;min-width:0}
#midiary-design .lesson-settings-form .lesson-teacher-fields legend {display:none}
#midiary-design .lesson-settings-form .lesson-teacher-row {gap:6px}
#midiary-design .lesson-settings-form .lesson-teacher-row .fd-label {margin-top:8px}
#midiary-design .lesson-settings-form .teacher-remove {height:44px;width:36px;margin-bottom:0}
#midiary-design .lesson-settings-form .teacher-add {margin-top:8px}
