*{box-sizing:border-box}body{margin:0;background:#f5f7f6;color:#17372e;font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.nav{background:#0c263c;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:15px max(22px,calc((100vw - 1060px)/2));gap:15px}.nav a{color:#fff;text-decoration:none}.nav nav{display:flex;gap:20px}.logo{font-weight:800}main{max-width:1060px;margin:auto;padding:24px}.hero{background:linear-gradient(110deg,#103d35,#123a58);color:white;border-radius:22px;padding:32px 36px}.eyebrow{font-weight:800;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#d9af4e}.hero h1{font:700 clamp(28px,5vw,48px)/1.1 Georgia,serif;margin:10px 0}.hero p{max-width:700px}.note{font-size:13px;opacity:.83}.chooser{display:flex;gap:15px;flex-wrap:wrap;margin:22px 0}.chooser>div{flex:1;min-width:220px}label{display:block;font-weight:700;font-size:13px;margin-bottom:7px}select{width:100%;padding:12px;border:1px solid #cbd8d2;border-radius:10px;background:#fff;color:#17372e}.intro,.work{background:#fff;border:1px solid #e1e9e5;border-radius:17px;padding:25px;margin:16px 0}.intro{display:flex;justify-content:space-between;gap:20px;align-items:center}.intro h2{font:700 28px Georgia,serif;margin:0}.intro p{margin:5px 0}.intro .eyebrow{color:#507e70}.stat{color:#2d7057;font-weight:700;white-space:nowrap}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button,.btn{cursor:pointer;border:1px solid #cadbd3;background:#fff;color:#193d34;padding:11px 14px;border-radius:10px;font-weight:700}.tabs button.active,.btn.primary{background:#123f34;color:#fff;border-color:#123f34}.btn{margin:10px 8px 0 0}.btn:disabled{opacity:.45;cursor:not-allowed}.passage{background:#f1f6f2;padding:21px;border-radius:12px;font-size:17px;line-height:1.8}.option{display:block;border:1px solid #d5e0d9;border-radius:10px;padding:12px;margin:9px 0;cursor:pointer}.option input{margin-right:10px}.feedback{border-left:4px solid #35976b;padding:12px;background:#eef8f1;margin:14px 0}.feedback.bad{border-color:#c47e35;background:#fff8eb}.flash{border:1px solid #d8e4dd;background:#ecf4ed;border-radius:14px;min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;cursor:pointer;padding:25px}.flash strong{font:700 32px Georgia,serif}.flash small{color:#598475;font-weight:700}textarea{width:100%;min-height:215px;resize:vertical;border:1px solid #cbd8d2;border-radius:10px;padding:14px;font:inherit}details{background:#f2f6f3;border-radius:10px;padding:13px;margin-top:12px}footer{font-size:12px;text-align:center;color:#718279;margin:28px}a{color:#15694f}@media(max-width:670px){.nav{padding:14px;flex-wrap:wrap}.nav nav{gap:10px;font-size:13px}.intro{align-items:start;flex-direction:column}.hero{padding:24px}.work{padding:18px}}.read-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.read-toolbar .btn{margin:0}.hint{color:#59766a;font-size:13px;margin:7px 0 15px}

/* v0.7.9 – mobile exercises appear without a long intro */
@media (max-width: 670px) {
  .nav { padding: 9px 12px; flex-wrap: nowrap; gap: 8px; }
  .logo { font-size: 13px; white-space: nowrap; }
  .nav nav { font-size: 11px; gap: 8px; }
  .nav nav a:nth-child(2) { display:none; }
  main { padding: 8px 10px 25px; }
  .hero { padding: 9px 12px; border-radius: 11px; }
  .hero .eyebrow, .hero p { display: none; }
  .hero h1 { font: 700 17px/1.2 system-ui,sans-serif; margin: 0; }
  .chooser { flex-direction: row; gap: 7px; flex-wrap: nowrap; margin: 8px 0; }
  .chooser > div { min-width: 0; flex: 1; }
  .chooser label { font-size: 11px; margin-bottom: 3px; }
  .chooser select { width: 100%; min-height: 42px; font-size: 13px; padding: 7px 4px; }
  .intro { padding: 7px 11px; margin: 7px 0; gap: 2px; border-radius: 10px; }
  .intro h2 { font: 700 16px/1.2 system-ui,sans-serif; }
  .intro #moduleTopic, .intro .eyebrow, .intro .stat { display: none; }
  .tabs { position: sticky; top: 0; z-index: 20; display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 6px; background: #f5f7f6; padding: 7px 0; margin: 0; scroll-margin-top: 0; }
  .tabs button { white-space: nowrap; flex: 0 0 auto; font-size: 13px; padding: 10px 12px; }
  .work { padding: 13px; margin: 0; border-radius: 11px; scroll-margin-top: 59px; }
  .work h2 { font-size: 19px; }
  .work h3 { font-size: 17px; }
  .flash { min-height: 160px; padding: 15px; }
  .flash strong { font-size: 26px; overflow-wrap:anywhere; }
  .passage { font-size: 15px; padding: 13px; }
  .btn { min-height: 43px; padding: 10px 12px; }
}

/* v0.8.0: fast mobile practice and long exercise banks */
@media(max-width:670px){.read-toolbar{align-items:stretch}.read-toolbar span{font-size:13px}.read-toolbar .btn{width:100%}.option{font-size:15px;line-height:1.5}.work h2{line-height:1.35;overflow-wrap:anywhere}}

.nga-recommend{margin-top:11px;border-top:1px solid #d9e6df;padding-top:10px}.nga-recommend p{margin:5px 0;font-size:14px}.nga-recommend a{display:inline-block;text-decoration:none;margin:7px 2px}.nga-recommend .nga-inline-btn{font-size:14px}
