/* Original visual identity for domege.ru. Fonts: Golos Text and Literata, OFL-1.1. */
:root{--ink:#243b34;--muted:#626d63;--paper:#f5f2e9;--mint:#e2e8d9;--line:#d7d9cd;--nav:#203c34;--accent:#944d35;--white:#fffef9}
[hidden]{display:none!important}
body{font-family:'Golos Text',sans-serif;font-size:15px;line-height:1.6;font-synthesis:none;background:var(--paper);color:var(--ink)}
a{text-underline-offset:4px;text-decoration-thickness:1px}
.layout{grid-template-columns:248px minmax(0,1fr)}
.site-sidebar{background:var(--nav);padding:30px 22px 24px;color:#f4f0e5;scrollbar-width:thin;scrollbar-color:#6e8579 var(--nav)}
.brand-bar{padding:0 5px 28px;border-bottom:1px solid #516659;margin-bottom:14px}
.brand{display:flex;align-items:center;gap:13px;letter-spacing:0;line-height:1.2;color:#f7f2e6}
.brand:hover{text-decoration:none}
.brand-mark{width:35px;height:40px;flex:none;fill:none;stroke:#d8ddbe;stroke-width:1.6;stroke-linejoin:round}
.brand .brand-name{font-family:'Literata',serif;font-size:28px;color:inherit;margin:0;font-weight:500;white-space:nowrap;letter-spacing:-1px}
.brand-name b{font-family:'Golos Text',sans-serif;font-size:18px;letter-spacing:.5px;font-weight:500}
.brand-name small{display:block;font-family:'Golos Text',sans-serif;font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#c0cabb;margin-top:8px;font-weight:400}
.site-navigation{display:flex;flex-direction:column;flex:1}
nav{display:grid;gap:3px}
nav .nav-caption{font-size:10px;line-height:1.5;letter-spacing:1.2px;color:#bfcebd;margin:18px 12px 7px}
nav a{font-size:13px;padding:9px 12px;border-radius:2px;border-left:2px solid transparent;color:#eceddf;display:flex;align-items:center;justify-content:space-between;gap:8px}
nav a:hover{background:#2c4a3e}
nav a[aria-current=page]{background:#365344;border-left-color:#e0bf7a;color:#fffbed}
.account{border-top:1px solid #516659;margin-top:auto;padding-top:20px;margin-top:28px}
.account small{font-size:11px;color:#c0cabb;margin-bottom:4px}
.account strong{font-size:13px;line-height:1.5;font-weight:500;overflow-wrap:anywhere}
.account-links{display:flex;gap:6px 14px;flex-wrap:wrap;margin:12px 0 0}
.account-links a,.account .link{font-size:11px;color:#d5dfd0}
.account .link{border:0;background:none;padding:9px 0;font-weight:400}
.sidebar-note>span{font-family:'Literata',serif;font-size:48px;letter-spacing:5px;color:#b6c4ae;line-height:1.5}
.sidebar-note p{font-size:12px;color:#c1cdbd;line-height:1.8;margin:8px 0 0}
.menu-toggle{background:transparent;border:1px solid #9bad98;color:#f6f0e1;border-radius:3px;padding:8px 12px;font-size:13px;gap:12px}
main{max-width:1700px;padding:26px clamp(24px,4.3vw,80px) 38px;min-width:0}
.page-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:17px;margin-bottom:39px;border-bottom:1px solid #b8c0ac;font-size:11px;color:var(--muted);letter-spacing:.45px}
.page-meta a{color:var(--ink);font-size:12px;letter-spacing:1px}
.skip-link{position:fixed;z-index:20;left:260px;top:-80px;background:var(--white);padding:12px 18px;border:2px solid var(--accent)}
.skip-link:focus{top:8px}
h1{font-family:'Literata',serif;font-size:clamp(30px,3vw,46px);line-height:1.22;font-weight:450;letter-spacing:-1.5px;margin-bottom:14px;font-optical-sizing:auto;overflow-wrap:anywhere}
h2{font-size:20px;letter-spacing:-.6px;font-weight:550;line-height:1.4}
h3{font-size:18px;font-weight:550;letter-spacing:-.3px}
header{margin-bottom:30px;gap:24px}
.eyebrow{font-size:10px;line-height:1.6;font-weight:500;letter-spacing:1.9px;color:var(--accent);margin-bottom:12px}
.button,button,input,textarea,select{font-family:'Golos Text',sans-serif}
.button,button{background:var(--nav);color:#fffef6;font-size:13px;font-weight:500;border-radius:3px;padding:13px 18px;border:1px solid var(--nav);line-height:1.4;transition:background .15s}
.button:hover,button:hover{opacity:1;background:#355747}
.button.secondary,button.secondary{background:transparent;color:var(--ink);border:1px solid #9ba994}
.button.secondary:hover,button.secondary:hover{background:#e6e9da}
.button.remove-button,button.remove-button{background:#fbede6;border-color:#bc7865;color:#8e362b}
.actions{gap:12px 18px}
.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:1px solid #b8c0ac;border-bottom:1px solid #b8c0ac;margin:28px 0 34px}
.stats section,.stats section:first-child{padding:19px 23px 16px;background:transparent;border:0;border-radius:0;border-right:1px solid var(--line)}
.stats section:first-child{padding-left:0}
.stats section:last-child{border-right:0}
.stats strong{font-size:36px;font-weight:450;line-height:1.5;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}
.stats small{font-size:11px;color:var(--muted);line-height:1.5;max-width:200px}
.card{background:var(--white);border-color:var(--line);border-radius:4px;padding:25px 27px;box-shadow:none}
.section-head{margin:34px 0 17px}
.section-head h2{font-size:21px;font-weight:500}
.section-head>a{color:var(--accent)}
.section-head span{font-size:12px}
.table-wrap{padding:0;border:1px solid #c8cebd;border-radius:3px;background:var(--white)}
table{font-size:13px}
th{background:#e9ecdf;color:#465546;font-size:10px;font-weight:500;padding:15px 19px;letter-spacing:.65px}
td{padding:16px 19px;border-color:var(--line)}
tbody tr:hover{background:#f5f6eb}
.badge{background:#e4ebda;color:#35503a;border-radius:2px;font-size:11px;padding:4px 8px}
.badge-off{background:#f5e3dc;color:#8c3c2b}
.notice{background:#fbf1d9;border:1px solid #d3bd80;border-left:3px solid #a78337;border-radius:3px;font-size:13px;padding:13px 16px}
.hint,.helptext{color:var(--muted);font-size:12px;line-height:1.65}
input,textarea,select{border-color:#8f9b8b;border-radius:3px;background:var(--white);padding:11px 12px;font-size:14px;min-height:43px}
input[type=checkbox],input[type=radio]{min-height:auto;accent-color:var(--nav)}
input[type=file]{background:#f2f3e9;font-size:13px;max-width:100%}
label{font-size:13px;font-weight:500}
input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.filter{gap:12px;align-items:flex-end;padding:20px 0;border-top:1px solid var(--line)}
.filter>div{min-width:0}
.filter select{max-width:100%}
.login-preview{background:#edf0e1;border-color:#bac8ac;border-radius:3px}
.back{font-size:12px;color:var(--accent);margin-bottom:23px}
footer{border-top:1px solid var(--line);padding-top:18px;display:flex;gap:14px 24px;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:var(--muted);margin-top:50px}
footer a{white-space:nowrap;text-decoration:underline}
.login-spread{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(35px,5vw,90px);align-items:start;max-width:1140px;margin:65px auto 75px}
.login-intro h1{font-size:clamp(39px,4.2vw,62px);line-height:1.24;letter-spacing:-2.3px;margin:19px 0 25px}
.login-intro h1 span{color:#61724e}
.intro-text{max-width:375px;font-size:16px;line-height:1.8;color:#50604f}
.notebook-note{margin-top:46px;padding:0 0 0 20px;border-left:2px solid #a28d59;font-size:13px}
.notebook-note .note-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:var(--accent);margin-bottom:9px}
.notebook-note p{line-height:2.1;margin:0}
.login-panel{background:var(--white);border:1px solid #cbd1bd;border-top:4px solid var(--nav);padding:29px 31px 26px;max-width:430px;margin-top:6px}
.panel-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:15px}
.login-panel h2{font-family:'Literata',serif;font-size:28px;font-weight:450;letter-spacing:-1px;margin:0 0 10px}
.login-panel>p{font-size:12px;margin-bottom:26px}
.login-panel form button{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.login-panel form label{font-size:12px}
.exam-door{border-top:1px solid var(--line);margin-top:26px;padding-top:18px;display:grid;gap:7px;font-size:12px}
.exam-door>span{color:var(--muted)}
.exam-door a{display:flex;justify-content:space-between;font-weight:500;color:var(--accent)}
.exam-workspace{display:flex;gap:30px;justify-content:space-between;align-items:center;background:#e7ebdc;border-top:2px solid var(--nav);padding:25px 28px;margin:0 0 30px}
.exam-workspace .eyebrow{margin-bottom:8px}
.exam-workspace h2{font-family:'Literata',serif;font-size:26px;font-weight:450;margin-bottom:8px}
.exam-workspace p{font-size:12px;color:#4b5c49;max-width:490px;margin:0}
.exam-workspace-links{display:grid;gap:14px;min-width:205px;font-size:12px}
.exam-workspace-links a{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #a8b39b;padding-bottom:10px}
.queue-strip{margin:0 0 30px;border-bottom:1px solid var(--line);padding:0 0 22px}
.queue-strip h2{font-size:13px;margin-bottom:12px;color:var(--muted);font-weight:400}
.queue-strip .actions{font-size:12px;gap:12px 26px}
.queue-strip .actions strong{font-size:15px;font-weight:500;margin-left:4px}
.assignment-list{border-top:1px solid #aab69e}
.assignment-row{display:grid;grid-template-columns:84px minmax(0,1fr) 145px;gap:24px;align-items:center;border-bottom:1px solid var(--line);padding:22px 0}
.assignment-row:hover{text-decoration:none;background:#eeefe3}
.assignment-date{display:grid;align-content:start;gap:2px;font-size:11px;color:var(--muted)}
.assignment-date strong{font-size:22px;color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.assignment-date small{font-size:10px}
.assignment-copy h3{margin:0 0 6px;font-size:17px;font-weight:500}
.assignment-copy p{margin:0;font-size:12px;color:var(--muted);max-width:600px}
.assignment-state{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:11px;color:var(--muted)}
.assignment-state b{font-size:24px;font-weight:400;color:var(--accent)}
.empty-desk{padding:25px 0;border-bottom:1px solid var(--line)}
.empty-desk p{font-size:13px;color:var(--muted)}
.oge-jump a{border-radius:2px;background:#e5ebd9;color:#294c36;padding:9px 13px;font-variant-numeric:tabular-nums}
.oge-task{scroll-margin-top:20px}
.oge-condition{background:white}
.oge-success progress{accent-color:#5c7551}
pre{font-size:13px;line-height:1.65}
details{font-size:13px}
summary{padding:7px 0;color:#42583f}
.class-card h2{font-family:'Literata',serif;font-weight:450}
@media(min-width:761px) and (max-height:800px){.site-sidebar{padding-top:20px}.brand-bar{padding-bottom:19px;margin-bottom:5px}nav .nav-caption{margin-top:13px}nav a{padding-top:7px;padding-bottom:7px}.account{margin-top:19px;padding-top:15px}}
@media(max-width:1180px){.layout{grid-template-columns:220px minmax(0,1fr)}.site-sidebar{padding-left:16px;padding-right:16px}main{padding:24px 30px 32px}.brand .brand-name{font-size:25px}.brand-name b{font-size:16px}.login-spread{gap:30px}.login-intro h1{font-size:43px}.login-panel{padding:25px}.stats section{padding:16px 15px}.stats strong{font-size:30px}.filter{flex-wrap:wrap}.filter>div{flex:1 1 130px}.filter select{width:100%!important}.oge-success{grid-template-columns:1fr}}
@media(max-width:950px){.login-spread{grid-template-columns:1fr;max-width:520px;margin:20px auto 45px}.login-intro h1{font-size:44px}.login-panel{max-width:none}.notebook-note{display:none}.intro-text{max-width:450px}.exam-workspace{align-items:flex-start;flex-direction:column;gap:20px}.exam-workspace-links{display:flex;flex-wrap:wrap;gap:18px;min-width:0}.assignment-row{grid-template-columns:65px minmax(0,1fr);gap:18px}.assignment-state{grid-column:2}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats section:nth-child(2n){border-right:0}.stats section:nth-child(2n+1){padding-left:0}.stats section:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:760px){.layout{display:block}.site-sidebar{position:static;height:auto;padding:18px 22px;overflow:visible}.brand-bar{margin:0;padding:0;border:0;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand-mark{width:28px;height:34px}.brand .brand-name{font-size:25px}.brand-name small{font-size:8px;letter-spacing:1.2px;margin-top:5px}.brand-name b{font-size:16px}.menu-toggle{display:flex}.site-navigation{padding-top:20px}nav{display:grid;gap:3px;margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}nav .nav-caption{grid-column:1/-1;width:auto;margin:15px 12px 6px}nav a{font-size:13px;padding:10px 12px}.account{margin-top:20px;padding-top:18px}.account strong,.account small{display:block}.account form{display:block}.sidebar-note{display:none}main{padding:20px 22px 30px}.page-meta{margin-bottom:30px;font-size:9px}.page-meta a{font-size:10px}h1{font-size:34px;letter-spacing:-1px}.login-spread{margin:10px auto 35px;gap:26px}.login-intro h1{font-size:39px;letter-spacing:-1.5px}.intro-text{font-size:14px}.login-panel{padding:23px}.stats strong{font-size:32px}.stats section{padding:15px 12px}.stats small{font-size:10px}.card{padding:20px}.table-wrap{padding:0}.section-head{flex-direction:row;align-items:center;gap:18px}.section-head h2{font-size:19px}.section-head span{font-size:10px}.exam-workspace{padding:22px}.exam-workspace h2{font-size:23px}.filter button,.filter>.button{font-size:12px;padding:11px 14px}.skip-link{left:12px}.two-col{display:block}.oge-success{grid-template-columns:1fr}.credentials{grid-template-columns:1fr}.assignment-row{grid-template-columns:53px minmax(0,1fr);gap:15px}.assignment-copy h3{font-size:15px}.assignment-copy p{font-size:11px}.assignment-date{font-size:10px}.assignment-date strong{font-size:20px}.assignment-state{font-size:10px}.button,button{white-space:normal}.page-meta{flex-wrap:wrap}footer{margin-top:36px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Keep intrinsic form/progress widths inside narrow classroom screens. */
.assignment-copy,.ege-grid>*,fieldset{min-width:0}
.card:not(.table-wrap){overflow-wrap:anywhere}
.filter{flex-wrap:wrap}
.filter>div{flex:1 1 140px;max-width:100%}
.filter>div select{width:100%!important}
h2,h3,.assignment-copy{overflow-wrap:anywhere}
.section-head{flex-wrap:wrap}
.button,button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.oge-success{grid-template-columns:repeat(2,minmax(0,1fr))}
.oge-success>div{min-width:0}
@media(max-width:1180px){.oge-success{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){
 .oge-success>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px 10px}
 .oge-success span{min-width:0}
 .oge-success progress{grid-column:1/-1;grid-row:2;width:100%;min-width:0}
}
@media print{.site-sidebar,.page-meta,.skip-link,footer,.menu-toggle{display:none!important}.layout{display:block}main{max-width:none;padding:0;background:white;color:black}.card{break-inside:avoid;border-color:#bbb}.button,button{display:none}.stats{margin:15px 0}body{background:white}.table-wrap{overflow:visible}a{color:inherit;text-decoration:none}}
