:root{--navy:#0b2545;--sea:#13548a;--foam:#eef4f8;--ink:#14202e;--muted:#4a5a6a;--line:#d5dfe8;--warn-bg:#fff6df;--warn-ink:#6b4a00;--radius:10px}*,:before,:after{box-sizing:border-box}body{color:var(--ink);background:#fff;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}h1,h2,h3{color:var(--navy);font-family:Georgia,Times New Roman,serif;line-height:1.25}a{color:var(--sea)}.container{width:min(1080px,100% - 2rem);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--navy);color:#fff;padding:.5rem 1rem;position:absolute;left:-999px}.skip-link:focus{z-index:10;left:0}:focus-visible{outline-offset:2px;outline:3px solid #f5a623}.site-header{background:var(--navy);color:#fff}.header-row{flex-wrap:wrap;align-items:center;gap:1rem;padding-block:.75rem;display:flex}.brand{color:#fff;font-family:Georgia,serif;font-size:1.25rem;font-weight:700;text-decoration:none}.search{flex:220px}.search input{border-radius:var(--radius);width:100%;font:inherit;border:0;padding:.5rem .75rem}.nav{align-items:center;gap:1rem;display:flex}.nav a,.link-button{color:#fff}.link-button{font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.button{background:var(--sea);color:#fff;border-radius:var(--radius);font:inherit;cursor:pointer;border:0;padding:.6rem 1.1rem;text-decoration:none;display:inline-block}.button.small{color:var(--navy);background:#fff;padding:.35rem .8rem}.button:disabled{opacity:.6;cursor:not-allowed}.hero{background:var(--foam);border-radius:var(--radius);margin-block:1.5rem;padding:2rem 1.5rem}.hero h1{margin-top:0;font-size:clamp(1.8rem,4vw,2.6rem)}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);height:100%;color:inherit;padding:1rem;text-decoration:none;display:block}.card:hover{border-color:var(--sea)}.card h3{margin:0 0 .25rem}.card p{color:var(--muted);margin:0}.notice{background:var(--warn-bg);color:var(--warn-ink);border-radius:var(--radius);padding:.6rem .9rem}.form{gap:1rem;max-width:420px;display:grid}.form label{gap:.25rem;font-weight:600;display:grid}.form input{border:1px solid var(--line);border-radius:var(--radius);font:inherit;padding:.55rem .7rem}.error{color:#9b1c1c}.lesson-body{max-width:70ch}.meta{color:var(--muted);font-size:.9rem}.site-footer{background:var(--foam);border-top:1px solid var(--line);color:var(--muted);margin-top:3rem;padding-block:1.5rem;font-size:.9rem}
