:root{color-scheme:light dark;--bg:#f6f7f5;--fg:#182c29;--card:white;--line:#697b75;--accent:#0e6253}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,sans-serif}header,main{max-width:880px;margin:auto;padding:20px}header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}nav{display:flex;flex-wrap:wrap;gap:8px}h1{font-size:clamp(1.7rem,5vw,2.5rem);line-height:1.2}section{padding:20px;background:var(--card);border:1px solid var(--line);border-radius:14px;margin-block:20px}label{display:block;margin-block:16px}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-height:48px;padding:10px;border:1px solid var(--line);background:var(--card);border-radius:6px;margin-top:6px}textarea{resize:vertical}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}a{color:var(--accent);display:inline-flex;align-items:center;min-height:44px;min-width:44px;overflow-wrap:anywhere}button{min-width:44px;min-height:48px;padding:10px 18px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:white;cursor:pointer}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-block:18px}.check{display:flex;align-items:center;gap:12px;min-height:48px}input[type=checkbox]{width:26px;height:26px;flex:none}.badge{display:inline-block;border:1px solid var(--line);padding:6px 12px;border-radius:24px}pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b57916;outline-offset:3px}[hidden]{display:none!important}@media(prefers-color-scheme:dark){:root{--bg:#11201e;--fg:#edf5f2;--card:#1c302b;--line:#a0b6ae;--accent:#9ddbc7}button{background:#9ddbc7;color:#11201e}}@media(max-width:480px){header,main{padding:16px}section{padding:14px}button{width:100%}}@media print{header,button,nav,.actions,input[type=file]{display:none}section{border:0}body{background:white;color:black}}

/* Preparation disclosures remain keyboard accessible and have a 44px target. */
summary{min-width:44px;min-height:44px;padding-block:8px;overflow-wrap:anywhere;cursor:pointer}summary:focus-visible{outline:3px solid #b57916;outline-offset:3px}
