:root{color-scheme:light;--ink:#142b28;--deep:#132827;--teal:#245c4d;--paper:#f5f6f1;--white:#fff;--muted:#50635d;--line:#d8e1d7;--mint:#e4eee2;--gold:#eed494;font:16px/1.55 "DM Sans",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:242px minmax(0,1fr)}aside{background:var(--deep);color:#f4f7ed;padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh}a{color:inherit} .brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:22px;line-height:1.2;font-weight:750;padding:0 8px 35px}.brand small{display:block;font-size:9px;letter-spacing:.15em;color:#bed0c5;margin-top:6px}.symbol{color:var(--gold);font-size:32px}nav{display:grid;gap:5px}nav a{padding:9px 11px;border-radius:7px;color:#cfe0d5;text-decoration:none;display:flex;align-items:center;gap:12px;font-size:.89rem}nav a[aria-current=page],nav a:hover{background:#2a4640;color:white}nav .icon{color:#a9c7b8;width:20px;text-align:center}.sidefoot{margin-top:auto;padding:20px 8px 0;font-size:.72rem;letter-spacing:.12em;color:var(--gold)}.sidefoot span{letter-spacing:0;color:#c3d2c8}.top{height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);font-size:.86rem;color:var(--muted);gap:12px}.storage i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4b896a;margin-right:6px}.storage.error i{background:#ac4932}#page{max-width:1320px;margin:auto;padding:34px clamp(18px,4vw,58px) 60px}.hero{padding:35px 38px;border-radius:13px;color:#fbfaf2;background-color:var(--deep);background-image:repeating-linear-gradient(118deg,transparent 0 26px,#f4efd811 27px 28px,transparent 29px 46px),linear-gradient(115deg,#132827 34%,#254f44 100%);background-position:right;background-size:42% 100%,100%;background-repeat:no-repeat}.hero p{color:#d9e6d8;max-width:54ch}.kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:750;color:var(--teal);margin:0 0 8px}.hero .kicker{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(2.2rem,5vw,3.7rem);font-weight:500;line-height:1.04;letter-spacing:-.04em;margin-bottom:12px}h2{font-size:1.22rem;margin:0 0 12px}h3{font-size:1rem;margin-bottom:7px}p{margin-bottom:12px}p:last-child{margin-bottom:0}.hero a{margin-top:10px}.intro{margin-bottom:26px}.intro p,.muted{color:var(--muted)}.section{margin-top:28px}.sectionhead,.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sectionhead{justify-content:space-between;margin-bottom:12px}.sectionhead h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{border:1px solid var(--line);background:var(--white);border-radius:11px;padding:19px;min-width:0}.card.link{display:block;text-decoration:none}.card.link:hover{border-color:#5f8a72;background:#fafffa}.stat{display:block;font:2.5rem/1.15 Georgia,serif;letter-spacing:-.04em;margin-bottom:5px}.brief{font-size:.87rem;color:var(--muted)}.tag{display:inline-block;background:var(--mint);color:#245345;padding:3px 9px;border-radius:5px;font-size:.74rem;font-weight:700}.contentgrid{display:grid;grid-template-columns:minmax(180px,.66fr) minmax(0,2fr);gap:16px;align-items:start}.stack{display:grid;gap:9px}.pick{display:block;text-decoration:none;border:1px solid var(--line);background:white;border-radius:8px;padding:10px 13px;line-height:1.35}.pick:hover,.pick.active{border-color:#568067;background:#edf4e9}.pick small{display:block;margin-top:4px;color:var(--muted)}button,.btn{font:inherit;font-size:.87rem;font-weight:720;border-radius:7px;border:1px solid var(--teal);padding:8px 13px;background:var(--teal);color:white;cursor:pointer;display:inline-block;text-decoration:none;text-align:center}button:hover,.btn:hover{filter:brightness(1.1)}.secondary{background:white;color:var(--teal);border-color:#a9bdb0}.gold{color:#1e332b;background:var(--gold);border-color:var(--gold)}button:disabled{cursor:default;opacity:.5}.spread{justify-content:space-between}.callout{background:#f9f2df;border:1px solid #e5d8b5;padding:12px 14px;border-radius:7px;margin-bottom:16px;color:#514620}.field{display:grid;gap:6px;margin:10px 0}textarea,input,select{font:inherit;color:var(--ink);border-radius:6px;border:1px solid #aebcb4;background:white;padding:8px 9px;max-width:100%}textarea{width:100%;resize:vertical;min-height:115px}input[type=radio],input[type=checkbox]{accent-color:var(--teal)}input[type=number]{width:84px}.option{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:7px;padding:10px;cursor:pointer}.option:has(:checked){background:var(--mint);border-color:#769f87}fieldset{margin:0 0 14px;padding:0;border:0;min-width:0}legend{font-size:1.13rem;font-weight:700;margin-bottom:11px}details{border:1px solid var(--line);background:white;border-radius:8px;padding:10px 14px}summary{cursor:pointer;font-weight:680}details[open] summary{margin-bottom:10px}.timer{font:1.45rem/1.1 ui-monospace,monospace;font-variant-numeric:tabular-nums}.sticky{position:sticky;top:0;z-index:1;margin-bottom:15px;padding:10px 13px;background:#e9f0e8;box-shadow:0 1px 5px #17382515}.result{background:var(--mint);padding:10px 12px;border-radius:7px;margin-top:13px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}th,td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--teal)}progress{width:100%;height:9px;accent-color:var(--teal)}ol,ul{padding-left:22px}li+li{margin-top:5px}.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:5;background:#fff;padding:8px}:focus-visible{outline:3px solid #ad6806;outline-offset:3px}#notice:not(:empty){position:fixed;right:12px;bottom:12px;z-index:3;background:var(--deep);color:white;border-radius:8px;padding:10px 14px}.part{margin:16px 0}.checkrow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.pagination{margin-top:18px}.draftmeta{font-size:.82rem;color:var(--muted)}
@media(max-width:970px){body{grid-template-columns:200px minmax(0,1fr)}aside{padding:23px 12px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:735px){body{display:block}aside{position:relative;height:auto;padding:14px}.brand{padding:0 0 10px;font-size:18px}.brand small{font-size:8px}.symbol{font-size:26px}nav{display:flex;overflow:auto;padding-bottom:4px}nav a{white-space:nowrap}.sidefoot{display:none}.top{height:46px}.hero{padding:24px 20px}.contentgrid{grid-template-columns:1fr}.catalog{max-height:190px;overflow:auto}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkrow{grid-template-columns:1fr}}
@media(max-width:420px){.grid{grid-template-columns:1fr}.top{font-size:.75rem}#page{padding-top:23px}.card{padding:14px}}
.catalog a{display:block;color:var(--ink);padding:10px 13px}.catalog a:hover,.catalog a.active{color:var(--ink);background:var(--mint)}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mock-toolbar{position:sticky;top:0;z-index:3;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:9px;box-shadow:0 2px 8px #17382515}
.mock-toolbar .sticky{position:static;margin:0 0 8px;box-shadow:none}
.mock-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.mock-tabs .mock-tab{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px;padding:8px 10px;border:1px solid var(--line);background:white;color:var(--ink);font-weight:680;line-height:1.25}
.mock-tabs .mock-tab[aria-current=page]{background:var(--teal);color:white;border-color:var(--teal)}
.mock-count{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}
@media(max-width:735px){.mock-tabs .mock-tab{padding:7px 6px;font-size:.77rem;flex-direction:column;align-items:flex-start}.mock-toolbar{padding:7px}}

.activity-note{max-width:1320px;margin:0 auto;padding:0 clamp(18px,4vw,58px) 24px;color:var(--muted);font-size:.82rem}
body.lecturer{display:block}
.lecturer-content{max-width:1050px;margin:0 auto;padding:32px clamp(16px,4vw,48px) 56px}
