*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#f5f7f2;color:#17211b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea,select{font:inherit}.po-app{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:28px 0 40px}.po-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:22px 0;border-bottom:1px solid #d9dfd4}.eyebrow{margin:0 0 8px;color:#5e6b60;font-size:.78rem;font-weight:700;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:780px;margin-bottom:10px;color:#173d2b;font-size:clamp(2rem,4vw,4rem);line-height:1}h2{margin-bottom:0;color:#183329;font-size:1rem}.topbar-copy{max-width:760px;margin-bottom:0;color:#4f5d55;line-height:1.55}.topbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;max-width:520px}.primary-action,.secondary-action{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:800;transition:background .16s ease,border-color .16s ease,transform .16s ease}.primary-action{background:#1f4f3a;color:#fff}.primary-action.alternate{background:#204b68}.secondary-action{background:#fff;color:#1f4f3a;border-color:#cdd7cc}.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}.primary-action:disabled,.secondary-action:disabled{cursor:progress;opacity:.65;transform:none}.status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:18px 0;overflow:hidden;border:1px solid #d9dfd4;border-radius:8px;background:#d9dfd4}.status-strip div{min-width:0;background:#fff;padding:14px}.status-strip span,.flow-line span,.metric span,dt{display:block;color:#647166;font-size:.78rem;font-weight:700;text-transform:uppercase}.status-strip strong,.flow-line strong,.metric strong,dd{color:#17211b;overflow-wrap:anywhere}.error-panel{display:flex;gap:10px;align-items:center;margin-bottom:18px;border:1px solid #e2a59b;border-radius:8px;background:#fff5f2;color:#8f2f20;padding:12px 14px;font-weight:700}.system-grid,.proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.summary-panel,.rules-panel,.proof-panel,.artifact-panel{border:1px solid #d9dfd4;border-radius:8px;background:#fff;padding:18px}.panel-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:#1f4f3a}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric{min-width:0;border:1px solid #e0e6dc;border-radius:8px;padding:12px;background:#f9fbf6}.metric strong{display:block;margin-top:6px;font-size:1.45rem}.flow-line{display:flex;justify-content:space-between;gap:12px;margin-top:14px;border-top:1px solid #e3e8df;padding-top:14px}.rules-list,.proof-steps{display:grid;gap:10px;margin:0;padding:0}.rule-row{border-left:4px solid #c8a24a;padding-left:12px}.rule-row strong{display:block;margin-bottom:4px}.rule-row span,.proof-panel p,.artifact-panel p{color:#506058;line-height:1.5}.proof-steps{list-style:none}.proof-steps li{min-width:0;border:1px solid #e0e6dc;border-radius:8px;padding:12px;background:#fbfcf8}.proof-steps span{display:block;color:#6b756f;font-size:.78rem;font-weight:700}.proof-steps strong{display:block;margin-top:4px;color:#173d2b}.proof-steps p{margin:6px 0 0;overflow-wrap:anywhere}.artifact-panel{margin-top:18px}.artifact-panel dl{display:grid;gap:10px;margin:0}.artifact-panel dl div{min-width:0;border-bottom:1px solid #e3e8df;padding-bottom:10px}.artifact-panel dl div:last-child{border-bottom:0;padding-bottom:0}dd{margin:4px 0 0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem}@media(max-width:920px){.po-topbar,.system-grid,.proof-grid,.status-strip{grid-template-columns:1fr}.topbar-actions{justify-content:stretch}.topbar-actions button{flex:1 1 220px}}@media(max-width:620px){.po-app{width:min(100vw - 20px,1180px);padding-top:16px}.po-topbar{padding-top:8px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-line{display:block}}
