:root{color:#151515;font-synthesis:none;letter-spacing:0;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4efe3;font-family:Trebuchet MS,Verdana,sans-serif}body{margin:0}*{box-sizing:border-box}.review-header{justify-content:space-between;align-items:center;gap:18px;width:100%;max-width:2200px;margin:0 auto 12px;display:flex}.eyebrow{color:#d33b53;letter-spacing:0;text-transform:uppercase;margin:0 0 2px;font-size:10px;font-weight:800}.review-header h1{color:#151515;max-width:680px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1}.project-note{color:#4c463d;background:#fffdf7;border:1px solid #151515;max-width:360px;margin:8px 0 0;padding:6px 8px;font:800 11px/1.2 Trebuchet MS,sans-serif;display:inline-block;box-shadow:2px 2px #151515}.category-filter{border:0;flex-wrap:wrap;flex:auto;justify-content:center;gap:6px;margin:0;padding:0;display:flex}.category-filter label{cursor:pointer;min-height:24px;transition:background-color .18s ease, box-shadow .24s var(--motion-snap), transform .24s var(--motion-snap);background:#fffdf7;border:1px solid #151515;align-items:center;gap:5px;padding:4px 7px;font:800 11px/1 Trebuchet MS,sans-serif;display:inline-flex}.category-filter label:hover{transform:translate(-3px,-3px);box-shadow:2.25px 2.25px #151515}.category-filter label:has(input:focus-visible){transform:translate(-3px,-3px);box-shadow:2.25px 2.25px #151515}.category-filter label:active{transform:translate(0);box-shadow:0 0 #151515}.category-filter input{appearance:none;aspect-ratio:1;box-sizing:border-box;cursor:pointer;background:#fffdf7;border:1px solid #151515;flex:none;place-items:center;height:12px;margin:0;display:inline-grid}.category-filter input:after{color:#fffdf7;content:"";font:800 10px/1 Trebuchet MS,sans-serif}.category-filter input:checked{background:#d33b53;border-color:#d33b53}.category-filter input:checked:after{content:"✓"}.progress-block{grid-template-columns:auto auto minmax(130px,180px) auto;align-items:center;gap:10px;display:grid}.progress-block span{white-space:nowrap}.progress-value{font-variant-numeric:tabular-nums;text-align:right;min-width:12ch}.progress-block small{color:#4c463d;font:800 12px/1 Trebuchet MS,sans-serif}.progress-count{font-variant-numeric:tabular-nums;min-width:8ch;display:inline-block}.progress-track{background:#ded8ce;border:1px solid #151515;height:10px}.progress-track div{height:100%;transition:width .34s var(--motion-snap);background:#d33b53}.workspace{grid-template-columns:minmax(240px,.22fr) minmax(0,1fr) minmax(300px,.28fr);align-items:stretch;gap:18px;width:100%;max-width:2200px;margin:0 auto;transition:none;display:grid}.workspace.is-output-hidden{grid-template-columns:minmax(240px,.22fr) minmax(0,1fr) 56px}.workspace.is-input-hidden{grid-template-columns:56px minmax(0,1fr) minmax(300px,.28fr)}.workspace.is-input-hidden.is-output-hidden{grid-template-columns:56px minmax(0,1fr) 56px}.panel-visibility-slot{min-width:0}.panel-visibility-content{height:100%}.panel-visibility-content[hidden],.show-panel-button[hidden]{display:none}.show-panel-button{text-orientation:mixed;transform-origin:50%;min-height:min(800px,100svh - 92px);transition:background-color .18s ease, box-shadow .24s var(--motion-snap), transform .32s var(--motion-snap);writing-mode:vertical-rl;background:#cfe4f4;align-self:start;padding:10px}.control-panel,.output-panel{contain:layout paint;transform-origin:0;min-height:min(800px,100svh - 92px);transition:opacity .26s var(--motion-snap), transform .36s var(--motion-snap);background:#f6f1e8;border:1px solid #151515;padding:18px}.output-panel{transform-origin:100%}.control-panel h2,.output-panel h2{color:#151515;margin:10px 0;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.05}.panel-title-row{justify-content:space-between;align-items:start;gap:12px;display:flex}textarea{box-sizing:border-box;color:#151515;resize:none;background:#fffdf7;border:1px solid #151515;width:100%;height:390px;margin:10px 0;padding:12px;font:13px/1.45 Cascadia Code,Consolas,monospace}.output-panel p,.error-text{color:#4c463d;margin:0}.output-panel pre{color:#f9f1dd;text-align:left;background:#151515;height:min(640px,100svh - 255px);margin:16px 0 0;padding:14px;font:12px/1.5 Cascadia Code,Consolas,monospace;overflow:auto}.error-text{background:#f1c6c2;border:1px solid #151515;margin-bottom:10px;padding:10px}.rule-stage{contain:layout paint;min-width:0;min-height:min(800px,100svh - 92px)}.iframe-stack{height:100%;min-height:min(800px,100svh - 92px);position:relative}.rule-frame{contain:layout paint;opacity:0;pointer-events:none;transition:opacity .28s var(--motion-swipe), transform .28s var(--motion-swipe);visibility:hidden;will-change:opacity, transform;background:#fffdf7;border:1px solid #151515;position:absolute;inset:0;overflow:hidden;transform:rotate(1deg)scale(.98)}.rule-frame:after{color:#151515;content:attr(data-decision-label);opacity:0;pointer-events:none;transition:opacity .14s ease, transform .22s var(--motion-snap);z-index:6;background:#fffdf7;border:2px solid #151515;padding:10px 16px;font:800 34px/1 Trebuchet MS,sans-serif;position:absolute;top:84px;left:50%;transform:translate(-50%,-10px)rotate(-4deg)scale(.88);box-shadow:5px 5px #151515}.rule-frame.is-active{opacity:1;pointer-events:auto;visibility:visible;z-index:3;transform:rotate(0)scale(1)}.rule-frame.is-queued-next,.rule-frame.is-queued-after{pointer-events:none;visibility:visible}.rule-frame.is-queued-next{opacity:.32;z-index:2;transform:translate(12px,12px)rotate(1.2deg)scale(.982)}.rule-frame.is-queued-after{opacity:.16;z-index:1;transform:translate(22px,22px)rotate(2deg)scale(.964)}.rule-frame.is-exiting{opacity:0;pointer-events:none}.rule-frame.is-exiting:after{opacity:1;transform:translate(-50%)rotate(-4deg)scale(1)}.rule-frame.is-exiting-off{transform:translate(-36%)translateY(18px)rotate(-7deg)scale(.94)}.rule-frame.is-exiting-info{transform:translateY(-32px)rotate(1deg)scale(.96)}.rule-frame.is-exiting-warn{transform:translateY(-32px)rotate(-1deg)scale(.96)}.rule-frame.is-exiting-error{transform:translate(36%)translateY(18px)rotate(7deg)scale(.94)}.docs-frame{border:0;width:100%;height:calc(100% - 62px);display:block}.rule-frame.is-queued-next .docs-frame,.rule-frame.is-queued-after .docs-frame{visibility:hidden}.rule-meta{border-bottom:1px solid #151515;align-items:center;gap:2px;min-height:48px;padding:7px 16px;display:grid}.rule-meta div{align-items:baseline;gap:10px;min-width:0;display:flex}.rule-meta span{color:#d33b53;text-transform:uppercase;flex:none;font-size:10px;font-weight:800}.rule-meta strong{color:#151515;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.rule-meta p,.finished-stage p{color:#4c463d;margin:0}.rule-meta p{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.decision-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);contain:layout paint;transition:transform .26s var(--motion-snap), background-color .18s ease;z-index:5;background:#fffdf7c2;border:1px solid #151515;grid-template-columns:repeat(4,1fr);gap:10px;padding:5px;display:grid;position:absolute;bottom:8px;left:10px;right:10px}.decision-bar button{min-height:36px;position:relative}.decision-bar button:after{content:"";opacity:0;height:3px;transition:opacity .16s ease, transform .22s var(--motion-snap);background:#151515;width:44%;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)scaleX(.25)}.decision-bar button.is-selected-decision{filter:saturate(1.18);transform:translate(-4px,-4px)rotate(-1deg);box-shadow:3px 3px #151515}.decision-bar button.is-selected-decision:after{opacity:1;transform:translate(-50%)scaleX(1)}.finished-stage{text-align:center;background:#fffdf7;border:1px solid #151515;align-content:center;justify-items:center;min-height:660px;display:grid}.finished-stage h2{color:#151515;margin:10px 0;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.05}.dialog-backdrop{z-index:20;background:#1515156b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.reset-dialog{max-width:420px;animation:dialog-pop .18s var(--motion-snap);background:#fffdf7;border:1px solid #151515;gap:14px;width:100%;padding:20px;display:grid;transform:translateY(0)}.reset-dialog h2{color:#151515;margin:0;font-family:Georgia,Times New Roman,serif;font-size:28px}.reset-dialog p{color:#4c463d;margin:0}.dialog-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}@keyframes dialog-pop{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.app-shell{--motion-snap:cubic-bezier(.2, .85, .18, 1);--motion-swipe:cubic-bezier(.16, 1, .3, 1);min-height:100svh;padding:18px;overflow-x:hidden}button{cursor:pointer;min-height:44px;transition:filter .18s ease, box-shadow .24s var(--motion-snap), transform .24s var(--motion-snap);border:1px solid #151515;justify-content:center;align-items:center;gap:8px;font:800 14px/1.1 Trebuchet MS,sans-serif;display:inline-flex}button:focus-visible,button:hover{outline:0;transform:translate(-3px,-3px);box-shadow:2.25px 2.25px #151515}button:active{transform:translate(0);box-shadow:0 0 #151515}button:disabled{cursor:not-allowed;filter:grayscale();opacity:.55;transform:none}.primary-button,.icon-button{color:#fffdf7;background:#151515}.primary-button{width:100%}.icon-button{aspect-ratio:1;width:38px;min-height:38px}.off-button,.secondary-button{background:#d6d1db}.info-button{color:#151515;background:#90a8ed}.warn-button{background:#f4c542}.error-button{color:#151515;background:#e85d5d}.small-icon-button{aspect-ratio:1;color:#151515;background:#fffdf7;width:34px;min-height:34px}@media (prefers-reduced-motion:reduce){.category-filter label,.progress-track div,.workspace,.control-panel,.output-panel,button,.rule-frame,.rule-frame:after,.decision-bar,.decision-bar button:after,.show-panel-button{transition:none}.reset-dialog{animation:none}}@media (width<=1180px){.workspace,.workspace.is-input-hidden,.workspace.is-output-hidden,.workspace.is-input-hidden.is-output-hidden{grid-template-columns:1fr}.control-panel,.output-panel{min-height:auto}.show-panel-button{writing-mode:horizontal-tb;min-height:48px}}@media (width<=720px){.app-shell{padding:8px}.review-header{grid-template-columns:1fr;align-items:start;display:grid}.category-filter{justify-content:start}.progress-block{grid-template-columns:auto auto minmax(0,1fr) auto;width:100%}.review-header h1{font-size:24px}.control-panel,.output-panel{padding:14px}.finished-stage,.iframe-stack,.rule-stage{min-height:560px}}
