:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172a43;background:#f2f5fa;font-size:16px;line-height:1.6;--blue:#183b68;--gold:#a46a15}*{box-sizing:border-box}body{margin:0}header{background:#142f52;color:white;padding:2.2rem max(1.2rem,calc((100vw - 1060px)/2));border-bottom:5px solid #dda747}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:.13em;color:#efc779}h1{font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,4rem);line-height:1.1;margin:.6rem 0}.subtitle{font-size:1.25rem;margin:.5rem 0}.problem{max-width:850px;color:#d8e5f5;margin:1rem 0 0}nav{display:flex;gap:.5rem;max-width:1100px;margin:1.5rem auto 0;padding:0 1.2rem;flex-wrap:wrap}button,select{font:inherit;font-size:1rem}button{cursor:pointer;border:1px solid #c8d3e3;background:#fff;color:var(--blue);padding:.65rem 1.1rem;border-radius:.55rem;font-weight:650;min-height:44px}button:hover{background:#e9eff7}button.active,button.primary{background:var(--blue);border-color:var(--blue);color:white}button:focus-visible,select:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #c98b25;outline-offset:3px}main{max-width:1100px;padding:1.2rem;margin:auto}h2{font-family:Georgia,serif;font-size:1.7rem;margin:.25rem 0}h3{font-size:1.15rem;margin:.5rem 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin:.5rem 0 1.2rem}.section-heading>span{font-size:.875rem;color:#52647a}.memo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}article{background:#fff;border:1px solid #dce3ed;border-radius:.8rem;padding:1.4rem}.number{color:var(--gold);font-size:.875rem;font-weight:800}p{margin:.65rem 0}.note{font-size:.875rem;color:#52647a}.dates{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.7rem 0}.dates>div{border-left:3px solid #ba7b1f;padding-left:1rem}.dates strong{display:block;font-family:Georgia,serif;font-size:1.8rem}.dates span{font-size:.95rem}aside{background:#e3edf9;border-left:4px solid var(--blue);padding:1rem 1.4rem;border-radius:0 .6rem .6rem 0}details{background:#fff;margin:1rem 0;padding:1rem;border:1px solid #dce3ed;border-radius:.6rem}summary{cursor:pointer;font-weight:650}#cards{max-width:750px;margin:auto}.card-meta{display:flex;justify-content:space-between;margin:1rem 0;color:#52647a;font-size:.875rem}.flashcard{width:100%;min-height:290px;background:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:center;gap:1.5rem;border:2px solid #b9cae1;border-radius:1rem;text-align:center}.flashcard strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:600;line-height:1.5}#card-side,.flip-hint{font-size:.875rem;color:#52647a}.flashcard.answer{background:#e3edf9}.actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin:1rem 0}fieldset{background:#fff;border:1px solid #dce3ed;border-radius:.65rem;margin:1.2rem 0;padding:1rem}legend{font-weight:700;padding:0 .3rem;max-width:100%}.option{display:flex;align-items:baseline;gap:.6rem;padding:.65rem;border-radius:.4rem;cursor:pointer}.option:hover{background:#edf2f8}input{accent-color:var(--blue)}.feedback{padding:.8rem;background:#e7f3ed;border-left:3px solid #267046;margin:.5rem 0}.feedback.wrong{background:#fff1e7;border-color:#a56420}#quiz-result{background:#183b68;color:white;margin-top:1.3rem;padding:1.4rem;border-radius:.7rem;font-size:1.2rem}.self-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:.8rem;background:white;border:1px solid #dce3ed;border-radius:.6rem;padding:1rem;margin:1rem 0}.self-row label{font-size:.875rem;display:block;font-weight:600}.self-row select{display:block;max-width:100%;width:100%;padding:.55rem;border-radius:.4rem;border:1px solid #b5c4d9;margin-top:.4rem;background:#fff;color:#172a43}footer{text-align:center;padding:2rem 1rem;color:#52647a;font-size:.875rem}[hidden]{display:none!important}@media(max-width:640px){header{padding:1.5rem 1.2rem}.memo-grid{grid-template-columns:1fr}.dates{gap:.7rem}.dates>div{padding-left:.6rem}.dates span{font-size:.875rem}.self-row{grid-template-columns:1fr 1fr}.self-row>strong{grid-column:1/-1}nav button{flex:1 1 40%}article{padding:1.1rem}}@media print{nav,button,footer{display:none}header{background:white;color:black}header .eyebrow,header .problem{color:black}section[hidden]{display:none!important}article{break-inside:avoid}.memo-grid{display:block}article{margin:.7rem 0}}
