:root{color-scheme:light dark;--paper:#f4f1e8;--card:#fbfaf6;--ink:#1f2320;--muted:#5b5f58;--rule:#c9c5b8;--accent:#7b2a24;--ok:#24452f;--focus:#2d5a8a}
@media (prefers-color-scheme:dark){:root{--paper:#1b1c1a;--card:#232521;--ink:#e8e5dc;--muted:#a9a69c;--rule:#3d3f39;--accent:#d98b7f;--ok:#9fd1ad;--focus:#8fb6e0}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.55 Georgia,"Times New Roman",serif}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.masthead{border-bottom:3px double var(--ink);padding:28px 0 18px;margin-bottom:24px}
.office{font:700 13px/1.2 "Courier New",monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;color:var(--muted)}
h1{font:700 28px/1.2 Georgia,serif;margin:0}
.sub{margin:6px 0 0;color:var(--muted);font-size:15px}
h2{font:700 24px/1.25 Georgia,serif;margin:0 0 8px}
h3{font:700 19px/1.3 Georgia,serif;margin:0 0 10px}
.card{background:var(--card);border:1px solid var(--rule);padding:20px;margin:0 0 20px}
label,legend{display:block;font-weight:700;margin:16px 0 6px}
fieldset{border:0;padding:0;margin:8px 0 0}
input,select,button{font:inherit;color:inherit}
input,select{width:100%;padding:10px 12px;border:1px solid var(--rule);background:var(--paper);border-radius:2px}
input:focus,select:focus,button:focus{outline:2px solid var(--focus);outline-offset:1px}
.row{display:flex;gap:8px}.row input{flex:1}
button{background:var(--ink);color:var(--paper);border:0;padding:10px 18px;cursor:pointer;border-radius:2px;font-weight:700}
button[disabled]{opacity:.6;cursor:wait}
#submit{margin-top:20px}
.msg{min-height:1.4em;margin:8px 0 0;color:var(--accent)}
.note{color:var(--muted);font-size:15px;margin:0 0 6px}
.case-head{margin:0 0 16px}.case-head h2:focus{outline:0}
.caseno{font:700 13px "Courier New",monospace;letter-spacing:.14em;margin:0;color:var(--muted)}
.tabs{display:flex;gap:4px;margin:0 0 -1px}
.tabs button{background:transparent;color:var(--muted);border:1px solid var(--rule);border-bottom:0;font-weight:400}
.tabs button[aria-selected=true]{background:var(--card);color:var(--ink);font-weight:700}
.doc-q{margin:10px 0}.doc-q label{font-weight:400;margin:0 0 4px}
.doc-q input{max-width:160px;text-transform:uppercase;font-family:"Courier New",monospace}
.result{margin-top:18px;padding:14px;border-left:4px solid var(--accent);background:var(--paper)}
.result.ok{border-color:var(--ok)}
.topic{border-top:1px solid var(--rule);padding:12px 0}
.topic h4{margin:0 0 6px;font:700 17px Georgia,serif}
.topic ol{margin:6px 0 0;padding-left:22px}
.topic li{margin:0 0 8px}
.topic .more{background:transparent;color:var(--ink);border:1px solid var(--rule);font-weight:400;padding:6px 12px}
.solution h2{border-bottom:1px solid var(--rule);padding-bottom:6px;margin-top:26px}
.solution h3{margin-top:20px}
.solution table{border-collapse:collapse;width:100%;font-size:15px;display:block;overflow-x:auto}
.solution th,.solution td{border:1px solid var(--rule);padding:6px 8px;text-align:left;vertical-align:top}
.solution pre{background:var(--paper);border:1px solid var(--rule);padding:12px;overflow-x:auto;font:14px/1.45 "Courier New",monospace;white-space:pre}
.foot{color:var(--muted);font-size:14px;border-top:1px solid var(--rule);padding-top:12px;margin-top:30px;margin-bottom:30px}
@media (max-width:520px){body{font-size:16px}h1{font-size:23px}.row{flex-direction:column}.tabs button{flex:1;padding:10px 6px}.solution pre{white-space:pre-wrap;font-size:13px}}
