:root{font-family:system-ui,sans-serif;color:#182536;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}main{max-width:1000px;margin:auto;padding:22px 16px 60px}h1{font-size:27px}h2{font-size:21px}h3{font-size:17px}p{line-height:1.5}.muted{color:#657285;font-size:14px}.card{background:white;border:1px solid #dfe5eb;border-radius:12px;padding:20px;margin:14px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button,input,select,textarea{font:inherit}button{background:#2764ad;color:white;border:0;border-radius:8px;padding:11px 15px;cursor:pointer}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#e7edf4;color:#243e60}button.task{text-align:left;color:#182536;background:white;border:1px solid #dfe5eb;min-height:105px}button.task span{display:block;margin-top:12px;font-size:14px;color:#657285}input,select,textarea{padding:10px;border:1px solid #c8d2de;border-radius:7px;max-width:100%}label{display:block;margin:12px 0}label input,label select{display:block;margin-top:6px;width:100%}textarea{width:100%;min-height:240px;font:14px/1.55 ui-monospace,monospace;tab-size:4}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.5;background:#f5f7fa;padding:14px;border-radius:8px}.statement{white-space:pre-wrap;line-height:1.65}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:center;border-bottom:1px solid #e2e6ec;padding:10px;white-space:nowrap}td:first-child,th:first-child{text-align:left}td button{color:#2764ad;background:none;padding:0;text-align:left}#notice{background:#fff0ce;padding:13px;border-radius:8px}#demo{background:#e7edf6;padding:12px;border-radius:10px;margin-bottom:12px}.accepted{color:#247544}.attempt{border-top:1px solid #e2e6ec;margin-top:18px;padding-top:10px}@media(max-width:600px){main{padding:16px 12px 40px}.card{padding:15px}.grid{grid-template-columns:1fr}h1{font-size:24px}}
:root{--ok:#e0f2e3;--wrong:#fce3e3;--wait:#fff0c9}.standings-controls label{flex:1;min-width:155px}.standings-scroll{max-height:65vh;border:1px solid #dde3eb;border-radius:8px}.standings{font-variant-numeric:tabular-nums}.standings th,.standings td{min-width:40px;padding:8px 7px;border-right:1px solid #e2e6ec}.standings thead th{position:sticky;top:0;z-index:2;background:#e9eef5}.standings .student-name{position:sticky;left:0;z-index:1;background:white;min-width:180px;max-width:240px;white-space:normal;text-align:left}.standings thead .student-name{z-index:3;background:#e9eef5}.standings td button{background:none;color:inherit;border-radius:0;padding:5px;width:100%;min-width:25px}.standings .student-name button{text-align:left;color:#24588e}.standings td.ok{background:var(--ok);color:#216637}.standings td.wrong{background:var(--wrong);color:#912c2c}.standings td.waiting{background:var(--wait);color:#785500}.standings td.technical{background:#e5e8f8;color:#454a82}.standings td.empty{color:#9ba4b0}.standings tfoot{background:#f1f4f8;font-weight:600}.task-image{display:block;max-width:min(100%,400px);margin:20px auto}
.auth-card{max-width:560px;margin:22px auto}.auth-nav{margin-top:24px;border-top:1px solid #e2e6ec;padding-top:16px}.auth-nav button{font-size:14px}small{display:block;color:#657285;line-height:1.5;margin-top:5px}
.examples{margin:22px 0}.example{margin:18px 0}.example-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.example-pair>div{min-width:0}.example-pair pre{margin:8px 0;white-space:pre;overflow-x:auto;overflow-wrap:normal}@media(max-width:600px){.example-pair{grid-template-columns:1fr;gap:8px}}
.button-link{display:inline-block;background:#2764ad;color:white;border-radius:8px;padding:11px 15px;text-decoration:none}.button-link.secondary{background:#e7edf4;color:#243e60}.button-link:hover{filter:brightness(.95)}.button-link:focus-visible{outline:3px solid #182536;outline-offset:3px}
summary{cursor:pointer;line-height:1.5}.theory-text{max-width:800px;line-height:1.65;margin-top:20px}.theory-text h3{margin-top:24px}.theory-text code{font-size:.95em;background:#f5f7fa;padding:2px 4px;border-radius:3px}
