/* ЭлМШ — shared visual system. Layout rules live in the component stylesheets. */
.calendar-controls{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}.calendar-controls button{min-height:40px}.calendar-controls button:first-child,.calendar-controls button:last-child{min-width:40px}
.booking-day{min-height:112px}.booking-day.outside-month .date-number{color:var(--muted)}.booking-day.outside-month{background:#ffffff02}
.calendar-deadline{display:flex;flex-direction:column;gap:5px;min-width:0;padding:10px;border:1px solid #89baff40;border-left:3px solid var(--blue);border-radius:12px;background:#89baff0b;text-decoration:none;color:var(--text);line-height:1.4;overflow-wrap:anywhere;transition:background .2s}
.calendar-deadline:hover{background:#89baff18}.calendar-deadline:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.calendar-deadline small{color:var(--blue);font-size:11px}.calendar-deadline strong{font-size:12px;font-weight:600}.calendar-deadline>span{color:var(--muted);font-size:11px}.calendar-deadline.is-complete{border-left-color:var(--green);background:#8bd8b408}.calendar-deadline.is-complete small{color:var(--green)}.calendar-deadline.is-expired{border-left-color:var(--muted);background:#ffffff03}.calendar-deadline.is-expired small{color:var(--muted)}
.deadline-dot{background:var(--blue);border-radius:1px!important;transform:rotate(45deg)}.calendar-indicators{display:none}.calendar-agenda .calendar-deadline{margin-top:10px;padding:18px}.calendar-agenda .calendar-deadline strong{font-size:16px}.calendar-agenda .calendar-deadline small,.calendar-agenda .calendar-deadline>span{font-size:13px}
@media(max-width:1399px){.student-workspace .booking-day{min-height:0}.student-workspace .calendar-heading{flex-wrap:wrap}.student-workspace .calendar-indicators{position:absolute;bottom:7px;left:0;right:0;display:flex;justify-content:center;gap:4px}.student-workspace .calendar-indicators .calendar-indicator{display:block;position:static;width:5px;height:5px;border-radius:50%;background:var(--blue)}.student-workspace .calendar-indicators .has-slots{background:var(--orange)}.student-workspace .calendar-indicators .has-deadline{background:var(--blue);border-radius:1px;transform:rotate(45deg)}.student-workspace .calendar-date:has(.calendar-indicators .has-deadline){border-bottom-color:#89baff55}.student-workspace .selected-day .calendar-indicators .calendar-indicator{background:#10233d}}
@media(max-width:760px){.calendar-controls{width:100%;justify-content:flex-end}}
:root{
 --tone-0:#000;--tone-12:#0b0d11;--tone-20:#101318;--tone-26:#181d24;--tone-34:#202630;--tone-43:#282f3a;--tone-54:#343d49;--tone-69:#414c5b;--tone-85:#536173;--tone-105:#69788b;--tone-126:#8391a3;--tone-149:#9aa7b8;--tone-175:#b1bdcd;--tone-199:#ccd4df;--tone-221:#e0e6ef;--tone-240:#f5f7fa;--tone-255:#fff;
 --bg:#101318;--panel:#191e26;--panel2:#242c37;--line:#343d49;--text:#f5f7fa;--muted:#aab7c8;--orange:#ff9b5e;--green:#8bd8b4;--red:#ffb5af;--blue:#89baff;--surface:var(--panel);--border:var(--line);--error:var(--red);--accent-soft:#35291f;--radius:22px;--ease:cubic-bezier(.22,1,.36,1);--shadow:0 12px 36px #0000001c;
 color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-synthesis:none;-webkit-font-smoothing:antialiased;
}
html{scroll-behavior:smooth;scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);line-height:1.6;font-size:15px}::selection{background:#ff9b5e44;color:#fff}
button,input,select,textarea{font-family:inherit}button{color:inherit}h1,h2,h3{color:var(--text);font-weight:650;text-wrap:balance}h1{font-size:clamp(32px,3.5vw,46px);line-height:1.12;letter-spacing:-.045em;margin-bottom:16px}h2{font-size:22px;line-height:1.3;letter-spacing:-.025em}h3{font-size:18px;line-height:1.4;letter-spacing:-.015em}p{line-height:1.65}small,.hint,.form-note,.footnote{font-size:13px;line-height:1.55}
:is(h1,h2,h3,p,legend,label,.preserve,.name-link,.badge,.assignment-format,.written-badge){overflow-wrap:anywhere}
:is(.page-head,.section-title,.admin-page-heading,.homework-top,.profile-toolbar)>*{min-width:0}
:is(.layout,.stats,.profile-columns,.form-grid,.review-grid,.rule-grid,.staff-windows),:is(.layout,.stats,.profile-columns,.form-grid,.review-grid,.rule-grid,.staff-windows)>*{min-width:0}
.eyebrow{color:var(--muted);font-size:10px;letter-spacing:.14em;line-height:1.5;margin-bottom:14px}.accent,.elo{color:var(--orange)}.muted,.hint,.aside-note,.form-note,.footnote{color:var(--muted)}a{color:var(--blue);text-underline-offset:4px}svg{flex-shrink:0}
/* Navigation stays quiet and stationary while the workspace changes. */
header{position:sticky;top:0;z-index:5;background:#101318dc;border-bottom:1px solid #ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.nav{max-width:1460px;padding:16px 32px;gap:24px;min-height:82px;background:transparent}
.brand{font-size:25px;font-weight:750;letter-spacing:-.02em;gap:13px}.brand small{color:var(--muted);font-size:10px;letter-spacing:.015em}.brand .mark{width:46px;height:46px;border-radius:14px;box-shadow:none;background:#f5f4f0;border:1px solid #fff4;padding:3px}.brand .mark img{border-radius:10px}
.user-block{gap:12px}.user-block>div{max-width:225px;min-width:0}.user-block strong{font-weight:600;font-size:13px;line-height:1.4}.user-block small{margin-top:3px;font-size:11px}.avatar-button{border-radius:50%;padding:3px;min-height:44px}
.avatar{border-radius:50%;background:#2d3747;border-color:#4c5d74;color:#d2e3ff;font-weight:600;overflow:hidden}.avatar img{display:block;width:100%;height:100%;object-fit:cover}
.notification-button{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:transparent;border:1px solid var(--line);color:var(--muted)}.notification-button:hover{background:var(--panel2);color:var(--text);border-color:#65758c}.notification-glyph{width:21px;height:23px;display:block;pointer-events:none}.notification-count,.admin-nav-count{background:var(--orange);color:#25160c;border:2px solid var(--bg)}
main{max-width:1460px;padding:40px 32px 64px}.admin-mode main,.student-mode main{padding-top:36px}.admin-shell{grid-template-columns:220px minmax(0,1fr);gap:40px}
.admin-sidebar{top:110px;max-height:calc(100dvh - 134px);padding:12px;background:transparent;border:0;border-radius:18px}.admin-sidebar-label{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.02em;padding:0 12px 24px}.admin-nav-label{font-size:10px;font-weight:500;color:#8391a3;letter-spacing:.12em;margin:26px 12px 10px}.admin-sidebar nav{gap:5px}
.admin-nav-item{min-height:46px;padding:11px 12px;gap:12px;border-radius:13px;font-size:13px;font-weight:500;color:#b8c4d5}.admin-nav-item svg{color:#90a0b6;width:19px;height:19px}.admin-nav-item.selected{color:#ffc39c;background:#ff9b5e12;border-color:#ff9b5e24;box-shadow:none}.admin-nav-item.selected svg{color:var(--orange)}.admin-nav-item:hover{background:#ffffff08;color:var(--text)}.admin-nav-item b{border-radius:7px;background:#ff9b5e24;color:#ffc39c;font-weight:600}
.student-group-info{margin-top:24px;padding:20px 12px 0;border-color:#ffffff12;gap:7px}.student-group-info strong{color:var(--text);font-weight:550}.student-group-info span,.student-group-info small{color:var(--muted);font-size:12px}
.section-nav{max-width:1396px;gap:28px;border-color:var(--line)}.section-nav button{color:var(--muted);font-weight:550;border-bottom-width:2px}.section-nav button.selected{color:var(--text);border-color:var(--orange)}
.page-head{margin-bottom:32px;align-items:center;flex-wrap:wrap;gap:16px 24px}.page-head p{margin:0;max-width:64ch;font-size:15px}.page-head>.badge{align-self:center;max-width:100%;font-weight:500}.admin-page-heading{margin-bottom:30px;gap:24px;align-items:center}.admin-page-heading h1{font-size:clamp(32px,3.5vw,42px)}.admin-page-heading>.primary{margin-top:0}.admin-workspace .page-head p{font-size:15px}.section-title{gap:16px;margin-bottom:20px;flex-wrap:wrap}
/* Surfaces, hierarchy and actions. */
.card,.queue-card,.window-card,.stat,.homework-card,.overview-panel,.overview-metric,.group-settings-card,.webinar-folder,.olymp-card,.olymp-panel,.access-card,.duplicate-card,.preview-student,.homework-contacts{background:var(--panel);border:1px solid #ffffff10;border-radius:var(--radius);box-shadow:var(--shadow)}
.card,.queue-card,.overview-panel{padding:28px}.window-card{padding:24px;gap:20px}.overview-metrics,.stats{gap:16px;margin-bottom:28px}.overview-metric{padding:24px;gap:8px;border-color:#ffffff10}.overview-metric:hover{background:#202733;border-color:#89baff50;box-shadow:0 12px 32px #0003}.overview-metric>span{color:#d0d9e6;font-size:14px}.overview-metric strong{font-size:38px;font-weight:600;letter-spacing:-.04em;line-height:1.2}.overview-metric small{color:var(--muted);font-size:12px}.overview-metric:first-child strong{color:var(--orange)}.overview-metric:nth-child(2) strong{color:var(--blue)}.overview-metric:nth-child(3) strong{color:var(--green)}
.overview-columns{gap:24px;margin-bottom:28px}.overview-group-grid{gap:14px}.overview-group-grid article{border-radius:16px;background:#ffffff03;border-color:#ffffff0d;padding:22px}.overview-group-grid h3{font-size:22px}.overview-person,.overview-window,.student-deadline{border-color:#ffffff12}
.student-next-empty{padding:30px;margin-bottom:26px;gap:28px}.student-next-empty h2{font-size:25px}.student-next-empty p{margin-bottom:0;max-width:52ch;font-size:15px;color:var(--muted)}.student-deadline h3{font-size:23px;margin-top:18px}.student-booking-grid .booking{background:var(--panel);border-color:#ffffff12;border-radius:22px;padding:26px}.stat{padding:24px}.stat b{font-size:34px;font-weight:600;letter-spacing:-.04em}.stat span{font-size:13px}.stat small{font-size:12px}
.primary,.secondary,.danger,.olymp-page .olymp-primary-link{min-height:46px;padding:12px 20px;border-radius:13px;font-size:14px;font-weight:600;line-height:1.45;white-space:normal;max-width:100%;text-align:center;box-shadow:none;text-decoration:none}
.primary,.olymp-page .olymp-primary-link{background:var(--orange);color:#25160c!important;border-color:var(--orange)}.primary:hover,.olymp-page .olymp-primary-link:hover{background:#ffb07e;border-color:#ffb07e;box-shadow:0 5px 20px #ff9b5e18}.secondary{background:#ffffff06;border-color:#ffffff24;color:var(--text)}.secondary:hover{background:#ffffff0d;border-color:#ffffff50;text-decoration:none}.danger{background:#ffb5af08;border:1px solid #ffb5af3b;color:var(--red)}.danger:hover{background:#ffb5af14;border-color:#ffb5af80}
.compact{padding:10px 15px;min-height:42px;font-size:13px}.primary svg,.secondary svg{width:18px;height:18px}.name-link{line-height:1.45;color:var(--text);font-weight:600;min-height:32px}.back,.text-link{color:var(--blue);font-size:13px}.back{min-height:44px}.actions,.row-actions,.btn-list{gap:10px}
button,a,input,select,textarea,summary{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .25s var(--ease)}button:not(:disabled):active,.primary:active{transform:scale(.98)}button:disabled{opacity:.5}:is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid var(--blue);outline-offset:3px}
label{font-size:14px;font-weight:550;line-height:1.5;margin-bottom:20px;min-width:0}input,select,textarea{background:#11161d;border:1px solid #4d596b;border-radius:13px;color:var(--text);min-height:48px;padding:12px 14px;font-size:15px;accent-color:var(--orange)}input::placeholder,textarea::placeholder{color:#90a0b6}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #89baff12}
input[type=checkbox]:not(.switch-input),input[type=radio]{min-height:20px;width:20px;height:20px;padding:0;flex-shrink:0}input[type=file]{max-width:100%;font-size:13px;padding:10px}input[type=file]::file-selector-button{border-radius:8px;padding:9px 12px;color:var(--text);background:var(--panel2)}input:disabled,select:disabled{opacity:.6}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.error,.form-error,.bad-text{color:var(--error)!important}.form-error{line-height:1.6;font-size:14px}
fieldset{min-width:0;max-width:100%;margin-inline:0;border:1px solid var(--line);padding:20px;border-radius:16px}legend{max-width:100%;padding:0 8px;font-size:14px;line-height:1.5}
.badge,.assignment-format,.written-badge,.olymp-chip{white-space:normal;max-width:100%;font-size:12px;font-weight:550;line-height:1.5;padding:6px 10px;border:1px solid #ffffff17;border-radius:9px;color:#ccd6e5;background:#ffffff05;box-shadow:none}.badge.good,.olymp-chip.is-live{background:#8bd8b412;border-color:#8bd8b429;color:#a4e6c7}.badge.warn{background:#ffbf6b12;border-color:#ffbf6b30;color:#f3c888}.badge.bad{background:#ffb5af12;border-color:#ffb5af30;color:var(--red)}.badge.gray,.olymp-chip.is-muted,.olymp-chip.is-past{color:var(--muted);background:#ffffff05;border-color:#ffffff14}
.notice,.written-intro,.teacher-groups-note,.group-settings-summary,.preview-form-note{background:#89baff08;color:#c3d1e5;border:1px solid #89baff22;border-radius:16px;padding:18px 22px;font-size:14px;line-height:1.7}.notice strong,.written-intro strong{color:var(--text)}.notice.amber{background:#ffbf6b08;color:#e3c69e;border-color:#ffbf6b30}.notice p:last-child,.written-intro p:last-child{margin-bottom:0}
.workspace-toolbar{gap:14px;border-color:#ffffff12;align-items:end}.workspace-toolbar>select{flex:1;min-width:0}.workspace-toolbar select{margin:0}.filter-field>span{font-size:12px;color:var(--muted)}.filter-field select{font-size:14px}
.tabs{background:#ffffff06;border:1px solid #ffffff0e;border-radius:14px;padding:4px;gap:4px}.tabs button{padding:10px 16px;border-radius:10px;color:var(--muted);font-size:14px;font-weight:550}.tabs button.active{background:#3a4658;color:var(--text)}.student-scope button{border-radius:12px}.student-scope button.selected{color:var(--blue);border-color:#89baff4d;background:#89baff0f}
.material-tabs{width:fit-content;max-width:100%;padding:5px;gap:4px;background:#ffffff06;border:1px solid #ffffff12;border-radius:15px;margin-bottom:28px}.material-tabs [role=tab]{min-height:44px;padding:10px 22px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:14px;font-weight:600}.material-tabs [role=tab][aria-selected=true]{color:var(--text);background:#3a4658;box-shadow:0 2px 8px #0002}.material-tabs [role=tab]:hover{color:var(--text)}
/* Webinars and files: one clear heading per sheet, readable material names. */
.webinar-group{margin:30px 0}.webinar-list{gap:14px}.webinar-folder{border-radius:22px}.webinar-folder:hover{border-color:#ffffff26}.webinar-folder[open]{background:#1b212b;border-color:#89baff38}.webinar-folder>summary{padding:24px 26px;gap:22px}.webinar-folder-title{gap:8px}.webinar-folder-title strong{font-size:20px;font-weight:600;letter-spacing:-.025em}.webinar-folder-title>small,.webinar-folder-title>span,.webinar-folder-status>small{color:var(--muted);font-size:13px}.webinar-folder-status{gap:10px}.webinar-folder-status .badge{padding:5px 10px}.folder-chevron{color:#a8bedb;font-size:20px;transition:transform .35s var(--ease)}
.webinar-folder-content{padding:26px;gap:26px;background:transparent;border-color:#ffffff12}.webinar-folder-content .homework-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.webinar-folder-content .homework-card+.homework-card{padding-top:24px;border-top:1px solid #ffffff12}.webinar-folder .assignment-format{color:var(--muted);padding:0;background:transparent;border:0;font-size:12px}
.homework-card{background:var(--panel);border-left:1px solid #ffffff10;padding:26px}.homework-card.expired,.homework-card.complete,.homework-card.supplement{background:var(--panel);border-color:#ffffff12;opacity:1}.homework-top{gap:18px}.homework-top h3{font-size:23px;line-height:1.35}.homework-title,.webinar-folder-content .homework-title{font-size:19px;font-weight:600;line-height:1.45;color:var(--text);margin:14px 0 12px}.homework-comment{font-size:14px;line-height:1.75;color:#c7d1df;margin:16px 0}.homework-date,.supplement-parent{font-size:12px;color:var(--muted)}
.supplement-ribbon,.homework-card.supplement:before{background:#89baff0c;border-color:#89baff24;color:var(--blue)}.supplement-ribbon{margin-bottom:22px}.supplement-ribbon small{color:#b4c8e3}.homework-card.supplement .eyebrow{color:var(--blue)}
.homework-progress{max-width:440px;gap:9px;margin:20px 0}.homework-progress span{font-size:13px;font-weight:550;color:#d0dce9}progress{appearance:none;height:7px;border:0;background:#3a4555;accent-color:var(--orange);overflow:hidden;border-radius:10px}progress::-webkit-progress-bar{background:#3a4555;border-radius:10px}progress::-webkit-progress-value{background:var(--orange);border-radius:10px}progress::-moz-progress-bar{background:var(--orange);border-radius:10px}.homework-progress progress::-webkit-progress-value{background:var(--green)}.homework-progress progress::-moz-progress-bar{background:var(--green)}
.task-chips{gap:8px;margin:18px 0}.task-chips span,.homework-card.supplement .task-chips span{background:#ffffff03;color:var(--muted);border:1px solid #ffffff1c;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:550}.task-chips span.is-accepted,.student-homework .task-chips .is-accepted{background:#8bd8b40d;border-color:#8bd8b430;color:#a4e6c7}
.homework-files,.webinar-folder .homework-files{gap:10px;margin-top:22px;align-items:stretch}.homework-pdf,.homework-files a,.solution-file .homework-pdf{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;max-width:100%;padding:15px 17px;min-height:60px;background:#ffffff04;border:1px solid #ffffff20;border-radius:13px;color:#e4ebf5;font-size:13px;font-weight:500;line-height:1.5;white-space:normal;overflow-wrap:anywhere;text-align:left;box-shadow:none}.homework-pdf small,.homework-files a small{color:var(--muted);font-size:11px;font-weight:400}.homework-pdf:hover,.homework-files a:hover,.solution-file .homework-pdf:hover{background:#89baff08;border-color:#89baff70;color:var(--text);text-decoration:none}
.material-crosslink{color:var(--blue);font-size:13px}.webinar-category{margin-top:30px;border-color:#ffffff17}.webinar-category>summary{color:#d2dce9;padding:16px 2px;font-size:16px;font-weight:550;gap:14px}.webinar-category>summary>span{background:#ffffff06;border-color:#ffffff17}.solution-sheet-heading .eyebrow{color:var(--muted)}.solution-file .homework-pdf{flex-direction:row;align-items:center;gap:16px}.solution-file .homework-pdf small{display:block}
/* Task selection is encoded with fill, border and a checkmark, not color alone. */
.booking-sheet-list,.result-sheet-list{gap:18px;margin-top:22px}.booking-sheet,.result-task-set{display:flow-root;margin:0;padding:22px;border:1px solid #ffffff14;border-radius:18px;background:#ffffff03;min-width:0}.booking-sheet legend,.result-task-set legend{float:left;width:100%;padding:0;margin:0 0 18px;color:var(--text);font-size:16px;font-weight:600;line-height:1.5}.booking-sheet legend span,.result-task-set legend span{display:block}.booking-sheet legend small,.result-task-set legend small{margin-top:6px;font-size:12px;font-weight:400;color:var(--muted);line-height:1.6}.booking-sheet .booking-task-grid,.result-task-set .booking-task-grid{clear:both}.booking-sheet.is-supplement{border-color:#89baff30;background:#89baff06}.booking-intro{color:#c7d3e3;font-size:14px}
.booking-task-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-height:none;overflow:visible;padding:0}.booking-task-grid label{margin:0;position:relative;min-width:0}.booking-task-grid input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0!important;padding:0;margin:0;clip-path:inset(50%)}
.booking-task-grid span,.result-task-set .booking-task-grid span{position:relative;min-height:50px;border-radius:12px;background:#11161d;border:1px solid #526078;color:#e0e9f6;padding:10px 17px;font-size:15px;font-weight:600;line-height:1.35;transition:background .18s,border-color .18s,color .18s,transform .22s var(--ease)}.booking-task-grid label:hover span,.result-task-set .booking-task-grid label:hover span{background:#273242;border-color:var(--blue);transform:none}
.booking-task-grid input:checked+span,.result-task-set .booking-task-grid input:checked+span{background:var(--orange);border-color:#ffbd94;color:#25160c;box-shadow:0 0 0 1px #ffbd94}.booking-task-grid input:checked+span::after,.result-task-set .booking-task-grid input:checked+span::after{content:'✓';position:absolute;top:4px;right:6px;font-size:11px;line-height:1;font-weight:750}
.booking-task-grid span small,.result-task-set .booking-task-grid span small{font-size:10px;color:inherit;font-weight:400;margin-top:5px}.booking-task-grid input:disabled+span,.result-task-set .booking-task-grid input:disabled+span{background:#8bd8b408;color:#92b7a8;border-color:#8bd8b424;border-style:dashed;box-shadow:none;cursor:not-allowed;transform:none;opacity:1}.booking-task-grid input:focus-visible+span{outline:3px solid var(--blue);outline-offset:4px}
.booking-selection-summary{position:static;margin-top:20px;border:1px solid #ff9b5e40;border-radius:14px;background:#ff9b5e0e;padding:16px 18px;color:#ffd0b2;font-size:14px;font-weight:600}.result-task-set{margin-top:22px}.result-task-set .booking-task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-task-card{grid-template-columns:58px minmax(0,1fr);gap:10px}.result-task-card>select{min-height:50px;height:auto;font-size:13px;border-radius:12px}
.result-elo-preview,.check-elo-preview{background:#ff9b5e0a;border:1px solid #ff9b5e30;color:#ffc39c;padding:18px;border-radius:14px;font-size:18px}.written-task-options{background:#ffffff03;padding:20px;border-color:#ffffff18}.written-task-options .checks{gap:12px}.written-task-row{grid-template-columns:76px minmax(0,1fr)}.written-task-options label{min-height:48px;border-color:#ffffff20;border-radius:12px;background:#ffffff03}.written-task-options label:has(input:checked){background:#ff9b5e0f;border-color:#ff9b5e60;color:#ffd0b2}.written-task-row label:has(select){background:transparent;border:0;padding:0;display:block;font-size:11px;color:var(--muted)}
.written-check-list{gap:16px}.written-check-row{background:var(--panel);padding:26px;gap:24px;border-color:#ffffff12;border-radius:20px}.written-check-heading{display:grid;gap:7px}.written-check-student{font-size:16px}.written-check-assignment{font-size:17px;font-weight:500;color:#c7d3e3}.written-check-row p{font-size:14px;line-height:1.8;margin:14px 0}.written-check-row small{font-size:12px}.written-check-score{gap:8px}.written-check-score strong{font-size:23px;font-weight:600;letter-spacing:-.025em}
.booking-sheet-summary{gap:14px}.booking-sheet-summary>div{display:grid;gap:6px}.booking-sheet-summary strong{font-size:14px;font-weight:550;line-height:1.5}.booking-sheet-summary span{color:var(--muted);font-size:13px}
/* Calendar, queues and attention states. */
.calendar-panel{padding:26px;background:var(--panel);border-color:#ffffff12;border-radius:22px}.calendar-heading h2{font-size:25px}.calendar-heading p{color:var(--muted);font-size:13px}.schedule-calendar{border-color:#ffffff12;border-radius:16px;background:#ffffff02}.calendar-weekdays{background:transparent;color:var(--muted)}
.calendar-slot{background:#202936;border-color:#43536a;border-top-color:var(--orange);border-radius:14px}.calendar-slot.mine{background:#89baff0b;border-color:#89baff4a;border-top-color:var(--blue)}.calendar-slot.unavailable{background:#ffffff03;border-color:#ffffff17;color:var(--muted)}.calendar-agenda .calendar-slot,.student-workspace .calendar-agenda .calendar-slot{background:#202936;border-left-color:var(--orange);border-radius:16px}.calendar-agenda .calendar-slot.mine,.student-workspace .calendar-agenda .calendar-slot.mine{background:#89baff0b;border-left-color:var(--blue)}.calendar-agenda .calendar-slot.unavailable,.student-workspace .calendar-agenda .calendar-slot.unavailable{background:#ffffff03;border-left-color:#6b788b}
.calendar-date{border-radius:12px}.has-windows .calendar-date,.student-workspace .has-windows .calendar-date{background:#89baff0f;color:#b8d5ff}.selected-day .calendar-date,.student-workspace .selected-day .calendar-date{background:var(--blue);border-color:var(--blue);color:#10233d;box-shadow:none}.selected-day .date-month,.student-workspace .selected-day .date-month{color:#10233d}.calendar-indicator.has-booking,.student-workspace .calendar-indicator.has-booking,.mine-dot{background:var(--blue)}.selected-day .calendar-indicator.has-slots,.student-workspace .selected-day .calendar-indicator.has-slots{background:#10233d}.today .calendar-date,.student-workspace .today .calendar-date{border:1px solid var(--orange)}.slot-status.is-mine{color:var(--blue);border-color:#89baff40;background:#89baff0b}
.listening-view-switch{border-color:#ffffff17;margin-bottom:26px;gap:12px}.listening-view-switch button{color:var(--muted);font-weight:550}.listening-view-switch button.selected{color:var(--orange);border-color:var(--orange)}.listening-attention{background:#ffbf6b07;border-color:#ffbf6b30;border-radius:18px;padding:22px}.listening-attention h2{color:#f2cc95;font-size:17px}.attention-row{border-color:#ffbf6b20;padding:16px 0;gap:16px;color:#ead8bd}.attention-row strong{font-size:14px;font-weight:550}.attention-row small{font-size:12px;line-height:1.6;color:#bfac91}.attention-symbol{border-color:#ffbf6b70;color:#f2cc95}.listening-metrics{padding:24px 0;border-color:#ffffff17}.listening-metrics strong{font-weight:600}.listening-metrics small{font-size:11px}
.admin-week{border-color:#ffffff17;border-radius:20px;background:var(--panel)}.admin-week-day{border-color:#ffffff12}.admin-week-day.is-today{background:#89baff06}.week-session{background:#ffffff04;border-color:#ffffff1c;border-top:2px solid var(--blue);border-radius:12px}.week-session.group-g7{border-top-color:var(--orange)}.week-session.group-g8{border-top-color:var(--blue)}.week-session.group-g45,.week-session.group-g6{border-top-color:var(--green)}.week-session:hover{background:#ffffff09;border-color:#89baff70}.week-session.is-cancelled{border-top-color:#6b788b}.session-warning{color:#f2cc95}
.history-session{background:var(--panel);border-color:#ffffff17;padding:20px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,.7fr) auto 18px}.history-session:hover{background:var(--panel2)}.queue-row{gap:18px;padding:24px 0;border-color:#ffffff12}.queue-row>div{min-width:0}
/* Profiles keep level colors and achievements; the surroundings stay restrained. */
.profile-hero{background:radial-gradient(ellipse at 90% 0,#ff9b5e0f,transparent 65%),var(--panel);border:1px solid #ffffff14;border-radius:26px;padding:34px;box-shadow:var(--shadow)}.profile-hero:before{content:none}.profile-identity{gap:24px}.profile-identity h1{font-size:clamp(28px,3vw,42px);line-height:1.15}.profile-avatar .avatar.large{width:104px;height:104px;border:1px solid #ffffff30;background:#2d3747;box-shadow:0 0 0 8px #ffffff04}.profile-hero p{color:var(--muted);font-size:14px;margin-top:10px}.profile-rating b{color:var(--orange);font-weight:600;letter-spacing:-.04em}
.profile-toolbar{padding:24px 0;gap:24px;margin:0}.profile-toolbar .actions{margin:0;gap:10px}.profile-caption{color:#ccd7e7}.profile-caption svg{color:var(--blue)}.staff-role-mark{background:#89baff0a;border-color:#89baff30;border-radius:16px;padding:18px}.profile-details span{background:#ffffff06;color:#cbd7e8;border-radius:9px}.profile-columns{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px}.profile-columns .card{padding:26px}.progress-panel{background:var(--panel);border-color:#ffffff12;border-radius:18px;padding:24px}
.editor-avatar{background:#89baff06;border-color:#89baff24;border-radius:18px;padding:22px}.editor-section,.editor-section-title{border-color:#ffffff17}.editor-section-title>span:first-child{color:var(--blue)}.locked-information{background:#11161d;border-color:#4d596b;border-radius:14px;gap:18px}.switch-input{min-height:28px;height:28px;width:48px;flex-basis:48px;border:1px solid #5d6c80;background:#344054}.switch-input:before{width:20px;height:20px;background:#d1dbea;top:3px;left:3px}.switch-input:checked{background:var(--blue);border-color:var(--blue)}.switch-input:checked:before{transform:translateX(19px);background:#132945}.preference-row{border-color:#ffffff12}.group-settings-summary{background:#89baff06}.group-rate-pair b{color:var(--blue);font-weight:600}.group-rate-pair,.group-policy-line{border-color:#ffffff17}.status-dot.enabled{background:var(--green)}
.level{background:#283340;color:#c5d3e4;border-color:#657993;box-shadow:0 3px 12px #0002}.level-1{background:#20354b;color:#b4d6ff;border-color:#6f9dce}.level-2{background:#223954;color:#a8d1ff;border-color:#639fe0}.level-3{background:#243450;color:#b1c7ff;border-color:#819fe2}.level-4{background:#203a37;color:#b0ecdb;border-color:#61a48d}.level-5{background:#1e3b30;color:#9de7bb;border-color:#5baa7b}.level-6{background:#343b23;color:#d1e9a4;border-color:#99ad64}.level-7{background:#3e3521;color:#f5d698;border-color:#cba05b}.level-8{background:#432f20;color:#ffbf8c;border-color:#d58d56}.level-9{background:#452a25;color:#ffb295;border-color:#d98264}.level-10{background:#452535;color:#ffb1d2;border-color:#d276a0}
.level-up-overlay{background:radial-gradient(circle at 50% 47%,#35291f 0,#0b0d11 34%,#000 75%)}.level-up-overlay .level-ring{border-color:var(--orange);box-shadow:0 0 22px #ff9b5e50,inset 0 0 22px #ff9b5e30}.level-up-overlay .level-new{color:var(--orange);text-shadow:0 0 32px #ff9b5e60}
.ranking-intro{background:var(--panel);border-color:#ffffff17;border-radius:22px 22px 0 0;padding:28px}.table-wrap{border-color:#ffffff17;border-radius:0 0 22px 22px;background:var(--panel);overscroll-behavior-x:contain}th{font-size:10px;letter-spacing:.08em;font-weight:550;background:#ffffff02;color:var(--muted)}td{border-color:#ffffff10}.ranking tr:hover{background:#ffffff04}.ranking .own-row{background:#89baff08}
.olymp-page{--olymp-line:var(--line);--olymp-muted:var(--muted);color:var(--text)}.olymp-heading{padding-top:4px;border-color:#ffffff12}.olymp-heading h1{font-size:clamp(34px,4vw,46px);font-weight:650}.olymp-category-head{border-color:#ffffff17;gap:24px;margin-bottom:22px}.olymp-category-head h3{font-size:24px;font-weight:600}.olymp-category-head>span{color:var(--muted);background:transparent}.olymp-card{padding:24px;border-radius:22px;background:var(--panel)}.olymp-card:hover,.olymp-soon-card:hover{background:#202733;border-color:#89baff50;transform:translateY(-3px);box-shadow:0 12px 36px #0003}.olymp-card h3{font-size:22px;font-weight:600}.olymp-card .olymp-logo{border-radius:14px}.olymp-logo{background:#f7f7f7}.olymp-logo-dark{background:#293445}.olymp-card-more>span,.olymp-soon-date{color:var(--blue)}.olymp-soon-card{background:var(--panel);border-color:#ffffff14;border-radius:18px;padding:20px;gap:10px}.olymp-panel{padding:28px;border-radius:22px}.olymp-filters input,.olymp-filters select{background:#11161d;border-color:#4d596b;border-radius:13px;height:48px}.olymp-timeline li:before{background:var(--blue)}.olymp-page a:focus-visible{outline-color:var(--blue)}.olymp-steps li{background:transparent}
/* Dialogs use the same controls and spacing as the full pages. */
dialog{width:min(720px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:32px;border:1px solid #ffffff26;border-radius:28px;background:#1b222d;box-shadow:0 32px 100px #0009;overscroll-behavior:contain}dialog::backdrop{background:#060b13b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}dialog h2{font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:0 0 22px;padding-right:32px}.dialog-close{position:absolute;right:20px;top:20px;width:36px;height:36px;min-height:36px;border:1px solid #ffffff20;border-radius:50%;background:#ffffff06;color:var(--muted);font-size:22px;line-height:1;display:grid;place-items:center}.dialog-close:hover{background:#ffffff12;color:var(--text)}
.dialog-sub{font-size:14px;color:var(--muted);line-height:1.7}.dialog-summary{background:#89baff08;border-color:#89baff24;padding:18px 20px;border-radius:16px;margin-bottom:22px}.dialog-summary strong{font-size:15px;font-weight:550}.dialog-summary small{margin-top:7px}.dialog-actions{gap:10px;border-top:1px solid #ffffff17;margin-top:24px;padding-top:24px;flex-wrap:wrap}.dialog-actions button{min-width:110px}.dialog-actions .primary{min-width:180px}.profile-editor .dialog-actions{position:static;background:transparent;padding-bottom:0;box-shadow:none}
.notification-list{gap:12px;margin:0}.notification-item{padding:18px;gap:16px;border-radius:16px;border-color:#ffffff12;background:#ffffff03}.notification-item.unread{background:#89baff08;border-color:#89baff30;border-left:3px solid var(--blue)}.notification-icon{width:38px;height:38px;border-radius:12px;background:#89baff12;color:var(--blue)}.notification-item strong{font-size:15px;font-weight:550;margin-bottom:8px}.notification-item p{font-size:14px;line-height:1.7;color:#c7d3e3;margin-bottom:10px}.notification-item small{font-size:11px}#toast{background:#293445;border-color:#7185a3;color:var(--text);border-radius:15px;padding:16px 22px;box-shadow:0 14px 44px #0006;line-height:1.6;z-index:20}
.auth{max-width:500px}.auth .card{padding:34px;border-radius:26px}.auth h1{font-size:32px}.auth-help,.auth-help-button{color:var(--blue);font-size:13px}.auth-help-button{border-radius:10px}.password-toggle{color:#c7d3e3;border-radius:8px}
.welcome-studio{max-width:1160px;background:none;padding:18px 0 0;margin:0 auto}.welcome-heading{padding:12px 0 44px;gap:60px}.welcome-heading h1{font-size:clamp(38px,5vw,68px);font-weight:650;line-height:1.04;letter-spacing:-.05em;margin-bottom:24px}.welcome-heading .lead{font-size:18px;color:var(--muted);line-height:1.7}.welcome-heading .eyebrow{font-size:11px;color:var(--muted)}.welcome-emblem{background:transparent}.welcome-emblem img{width:150px;height:150px;padding:10px;background:#f8f7f4;border-radius:36px;border:1px solid #fff;box-shadow:0 20px 60px #0005}.welcome-emblem span{color:var(--muted);font-size:9px;letter-spacing:.14em}.entry-label{padding-top:28px;border-color:#ffffff17;gap:16px}.entry-label>span{font-size:17px;font-weight:550}.entry-label small{font-size:13px;color:var(--muted)}
.welcome-studio .role-grid{margin:24px 0;gap:18px}.welcome-studio .role-card,.welcome-studio .role-card:first-child{background:var(--panel);border:1px solid #ffffff14;border-radius:24px;padding:28px;min-height:260px;color:var(--text)}.welcome-studio .role-card:first-child{background:radial-gradient(ellipse at 100% 0,#ff9b5e0d,transparent 70%),var(--panel)}.welcome-studio .role-card:hover{background:#202733;border-color:#89baff50;transform:translateY(-4px);box-shadow:0 16px 40px #0003}.welcome-studio .role-icon{top:22px;right:24px;width:42px;height:42px;border-radius:13px;color:var(--blue);background:#89baff12}.welcome-studio .role-card:first-child .role-icon{color:var(--orange);background:#ff9b5e12}.role-number{color:var(--muted);letter-spacing:.1em;font-size:10px;font-weight:500;margin-bottom:20px}.welcome-studio .role-card h2{font-size:27px;font-weight:600;margin:14px 0}.welcome-studio .role-card p{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:28px}.welcome-studio .role-link{border-color:#ffffff17;color:#d1dced;padding-top:18px;font-size:13px;font-weight:500}.welcome-studio .role-card:first-child .role-link{color:#ffc39c;border-color:#ffffff17}.welcome-baseline{color:var(--muted);font-size:12px;padding:8px 0}
footer{max-width:1396px;padding:32px 0;gap:32px;border-color:#ffffff12;font-size:12px;color:var(--muted)}footer>div{display:flex;flex-direction:column;gap:8px}footer strong{color:#c7d3e3;font-size:13px;font-weight:550}footer p{margin:0}footer a{color:var(--muted);font-size:12px}.connection{color:var(--muted)}
/* Brief, local motion; honor the device's reduced-motion preference. */
.page-enter{animation:none}.page-enter>.admin-shell>.admin-workspace,.page-enter>:not(.admin-shell){animation:content-enter .42s var(--ease) both}[role=tabpanel]:not([hidden]),.webinar-folder[open]>.webinar-folder-content,.admin-sidebar.is-open nav{animation:content-enter .3s var(--ease) both}dialog[open]{animation:surface-enter .3s var(--ease) both}dialog[open]::backdrop{animation:backdrop-enter .25s ease-out both}
@keyframes content-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes surface-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@supports(interpolate-size:allow-keywords){.webinar-folder{interpolate-size:allow-keywords}.webinar-folder::details-content{block-size:0;overflow:clip;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}.webinar-folder[open]::details-content{block-size:auto}}
@media(min-width:901px) and (max-width:1199px){.admin-shell{grid-template-columns:196px minmax(0,1fr);gap:26px}.admin-sidebar{padding:8px}.admin-nav-item{font-size:12px;padding:10px}}
@media(max-width:1100px){.user-block>div{max-width:150px}.profile-columns{grid-template-columns:minmax(0,1fr)}.staff-windows,.admin-workspace .staff-windows{grid-template-columns:minmax(0,1fr)}footer{margin:0 32px}.history-session{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}}
@media(max-width:900px){.admin-shell{grid-template-columns:minmax(0,1fr);gap:28px}.admin-sidebar{position:static;max-height:none;padding:0;border:1px solid #ffffff17;background:var(--panel);border-radius:16px}.admin-menu-toggle{background:transparent;min-height:54px;padding:16px 18px;border-radius:16px;font-size:14px}.admin-menu-toggle span:last-child{color:var(--orange)}.admin-sidebar.is-open nav{padding:10px}.admin-nav-label{margin-top:18px}.profile-toolbar .actions{width:100%}.profile-toolbar .actions button{flex:1 1 auto}.profile-hero{padding:28px}.welcome-studio .role-grid{grid-template-columns:minmax(0,1fr)}.welcome-studio .role-card{min-height:230px}}
@media(max-width:640px){
 html{scrollbar-gutter:auto}.nav{padding:12px 18px;min-height:72px;gap:12px}.brand{font-size:22px;gap:10px}.brand small,.user-block>div{display:none}.brand .mark{width:40px;height:40px;border-radius:12px}.user-block{gap:8px}.user-block .compact{min-height:42px;padding:8px 11px;font-size:12px;border-radius:12px}.notification-button{width:40px;height:42px;min-height:42px}.avatar-button{padding:0}.avatar-button .avatar{width:40px;height:40px}
 main,.admin-mode main,.student-mode main{padding:24px 18px 40px}.admin-shell{gap:26px}.admin-menu-toggle{padding:15px 16px}h1,.page-head h1,.admin-page-heading h1{font-size:32px;margin-bottom:14px}.page-head{gap:16px;margin-bottom:26px;align-items:flex-start}.page-head p,.admin-workspace .page-head p{font-size:14px;line-height:1.7}.page-head>.badge{align-self:flex-start;font-size:12px}.admin-page-heading{align-items:stretch;gap:18px}.admin-page-heading>.primary{width:100%}
 .card,.queue-card,.overview-panel,.homework-card,.group-settings-card{padding:22px;border-radius:20px}.overview-metrics,.stats{gap:12px;margin-bottom:24px}.student-metrics{grid-template-columns:minmax(0,1fr)}.student-metrics .overview-metric{padding:20px;border-radius:18px}.student-metrics .overview-metric strong{font-size:32px}.overview-metric>span{font-size:14px}.overview-metric small{font-size:12px}.student-next-empty{padding:22px;align-items:stretch;gap:20px}.student-next-empty h2{font-size:23px}.student-next-empty p{font-size:14px}.student-deadline h3{font-size:21px}.stat{padding:18px}.stat b{font-size:28px}.stat span{font-size:12px}.section-title{gap:12px}.section-title h2{font-size:21px}
 .workspace-toolbar{flex-wrap:wrap;align-items:stretch}.workspace-toolbar>select{flex-basis:100%}.workspace-toolbar>button{margin-left:0}.form-grid,.locked-information{grid-template-columns:minmax(0,1fr)}.form-grid .span2{grid-column:1}input,select,textarea,.filter-field select{font-size:16px;min-height:48px}.toolbar input,.toolbar select{max-width:100%}.primary,.secondary,.danger{min-height:46px}.notice,.written-intro,.teacher-groups-note{padding:17px 18px;font-size:13px}
 .webinar-folder>summary{padding:22px 20px;grid-template-columns:minmax(0,1fr) 18px;gap:12px}.webinar-folder-title strong{font-size:18px}.webinar-folder-title>small,.webinar-folder-title>span,.webinar-folder-status>small{font-size:12px}.webinar-folder-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.webinar-folder-content{padding:22px 20px;gap:24px}.webinar-folder-content .homework-card{padding:0}.webinar-folder-content .homework-title{font-size:18px}.homework-top{display:grid;gap:14px}.homework-top>.badge{justify-self:start}.homework-top h3{font-size:21px}.homework-comment{font-size:14px}
 .homework-files,.webinar-folder-content .homework-files{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.homework-pdf,.homework-files a{width:100%;padding:15px;font-size:13px}.homework-files .compact{margin:0}.task-chips{gap:7px}.task-chips span{padding:6px 9px;font-size:12px}.material-tabs{margin-bottom:26px}.material-tabs [role=tab]{padding:10px 20px}.webinar-category>summary{font-size:15px}.solution-file .homework-pdf{align-items:flex-start;flex-direction:column;gap:5px}
 dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 28px);padding:26px 20px;border-radius:24px}dialog h2{font-size:22px;padding-right:30px;line-height:1.25}.dialog-close{right:14px;top:16px}.dialog-summary{padding:14px;margin-bottom:14px}.dialog-actions{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px}.dialog-actions button,.dialog-actions .primary{min-width:0;width:100%;font-size:14px}
 .booking-sheet,.result-task-set{padding:14px;border-radius:16px}.booking-sheet legend,.result-task-set legend{font-size:15px;margin-bottom:16px}.booking-sheet legend small,.result-task-set legend small{font-size:12px}.booking-task-grid,.booking-sheet .booking-task-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.booking-task-grid span,.result-task-set .booking-task-grid span{min-height:50px;padding:10px 8px;font-size:15px}.booking-selection-summary{padding:16px;font-size:14px}.result-task-set .booking-task-grid{grid-template-columns:minmax(0,1fr)}.result-task-card{grid-template-columns:60px minmax(0,1fr)}.result-task-card>select{font-size:14px}
 .written-task-options{padding:16px}.written-task-row{grid-template-columns:76px minmax(0,1fr);gap:10px}.written-task-row label select{font-size:14px}.written-check-row{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px}.written-check-score{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;text-align:left}.written-check-score strong{font-size:21px}.written-check-row>button{grid-column:1;width:100%}.written-check-assignment{font-size:16px}.written-check-row p{font-size:14px}
 .calendar-panel,.student-workspace .calendar-panel{padding:20px}.calendar-heading h2{font-size:22px}.calendar-agenda .calendar-slot,.student-workspace .calendar-agenda .calendar-slot{padding:18px;grid-template-columns:minmax(0,1fr)}.calendar-agenda .slot-time{font-size:22px}.week-jump{flex-wrap:wrap}.week-jump input{width:100%;max-width:165px}.listening-filters .filter-field{flex-basis:100%}.listening-attention{padding:18px}.attention-row{gap:12px}.attention-row strong{font-size:13px}.attention-row small{font-size:12px}.listening-metrics>div{gap:8px}.listening-metrics strong{font-size:28px}.listening-metrics span{font-size:12px}.listening-metrics small{font-size:10px}.history-session{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 18px;padding:18px}.queue-row{grid-template-columns:22px minmax(0,1fr) 48px;gap:12px}.queue-row .task-number{font-size:24px}.queue-row>button{grid-column:2/-1;width:100%}
 .profile-hero{padding:24px;gap:24px;border-radius:24px}.profile-identity{gap:18px;width:100%;align-items:flex-start}.profile-identity h1{font-size:27px;margin:0}.profile-avatar .avatar.large{width:72px;height:72px;box-shadow:0 0 0 5px #ffffff04;font-size:28px}.profile-rating{margin-left:0}.profile-rating b{font-size:36px}.profile-toolbar .actions{flex-wrap:wrap}.profile-toolbar .actions button{flex-basis:100%}.profile-columns .card{padding:22px}.editor-avatar{padding:18px;gap:16px}.profile-stats,.staff-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .olymp-soon-grid{grid-template-columns:minmax(0,1fr)}.olymp-soon-card{padding:20px}.olymp-soon-card strong{font-size:16px}.olymp-card{padding:22px}.olymp-card h3{font-size:22px}.olymp-panel{padding:22px}.olymp-panel h2{font-size:21px}.olymp-category-head h3{font-size:22px}.olymp-detail-heading h1{font-size:30px}
 .section-nav[data-role=assistant]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 18px 0;gap:5px;border:0;overflow:visible}.section-nav[data-role=assistant] button{background:var(--panel);border:1px solid #ffffff10;border-radius:12px;padding:12px;font-size:13px;min-height:46px}.section-nav[data-role=assistant] button.selected{border-color:#ff9b5e45;background:#ff9b5e0f;color:#ffc39c}
 .auth .card{padding:26px 22px}.welcome-heading{padding:4px 0 30px}.welcome-emblem{display:none}.welcome-heading h1{font-size:clamp(38px,9vw,50px);margin-bottom:20px}.welcome-heading .lead{font-size:16px}.welcome-studio .role-card,.welcome-studio .role-card:first-child{padding:26px;min-height:246px}.welcome-studio .role-card h2{font-size:26px}.welcome-baseline{flex-direction:column;gap:8px}footer{margin:0 18px;padding:28px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:28px}footer a{min-height:28px}
}
@media(max-width:360px){.nav{padding-inline:12px;gap:8px}.brand{font-size:20px;gap:7px}.brand .mark{width:34px;height:34px}.user-block{gap:6px}.user-block .compact{padding:8px}main,.admin-mode main,.student-mode main{padding-inline:14px}.webinar-folder>summary,.webinar-folder-content{padding-inline:17px}.card,.overview-panel,.profile-hero{padding:18px}.profile-identity{flex-direction:column}.dialog-actions{grid-template-columns:minmax(0,1fr)}.booking-sheet{padding:15px}}
.overview-metric>span,.overview-metric>small{min-width:0;overflow-wrap:anywhere}
.avatar.large,.editor-avatar .avatar{border-radius:50%}
.admin-sidebar,dialog,.table-wrap{scrollbar-width:thin;scrollbar-color:#526078 transparent}
.dialog-heading{position:sticky;top:-32px;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:-32px -32px 22px;padding:32px 32px 18px;background:#1b222df5;border-bottom:1px solid #ffffff0e;backdrop-filter:blur(14px)}
.dialog-heading h2{padding:0;margin:0;min-width:0}.dialog-heading .dialog-close{position:static;flex:0 0 36px;margin-top:-3px}
@media(max-width:640px){.dialog-heading{top:-26px;margin:-26px -20px 22px;padding:26px 20px 18px}.dialog-heading .dialog-close{min-height:40px;width:40px;height:40px;flex-basis:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.olymp-card:hover,.welcome-studio .role-card:hover{transform:none}}

.vk-button{display:flex;align-items:center;justify-content:center;gap:12px;background:#0077ff!important;color:#fff!important;border:1px solid #268bff!important;min-height:48px;padding:12px 18px;white-space:normal;line-height:1.4;border-radius:12px;font-weight:650}.vk-button:hover{background:#0867d4!important}.vk-button>span{font-weight:850;letter-spacing:-1px}.auth-divider{text-align:center;color:var(--muted);margin:18px 0}.vk-choices{display:grid;gap:12px;margin:24px 0}.vk-settings p{margin:10px 0 16px}

/* Results with a fixed submission format need no empty selector column. */
.result-task-card.single-format{grid-template-columns:minmax(0,1fr)}
.booking-sheet legend,.result-task-set legend{overflow-wrap:anywhere}
.booking-intro{margin:12px 0}
#bookingForm+.submission-links{border-top:1px solid #ffffff17;padding-top:18px;margin-top:20px}

/* Theme choice. Keep this base stylesheet before rework.css: the scoped
   selectors below win over component light colors without changing layout. */
html[data-theme="light"]{--bg:#f6f5f1;--panel:#fff;--panel2:#f1f3ee;--line:#e0e4de;--text:#182126;--muted:#6b7478;--orange:#b94f25;--blue:#315f9e;--green:#267052;--red:#ad4540;--surface:var(--panel);--border:var(--line);--error:var(--red);--accent-soft:#fbede5;--radius:16px;--shadow:0 10px 36px #1821260b;--tone-0:#fff;--tone-12:#f9faf6;--tone-20:#f6f5f1;--tone-26:#fff;--tone-34:#f0f2ec;--tone-43:#e8ece4;--tone-54:#dce2d8;--tone-69:#cad3c6;--tone-85:#9ba69c;--tone-105:#7e8b81;--tone-126:#68786e;--tone-149:#57665d;--tone-175:#42554a;--tone-199:#34463d;--tone-221:#26382f;--tone-240:#182126;--tone-255:#182126;color-scheme:light}
html[data-theme="dark"]{--bg:#151b1f;--panel:#1d2429;--panel2:#263037;--line:#39434a;--text:#edf1f2;--muted:#a0acb3;--orange:#ef9a71;--blue:#9abbdd;--green:#8cc9a6;--red:#ef9b93;--surface:var(--panel);--border:var(--line);--error:var(--red);--accent-soft:#392a24;--radius:16px;--shadow:0 10px 36px #00000024;--tone-0:#101519;--tone-12:#12181c;--tone-20:#151b1f;--tone-26:#1d2429;--tone-34:#263037;--tone-43:#2e3941;--tone-54:#39434a;--tone-69:#4a565e;--tone-85:#647078;--tone-105:#7a878d;--tone-126:#8d9aa1;--tone-149:#a0acb3;--tone-175:#bdc8ce;--tone-199:#d0d9de;--tone-221:#dfe6e9;--tone-240:#edf1f2;--tone-255:#fff;color-scheme:dark}
.theme-toggle{display:inline-grid;place-items:center;width:40px;height:42px;min-height:0;padding:9px;border:0;border-radius:10px;background:transparent;color:var(--muted);flex-shrink:0}
.theme-toggle:hover{background:var(--panel2);color:var(--text)}
.theme-toggle svg{width:20px;height:20px;pointer-events:none}
.theme-toggle[data-current-theme="light"] [data-theme-icon="dark"],.theme-toggle[data-current-theme="dark"] [data-theme-icon="light"]{display:none}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] ::selection{background:#804a34;color:#fff}
html[data-theme="dark"] body>header{background:#151b1fef;border-color:var(--line)}
html[data-theme="dark"] :is(.site-nav button,.notification-button,.account-trigger .account-chevron,.account-menu-section>span,.account-menu-item svg,.account-menu-logout svg,.account-menu-login svg,footer strong){color:var(--muted)}
html[data-theme="dark"] .site-nav{border-color:var(--line)}
html[data-theme="dark"] .site-nav button:is(:hover,.is-current){color:var(--text)}
html[data-theme="dark"] :is(.account-trigger:hover,.account-trigger[aria-expanded=true],.notification-button:hover,.account-menu-item:hover,.account-menu-item.is-current,.account-menu-logout:hover,.account-menu-login>button:hover){background:var(--panel2);border-color:var(--line)}
html[data-theme="dark"] .account-trigger .avatar{background:var(--accent-soft);color:var(--orange)}
html[data-theme="dark"] :is(.account-menu,.guest-account,.account-menu-logout,.account-menu-login>button){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] .account-menu{box-shadow:0 20px 60px #0006}
html[data-theme="dark"] .account-menu-section+.account-menu-section{border-color:var(--line)}
html[data-theme="dark"] .account-menu-item.is-current{color:var(--orange)}
html[data-theme="dark"] .account-menu-item b{background:var(--accent-soft);color:var(--orange)}
html[data-theme="dark"] .notification-count{border-color:var(--bg);color:#24150e}
html[data-theme="dark"] :is(.card,.overview-panel,.overview-metric,.queue-card,.window-card,.stat,.homework-card,.group-settings-card,.calendar-panel,.access-card,.duplicate-card,.preview-student,.ranking-intro,.table-wrap,.written-check-row,.progress-panel){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] :is(.overview-metric:hover,.history-session:hover){background:var(--panel2);border-color:#586973}
html[data-theme="dark"] :is(.secondary,.danger){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] .secondary:hover{background:var(--panel2);border-color:#586973}
html[data-theme="dark"] .danger{color:var(--red);border-color:#704a45}
html[data-theme="dark"] .danger:hover{background:#392928}
html[data-theme="dark"] .primary{background:var(--orange);border-color:var(--orange);color:#24150e!important}
html[data-theme="dark"] .primary:hover{background:#f2ae8d;border-color:#f2ae8d}
html[data-theme="dark"] :is(input,select,textarea){background:var(--panel)!important;color:var(--text)!important;border-color:var(--line)}
html[data-theme="dark"] :is(input,select,textarea):focus{border-color:var(--orange);box-shadow:0 0 0 3px #ef9a7126}
html[data-theme="dark"] :is(input,textarea)::placeholder{color:#87949b}
html[data-theme="dark"] input.switch-input:checked{background:var(--blue)!important;border-color:var(--blue)}
html[data-theme="dark"] :is(button,a,summary):focus-visible{outline-color:var(--orange)}
html[data-theme="dark"] :is(.badge,.badge.gray,.assignment-format,.written-badge,.olymp-chip.is-muted,.olymp-chip.is-past){background:var(--panel2);border-color:var(--line);color:var(--muted)}
html[data-theme="dark"] :is(.badge.good,.olymp-chip.is-live){background:#20382c;border-color:#355944;color:var(--green)}
html[data-theme="dark"] .badge.warn{background:#392f20;border-color:#5c4a2e;color:#eac285}
html[data-theme="dark"] .badge.bad{background:#392928;border-color:#5e3f3b;color:var(--red)}
html[data-theme="dark"] :is(.notice,.written-intro,.homework-awaiting,.teacher-groups-note,.group-settings-summary,.preview-form-note,.dialog-summary){background:var(--panel2);border-color:var(--line);color:var(--muted)}
html[data-theme="dark"] .notice.amber{background:#332b21;border-color:#5c4a2e;color:#eac285}
html[data-theme="dark"] :is(dialog,.dialog-heading){background:var(--panel);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] dialog{box-shadow:0 24px 100px #0007}
html[data-theme="dark"] dialog::backdrop{background:#080d11aa}
html[data-theme="dark"] .dialog-close{background:var(--panel2);border-color:var(--line);color:var(--muted)}
html[data-theme="dark"] .dialog-actions{border-color:var(--line)}
html[data-theme="dark"] :is(.notification-item,.notification-item.unread){background:var(--panel2);border-color:var(--line)}
html[data-theme="dark"] .notification-item.unread{border-left-color:var(--blue)}
html[data-theme="dark"] .notification-item p{color:var(--muted)}
html[data-theme="dark"] #toast{background:var(--panel2);border-color:#647078;color:var(--text)}
html[data-theme="dark"] :is(.tabs,.material-tabs){background:var(--panel2);border-color:var(--line)}
html[data-theme="dark"] :is(.tabs button,.material-tabs [role=tab]){color:var(--muted)}
html[data-theme="dark"] :is(.tabs button.active,.material-tabs [role=tab][aria-selected=true]){background:#39464e;color:var(--text)}

/* News keeps the supplied infographic on its original white paper. */
html[data-theme="dark"] .school-news{--news-ink:var(--text);--news-muted:var(--muted);--news-accent:var(--orange);--news-line:var(--line)}
html[data-theme="dark"] :is(.news-story,.news-story-source){background:var(--panel);border-color:var(--line)}
html[data-theme="dark"] :is(.news-story-lead,.news-article-text p){color:#c4cdd2}
html[data-theme="dark"] .news-infographic-link{background:var(--panel2);border-color:var(--line)}
html[data-theme="dark"] .news-infographic-link:hover{border-color:#a66e53;box-shadow:0 8px 26px #0003}
html[data-theme="dark"] .news-student-group li+li{border-color:var(--line)}

/* Homework and solutions use the same surfaces in both themes. */
html[data-theme="dark"] [data-material-page]{--learning-panel:var(--panel);--learning-ink:var(--text);--learning-muted:var(--muted);--learning-border:var(--line);--learning-soft:var(--panel2);--learning-accent:var(--orange)}
html[data-theme="dark"] [data-material-page] .material-tabs{background:var(--panel2)}
html[data-theme="dark"] [data-material-page] .material-tabs [role=tab]:hover{background:#35414a}
html[data-theme="dark"] [data-material-page] .material-tabs [role=tab][aria-selected=true]{background:#39464e;color:var(--text)}
html[data-theme="dark"] [data-material-page] .webinar-folder:is(:hover,[open]){border-color:#586973;box-shadow:none}
html[data-theme="dark"] [data-material-page] .webinar-folder-content{border-color:var(--line)}
html[data-theme="dark"] [data-material-page] .webinar-state.good{color:var(--green)}
html[data-theme="dark"] [data-material-page] .webinar-state.good:before{background:var(--green)}
html[data-theme="dark"] [data-material-page] .webinar-state.warn{color:#eac285}
html[data-theme="dark"] [data-material-page] .webinar-state.warn:before{background:#eac285}
html[data-theme="dark"] :is(.folder-chevron,.learning-file-arrow,.homework-comment,.supplement-ribbon,.learning-section-title>small,.homework-contacts>summary:before){color:var(--muted)}
html[data-theme="dark"] [data-material-page] :is(.folder-chevron,.learning-file-arrow,.homework-comment,.supplement-ribbon,.learning-section-title>small,.webinar-category>summary:before){color:var(--muted)}
html[data-theme="dark"] :is(.task-chips span,.homework-card.supplement .task-chips span){background:var(--panel2);border-color:var(--line);color:var(--muted)}
html[data-theme="dark"] [data-material-page] :is(.task-chips span,.homework-card.supplement .task-chips span){background:var(--panel2);border-color:var(--line);color:var(--muted)}
html[data-theme="dark"] .task-chips span.is-accepted,html[data-theme="dark"] [data-material-page] .task-chips span.is-accepted{background:#20382c;border-color:#355944;color:var(--green)}
html[data-theme="dark"] :is(.homework-pdf,.solution-file .homework-pdf){background:var(--panel2);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] [data-material-page] :is(.homework-pdf,.solution-file .homework-pdf){background:var(--panel2);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] :is(.homework-pdf:hover,.solution-file .homework-pdf:hover),html[data-theme="dark"] [data-material-page] :is(.homework-pdf:hover,.solution-file .homework-pdf:hover){background:#303c44;border-color:#586973}
html[data-theme="dark"] .learning-file-icon,html[data-theme="dark"] [data-material-page] .learning-file-icon{background:var(--accent-soft);border-color:#6b493b;color:var(--orange)}
html[data-theme="dark"] [data-material-page] :is(.homework-empty,.webinar-category>summary>span){background:var(--panel2);border-color:var(--line);color:var(--muted)}
html[data-theme="dark"] [data-material-page] .study-block-reminder{background:transparent;border-color:transparent;color:var(--muted)}
html[data-theme="dark"] [data-material-page] .study-block-reminder button{background:transparent;border-color:transparent;color:var(--orange)}
html[data-theme="dark"] :is(.learning-assignment-progress progress,.homework-progress progress){background:#3d494f}
html[data-theme="dark"] :is(.learning-assignment-progress progress,.homework-progress progress)::-webkit-progress-bar{background:#3d494f}
html[data-theme="dark"] :is(.learning-assignment-progress progress,.homework-progress progress)::-webkit-progress-value{background:var(--green)}
html[data-theme="dark"] :is(.learning-assignment-progress progress,.homework-progress progress)::-moz-progress-bar{background:var(--green)}
html[data-theme="dark"] [data-material-page] .homework-progress progress{background:#3d494f;accent-color:var(--green)}
html[data-theme="dark"] [data-material-page] .homework-progress progress::-webkit-progress-bar{background:#3d494f}
html[data-theme="dark"] [data-material-page] .homework-progress progress::-webkit-progress-value{background:var(--green)}
html[data-theme="dark"] [data-material-page] .homework-progress progress::-moz-progress-bar{background:var(--green)}

/* Account surfaces still using fixed colors. Calendar and task selection in
   rework-learning.css already use shared tokens and need no extra overrides. */
html[data-theme="dark"] :is(.locked-information,.editor-avatar,.profile-details span){background:var(--panel2);border-color:var(--line);color:var(--text)}
html[data-theme="dark"] :is(.profile-hero,.history-session){background:var(--panel);border-color:var(--line)}
html[data-theme="dark"] :is(.profile-caption,.written-check-assignment,.booking-intro,.overview-metric>span){color:var(--text)}
html[data-theme="dark"] :is(th,td,.ranking-intro,.table-wrap){border-color:var(--line)}
html[data-theme="dark"] th{background:var(--panel2);color:var(--muted)}
html[data-theme="dark"] .ranking tr:hover{background:var(--panel2)}
html[data-theme="dark"] .ranking .own-row{background:#23313d}
html[data-theme="dark"] :is(.olymp-card,.olymp-soon-card,.olymp-panel){background:var(--panel);border-color:var(--line)}
html[data-theme="dark"] :is(.olymp-card:hover,.olymp-soon-card:hover){background:var(--panel2);border-color:#586973}
html[data-theme="dark"] :is(.olymp-category-head,.olymp-heading){border-color:var(--line)}
html[data-theme="dark"] .olymp-page .olymp-primary-link{background:var(--orange);border-color:var(--orange);color:#24150e!important}
/* Legacy profile and shop text was tuned for dark backgrounds. These light
   overrides retain the approved layout, level colors and prize rarity colors. */
html[data-theme="light"] .profile-caption{color:var(--text)}
html[data-theme="light"] .profile-details span{background:var(--panel2);color:var(--muted)}
html[data-theme="light"] :is(.profile-avatar .avatar.large,.editor-avatar .avatar){background:var(--accent-soft);color:var(--orange);border-color:var(--line);box-shadow:none}
html[data-theme="light"] #shopRoot{--shop-line:var(--line);--shop-soft:var(--muted);--shop-accent:var(--orange)}
html[data-theme="light"] #shopRoot .shop-wallet{background:var(--panel2);border-color:var(--line);color:var(--text)}
html[data-theme="light"] #shopRoot .shop-wallet strong{color:var(--text)}
html[data-theme="light"] #shopRoot .shop-wallet small{color:var(--muted)}
html[data-theme="light"] #shopRoot :is(.shop-wallet strong>span,.shop-hero h1 em,.shop-case-info>span){color:var(--orange)}
html[data-theme="light"] #shopRoot .shop-test-label{background:var(--accent-soft);border-color:var(--line);color:var(--orange)}
html[data-theme="light"] #shopRoot .shop-test-label i{background:var(--orange)}
html[data-theme="light"] #shopRoot :is(.shop-case-info small,.shop-case-info b,.shop-back,.shop-empty,.shop-table-wrap th,.shop-table-wrap td small,.shop-config summary:after,.shop-history summary:after){color:var(--muted)}
html[data-theme="light"] #shopRoot .shop-notice{background:var(--accent-soft);color:var(--orange)}
html[data-theme="light"] #shopRoot .shop-error{background:var(--accent-soft);border-color:var(--red);color:var(--red)}
@media(max-width:760px){.theme-toggle{width:34px;height:38px;padding:7px}.theme-toggle svg{width:19px;height:19px}}
