:root{--ink:#222225;--muted:#64636a;--paper:#fcfbf8;--line:#d4d0c7;--orange:#b84b2d;--peach:#f3cfb3;--lilac:#dfd4f0;--mint:#d5e8d6;--allow:#28623a;--deny:#aa382c;--ask:#74580e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer;min-height:36px;border:1px solid #c9c6be;background:#fffdf9;padding:7px 13px;border-radius:5px;font-size:12px}button:hover{border-color:#55514a;background:#f0ece4}button:disabled{opacity:.45;cursor:not-allowed}.solid{background:var(--ink);color:white;border-color:var(--ink)}.solid:hover{background:#424047;color:white}:focus-visible{outline:3px solid #8b48b1;outline-offset:3px}select,input,textarea{border:1px solid #b9b6ae;background:white;border-radius:4px;padding:9px 11px;max-width:100%}select{font-size:12px}textarea{font:12px/1.7 ui-monospace,monospace;resize:vertical}.skip{position:fixed;top:-100px;left:15px;padding:10px;background:white;z-index:10}.skip:focus{top:10px}.mast{height:75px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4%;gap:25px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:22px;font-weight:650;letter-spacing:-.8px}.brand span{font-size:10px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:8px}.mast nav{display:flex;gap:28px}.mast nav a{font-size:11px;text-decoration:none;padding:8px 0}.mast nav a[aria-current]{text-decoration:underline}.intro{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:45px 4% 35px;max-width:1600px;margin:auto}.eyebrow{font:9px/1.5 ui-monospace,monospace;letter-spacing:1.3px}.intro h1{font:43px/1.04 Georgia,serif;letter-spacing:-1px;margin:13px 0 0;font-weight:400}.intro>p{font-size:14px;max-width:400px;color:var(--muted);margin:10px 0 0}.intro-note{font:10px/1.8 ui-monospace,monospace;border-left:1px solid var(--line);padding-left:25px;min-width:215px}.intro-note>*{display:block}.intro-note b{font-weight:500}.intro-note span{margin-top:10px;color:var(--muted)}.workshop{max-width:1480px;margin:0 auto;border:1px solid var(--line);border-radius:8px;overflow:hidden}.toolbar{padding:13px 25px;display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);background:#f0eee8}.toolbar label{display:flex;align-items:center;gap:11px;font:9px/1.6 ui-monospace,monospace;margin-right:auto}.toolbar select{max-width:280px}.toolbar button{font-size:11px}.toolbar #change-count{margin-left:5px;background:#e4ded3;border-radius:4px;padding:2px 6px}.case-head{display:flex;justify-content:space-between;align-items:center;padding:25px 30px 12px}.case-head h2{font-size:19px;font-weight:500;margin:5px 0 0;letter-spacing:-.5px}.case-actions{display:flex;gap:8px}.case-actions button{border:0;text-decoration:underline;text-underline-offset:4px;background:transparent;font-size:11px}.case-strip{display:flex;gap:9px;padding:0 30px 21px;overflow-x:auto;scrollbar-width:thin}.case-chip{white-space:nowrap;display:flex;align-items:center;gap:12px;flex-shrink:0;min-height:40px;background:white;border-radius:22px;font-size:11px}.case-chip[aria-pressed=true]{border:1px solid #29262c;box-shadow:0 0 0 1px #29262c}.badge{font:10px/1.4 ui-monospace,monospace;border-radius:3px;padding:3px 7px;display:inline-block}.badge.allow{color:#1a512c;background:#deeddf}.badge.deny{color:#8b251c;background:#f8dbd5}.badge.ask{color:#604609;background:#f2e5bb}.assertion-mark{font:11px/1 ui-monospace,monospace}.request-bar{display:flex;gap:18px;align-items:center;padding:14px 30px;border-block:1px solid var(--line);background:white}.small-label{font:8px/1.4 ui-monospace,monospace;max-width:72px;letter-spacing:.6px;color:var(--muted)}.request-bar code{font:13px/1.5 ui-monospace,monospace;max-width:180px;overflow-wrap:anywhere}.request-bar label{display:flex;gap:10px;align-items:center;font:8px/1.5 ui-monospace,monospace;letter-spacing:.4px}.request-bar label[for=resource]{flex:1;min-width:0}.request-bar #resource{width:100%;max-width:450px;min-width:100px;text-overflow:ellipsis}.request-bar #layers{margin-left:auto;font-size:10px;flex-shrink:0}.coverage{margin:0;padding:10px 30px;font-size:10px;line-height:1.7;color:var(--muted);background:#f7f5f0;border-bottom:1px solid var(--line)}.flow{padding:24px 30px 26px;background-color:#f8f5ee;background-image:radial-gradient(#d6d0c6 .65px,transparent .65px);background-size:13px 13px}.feed{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:10px;min-height:30px}.feed-dot{width:9px;height:9px;border:2px solid #d86a41;border-radius:50%;box-shadow:0 0 0 6px #f8e4d4}.feed strong{font:11px/1.5 ui-monospace,monospace;overflow-wrap:anywhere;max-width:70%}.feed>span:last-child{color:var(--muted)}.lane{margin-bottom:16px;position:relative}.lane-head{display:flex;gap:20px;align-items:center;margin:0 0 9px}.lane-head h3{font:10px/1.5 ui-monospace,monospace;margin:0;min-width:185px}.lane-head h3 span{font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin-left:15px;font-weight:500}.lane-head p{margin:0;font-size:10px;color:var(--muted)}.lane-head button{margin-left:auto;background:#faf8f1;border-style:dashed;font-size:10px;min-height:30px;padding:4px 10px}.tape{display:flex;align-items:stretch;gap:22px;overflow-x:auto;margin:0;padding:13px 3px 14px;list-style:none;scrollbar-width:thin;position:relative}.tape::before{content:'';position:absolute;left:0;right:0;top:50%;border-top:1px dashed #b9aa97;pointer-events:none}.rule-ticket{flex:0 0 246px;background:#fffdf8;border:1px solid #d0c6b5;border-radius:3px;position:relative;box-shadow:0 3px 0 #e4ded2}.rule-ticket::after{content:'›';position:absolute;right:-16px;top:43%;font:20px/1 Georgia,serif;color:#8e8170}.rule-ticket:last-child::after{display:none}.rule-ticket.hit{background:#f8ecd2;border-color:#b9a36b}.rule-ticket.winner{background:#f7d2b7;border-color:#9b5c36;box-shadow:0 3px 0 #dbb08f}.ticket-top{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px dashed #c5bba9}.ticket-top>span:first-child{font:8px/1.4 ui-monospace,monospace;letter-spacing:.6px}.ticket-body{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:0;padding:12px;min-height:107px}.ticket-body:hover{background:#ffffff55}.ticket-body code{font:12px/1.5 ui-monospace,monospace;display:block;overflow-wrap:anywhere;white-space:pre-wrap;max-height:74px;overflow:auto}.tiny{display:block;font:9px/1.5 ui-monospace,monospace;letter-spacing:.7px;color:#51483f}.ticket-body code+.tiny{margin-top:10px}.ticket-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed #c5bba9;padding:5px 7px 5px 12px;font:8px/1.5 ui-monospace,monospace}.ticket-bottom>div{display:flex;gap:3px}.ticket-bottom button{min-height:27px;min-width:29px;padding:2px 7px;background:#ffffff77;border:1px solid #bdb09b;font-size:13px}.empty-tape{padding:14px 20px;width:100%;min-height:47px;position:relative;border:1px dashed #bbb4a7;background:#f5f2eb;font:11px/1.6 ui-monospace,monospace}.session-lane .rule-ticket{background:#ebe3f2}.session-lane .rule-ticket.winner{background:#d6c3e9;border-color:#89709c}.saved-lane .rule-ticket{background:#e3eee1}.saved-lane .rule-ticket.winner{background:#c4e0c4;border-color:#5b825e}.lane[data-skipped=true] .tape{opacity:.6}.checkpoint{display:flex;gap:15px;align-items:center;border-block:1px solid #c8c1b5;padding:12px 0;margin:15px 0 19px}.checkpoint-mark{font:28px/1 ui-monospace,monospace;color:#7b6c55}.checkpoint p{margin:0;font-size:11px;max-width:900px}.checkpoint button{margin-left:auto;flex-shrink:0;font-size:10px;background:#f9f7f0}.verdict{display:flex;align-items:center;gap:35px;background:#fffdf9;border:1px solid #a9a095;padding:23px 28px;border-radius:2px;margin-top:23px;box-shadow:4px 4px 0 #ded7ca}.verdict>div:first-child{min-width:225px}.verdict strong{display:block;font:47px/1.2 Georgia,serif;margin-top:5px}.verdict strong[data-effect=allow]{color:var(--allow)}.verdict strong[data-effect=deny]{color:var(--deny)}.verdict strong[data-effect=ask]{color:var(--ask)}.verdict>p{font-size:12px;max-width:430px;color:var(--muted)}.runtime{margin-left:auto;border-left:1px solid var(--line);padding-left:27px;flex-shrink:0}.runtime>*{display:block}.runtime>span{font:8px/1.5 ui-monospace,monospace;letter-spacing:.7px}.runtime b{font-size:16px;margin:5px 0;font-weight:500}.runtime a{font-size:10px}.run-status{padding:13px 30px;display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);background:#f1eee7}.run-status p{margin:0;flex:1;font-size:11px;color:var(--muted)}.run-status button{font-size:10px;flex-shrink:0}.reading-line{padding:35px 4%;display:flex;justify-content:space-between;align-items:center;gap:30px;max-width:1560px;margin:auto}.reading-line>span{font:8px/1.6 ui-monospace,monospace;letter-spacing:1px;max-width:130px;color:var(--muted)}.reading-line a{font:18px/1.5 Georgia,serif;text-decoration:none;border-bottom:1px solid var(--line);padding:7px 0}.reading-line b{font:15px/1 sans-serif;margin-left:25px}.foot{background:#252429;color:#eeede7;padding:28px 4%;display:flex;justify-content:space-between;align-items:center;gap:40px;font-size:10px}.foot nav{display:flex;flex-wrap:wrap;gap:10px 22px}.foot a{padding:8px 0}.nojs{padding:18px 4%;border-block:1px solid #ab8d51;background:#fff2d2}dialog{width:min(620px,calc(100vw - 28px));max-height:90vh;overflow:auto;border:1px solid #a49b8b;border-radius:8px;background:#fcfbf8;color:var(--ink);padding:26px;box-shadow:9px 9px 0 #17151c44}dialog::backdrop{background:#17151c77}.wide-dialog{width:min(1000px,calc(100vw - 28px))}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.dialog-head h2{font:28px/1.2 Georgia,serif;margin:0;font-weight:400}.dialog-head button{font-size:20px;padding:0 10px;min-width:36px}dialog p{font-size:12px;line-height:1.8}dialog label{display:block;font-size:12px;margin:16px 0 6px}dialog input:not([type=checkbox]),dialog select,dialog textarea{width:100%;font-size:12px}dialog input[type=file]{border-style:dashed;background:#f1eee7}dialog .check{display:flex;gap:12px;align-items:flex-start;line-height:1.7;margin-top:22px}dialog .check input{width:18px;height:18px;flex-shrink:0;margin:1px 0 0}.dialog-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:24px}.error{color:#9a251e;white-space:pre-wrap}dialog code{font-size:11px;overflow-wrap:anywhere}dialog pre{font:11px/1.7 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#eeeae2;padding:20px;max-height:400px;overflow:auto}.review-case{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}.review-case>strong{min-width:180px;max-width:35%;overflow-wrap:anywhere;font-size:12px;font-weight:500}.review-case>b{margin-left:auto;font-weight:500}.trace-list{padding-left:25px}.trace-list li{font-size:11px;border-bottom:1px solid var(--line);padding:10px}.trace-list li.matched{background:#f5e2c9}.trace-list li>*{display:block}.trace-list li b{font:10px/1.5 ui-monospace,monospace}.trace-list li code{white-space:pre-wrap;margin:6px 0}.trace-list li span{color:var(--muted)}dialog h3{font:15px/1.6 ui-monospace,monospace;overflow-wrap:anywhere}.note-page{max-width:1050px;margin:60px auto 70px;padding:0 35px}.note-top{display:flex;justify-content:space-between;gap:30px;font:9px/1.5 ui-monospace,monospace;letter-spacing:1px;border-block:1px solid var(--line);padding:12px 0;margin-bottom:30px}.note-page h1{font:50px/1.1 Georgia,serif;font-weight:400;letter-spacing:-1.5px;max-width:900px;margin:25px 0}.note-page .lede{font-size:20px;line-height:1.65;max-width:800px;color:#5b585f;margin-bottom:35px}.note-body{max-width:760px;margin-left:125px;border-left:1px solid var(--line);padding-left:38px}.note-body h2{font:27px/1.3 Georgia,serif;font-weight:400;margin-top:37px}.note-body p,.note-body li{font-size:15px;line-height:1.9}.note-body li{padding:4px 0}.note-body ul,.note-body ol{padding-left:23px}.note-body pre{padding:20px;background:#eee8df;border-top:2px solid #bc8154;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 ui-monospace,monospace}.note-body code{font:12px/1.6 ui-monospace,monospace;background:#f0ece5;padding:2px 4px;overflow-wrap:anywhere}.note-body pre code{background:none;padding:0}.note-body .source{font-size:11px;color:var(--muted)}.note-body .aside{background:#f1e5d2;padding:16px 23px;font-size:14px}.note-next{display:flex;gap:30px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.note-next a{font-size:12px;padding:8px 0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 12px;vertical-align:top}th{font-weight:500}[hidden]{display:none!important}@media(max-width:1100px){.intro{gap:30px}.intro-note{display:none}.workshop{margin:0 20px}.toolbar{flex-wrap:wrap;padding:12px 18px}.toolbar label{flex-basis:100%;margin-bottom:5px}.request-bar{flex-wrap:wrap;gap:12px;padding:13px 20px}.request-bar label[for=resource]{min-width:45%}.flow{padding:20px}.case-head{padding-inline:20px}.case-strip{padding-inline:20px}.coverage{padding-inline:20px}.verdict{gap:25px;padding:20px}.verdict>div:first-child{min-width:180px}.runtime{padding-left:20px}.runtime a{max-width:160px}.reading-line{gap:20px}.reading-line a{font-size:16px}}@media(max-width:700px){.mast{height:auto;min-height:73px;padding:17px 18px;flex-wrap:wrap;gap:13px}.brand{font-size:21px}.brand span{font-size:9px}.mast nav{gap:22px;width:100%}.mast nav a{font-size:10px;padding:7px 0}.intro{padding:29px 20px 25px;display:block}.intro h1{font-size:37px;line-height:1.1}.intro>p{font-size:13px;line-height:1.8;margin-top:20px;max-width:500px}.eyebrow{font-size:8px}.workshop{margin:0 10px;border-radius:5px}.toolbar{gap:7px;padding:12px}.toolbar label{display:block;font-size:8px}.toolbar select{display:block;width:100%;max-width:none;margin-top:6px}.toolbar button{font-size:10px;padding:7px 10px;min-height:35px}.case-head{display:block;padding:20px 16px 10px}.case-head h2{font-size:18px}.case-actions{margin-top:10px}.case-actions button{padding:5px 10px 5px 0}.case-strip{padding:0 16px 16px}.case-chip{font-size:10px;gap:8px;padding:8px 11px}.request-bar{padding:12px 16px;gap:12px}.request-bar label[for=resource]{order:4;flex-basis:100%;display:block}.request-bar #resource{display:block;width:100%;margin-top:5px}.request-bar label[for=platform]{margin-left:auto;font-size:7px;gap:5px}.request-bar #platform{max-width:92px;padding:7px}.request-bar #layers{order:5;margin:0;padding:5px 9px;min-height:30px}.small-label{font-size:7px;max-width:60px}.request-bar code{font-size:12px;max-width:110px}.coverage{padding:11px 16px;font-size:10px}.flow{padding:20px 13px}.feed{flex-wrap:wrap;gap:7px;font-size:9px;margin-bottom:20px}.feed strong{max-width:90%;font-size:10px}.feed>span:last-child{margin-left:21px}.lane-head{gap:8px;flex-wrap:wrap}.lane-head h3{min-width:0;font-size:9px}.lane-head h3 span{font-size:13px;margin-left:7px}.lane-head p{order:3;flex-basis:100%;font-size:9px;margin-left:23px}.lane-head button{font-size:9px;min-height:30px}.rule-ticket{flex-basis:230px}.tape{gap:20px}.ticket-body code{font-size:12px}.ticket-bottom button{min-width:33px;min-height:31px}.empty-tape{font-size:10px}.checkpoint{gap:9px;flex-wrap:wrap;padding:12px 0}.checkpoint p{flex:1;font-size:10px;line-height:1.8}.checkpoint button{margin-left:26px;font-size:10px}.verdict{display:block;padding:20px;margin-top:20px}.verdict strong{font-size:44px}.verdict>p{font-size:12px;margin:16px 0}.runtime{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.runtime a{max-width:none}.runtime b{font-size:14px}.run-status{padding:12px 16px;gap:10px}.run-status p{font-size:10px;line-height:1.8}.run-status button{font-size:9px;padding:7px 10px}.reading-line{display:block;padding:28px 22px}.reading-line>span{display:block;max-width:none;font-size:8px;margin-bottom:13px}.reading-line a{display:block;font-size:17px;margin:8px 0;line-height:1.6}.reading-line b{float:right;margin:7px 0 0}.foot{display:block;padding:25px 22px;font-size:10px}.foot nav{margin-top:15px;gap:6px 18px}.foot a{font-size:10px}dialog{padding:20px;max-height:88vh}.dialog-head h2{font-size:25px}.review-case{flex-wrap:wrap;gap:10px}.review-case>strong{flex-basis:100%;max-width:100%}.review-case>b{margin-left:0}.note-page{padding:0 22px;margin:30px auto 40px}.note-top{font-size:8px;letter-spacing:.5px;gap:10px}.note-page h1{font-size:38px;letter-spacing:-1px}.note-page .lede{font-size:17px}.note-body{margin:0;padding:0;border:0}.note-body h2{font-size:25px}.note-body p,.note-body li{font-size:14px}.note-body pre{font-size:11px;padding:16px}.note-body code{font-size:11px}.note-next{gap:20px}.note-next a{font-size:11px}}@media print{.mast,.foot,.toolbar,.case-actions,button,dialog{display:none}.workshop{overflow:visible}.tape{flex-wrap:wrap;overflow:visible}.rule-ticket{break-inside:avoid}.note-body{margin:0;border:0;padding:0}.note-page{max-width:none;margin:0}.note-page h1{font-size:32px}}

/* Compact application masthead; the ordered tape, not a marketing hero, is the first task. */
.mast{background:#26252b;color:#fcfbf8}.brand span{color:#c8c5d0}.intro{display:grid;grid-template-columns:1fr auto;gap:8px 30px;padding:22px 4%}.intro>div:first-child{grid-column:1}.intro h1{font:600 25px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.6px;margin:4px 0 0}.intro>p{grid-column:1;margin:0;max-width:none;font-size:12px}.intro .intro-note{grid-column:2;grid-row:1 / span 2}.runtime a{min-height:28px;padding:5px 0}.intro-note a{min-height:25px;padding:2px 0}@media(max-width:700px){.intro{display:block;padding:19px 20px}.intro h1{font-size:24px;max-width:300px}.intro>p{font-size:12px;line-height:1.7;margin-top:9px}.mast{padding-block:12px}.mast nav{gap:20px}.mast nav a{padding-block:4px}}

.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
