@charset "UTF-8";
:root{color-scheme:light;--paper:#f3f1eb;--ink:#24272b;--muted:#5d6268;--line:#c8c8c2;--accent:#a13e12;--soft:#f8e5d8;--bad:#a53822;font:16px/1.55 system-ui,sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0}main,header,footer{width:min(1120px,calc(100% - 40px));margin:auto}header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}a{color:var(--accent);text-underline-offset:4px}header a{font-weight:650}.kicker{font:12px ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}h1{font-size:clamp(34px,6vw,62px);line-height:1.08;letter-spacing:-.055em;margin:12px 0 18px}h2{font-size:22px;line-height:1.2;margin:0 0 16px}h3{font-size:17px;margin:0 0 8px}p{margin:0 0 16px}.intro{max-width:780px;padding:42px 0 26px}.muted,small{color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel{background:white;border:1px solid var(--line);padding:24px;border-radius:14px;min-width:0}.wide{margin-top:22px}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}label{display:block;font-weight:650;font-size:14px;margin-bottom:12px}label small{display:block;font-weight:400}input,select,textarea,button{font:inherit;border:1px solid var(--line);border-radius:7px;padding:10px 12px;color:var(--ink);max-width:100%}input,select,textarea{background:#fffdf8;width:100%;margin-top:6px}input[type=number]{max-width:120px}textarea{resize:vertical;min-height:170px;font:13px/1.55 ui-monospace,SFMono-Regular,monospace;tab-size:2}button{cursor:pointer;background:var(--accent);color:white;font-weight:650;min-height:44px}button.secondary{background:white;color:var(--accent)}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){filter:brightness(.92)}:focus-visible{outline:3px solid #c15b21;outline-offset:3px}.metrics{display:flex;flex-wrap:wrap;gap:14px;margin:18px 0}.metric{background:var(--soft);padding:14px 18px;border-radius:9px;min-width:110px}.metric strong{display:block;font-size:28px;line-height:1.15}.metric span{font-size:12px;color:var(--muted)}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted)}td{overflow-wrap:anywhere}.pass{color:var(--accent);font-weight:650}.fail{color:var(--bad);font-weight:650}.status{min-height:26px;margin:16px 0;font-weight:650}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.6 ui-monospace,monospace;padding:16px;background:var(--soft);border-radius:8px;margin:0}details{margin-top:18px}summary{cursor:pointer;min-height:36px;font-weight:650}.note{border-left:3px solid var(--accent);padding-left:16px;margin:20px 0;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:32px;padding:20px 0 32px;font-size:13px;color:var(--muted)}.skip{position:absolute;top:-70px;background:white;padding:12px}.skip:focus{top:4px}.tag{font:11px ui-monospace,monospace;color:var(--accent)}@media(max-width:700px){.grid{grid-template-columns:1fr}main,header,footer{width:calc(100% - 28px)}.intro{padding:30px 0 18px}.panel{padding:18px}header{padding:18px 0}.metrics{gap:8px}.metric{padding:10px 13px;min-width:90px}th,td{padding:10px 7px}h1{font-size:42px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.scroll table{min-width:600px}


/* Batchline — industrial scheduling instrument */
header{border-top:5px solid var(--accent);border-bottom:2px solid var(--ink)}h1{font-family:ui-monospace,SFMono-Regular,monospace;letter-spacing:-.065em}h2,.metric strong{font-family:ui-monospace,monospace}.panel{border-radius:2px;box-shadow:4px 4px 0 #dedbd3}.panel h2{border-bottom:1px dashed var(--line);padding-bottom:14px}.metric{border-radius:0;border-top:3px solid var(--accent)}button,input,select,textarea{border-radius:2px}.tag,.kicker{letter-spacing:.14em}body{background-image:linear-gradient(90deg,#24272b06 1px,transparent 1px);background-size:32px 32px}
