@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#15201f;--muted:#687272;--line:#dfe7e4;--paper:#f8fbfa;--card:#fff;--accent:#0c776a;--accent-dark:#07574e;--pale:#ddf4ed;--danger:#b74444}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.55}.site-header{max-width:1160px;margin:auto;padding:23px 28px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:20px;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-.6px}.brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;background:var(--accent);color:#fff;border-radius:8px;margin-right:7px;font-family:DM Mono}.site-header nav{display:flex;gap:20px;align-items:center}.site-header a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:700}.nav-cta,.button{background:var(--accent);color:#fff!important;border-radius:10px;padding:9px 14px}.page-shell{max-width:1104px;padding:20px 28px 76px;margin:auto}footer{max-width:1160px;margin:auto;padding:26px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.hero{padding:82px 0 88px;max-width:770px}.eyebrow{font-family:DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:12px;font-weight:500;margin:0 0 8px}.hero h1,.page-title h1,.task-page h1,.auth-card h1,.form-page h1{font-size:clamp(38px,6vw,68px);line-height:1.03;letter-spacing:-.06em;margin:0 0 18px}.hero>p:not(.eyebrow){color:var(--muted);font-size:20px;max-width:625px}.hero-actions{display:flex;gap:10px;margin-top:30px}.button{font:700 14px Manrope;border:0;display:inline-block;text-decoration:none;cursor:pointer}.button:hover{background:var(--accent-dark)}.button.ghost{color:var(--ink)!important;background:transparent;border:1px solid var(--line)}.button.small{padding:7px 11px;font-size:13px}.section{margin:36px 0 64px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-heading h2,.task-page h2,.submission-box h2,.review-form h2{font-size:26px;letter-spacing:-.04em;margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.course-card{position:relative;min-height:210px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);transition:transform .2s,border .2s}.course-card:hover{transform:translateY(-3px);border-color:var(--accent)}.card-index{font-family:DM Mono;color:var(--accent);font-size:12px}.course-card h3{font-size:21px;letter-spacing:-.04em;margin:27px 0 8px}.course-card p{color:var(--muted);font-size:14px;margin:0 0 18px}.muted{color:var(--muted);font-size:13px}.task-list{border-top:1px solid var(--line)}.task-row{display:flex;gap:20px;justify-content:space-between;padding:21px 8px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.task-row:hover h3{color:var(--accent)}.task-row h3{margin:2px 0;font-size:19px;letter-spacing:-.03em}.task-row p{margin:3px 0;color:var(--muted);font-size:14px}.task-course{font:12px DM Mono;text-transform:uppercase;color:var(--accent)!important}.task-meta{min-width:115px;text-align:right;color:var(--muted);font-size:13px}.task-meta span{display:block;color:var(--accent);font-size:23px}.breadcrumb{font-size:13px;color:var(--muted);margin:10px 0 27px}.breadcrumb a,.text-link,a{color:var(--accent)}.breadcrumb span{padding:0 7px}.page-title{margin:30px 0 40px}.page-title h1{font-size:48px}.page-title>p:not(.eyebrow){color:var(--muted);font-size:18px;margin-top:-4px}.task-page{max-width:780px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,5vw,56px)}.task-page header{border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:29px}.task-page h1{font-size:46px}.lead{font-size:19px;color:var(--muted);margin:0}.deadline{display:inline-block;background:var(--pale);color:var(--accent-dark);padding:7px 10px;border-radius:8px;font-size:14px;margin-top:19px}.markdown{font-size:16px}.markdown h1,.markdown h2,.markdown h3{letter-spacing:-.03em;margin-top:32px}.markdown pre,.answer{background:#102321;color:#e8f8f3;padding:18px;border-radius:10px;overflow:auto;font:13px/1.5 'DM Mono',monospace;white-space:pre-wrap}.markdown code{font-family:DM Mono;background:#edf3f1;padding:1px 4px;border-radius:4px}.markdown pre code{background:transparent;padding:0}.markdown table,table{border-collapse:collapse;width:100%}.markdown th,.markdown td,th,td{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.files{display:grid;gap:8px;margin-top:12px}.files a{padding:10px 12px;border:1px solid var(--line);border-radius:8px;text-decoration:none}.submission-box,.auth-card,.form-page,.review-form{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;max-width:780px;margin-top:22px}.submission-box.compact{padding:18px}.submission-box p{margin:0}.auth-card{max-width:460px;margin:55px auto}.auth-card h1{font-size:38px}.form-page{max-width:840px;margin:26px auto}.form-page h1{font-size:42px}form{display:grid;gap:15px;margin-top:19px}label{font-weight:700;font-size:14px;display:grid;gap:6px}label small{font-weight:400;color:var(--muted)}input,textarea,select{font:15px Manrope;border:1px solid #cbd8d4;border-radius:9px;padding:10px 12px;color:var(--ink);background:#fff;width:100%}textarea{resize:vertical}.editor{font-family:DM Mono;font-size:13px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.inline-form{display:inline}.link-button{border:0;background:transparent;color:var(--accent);font:inherit;cursor:pointer;padding:0}.link-button.danger{color:var(--danger)}.flash{padding:12px 15px;border-radius:10px;margin:0 0 18px;font-size:14px}.flash.success{background:#ddf4ed;color:#07574e}.flash.error{background:#fde8e8;color:#9b2929}.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:auto}table{min-width:640px;font-size:14px}th{font:12px DM Mono;text-transform:uppercase;color:var(--muted)}td small{display:block;color:var(--muted);margin-top:3px}.status{display:inline-block;border-radius:999px;padding:3px 8px;font:11px DM Mono;text-transform:uppercase;background:#eef1f0;color:#52605d}.status.new{background:#fff1cb;color:#8c6700}.status.in_review{background:#ddecff;color:#165ea5}.status.needs_changes{background:#ffe0e0;color:#a92d2d}.status.accepted{background:#ddf4ed;color:#087364}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:45px}.stats div{background:var(--card);border:1px solid var(--line);padding:20px;border-radius:14px}.stats strong{display:block;font-size:33px;letter-spacing:-.05em}.stats span{font-size:13px;color:var(--muted)}.admin-title{display:flex;justify-content:space-between;align-items:end}.admin-actions{display:flex;gap:8px}.admin-list{display:grid;gap:8px}.admin-list>div{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:14px}.admin-list strong{margin-right:auto}.filter-links{display:flex;flex-wrap:wrap;gap:7px}.filter-links a{font-size:14px;padding:5px 9px;border-radius:7px;text-decoration:none}.filter-links a.active{background:var(--pale);font-weight:700}.review-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.75fr);gap:20px}.review-form{margin:0;height:max-content}.attached-files{display:grid;gap:5px}.attached-files div{display:flex;gap:10px;align-items:center;font-size:13px}.empty{border:1px dashed #b6c6c1;padding:28px;border-radius:13px;color:var(--muted)}.submission-line{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;flex-wrap:wrap}.submission-line p{width:100%;margin:0;color:var(--muted);font-size:14px}@media(max-width:700px){.site-header{padding:16px 18px}.site-header nav{gap:12px}.site-header nav>a:not(.nav-cta){display:none}.page-shell{padding:12px 18px 55px}.hero{padding:55px 0 62px}.hero h1{font-size:45px}.task-row{padding:17px 0}.task-meta{min-width:86px}.task-page{padding:24px 18px}.task-page h1{font-size:36px}.stats{grid-template-columns:1fr}.admin-title,.review-grid{display:block}.admin-actions{margin-top:15px}.review-form{margin-top:18px}.admin-list>div{flex-wrap:wrap}.admin-list strong{width:100%}.course-card{min-height:180px}}
