:root{--ink:#0d0f0c;--paper:#eef0eb;--line:#2d312b;--muted:#656b61;--green:#b7f52a;--red:#ff553d;--blue:#3c7cff;--yellow:#f6dd3f;--header:58px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Arial Narrow","Helvetica Neue",Arial,sans-serif;letter-spacing:0;overflow-x:hidden}button,input,textarea{font:inherit;letter-spacing:0}[hidden]{display:none!important}.site-header{height:var(--header);position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--ink);color:#fff;border-bottom:1px solid #000}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.breaker{width:22px;height:10px;background:linear-gradient(90deg,var(--green) 0 45%,transparent 45% 55%,var(--red) 55%)}#runtime{font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#c7cac2;white-space:nowrap}.workbench{min-height:calc(100vh - var(--header));display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);border-bottom:2px solid var(--ink)}.control-panel,.result-panel{min-width:0;padding:23px 28px}.control-panel{display:flex;flex-direction:column;gap:13px;border-right:2px solid var(--ink)}.result-panel{display:flex;background:var(--ink);color:#fff}.eyebrow{margin:0 0 7px;color:var(--red);font:800 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.control-panel h1{max-width:16ch;margin:0;font-size:clamp(2.4rem,4.6vw,4.6rem);line-height:.91;letter-spacing:0}.intro{max-width:55ch;margin:9px 0 0;color:#484d46;font-size:13px;line-height:1.45}.primary-actions,.utilities,.result-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.button,.file-button,.text-button,.icon-button{min-height:44px;border:1px solid var(--ink);border-radius:2px;padding:0 15px;font-weight:800;white-space:nowrap;cursor:pointer}.button.primary{background:var(--green);color:var(--ink);border-color:var(--green)}.button.secondary,.file-button{background:transparent;color:var(--ink)}.button.dark{background:transparent;color:#fff;border-color:#6c7168}.button:disabled{opacity:.45;cursor:not-allowed}.button:hover:not(:disabled),.file-button:hover,.text-button:hover,.icon-button:hover{transform:translateY(-1px)}.button:focus-visible,.file-button:focus-within,.text-button:focus-visible,.icon-button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.error{border:1px solid #a62b1a;background:#ffe0da;color:#721c0f;padding:10px 12px;font:700 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.policy-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.policy-grid label{min-width:0;padding:7px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font:700 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.policy-grid input{display:block;width:100%;height:34px;margin-top:5px;border:0;border-top:1px solid #b7bcb2;background:#fff;color:var(--ink);padding:0 5px;font-size:15px;font-weight:800}.csv-label{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:800}.csv-label span{color:var(--muted);font:600 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}textarea{display:block;width:100%;min-height:157px;resize:vertical;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);padding:11px;font:500 10px/1.43 ui-monospace,SFMono-Regular,Menlo,monospace}.file-button{display:inline-flex;align-items:center;font-size:11px}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.text-button{min-height:34px;padding:0 3px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:10px}.empty-state,.result-content{width:100%;align-self:center}.empty-state{max-width:720px;padding:20px}.empty-state h2{max-width:14ch;margin:0;font-size:clamp(2.6rem,5.5vw,5.4rem);line-height:.92;letter-spacing:0}.empty-state>p:not(.eyebrow){max-width:54ch;color:#bdc2b8;font-size:14px;line-height:1.5}.order{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:30px;border-top:1px solid #4c5148;border-left:1px solid #4c5148}.order span{padding:14px 8px;border-right:1px solid #4c5148;border-bottom:1px solid #4c5148;color:#aeb3a9;font:700 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.result-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.result-top h2{max-width:18ch;margin:0;font-size:clamp(2.2rem,4.2vw,4.7rem);line-height:.9;letter-spacing:0}.icon-button{width:44px;padding:0;background:transparent;border-color:#63685f;color:#fff;font-size:20px}.detail{max-width:70ch;margin:11px 0 15px;color:#c4c9bf;font-size:12px;line-height:1.45}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #51564d;border-left:1px solid #51564d}.metrics>div{min-width:0;padding:10px;border-right:1px solid #51564d;border-bottom:1px solid #51564d}.metrics span,.reason-strip span{display:block;margin-bottom:5px;color:#8f958a;font:700 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.metrics strong{display:block;font-size:clamp(1rem,2vw,1.5rem);white-space:nowrap}.chart-wrap{margin-top:10px;border:1px solid #51564d;background:#141713;overflow:hidden}#bucket-chart{display:block;width:100%;aspect-ratio:920/160;min-height:112px}.capacity-line{stroke:#596057;stroke-dasharray:4 4}.bucket-line{fill:none;stroke:var(--blue);stroke-width:4}.event-dot.admit{fill:var(--green);stroke:var(--ink);stroke-width:2}.event-dot.deny{fill:var(--red);stroke:var(--ink);stroke-width:2}.axis path,.axis line{stroke:#666c62}.axis text{fill:#aeb3a9;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.reason-strip{display:grid;grid-template-columns:85px minmax(0,1fr);gap:10px;padding:10px 0;border-bottom:1px solid #51564d}.reason-strip strong{color:var(--red);font:800 12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}.why{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:12px 0;color:#c2c7bd;font-size:11px;line-height:1.45}.why strong{color:#fff}.result-actions{padding-top:2px}#export-status{color:#aeb3a9;font:600 9px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.ledger-section{display:grid;grid-template-columns:minmax(230px,1fr) minmax(0,2.7fr);gap:34px;padding:48px 28px 58px;border-bottom:2px solid var(--ink)}.ledger-intro h2{margin:0;font-size:clamp(2rem,3.7vw,3.8rem);line-height:.94}.ledger-intro>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.5}.event-ledger:empty:before{content:"Replay a batch to populate the admission ledger.";display:block;padding:16px 0;border-top:1px solid var(--ink);color:var(--muted);font-size:12px}.event-row{display:grid;grid-template-columns:70px 90px 105px 115px minmax(180px,1fr);border-top:1px solid var(--ink);align-items:stretch}.event-row>*{min-width:0;padding:10px 8px;border-right:1px solid #c7cbc2;font-size:11px;line-height:1.35}.event-row>*:last-child{border-right:0}.event-row small{display:block;margin-bottom:4px;color:var(--muted);font:700 8px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase}.event-row>strong{border-left:6px solid var(--green)}.event-row.deny>strong{border-left-color:var(--red)}.event-row .decision{font-weight:700}.event-row.admit .decision small{color:#467000}.event-row.deny .decision small{color:#a62514}.limits{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;padding:23px 28px;background:var(--yellow);font-size:12px;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){:root{--header:64px}.site-header{padding:0 16px}#runtime{font-size:7px}.workbench{grid-template-columns:minmax(0,1fr)}.control-panel,.result-panel{padding:20px 16px}.control-panel{border-right:0;border-bottom:2px solid var(--ink)}.control-panel h1{max-width:100%;font-size:2.45rem}.policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-grid label:last-child{grid-column:1/-1}.result-panel{min-height:780px}.result-content,.empty-state{align-self:flex-start;padding-top:2px}.result-top h2{max-width:100%;font-size:2.4rem}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics strong{font-size:1rem;white-space:normal;overflow-wrap:anywhere}.ledger-section{grid-template-columns:minmax(0,1fr);padding:36px 16px}.event-row{grid-template-columns:60px minmax(0,1fr) minmax(0,1fr)}.event-row .decision{grid-column:1/-1;border-top:1px solid #c7cbc2;border-right:0}.event-row span:nth-of-type(3){grid-column:2/-1}.limits{grid-template-columns:minmax(0,1fr);padding:22px 16px}}@media(max-width:520px){.brand{max-width:205px;overflow:hidden;text-overflow:ellipsis}#runtime{display:none}.primary-actions .button{flex:1 1 150px}.order{grid-template-columns:repeat(2,minmax(0,1fr))}.reason-strip,.why{grid-template-columns:minmax(0,1fr)}textarea{min-height:174px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
