:root{--ink:#172c2e;--muted:#455b5d;--coral:#ff674f;--cream:#fffaf1;--line:#d6dfdc}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,sans-serif;line-height:1.65}a{color:#204d57;text-underline-offset:.2em}button,input,select{font:inherit}button,.primary-link{border:1px solid var(--ink);border-radius:8px;background:var(--coral);color:#142b2d;padding:.65rem 1rem;font-weight:700;cursor:pointer}button.secondary{background:white}button:disabled{opacity:.65;cursor:wait}:focus-visible{outline:3px solid #155fa0;outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;left:10px;top:-80px;background:white;padding:12px;z-index:5}.skip:focus{top:10px}.hl-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px max(24px,calc((100% - 1200px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800;text-decoration:none;font-size:1.35rem;white-space:nowrap}.hl-header nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.95rem}.hl-header nav a[aria-current]{text-decoration-thickness:3px}main{max-width:1200px;margin:auto;padding:36px 24px}h1,h2,h3{line-height:1.18;letter-spacing:-.025em}h1{font-size:clamp(2.6rem,5.2vw,4.7rem);margin:.3em 0}h1 em{font-style:normal;color:#9b392c}h2{font-size:1.9rem;margin:1.2em 0 .65em}h3{font-size:1.2rem}p{overflow-wrap:anywhere}.library-hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:42px;padding:20px 0 36px}.eyebrow{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.deck{font-size:1.15rem;max-width:570px}.primary-link{display:inline-block;text-decoration:none}.board-map{display:grid;grid-template-columns:1fr 1fr;gap:14px;transform:rotate(-2deg)}.board-map>span{display:flex;min-height:145px;flex-direction:column;justify-content:center;padding:20px;border:1px solid var(--ink);border-radius:18px;font-size:1.4rem;font-weight:800;background:#f7dccd;box-shadow:4px 5px 0 #172c2e}.board-map>span:nth-child(2){background:#e5efde}.board-map>span:nth-child(3){background:#e3f1f8}.board-map>span:nth-child(4){background:#f7e7ac}.board-map small{display:block;font-size:.85rem;font-weight:400}.scope-note{padding:20px 24px;background:#e3f1f8;border-left:4px solid #386a7a;border-radius:0 12px 12px 0}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:white;scroll-margin-top:20px}.filters label{display:block;font-size:.9rem;font-weight:700;margin-bottom:5px}input,select{width:100%;min-height:46px;border:1px solid #78908b;border-radius:7px;padding:8px;background:white;color:var(--ink);min-width:0}.filter-actions{grid-column:1/-1;display:flex;gap:12px}.small{font-size:.88rem;color:var(--muted)}#libraryStatus{font-weight:700;margin:24px 0 16px}.error{padding:16px;background:#fff0ec;border:1px solid #a23f31;border-radius:10px}.result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.resource-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:14px;padding:22px;min-width:0}.resource-card h3{margin:12px 0}.resource-card p{margin:.4em 0;font-size:.94rem}.resource-card a,.resource-card button{align-self:flex-start;margin-top:auto;overflow-wrap:anywhere}.resource-card .card-link{padding-top:18px}.badge{display:inline-block;align-self:flex-start;font-size:.73rem;font-weight:800;background:#edf3ef;border-radius:6px;padding:3px 8px}.badge.lesson{background:#ffe6dc}.resource-card .small{font-size:.8rem}.board-note{margin:16px 0;padding:20px;border:1px solid var(--line);border-radius:12px}.board-note h3{margin:0 0 8px}.board-note p{margin:6px 0}.empty{grid-column:1/-1;background:white;padding:24px;border:1px dashed #78908b;border-radius:12px}#more{display:block;margin:24px auto}.lesson-panel{margin-top:30px;padding:30px;background:white;border:2px solid #36575a;border-radius:16px;scroll-margin-top:20px}.lesson-panel .lesson-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.lesson-panel h2{font-size:2rem}.lesson-panel .explanation{max-width:80ch}.example{padding:20px;background:#f4f7ee;border-left:4px solid #587657;margin:24px 0}.question{padding:20px;margin:18px 0;border:1px solid var(--line);border-radius:12px;min-width:0}.question legend{font-weight:700;max-width:100%;padding:0 6px}.question label{display:flex;gap:10px;align-items:flex-start;margin:10px 0;cursor:pointer}.question input{width:18px;min-height:18px;margin:5px 0;flex-shrink:0}.feedback{padding:10px;background:#edf3f9;margin-top:12px}.question button{margin-top:10px}.activity{padding:22px;border:1px dashed #78908b;border-radius:12px}.activity summary{cursor:pointer;font-weight:700}.activity textarea{width:100%;min-height:130px;font:inherit;padding:12px;border:1px solid #78908b;border-radius:8px}.source-footer{border-top:1px solid var(--line);margin-top:40px}.source-footer nav{display:flex;gap:14px 24px;flex-wrap:wrap}footer{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:30px;border-top:1px solid var(--line);background:white}
@media(max-width:900px){.hl-header{align-items:flex-start;flex-direction:column}.library-hero{gap:26px}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-map>span{min-height:115px;padding:14px;font-size:1.1rem}}
@media(max-width:600px){main{padding:24px 16px}.hl-header{padding:20px 16px}.hl-header nav{gap:12px 18px}.library-hero{grid-template-columns:1fr;padding-top:0}.board-map{transform:none;gap:12px}.board-map>span{min-height:95px;font-size:1.1rem;box-shadow:2px 3px 0 #172c2e}.filters{grid-template-columns:1fr;padding:18px;gap:14px}.result-grid{grid-template-columns:1fr}.scope-note{padding:16px}.lesson-panel{padding:18px}.lesson-panel h2{font-size:1.65rem}.question{padding:12px}.source-footer h2{font-size:1.6rem}}
@media print{body{background:white;color:black}.hl-header,footer,.library-hero,.scope-note,main>section:not(.lesson-panel),#lessonPanel button,.lesson-toolbar,.skip{display:none!important}main{padding:0;max-width:none}.lesson-panel{border:0;padding:0;margin:0}.question,.example,.activity{break-inside:avoid}.question input{width:auto}.feedback{background:none}.lesson-panel textarea{display:none}.lesson-panel h2{font-size:22pt}a{color:black}}
