*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Georgia,Times New Roman,serif;color:#222;background:#fff;overflow-x:hidden}a{text-decoration:none;color:inherit}.site-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;position:relative;background:#fff;z-index:100}.site-title{font-family:Josefin Sans,Optima,Gill Sans,Gill Sans MT,Helvetica Neue,Arial,sans-serif;font-size:1.65rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;color:#000}.site-title .site-section{color:#888}.site-title .site-section:before{content:"/";margin:0 .45em;color:#bbb}.nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.6rem;line-height:1;padding:4px 0;color:#000}.nav-menu{list-style:none;display:flex;gap:2rem}.nav-menu>li{position:relative}.nav-menu>li>a{font-family:Optima,Gill Sans,Gill Sans MT,Helvetica Neue,Arial,sans-serif;font-size:1.3em;letter-spacing:.1em;text-transform:uppercase;display:block;padding:4px 0;color:#000}.nav-menu>li>a[aria-current=page]{border-bottom:1px solid #222}.content-rule{border:none;border-top:1px solid #222;margin:0}.content-body{max-width:900px;margin:0 auto;padding:15px 22px 40px;font-size:1rem;line-height:1.75;color:#222}.content-body p{margin-bottom:1.25rem}.content-body a{color:#1a4f8a;text-decoration:underline;text-decoration-color:#b8c7d9;text-underline-offset:2px}.content-body a:hover{text-decoration-color:#1a4f8a}.section-title{font-family:Josefin Sans,Optima,Gill Sans,Gill Sans MT,Helvetica Neue,Arial,sans-serif;font-size:1.5rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;margin:1rem 0 1.5rem;color:#222}.intro{font-size:1.05rem;color:#444}.group-title{font-family:Josefin Sans,Optima,Gill Sans,Gill Sans MT,Helvetica Neue,Arial,sans-serif;font-size:.95rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:#666;margin:2.25rem 0 .75rem;padding-bottom:.35rem;border-bottom:1px solid #e3e3e3}.group-title:first-of-type{margin-top:1rem}.item-list{list-style:none}.item{padding:.9rem 0;border-bottom:1px solid #eee}.item:last-child{border-bottom:none}.item-title{font-size:1.1rem;font-weight:400;line-height:1.4}.item-title a{color:#1a4f8a;text-decoration:none}.item-title a:hover{text-decoration:underline}.item-meta{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.78rem;letter-spacing:.04em;color:#777;margin:.15rem 0 .35rem}.item-meta .sep:before,.card-meta .sep:before{content:"·";margin:0 .5em}.item-note{margin:0;color:#333}.item-note+.item-note{margin-top:.4rem}.item-with-cover{display:flex;gap:1.25rem;align-items:flex-start}.item-cover{flex:0 0 120px;text-decoration:none!important}.item-cover img{display:block;width:100%;height:auto;border:1px solid #ddd;box-shadow:0 1px 4px #0000001f}.item-text{flex:1 1 auto;min-width:0}.badge{display:inline-block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding:2px 7px 1px;border:1px solid #c9c9c9;border-radius:3px;color:#555;vertical-align:middle;margin-right:.5em}.badge-guide{border-color:#9fb8d4;color:#1a4f8a}.badge-practice{border-color:#c8b48a;color:#7a5a12}.badge-exam{border-color:#d4a0a0;color:#8a1a1a}.badge-game{border-color:#a8cfae;color:#1f6b2a}.handout-group .group-title{margin-bottom:1rem}.card-grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.75rem 1.5rem;margin:0 0 1rem}.card{display:flex;flex-direction:column;min-width:0}.card-thumb{display:block;aspect-ratio:480 / 622;background:#f4f4f4;border:1px solid #ddd;overflow:hidden;text-decoration:none!important;transition:border-color .15s,box-shadow .15s}.card-thumb:hover{border-color:#222;box-shadow:0 2px 10px #00000024}.card-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.card-thumb-empty{display:flex;align-items:center;justify-content:center;height:100%;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.8rem;letter-spacing:.2em;color:#999}.card-body{padding-top:.6rem}.card-body .badge{margin:0 0 .35rem}.card-title{font-size:1.02rem;font-weight:400;line-height:1.35;margin:0 0 .2rem}.card-title a{color:#1a4f8a;text-decoration:none}.card-title a:hover{text-decoration:underline}.card-meta{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.74rem;letter-spacing:.04em;color:#777;margin:0 0 .35rem}.card-note{font-size:.88rem;line-height:1.5;color:#444;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.section-cards{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin:1.5rem 0 2rem}.section-card{display:block;border:1px solid #ddd;padding:1.25rem 1.25rem 1.1rem;height:100%;color:inherit;text-decoration:none!important;transition:border-color .15s}.section-card:hover{border-color:#222}.section-card h2{font-family:Josefin Sans,Optima,Gill Sans,Gill Sans MT,Helvetica Neue,Arial,sans-serif;font-size:1.05rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem;color:#222}.section-card p{margin:0;font-size:.95rem;color:#444}.site-footer{padding:20px 32px;text-align:center;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.7rem;letter-spacing:.04em;color:#999;background:#fff}.site-footer a{color:#999;text-decoration:underline}@media(max-width:768px){.site-header{padding:18px 20px}.site-title{font-size:1.3rem}.nav-toggle{display:block}.nav-menu{display:none;position:absolute;top:100%;right:0;background:#fff;flex-direction:column;gap:0;min-width:230px;padding:8px 0;box-shadow:0 4px 16px #00000024;z-index:300}.nav-menu.open{display:flex}.nav-menu>li>a{display:block;padding:10px 20px;color:#222!important}.nav-menu>li>a[aria-current=page]{border-bottom:none;background:#f3f3f3}}@media(max-width:480px){.item-cover{flex-basis:84px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .9rem}.card-note,.site-title .site-section{display:none}}
