:root{--navy:#101d3a;--night:#070f22;--gold:#c5a059;--cream:#f9f9f9;--muted:#667085;--line:#e2e7ec;--bad:#9a2d3c;--good:#1c654c;}
*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--navy);background:var(--cream)}body{margin:0;line-height:1.6}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.23;margin:.2em 0 .6em}h1{font-size:clamp(1.9rem,4vw,3rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}p{margin:.4rem 0 .9rem}header{background:var(--night);color:white;padding:1rem max(16px,calc((100vw - 1100px)/2));display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}header a{color:white;text-decoration:none}header .brand{font-family:Georgia,serif;font-size:1.2rem;letter-spacing:.08em}header small{color:#dfc282}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{padding:5px;border-bottom:1px solid transparent}nav a:hover,nav a:focus-visible{border-color:var(--gold)}.wrap{max-width:1120px;padding:25px 20px 70px;margin:auto}.eyebrow{color:#9c7c40;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.panel{padding:clamp(18px,3vw,28px);border:1px solid var(--line);background:white;margin:16px 0;border-radius:5px;box-shadow:0 10px 30px rgba(16,29,58,.035);min-width:0}.hero{padding:clamp(25px,5vw,60px);background:var(--navy);color:white;border-left:5px solid var(--gold)}.hero h1{color:white}.hero p{color:#edf0f4}.hero .eyebrow{color:var(--gold)}button,.btn{display:inline-block;background:var(--navy);color:white;border:1px solid var(--navy);padding:12px 18px;border-radius:3px;cursor:pointer;text-decoration:none;font:inherit;font-weight:600;max-width:100%;white-space:normal;line-height:1.35}button:hover,.btn:hover{background:#182b52}.btn-gold{background:var(--gold);border-color:var(--gold);color:var(--night)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.outline{background:white;color:var(--navy);border:1px solid var(--gold)}label{display:block;font-weight:600;margin:10px 0 4px}input,textarea,select{display:block;width:100%;margin-top:5px;padding:12px;border:1px solid #b8c2d0;background:white;border-radius:3px;color:#15233c;font:inherit;min-width:0}textarea{min-height:90px;resize:vertical}input[type=radio],input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}.choice{display:block;padding:11px;border:1px solid var(--line);font-weight:400;margin:7px 0;border-radius:3px}.callout{padding:13px 16px;background:#f3f5f6;border-left:3px solid var(--gold);margin:14px 0}.warning{border-color:#d39958;background:#fff9ee}.ok{border-color:#8cbd9f;background:#f0faf3}.status{font-size:.83rem;font-weight:700;border:1px solid #b1b9c5;padding:3px 8px;border-radius:15px;display:inline-block}.muted,.small{color:var(--muted)}.small{font-size:.85rem}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:13px 0}.lesson{max-width:850px;margin:auto}.lesson h2{margin-top:1.9rem}.lesson h3{margin-top:1.4rem}.lesson table{display:block;overflow:auto;max-width:100%;border-collapse:collapse}.lesson th,.lesson td{border:1px solid var(--line);padding:7px 10px}.lesson a{color:#88662f}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.scroll{overflow-x:auto;max-width:100%}.rules li{margin:10px 0}.actor{padding:16px;border:1px solid var(--line);border-radius:5px;margin:12px 0;background:#fbfcfd}.actor h3{font:700 1rem Inter,system-ui,sans-serif}.tag{background:#e9edee;border-radius:4px;padding:3px 7px;font-size:.75rem}.footer{background:#101d3a;color:white;text-align:center;padding:20px}.footer a{color:#dfc282}.progress{color:var(--good);font-weight:700}.article p{max-width:75ch}#save-status{font-size:.85rem;color:#3b6851}@media(max-width:760px){header{padding:14px 17px}nav{width:100%}.grid,.cols3{grid-template-columns:1fr}.wrap{padding:16px 13px 55px}.panel{padding:17px}.actions>button,.actions>.btn{flex:1 1 175px}.hero{padding:26px 21px}h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* v0.2 QA refinements */
.diag-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e2e7ec;padding:10px 0}.diag-row span{overflow-wrap:anywhere}.diag-pass{color:#1c654c}.diag-fail{color:#9a2d3c}.choice{display:flex;gap:6px;align-items:flex-start}.choice input{flex:0 0 auto;margin-top:6px}.choice:focus-within{outline:2px solid #c5a059}.actor{overflow-wrap:anywhere}header nav button{min-height:44px}nav a{display:inline-flex;align-items:center;min-height:44px}.panel{overflow-wrap:anywhere}@media(max-width:380px){header .brand small{display:block;font-size:.7rem}.choice{line-height:1.45}.hero h1{font-size:clamp(1.5rem,8vw,2rem)}}
