#root{min-height:100vh}.shell{background-color:#f3f0e8;background-image:linear-gradient(90deg,#18201d0f 1px,#0000 1px),linear-gradient(#18201d0f 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100vh;padding:28px}.topbar{border-bottom:2px solid #1d2a25;justify-content:space-between;align-items:flex-end;gap:20px;max-width:1480px;margin:0 auto 22px;padding-bottom:18px;display:flex}.eyebrow{color:#5f6c64;letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:800}h1,h2,p{margin:0}h1{color:#101815;font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,5vw,72px);font-weight:700;line-height:.95}h2{color:#13201b;text-transform:uppercase;font-size:18px;font-weight:900}.metrics,.workspace{max-width:1480px;margin:0 auto}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric{background:#e6ddc9;border:2px solid #1d2a25;min-height:92px;padding:16px;box-shadow:5px 5px #1d2a25}.metric span{color:#647268;text-transform:uppercase;font-size:12px;font-weight:900;display:block}.metric strong{color:#121a17;margin-top:8px;font-size:32px;line-height:1;display:block}.workspace{grid-template-columns:minmax(340px,.9fr) minmax(360px,1fr) minmax(360px,1.1fr);align-items:start;gap:16px;display:grid}.panel{background:#fffcf4eb;border:2px solid #1d2a25;min-width:0;box-shadow:7px 7px #1d2a25}.composer{padding:16px}.panelHeader{border-bottom:2px solid #1d2a25;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.composer .panelHeader{border-bottom:0;padding:0 0 14px}.panelHeader span{color:#68746c;text-transform:uppercase;font-size:12px;font-weight:900}.segmented{border:2px solid #1d2a25;grid-template-columns:1fr 1fr;display:grid}.segmented button{color:#1d2a25;background:#fffaf0;border:0;min-width:82px;padding:8px 10px;font-weight:900}.segmented button+button{border-left:2px solid #1d2a25}.segmented .active{background:#d2ef62}.quickGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 16px;display:grid}.scenario{color:#1d2a25;text-align:left;background:#fffaf0;border:2px solid #1d2a25;min-height:78px;padding:12px}.scenario:hover,.button:hover{transform:translate(-2px,-2px);box-shadow:4px 4px #1d2a25}.scenario span{font-size:18px;font-weight:900;display:block}code,pre{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.scenario code,.result code,.rowMeta code{color:#5d6b62;overflow-wrap:anywhere;margin-top:6px;font-size:12px;display:block}.field{gap:6px;margin-bottom:12px;display:grid}.field span{color:#4f5b54;text-transform:uppercase;font-size:12px;font-weight:900}.fieldHelp{color:#7a3e3e;margin-top:2px;font-size:11px;font-weight:700;line-height:1.4}select,input,textarea{color:#16201c;background:#fffaf0;border:2px solid #1d2a25;width:100%}select,input{height:42px;padding:0 10px}textarea{resize:vertical;min-height:188px;padding:12px;line-height:1.45}.button{color:#16201c;background:#fffaf0;border:2px solid #1d2a25;min-height:42px;font-weight:900}.button.primary{background:#f26f4b;width:100%}.button.ghost{background:#fffaf0;padding:0 16px}.button:disabled,.scenario:disabled{cursor:not-allowed;opacity:.55}.result{background:#eee6d7;border:2px dashed #7c877f;margin-top:14px;padding:12px}.result span{color:#59665e;text-transform:uppercase;font-size:12px;font-weight:900}.timeline{max-height:680px;display:grid;overflow:auto}.row{border-bottom:1px solid #1d2a2533;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 16px;display:grid}.row strong{color:#15201c;font-size:16px}.row p{color:#4e5b53;margin-top:4px;font-size:14px;line-height:1.35}.rowMeta{text-align:right}.rowMeta span{color:#1d2a25;text-transform:uppercase;background:#d2ef62;border:1px solid #1d2a25;padding:3px 8px;font-size:11px;font-weight:900;display:inline-block}.checkpointRow pre{color:#39463f;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;margin:8px 0 0;font-size:12px}time{color:#6a766e;font-size:12px;font-weight:800}.heroBanner{background:#d2ef62;border:2px solid #1d2a25;max-width:1480px;margin:0 auto 22px;padding:24px;box-shadow:6px 6px #1d2a25}.heroBanner p{color:#1d2a25;font-size:16px;font-weight:800;line-height:1.5}.heroBanner code{background:#fffcf499;border:1px solid #1d2a25;border-radius:2px;padding:2px 6px;font-size:14px}.rulesList{gap:12px;max-height:680px;padding:16px;display:grid;overflow:auto}.ruleRow{background:#fffaf0;border:2px solid #1d2a25;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:4px 4px #1d2a25}.ruleRowHeader{justify-content:space-between;align-items:center;display:flex}.ruleRowHeader strong{color:#1d2a25;word-break:break-all;font-size:15px}.ruleFormula{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.formulaPart{border:1px solid #1d2a25;border-radius:2px;padding:4px 8px}.formulaPart.when{background:#eee6d7}.formulaPart.then{color:#fff;background:#f26f4b}.progressTracker{margin-top:12px;font-size:12px}.progressTrackerHeader{color:#4e5b53;justify-content:space-between;margin-bottom:4px;font-weight:800;display:flex}.progressBarContainer{background:#fffaf0;border:2px solid #1d2a25;height:12px}.progressBar{background:#f26f4b;height:100%;transition:width .3s}.progressBar.completed{background:#d2ef62}.workspaceColumn{flex-direction:column;gap:16px;display:flex}@media (width<=1120px){.workspace{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.shell{padding:16px}.topbar{flex-direction:column;align-items:stretch}.metrics,.quickGrid,.row{grid-template-columns:1fr}.rowMeta{text-align:left}}:root{color:#18201d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f0e8;font-family:IBM Plex Sans Condensed,Aptos Narrow,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}
