:root{--ink:#202831;--muted:#5d6770;--navy:#142c39;--accent:#9b622b;--line:#dce1e4;--bg:#f3f5f6;--white:#fff;font-family:Calibri,'Segoe UI',sans-serif;color:var(--ink);font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:#215b7c;text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d89743;outline-offset:4px}.shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#e5edf0;padding:36px 24px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:white;font-size:21px;letter-spacing:3px}.brand small{font-size:12px;letter-spacing:4px}.monogram{font-family:Georgia,serif;font-size:52px;letter-spacing:-7px;line-height:1.1}.monogram span{color:#dbab73}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:700;color:var(--muted);margin:0 0 14px}.sidebar>.eyebrow{margin-top:50px;font-size:11px;color:#b7c6ce;letter-spacing:1.2px}.nav{display:flex;justify-content:space-between;width:100%;text-align:left;border:0;background:transparent;color:#d9e3e8;padding:14px 12px;margin:3px 0;border-radius:5px;font-size:16px}.nav.active{background:#29434f;color:#fff;box-shadow:inset 3px 0 #d7a76d}.nav:hover{background:#29434f}.side-bottom{margin-top:auto;padding-top:40px;font-size:14px;color:#bfccd3;line-height:1.6}.edition{font-size:11px;letter-spacing:1.5px}.side-bottom a{color:#efc99a;display:block;margin-bottom:7px}.side-bottom small{display:block;font-size:12px}main{padding:44px clamp(24px,4vw,72px);min-width:0;max-width:1550px}header{display:flex;justify-content:space-between;gap:20px;margin-bottom:24px}header h1{font-family:Georgia,serif;font-size:clamp(30px,3vw,44px);font-weight:400;letter-spacing:-1px;margin:0 0 12px}header p:not(.eyebrow){font-size:17px;color:var(--muted);margin:0;line-height:1.5}.local-tag{border:1px solid #aebdc6;border-radius:4px;padding:8px 10px;font-size:11px;letter-spacing:1px;white-space:nowrap;height:max-content}.stats{display:flex;gap:30px;border-bottom:1px solid var(--line);padding:4px 0 24px;margin-bottom:25px;flex-wrap:wrap}.stat{font-size:14px;color:var(--muted)}.stat strong{font-family:Georgia,serif;font-weight:400;font-size:27px;color:var(--ink);margin-right:8px}#controls{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(3,minmax(125px,1fr));gap:14px}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}input,select{border:1px solid #b4bec5;background:white;width:100%;border-radius:5px;min-height:44px;padding:10px;color:var(--ink);min-width:0}#results-head{display:flex;justify-content:space-between;align-items:center;margin:20px 0 10px;gap:14px}#result-count{color:var(--muted);font-size:14px}.text-button{background:none;border:0;color:#215b7c;padding:8px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}.group-title{font-size:13px;text-transform:uppercase;letter-spacing:1.2px;margin:30px 0 12px;color:#50626c}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid var(--line);border-radius:6px;padding:23px;position:relative;display:flex;flex-direction:column;gap:12px;transition:border-color .15s}.card:hover{border-color:#8c9ea9}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.id{font-size:12px;font-weight:700;letter-spacing:1.1px;color:#657680}.badge{font-size:12px;background:#f5e9d7;color:#6f451f;border-radius:3px;padding:4px 7px;line-height:1.3}.badge.documentat{background:#e6edf1;color:#34546b}.badge.aprobat{background:#e5f0e9;color:#25593e}.card h3{font-family:Georgia,serif;font-weight:400;font-size:23px;line-height:1.25;margin:0}.card h3 a{text-decoration:none;color:var(--ink)}.card p{margin:0;color:var(--muted);font-size:16px;line-height:1.5}.card-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #edf0f2;padding-top:12px;margin-top:auto;font-size:13px;color:var(--muted)}.read-link{font-size:14px;color:#215b7c}.empty{padding:45px;background:white;border:1px dashed #a3b3bd;text-align:center;grid-column:1/-1}.source{background:white;border:1px solid var(--line);padding:22px;margin-bottom:12px;border-radius:5px;overflow-wrap:anywhere}.source h2{font-size:20px;margin:8px 0}.source p{color:var(--muted);line-height:1.55;margin:8px 0}.source small{font-size:13px}.reader-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.action{padding:10px 15px;border:1px solid #a6b7c1;border-radius:4px;background:white;color:#1e4c65}.reading{background:white;border:1px solid var(--line);border-radius:6px;padding:clamp(22px,4vw,55px);max-width:980px}.reading .meta{color:var(--muted);font-size:14px;line-height:1.8}.reading h1{font-family:Georgia,serif;font-weight:400;font-size:36px;line-height:1.2}.reading h2{font-size:23px;margin:34px 0 14px;font-weight:600}.reading h3{font-size:19px;margin-top:28px}.reading p,.reading li{font-size:18px;line-height:1.7;max-width:78ch}.reading li{padding-left:4px;margin-bottom:8px}.reading ul,.reading ol{padding-left:24px}.reading a{overflow-wrap:anywhere}.reading code{font-size:15px;background:#eff3f5;padding:2px 4px}.notice{border-left:3px solid #bc8542;background:#fcf5e9;padding:12px 16px;font-size:15px;line-height:1.5;margin:20px 0}.table-wrap{overflow:auto;margin:20px 0;max-width:100%}table{border-collapse:collapse;width:100%;font-size:15px;line-height:1.5}th,td{padding:12px;text-align:left;border:1px solid #dce2e6;min-width:100px;vertical-align:top}th{background:#edf2f5}footer{margin-top:45px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:var(--muted)}footer span{display:block}.skip{position:absolute;left:10px;top:-80px;z-index:100;background:white;padding:14px}.skip:focus{top:10px}[hidden]{display:none!important}@media(min-width:1500px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){.shell{grid-template-columns:220px minmax(0,1fr)}main{padding:30px 24px}#controls{grid-template-columns:repeat(2,minmax(0,1fr))}.cards{grid-template-columns:1fr}.local-tag{display:none}}@media(max-width:820px){.shell{display:block}.sidebar{height:auto;position:static;padding:20px}.brand{font-size:17px}.monogram{font-size:38px}.sidebar>.eyebrow{display:none}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;margin-top:15px;gap:4px}.nav{font-size:14px;padding:11px 9px;margin:0}.side-bottom{padding-top:12px;margin-top:0}.side-bottom p,.edition,#space-note{display:none}.side-bottom a{font-size:13px;margin:0}main{padding:28px 18px}header h1{font-size:32px}header .eyebrow{font-size:11px}.stats{gap:13px}.stat{font-size:13px}.stat strong{font-size:23px}.search-wrap{grid-column:1/-1}#controls{gap:12px}#controls>div:last-child{grid-column:1/-1}.card{padding:20px}.card h3{font-size:22px}.reading h1{font-size:30px}.reading p,.reading li{font-size:17px}#results-head{align-items:start}.badge{max-width:155px}}@media print{.sidebar,header,.stats,#controls,#results-head,footer,.reader-toolbar{display:none!important}.shell{display:block}main{padding:0}.reading{border:0;padding:0;max-width:none}.reading p,.reading li{font-size:11pt}.reading h1{font-size:22pt}a{color:inherit}.table-wrap{overflow:visible}}

.book-link{padding-top:4px;font-size:15px}.primary-action{display:inline-block;background:#20495e;color:white;padding:14px 18px;border-radius:4px;text-decoration:none;margin:6px 0 16px}.editorial-note{border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:24px;color:var(--muted);font-size:14px}.editorial-note p{font-size:15px}.editorial-note summary,.source-details summary{cursor:pointer;padding:6px 0}.source-details{margin-top:32px;border-top:1px solid var(--line);padding-top:15px}.source-details>.source{margin-top:14px}.source h3{font-size:19px;margin:10px 0}.reading .source p{font-size:15px}.sequence{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-block:1px solid var(--line);padding:14px 0;margin:20px 0;font-size:14px}.sequence div{display:flex;gap:18px}.toc{background:#f2f5f6;padding:20px 24px;margin:30px 0;border-radius:5px}.toc h2{margin-top:0}.toc li{font-size:16px;line-height:1.5}.book-chapter{border-top:2px solid #b6c7d0;padding-top:36px;margin-top:54px;scroll-margin-top:20px}.book-chapter>h2{font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.3}.book-chapter h3{font-size:22px}.book .lead{font-size:20px;color:var(--muted)}.book .eyebrow{font-size:12px}.source-details[open] summary{margin-bottom:16px}@media print{.sequence,.editorial-note,.primary-action{display:none}.book-chapter{break-before:page;border:0;padding:0;margin:0}.book-chapter h2{font-size:20pt}.book-chapter h3{font-size:14pt}h2,h3{break-after:avoid}tr{break-inside:avoid}.source{border:0;padding:4px 0}.source p{font-size:9pt!important}}

.is-reading main>header,.is-reading #stats{display:none}

/* Simplified course-first navigation. */
.main-nav{margin-top:44px}.resources-menu{margin-top:24px;border-top:1px solid #3a505b;padding-top:18px}.resources-menu>summary{cursor:pointer;padding:10px 12px;color:#c5d2d8;font-size:15px}.resources-menu nav{margin-top:6px}.resources-menu a{text-decoration:none}.resources-menu .nav{font-size:14px}.sidebar{padding-top:30px}header{margin-bottom:30px}header h1{font-size:36px}.course-cards{gap:20px}.programme{padding:28px;gap:16px}.programme h2{font-family:Georgia,serif;font-size:25px;line-height:1.3;font-weight:400;margin:0}.programme h2 a{color:var(--ink);text-decoration:none}.course-open{display:inline-block;align-self:flex-start;margin-top:auto;background:#20495e;color:white;padding:11px 16px;border-radius:4px;text-decoration:none;font-size:15px}.card>.read-link{margin-top:auto}.card .id{letter-spacing:.4px}#controls{grid-template-columns:minmax(220px,1.5fr) minmax(180px,1fr)}#extra-filters{grid-column:1/-1;font-size:14px;color:var(--muted)}#extra-filters>summary{cursor:pointer;padding:8px 0}.filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}.start-actions{display:flex;align-items:center;gap:24px;margin:24px 0 36px;flex-wrap:wrap}.start-actions .primary-action{margin:0}.chapter-group{margin:28px 0}.chapter-group h3{font-size:15px;color:var(--muted);font-weight:600;margin:0 0 12px}.chapter-list{list-style:none;padding:0!important;margin:0}.chapter-list li{padding:0;margin:0;border-top:1px solid var(--line)}.chapter-list li:last-child{border-bottom:1px solid var(--line)}.chapter-list a{display:grid;grid-template-columns:32px 1fr 48px;gap:12px;align-items:center;padding:16px 4px;text-decoration:none;color:var(--ink);font-size:17px;line-height:1.45}.chapter-list a:hover{background:#f2f6f7}.chapter-number{font-size:14px;color:var(--muted)}.chapter-list small{font-size:12px;white-space:nowrap;color:var(--muted);text-align:right}.exercise-links{display:grid;gap:12px}.exercise-links a{padding:14px 16px;background:#f1f5f7;border-radius:4px;font-size:16px}.course-overview>.lead{font-size:19px;color:var(--muted)}.source details{font-size:14px;color:var(--muted)}.source details summary{cursor:pointer}.source details p{font-size:14px}.editorial-note h1{font-size:25px}.editorial-note h2{font-size:20px}footer details>summary{cursor:pointer;font-size:13px}footer details p{max-width:75ch}.reading{scroll-margin-top:16px}
@media(min-width:1500px){.course-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.course-cards{grid-template-columns:1fr}}
@media(max-width:820px){.sidebar{padding:18px 20px}.sidebar .main-nav{margin-top:20px;display:flex}.main-nav .nav{width:auto;flex:1}.resources-menu{margin-top:12px;padding-top:7px}.resources-menu>summary{padding:8px 10px}.sidebar .resources-menu nav{display:grid;grid-template-columns:1fr 1fr;margin-top:6px}.programme{padding:22px}.programme h2{font-size:24px}main{padding-top:24px}header h1{font-size:31px}header{margin-bottom:24px}#controls{grid-template-columns:1fr}#controls>div:last-child{grid-column:auto}.filter-fields{grid-template-columns:1fr}.chapter-list a{grid-template-columns:22px 1fr 42px;gap:8px;font-size:16px;padding:16px 0}.reading{padding:24px 20px}.sequence div{gap:12px;flex-wrap:wrap}.course-overview h1{font-size:29px}.start-actions{gap:18px}.reading .chapter-group{margin:25px 0}}
@media print{.resources-menu,.start-actions{display:none}.chapter-list a{font-size:11pt}.source-details[open]{break-inside:auto}}

.reading h1[tabindex="-1"]:focus{outline:none}
