:root{font-family:"Manrope",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit}main{max-width:1360px;margin:0 auto;padding:58px 28px 100px}.eyebrow{margin:0 0 12px;color:var(--muted);text-transform:none;font-size:10px;font-weight:800;letter-spacing:normal}h1,h2,h3{font-family:"Manrope",sans-serif;font-weight:500;letter-spacing:-.035em}h1{margin:0 0 14px;font-size:clamp(32px,4vw,56px);line-height:1.15}h2{font-size:clamp(25px,3vw,38px)}h3{font-size:17px}.lead{max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.6}.muted,small{color:var(--muted)}button,.button-link{min-height:42px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;background:var(--ink);color:var(--on-primary);font:700 12px "Manrope",sans-serif;text-decoration:none;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.ghost{background:var(--subtle);color:var(--ink)}.danger{background:var(--danger)}.card{display:block;padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--card-shadow)}.auth{max-width:540px;margin:5vh auto}.auth h1{font-size:40px}.auth form,.lookup-card{display:grid;gap:14px}.auth form p,.lookup-card p{margin:0;display:grid;gap:6px;font-size:12px;font-weight:700}.auth input,.auth select,.lookup-card input,.lookup-card select{width:100%;min-height:47px;padding:0 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);font:inherit}.auth .errorlist,.lookup-card .errorlist{margin:0;padding:12px 14px;list-style:none;border-radius:9px;background:var(--danger-bg);color:var(--danger);font-size:12px}.auth>a{display:inline-block;margin-top:20px;font-size:12px}.admin-section{margin-top:78px}.section-title{margin-bottom:28px;display:flex;align-items:end;justify-content:space-between;gap:30px}.section-title h2{margin:0}.section-title>p{max-width:520px;color:var(--muted);line-height:1.55}.grid,.checkpoint-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px}.group{text-decoration:none;transition:.2s}.group:hover{border-color:var(--coral);}.group h3,.checkpoint-card h3{margin:13px 0}.checkpoint-meta{display:flex;gap:7px;margin:18px 0}.checkpoint-meta span,.status{padding:5px 8px;border-radius:6px;background:var(--subtle);font-size:10px}.checkpoint-card form{display:flex;align-items:center;gap:10px}.status.open{background:var(--success-bg);color:var(--success)}.table-wrap{margin-top:30px;overflow:auto;background:var(--surface);border-radius:16px;border:1px solid var(--line)}table{border-collapse:collapse;min-width:100%;font-size:13px}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}th:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1}th small{display:block;margin-top:4px}.score{width:70px;padding:8px;border:1px solid var(--line-strong);border-radius:8px;text-align:center}.attendance{width:48px;padding:8px 4px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface)}.attendance-head{writing-mode:vertical-rl;transform:rotate(180deg);height:90px}.saving{opacity:.45}.error{border-color:var(--danger)!important;background:var(--danger-bg)!important}.legend{font-size:12px}.back{display:inline-block;margin-bottom:28px;color:var(--muted);font-size:12px;text-decoration:none}.score-hero{margin:38px 0 68px;display:grid;grid-template-columns:2fr 1fr;border-radius:20px;overflow:hidden;background:var(--nav-bg);color:var(--nav-ink)}.score-hero>div{padding:34px;display:grid;gap:6px}.score-hero>div:first-child{--muted:var(--nav-muted)}.score-hero>div+div{--muted:#26354d;background:var(--blue);color:var(--accent-ink)}.score-hero span,.score-hero small{font-size:11px;text-transform:none;letter-spacing:.08em}.score-hero strong{font:500 clamp(54px,8vw,100px)/1 "Manrope",sans-serif}.result-section{margin-top:65px}.result-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.result-card{min-height:190px;padding:21px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.result-card>span{font-size:9px;text-transform:none;letter-spacing:.08em;color:var(--muted)}.result-card h3{font-size:14px;line-height:1.4}.result-card>strong{margin-top:auto;font:500 28px "Manrope",sans-serif}.attendance-list{border-top:1px solid var(--ink)}.attendance-list>div{min-height:60px;display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);font-size:12px}.privacy-note{margin-top:50px;padding:18px;border-radius:12px;background:var(--subtle);color:var(--muted);font-size:12px}.test-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:start}.test-facts{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}.test-facts span{padding:7px 10px;border:1px solid var(--line);border-radius:6px;font-size:11px}.lookup-card{padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.lookup-card small{line-height:1.5}.test-intro .lookup-card{background:var(--blue-panel);box-shadow:var(--card-shadow)}.test-top{margin-bottom:45px;display:flex;align-items:end;justify-content:space-between;gap:30px}.test-top h1{font-size:clamp(32px,4vw,54px)}.timer{padding:16px 20px;border-radius:13px;background:var(--ink);color:var(--on-primary)}.timer span{display:block;font-size:9px;text-transform:none}.timer strong{font:500 25px "Manrope",sans-serif}.question{margin:0 0 18px;padding:24px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.question legend{padding:0 7px;font-size:16px;font-weight:700}.question legend span{margin-right:10px;color:var(--muted)}.question label{margin-top:10px;padding:13px;display:flex;gap:10px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.question label:has(input:checked){border-color:var(--blue);background:var(--selected)}.submit-test{margin-top:16px;min-height:50px;background:var(--coral);color:var(--accent-ink)}.completion{max-width:720px;margin:6vh auto;text-align:center}.completion h1 small{font-size:20px}.completion .button-link{margin:18px 8px 0}.completion>a:last-child{display:block;margin-top:18px;font-size:12px}@media(max-width:760px){main{padding:38px 18px 70px}.section-title,.test-top{align-items:flex-start;flex-direction:column}.test-intro{grid-template-columns:1fr;gap:30px}.score-hero{grid-template-columns:1fr}.attendance-list>div{grid-template-columns:80px 1fr}.attendance-list b{grid-column:2}.question{padding:18px}}

.semester-navigation { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 24px; }
.semester-navigation > span { margin-right: 8px; }
.semester-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 12px; text-decoration: none; }
.semester-navigation a[aria-current="page"] { color: var(--ink); background: var(--surface); border-color: currentColor; font-weight: 600; }
