.campus-hero{max-width:1404px;margin:auto;padding:76px 28px 42px;display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:end}.campus-hero h1{font:520 clamp(54px,8vw,104px)/.88 var(--display);letter-spacing:-.05em;margin:16px 0 24px}.campus-hero p{max-width:760px;color:var(--muted);font-size:18px}.campus-note{padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.campus-note strong{display:block;font:600 30px var(--display)}.campus-note span{color:var(--muted);font-size:13px}.campus-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.campus-actions a,.campus-actions button,.session-button{border:1px solid var(--line);border-radius:9px;padding:11px 16px;text-decoration:none;background:var(--surface);color:var(--ink);font-weight:800;cursor:pointer}.campus-actions .primary,.session-button.primary{background:var(--plum);border-color:var(--plum);color:#fff}.program-summary{max-width:1404px;margin:0 auto 28px;padding:0 28px;display:grid;grid-template-columns:repeat(4,1fr)}.program-summary span{padding:16px 20px;border-left:1px solid var(--line);color:var(--muted);font-size:11px;text-transform:uppercase}.program-summary b{display:block;color:var(--ink);font:600 32px var(--display);text-transform:none}.unit-grid{max-width:1404px;margin:auto;padding:20px 28px 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.unit-card{min-height:286px;padding:24px;border:1px solid var(--line);border-radius:17px;background:var(--surface);display:flex;flex-direction:column}.unit-top{display:flex;justify-content:space-between;color:var(--plum);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}.unit-card h2{font:600 31px/1 var(--display);margin:34px 0 10px}.unit-card p{color:var(--muted);font-size:13px}.unit-progress{margin-top:auto}.unit-progress div{height:6px;border-radius:999px;background:var(--paper2);overflow:hidden}.unit-progress i{display:block;height:100%;background:var(--plum)}.unit-progress small{display:flex;justify-content:space-between;margin:7px 0 14px;color:var(--muted)}.unit-card a{font-size:12px;font-weight:800;color:var(--plum);text-decoration:none}.practice-layout{max-width:1404px;margin:auto;padding:24px 28px 100px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;align-items:start}.practice-sidebar{position:sticky;top:130px;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.practice-sidebar h2{font:600 27px var(--display);margin:12px 0}.filter-stack{display:grid;gap:12px}.filter-stack label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800}.filter-stack select{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.mode-group{display:grid;gap:6px;margin:18px 0}.mode-group button{padding:10px;text-align:left;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.mode-group button[aria-pressed=true]{border-color:var(--plum);background:var(--plum2);color:var(--ink)}.progress-box{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.practice-stage{min-height:730px;border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow)}.session-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:16px 24px;background:#2b2528;color:#fff}.session-head span{font-size:11px}.session-track{height:5px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}.session-track i{display:block;height:100%;background:#e7b9cb}.activity{padding:38px}.activity-meta{display:flex;gap:7px;flex-wrap:wrap}.activity-meta span{padding:5px 8px;border-radius:999px;background:var(--plum2);color:var(--plum);font-size:9px;font-weight:800;text-transform:uppercase}.activity h2{font:600 clamp(31px,4vw,48px)/1.06 var(--display);max-width:900px;margin:20px 0 14px}.activity-context{padding:17px 19px;border-left:3px solid var(--rust);background:#f2e7e0;font:500 19px/1.45 var(--serif)}.activity-options{display:grid;gap:8px;margin-top:20px}.activity-options label{display:flex;gap:11px;padding:14px;border:1px solid var(--line);border-radius:10px;cursor:pointer}.activity-options label:has(input:checked){border-color:var(--plum);background:var(--plum2)}.activity textarea{width:100%;min-height:190px;margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;resize:vertical}.rubric{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:10px}.rubric legend{font-weight:800}.rubric label{display:block;margin:7px 0;color:var(--muted);font-size:13px}.activity-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.activity-actions button{border:1px solid var(--line);border-radius:9px;padding:11px 14px;background:var(--paper2);font-weight:800;cursor:pointer}.activity-actions .check{background:var(--plum);border-color:var(--plum);color:#fff}.activity-panel{margin-top:12px;padding:15px;border-radius:10px;background:#eee7de;color:var(--muted);font-size:13px}.activity-panel:empty{display:none}.activity-panel.ok{background:#deebe5;color:#294d42}.activity-panel.bad{background:#f0dfdb;color:#703c32}.empty-state{padding:80px 30px;text-align:center}.empty-state h2{font:600 44px var(--display);margin:0}.exam-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.exam-grid button{padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;font-weight:800}.exam-grid button:hover{border-color:var(--plum)}
@media(max-width:950px){.unit-grid{grid-template-columns:1fr 1fr}.campus-hero{grid-template-columns:1fr}.practice-layout{grid-template-columns:1fr}.practice-sidebar{position:static}.filter-stack{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.campus-hero{padding:50px 18px 30px}.program-summary{grid-template-columns:1fr 1fr;padding:0 18px}.unit-grid{grid-template-columns:1fr;padding:18px 18px 70px}.unit-card{min-height:0}.practice-layout{padding:16px 18px 70px}.filter-stack{grid-template-columns:1fr}.session-head{grid-template-columns:1fr}.activity{padding:24px 18px}.activity-actions{display:grid}.activity-actions button{width:100%}.exam-grid{grid-template-columns:1fr}}
