:root{color-scheme:light;--ink:#13233b;--soft:#526176;--paper:#f6f0e5;--cream:#fffaf1;--coral:#b75035;--line:#d7dddf;--blue:#1769aa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 10% 0,rgba(127,200,223,.18),transparent 40%),var(--paper);color:var(--ink);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#15527c;text-underline-offset:3px}a:hover{color:var(--coral)}header,footer{max-width:1260px;margin:auto;padding:23px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}header{border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap}header a{text-decoration:none;font-weight:650;font-size:.9rem}.brand{color:var(--ink);font-size:1.25rem;display:flex;gap:10px;align-items:center}.brand:first-letter{font-size:1.7rem}main{margin:40px auto 70px;padding:0 24px;min-height:62vh}.narrow{max-width:680px}.wide{max-width:1248px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12;font-weight:500}h1{font-size:clamp(2.1rem,4.8vw,3.8rem);letter-spacing:-.045em;margin:0 0 20px}h2{font-size:1.7rem;margin:0 0 16px}h3{font-size:1.5rem;margin:0 0 20px}p{margin:0 0 18px}.eyebrow{color:var(--coral);text-transform:uppercase;letter-spacing:.13em;font-size:.73rem;font-weight:800;margin:0 0 12px}.lede{color:var(--soft);font-size:1.06rem;margin-bottom:28px}.panel{padding:26px;background:var(--cream);border:1px solid var(--line);border-radius:18px;margin-bottom:22px}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:40px;align-items:center;margin:25px 0 46px}.hero img{display:block;width:100%;height:auto;border-radius:22px}.hero h1{font-size:clamp(2.3rem,4.5vw,3.9rem)}.actions{display:flex;gap:12px;flex-wrap:wrap}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.promo{margin:20px 0 40px}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.chapter-card{margin:0;display:flex;flex-direction:column}.lab-links{display:grid;gap:10px;margin-top:auto}.lab-links a{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px;text-decoration:none;font-weight:700;font-size:.88rem}.section-heading{margin:30px 0}.section-heading p{color:var(--soft)}label{display:block;font-size:.88rem;font-weight:700;margin:0 0 18px}input,textarea{display:block;font:inherit;width:100%;margin-top:7px;min-height:46px;padding:10px 12px;background:#fff;color:var(--ink);border:1px solid #a8b5c2;border-radius:9px}textarea{resize:vertical;font-size:.88rem}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #7fc8df;outline-offset:3px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;min-height:44px;background:var(--ink);border:1px solid var(--ink);border-radius:10px;color:#fff;font:700 .9rem/1.4 Inter,ui-sans-serif,system-ui,sans-serif;text-decoration:none;cursor:pointer}button:hover,.button:hover{background:#284365;color:white}.secondary{background:transparent;color:var(--ink);border-color:#a8b5c2}.secondary:hover{background:#eaf0f2;color:var(--ink)}form>button{margin-top:4px}.inline-form{display:inline;margin:0}.text-button{padding:0;border:0;border-radius:0;background:none;min-height:0;color:#15527c;font-weight:650}.text-button:hover{background:none;color:var(--coral)}.small,.field-note{font-size:.82rem;color:var(--soft)}.field-note{margin-top:-10px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:500}.check input{width:18px;min-height:18px;height:18px;margin-top:4px;flex-shrink:0;accent-color:var(--blue)}.badge{display:inline-block;font-size:.78rem;padding:6px 12px;background:#edf1ea;border-radius:20px;color:#35523d}.notice{padding:16px 18px;background:#e4f0e5;border-left:4px solid #517b58;border-radius:8px;margin-bottom:22px}.notice.error{background:#fbe9df;border-color:var(--coral);color:#813324}.admin-nav{margin:20px 0 28px;gap:8px}.admin-nav a{padding:7px 12px;border-radius:8px;text-decoration:none;font-size:.87rem}.admin-nav [aria-current]{background:var(--ink);color:white}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics strong{display:block;font:2.2rem Georgia,serif}.metrics span{font-size:.8rem;color:var(--soft)}.table-wrap{overflow-x:auto;background:var(--cream);border:1px solid var(--line);border-radius:14px}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--soft);font-size:.74rem;text-transform:uppercase}td{overflow-wrap:anywhere}fieldset{border:1px solid var(--line);border-radius:10px;padding:18px;margin:0 0 20px}legend{padding:0 6px;font-weight:700;font-size:.9rem}.chapter-choices{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.chapter-choices .check{margin-bottom:10px;font-size:.83rem}.danger{background:#8b392b;border-color:#8b392b}.key-list{padding-left:20px}.key-list li{margin-top:14px}.search{display:flex;gap:14px;align-items:end;margin-bottom:24px}.search label{flex:1;margin:0}.pagination{margin-top:22px;justify-content:center}.secret{display:block;overflow-wrap:anywhere;font-size:1rem;background:#e9edf1;padding:16px;border-radius:8px;margin:16px 0}summary{cursor:pointer;font-weight:700}details>form{margin-top:22px}footer{font-size:.78rem;color:var(--soft);border-top:1px solid var(--line)}.skip{position:absolute;top:-60px;background:var(--ink);color:#fff;padding:8px 16px;z-index:10}.skip:focus{top:0}
@media(max-width:950px){.chapter-grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr}.hero img{max-width:680px}.metrics{grid-template-columns:1fr 1fr}}
@media(max-width:600px){header,footer{padding:18px 20px;align-items:flex-start;flex-direction:column;gap:12px}header nav{gap:16px}.brand{font-size:1.12rem}main{margin-top:28px;padding:0 18px}.two-col,.chapter-grid,.chapter-choices{grid-template-columns:1fr}.panel{padding:21px}.hero{gap:22px}.hero h1{font-size:2.6rem}.promo{gap:0}.metrics{gap:10px}.metrics .panel{padding:16px}button,.button{max-width:100%}.actions{display:grid}.narrow .two-col{gap:0}.search{align-items:stretch;flex-direction:column}nav.admin-nav{gap:4px}.admin-nav a{padding:7px 9px;font-size:.82rem}}
