:root{font-family:Inter,Segoe UI,sans-serif;color:var(--text);background:var(--background);color-scheme:dark;font-synthesis:none;--panel: #181e29;--text: #e9eef7;--background: #11151d;--line: #303a4b;--muted: #9caac0;--accent: #aee9cd;--accent-text: #152d23;--accent-hover: #c5f3df;--header: #161b25;--toolbar: #1c2431;--hover: #273143;--field: #111721;--field-border: #424e61;--code-bg: #121823;--code-border: #2c384a;--subtle: #151b25;--secondary-text: #cbd5e3;--handle: #55647a;--brand-bg: #263f38;--notice-bg: #503222;--notice-text: #ffdfc1;--error: #ffbba8;--shadow: #080b126e;--mono: "IBM Plex Mono", Consolas, monospace}:root[data-theme=light]{color-scheme:light;--panel: #fff;--text: #192432;--background: #f6f8fc;--line: #d8e0eb;--muted: #526278;--accent: #176a4d;--accent-text: #fff;--accent-hover: #11583f;--header: #fff;--toolbar: #f1f5f9;--hover: #e7eef6;--field: #fff;--field-border: #a8b6c9;--code-bg: #f7f9fc;--code-border: #d6deeb;--subtle: #f3f6fa;--secondary-text: #34445a;--handle: #8091a7;--brand-bg: #dff2e9;--notice-bg: #fff1dc;--notice-text: #7f4115;--error: #a32e25;--shadow: #52627822}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:default;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.topbar{height:60px;padding:0 clamp(15px,3vw,42px);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--header);border-bottom:1px solid var(--line)}.brand,.account{display:flex;align-items:center;gap:11px}.brand{font-size:17px;font-weight:720;letter-spacing:-.03em;white-space:nowrap}.mark{display:inline-grid;place-items:center;width:30px;height:30px;color:var(--accent);background:var(--brand-bg);border-radius:8px;font:700 12px var(--mono)}.account{font:12px var(--mono);color:var(--muted)}.quiet,.secondary,.primary{border:1px solid transparent;border-radius:7px;padding:8px 13px;font-size:13px;font-weight:650;white-space:nowrap;background:transparent;color:inherit}.quiet:hover{background:var(--hover)}.primary{background:var(--accent);color:var(--accent-text)}.primary:hover:enabled{background:var(--accent-hover)}.secondary{border-color:var(--field-border)}.secondary:hover:enabled{background:var(--hover)}.secondary span{color:var(--accent);margin-right:3px}.theme-toggle{display:flex;align-items:center;gap:6px}.theme-toggle>span:first-child{font-size:17px;line-height:1}.auth-card{width:min(410px,calc(100% - 32px));margin:clamp(45px,13vh,140px) auto 40px;padding:clamp(22px,5vw,35px);background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 58px var(--shadow)}.auth-card h1{margin:0 0 25px;font-size:24px;letter-spacing:-.035em}.auth-card form{display:grid;gap:9px}.auth-card label{font-size:13px;color:var(--secondary-text)}.auth-card form input,.auth-card form select{height:43px;margin-bottom:10px}.auth-card .primary{margin-top:6px;height:43px}.auth-card .auth-action{margin-top:17px}.registration-card{margin-top:clamp(25px,5vh,55px)}.registration-contest{font-weight:650;margin:-12px 0 20px}.registration-help{margin:-8px 0 2px;font-size:13px;line-height:1.45}.login-portals{display:grid;gap:6px;padding:0;margin:0 0 17px;border:0;min-width:0}.login-portals legend{padding:0;margin-bottom:8px;font-size:13px;color:var(--secondary-text)}.login-portals label{display:flex;align-items:center;gap:9px;min-height:38px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;cursor:pointer}.login-portals label:has(input:checked){background:var(--brand-bg);border-color:var(--field-border);color:var(--text)}.login-portals input{flex:0 0 auto;margin:0;width:16px;height:16px;accent-color:var(--accent)}input,select,textarea{background:var(--field);color:var(--text);border:1px solid var(--field-border);border-radius:7px;padding:7px 10px}.notice{padding:12px clamp(16px,3vw,42px);background:var(--notice-bg);color:var(--notice-text)}.error{color:var(--error);margin:0 0 9px;font-size:13px;line-height:1.5}.muted{color:var(--muted)}.contest{padding:17px clamp(12px,2.4vw,34px) 24px}.contest-heading{min-height:41px;display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin-bottom:13px}.contest-heading h1{font-size:clamp(18px,2.1vw,25px);margin:0 auto 0 0;letter-spacing:-.03em}.workspace,.work-area{display:grid;--splitter-size: 12px}.workspace{grid-template-columns:minmax(0,calc((100% - var(--splitter-size)) * var(--statement-width))) var(--splitter-size) minmax(0,1fr)}.work-area{grid-template-rows:minmax(0,calc((100% - var(--splitter-size)) * var(--editor-height))) var(--splitter-size) minmax(0,1fr);min-width:0}.workspace,.work-area{height:max(555px,calc(100dvh - 156px))}.workspace.workspace-collapsed{grid-template-columns:44px minmax(0,1fr);gap:8px}.workspace.workspace-focus{grid-template-columns:minmax(0,1fr);gap:0}.workspace-focus>.task-panel,.workspace-focus .splitter,.workspace-focus .console{display:none}.workspace-focus .work-area{grid-template-rows:minmax(0,1fr)}.splitter{position:relative;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:4px}.splitter-width{cursor:col-resize}.splitter-height{cursor:row-resize}.splitter:before{content:"";position:absolute;inset:50%;transform:translate(-50%,-50%);background:var(--handle);border-radius:6px}.splitter-width:before{width:3px;height:25px}.splitter-height:before{width:25px;height:3px}.splitter:hover,.splitter:focus-visible{background:var(--hover)}.splitter:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.splitter:hover:before,.splitter:focus-visible:before{background:var(--accent)}.panel{min-width:0;min-height:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column}.tabs,.panel-bar,.statement-toolbar{height:44px;flex-shrink:0;display:flex;align-items:stretch;background:var(--toolbar)}.statement-toolbar,.panel-bar{border-bottom:1px solid var(--line)}.statement-toolbar,.editor-bar{justify-content:space-between}.statement-toolbar .tabs{height:auto;overflow-x:auto}.statement-toggle{border-radius:0;flex-shrink:0;line-height:1;padding:0 11px;color:var(--muted)}.statement-toggle span:first-child{font-size:23px}.workspace-collapsed .statement-toolbar{flex:1;border-bottom:0}.workspace-collapsed .statement-toggle{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:start;gap:8px;padding:9px 0}.rail-label{writing-mode:vertical-rl}.editor-focus-toggle{display:inline-flex;align-items:center;gap:7px;font-family:Inter,Segoe UI,sans-serif}.editor-focus-toggle span{color:var(--accent)}.tabs button{appearance:none;color:var(--muted);background:transparent;border:0;border-bottom:2px solid transparent;padding:0 12px;font-size:13px;font-weight:610;white-space:nowrap}.tabs button:hover{color:var(--text)}.tabs button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--accent)}.panel-bar{align-items:center;padding:0 13px;color:var(--secondary-text);font:12px var(--mono)}.file-icon{color:var(--accent);margin-right:6px}.task-body,.console-body{overflow:auto;min-height:0;padding:15px}.task-body{padding:18px clamp(13px,2vw,27px) 25px}.task-body h2{margin:0 0 16px;font-size:clamp(19px,2vw,25px);letter-spacing:-.035em;line-height:1.18}.statement{margin:0 0 15px;color:var(--secondary-text);white-space:pre-line;line-height:1.6;font-size:14px}code,pre,textarea{font-family:var(--mono)}.statement code{color:var(--accent);overflow-wrap:anywhere;font-size:.9em}pre{margin:6px 0 0;padding:10px;background:var(--code-bg);border:1px solid var(--code-border);border-radius:6px;overflow:auto;font-size:12px;line-height:1.5}.provided{margin:0}.task-body details{padding:8px 0;border-top:1px solid var(--line)}summary{cursor:pointer;font-size:13px;color:var(--secondary-text)}.example{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;padding:10px 0 3px;font-size:12px;color:var(--muted)}.editor{flex:1;min-height:0;min-width:0;width:100%}.editor-loading{margin:13px;color:var(--muted)}.console-head{display:flex;background:var(--toolbar);align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0;gap:8px}.actions{display:flex;gap:7px;padding:4px 8px 4px 0}.console-body p{font-size:13px}.console-input{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.console-input textarea{width:100%;resize:vertical}.result-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;font-size:13px}.console-input+.console-result .result{margin-top:12px}.result-summary time{color:var(--muted);font:12px var(--mono)}.diagnostics{color:var(--error);white-space:pre-wrap;overflow-wrap:anywhere}.diagnostic-focus{margin-top:6px;color:var(--accent)}.result-status{display:inline-flex;align-items:center;gap:7px;color:var(--state-color)}.result-status>span{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.result-number{color:var(--muted);font:12px var(--mono)}.result-count{color:var(--muted)}.result-count b{color:var(--text)}.result-points{margin-left:auto;color:var(--accent)}.case-results{margin-top:12px}.case-results h3,.case-value h4{margin:0}.case-groups{display:flex;flex-wrap:wrap;gap:10px 17px}.case-group{min-width:0}.case-group h3{margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:600}.case-list{display:flex;flex-wrap:wrap;gap:5px}.positive{--state-color: var(--accent)}.negative{--state-color: var(--error)}.neutral{--state-color: var(--muted)}.case-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:35px;min-height:29px;padding:3px 7px;border:1px solid var(--field-border);border-radius:6px;background:var(--code-bg);color:var(--text);font:12px var(--mono)}.case-button:hover{background:var(--hover)}.case-button[aria-pressed=true]{border-color:var(--state-color);background:var(--hover)}.case-symbol,.case-state{color:var(--state-color)}.case-symbol{font-family:Inter,Segoe UI,sans-serif;font-weight:700}.case-details{display:grid;gap:9px;margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--subtle)}.case-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 11px;font-size:12px}.case-heading h3{font-size:13px}.case-heading .muted{margin-left:auto}.case-reason{color:var(--secondary-text);line-height:1.48;margin:0}.case-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.case-value{min-width:0}.case-value h4{color:var(--secondary-text);font-size:12px;font-weight:600}.case-value pre{max-height:180px}.case-unavailable{margin:6px 0 0;color:var(--muted)}.contest-select{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.contest-select select{min-width:0;max-width:min(75vw,360px)}.staff-layout{display:grid;grid-template-columns:208px minmax(0,1fr);min-height:calc(100dvh - 60px)}.staff-sidebar{background:var(--header);border-right:1px solid var(--line);padding:25px 14px}.staff-sidebar>p{margin:0 10px 16px;color:var(--muted);font-size:13px}.staff-sidebar nav{display:grid;gap:4px;position:sticky;top:16px}.staff-sidebar button{background:transparent;color:var(--secondary-text);text-align:left;border:1px solid transparent;border-radius:7px;padding:10px 11px;font-size:14px;font-weight:620}.staff-sidebar button:hover{background:var(--hover);color:var(--text)}.staff-sidebar button[aria-current=page]{background:var(--brand-bg);color:var(--accent)}.staff-page{min-width:0;width:min(100%,1400px);margin:0 auto;padding:26px clamp(17px,3vw,42px)}.staff-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.staff-heading h1,.staff-heading h2{margin:0;letter-spacing:-.025em}.staff-heading h1{font-size:26px}.staff-heading h2,.staff-content h2,.staff-card h2{font-size:16px}.staff-card{padding:16px;margin:16px 0}.staff-card h2,.staff-content h2{margin:0 0 14px}.staff-selection{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:17px 0;color:var(--muted);font-size:13px}.staff-contest-list{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--line)}.staff-contest-list li{border-bottom:1px solid var(--line)}.staff-contest-entry{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 14px;width:100%;padding:13px 11px;text-align:left;font-weight:650;color:var(--text);background:transparent;border:0}.staff-contest-entry[aria-pressed=true],.staff-contest-entry:hover{background:var(--toolbar)}.staff-contest-entry[aria-pressed=true]>span:first-child{color:var(--accent)}.staff-contest-entry>span:nth-child(2){color:var(--muted);font-size:13px;font-weight:400}.staff-content{min-width:0;padding:16px}.staff-form,.staff-tools{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-bottom:14px}.staff-form label,.staff-tools label{display:grid;gap:6px;color:var(--muted);font-size:13px}.staff-form input,.staff-form select,.staff-tools input,.staff-tools select{min-width:0;height:35px}.staff-student-select{max-width:min(100%,365px)}.staff-table-wrap{overflow:auto}.staff-table{width:100%;border-collapse:collapse;text-align:left}.staff-table th,.staff-table td{padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px;white-space:nowrap}.staff-table th{color:var(--muted);font-weight:600}.staff-table th button{padding:0}.staff-table tr:last-child td{border-bottom:0}.staff-table .identity,.staff-assignments li{font-family:var(--mono)}.staff-name{color:var(--accent);text-align:left}.staff-preview-form{display:grid;justify-items:start;gap:10px}.staff-preview-form textarea{width:100%;resize:vertical;padding:12px;font:14px/1.5 var(--mono);tab-size:4}.task-update{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 12px;font-size:13px}.staff-local-enrollment{margin-bottom:15px}.staff-local-enrollment summary{cursor:pointer;color:var(--muted);font-size:13px;margin-bottom:10px}.staff-source{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.staff-source pre{max-height:380px}.staff-source .staff-heading h2{margin:0}.staff-assignments{margin:0;padding:0 0 0 18px}.staff-assignments li{padding:4px 0;font-size:13px}@media(max-width:760px){.staff-layout{grid-template-columns:minmax(0,1fr)}.staff-sidebar{border-right:0;border-bottom:1px solid var(--line);padding:8px 12px}.staff-sidebar>p{display:none}.staff-sidebar nav{position:static;display:flex;flex-wrap:wrap}.staff-sidebar button{padding:7px 9px}.staff-page{padding-top:18px}}@media(max-width:820px){.workspace,.work-area{height:auto;gap:12px}.splitter{display:none}.workspace{grid-template-columns:1fr}.workspace.workspace-collapsed{grid-template-columns:minmax(0,1fr)}.workspace-collapsed .statement-toolbar{min-height:38px}.workspace-collapsed .statement-toggle{flex-direction:row;justify-content:flex-start;padding:0 11px}.rail-label{writing-mode:horizontal-tb}.workspace-focus .work-area{height:max(360px,calc(100dvh - 140px))}.task-body{max-height:46vh}.work-area{grid-template-rows:max(325px,48vh) minmax(215px,auto)}.console-body{max-height:55vh}}@media(max-width:440px){.topbar .theme-label{display:none}.account{gap:2px}.console-head{align-items:stretch;flex-direction:column;gap:0}.console-head .tabs{border-bottom:1px solid var(--line)}.actions{justify-content:flex-end;padding:6px 8px}.case-comparison{grid-template-columns:1fr}.result-points{margin-left:0}}
