@theme{ --color-paper: #faf9f6; --color-paper-elevated: #ffffff; --color-ink: #1c1917; --color-ink-secondary: #57534e; --color-ink-muted: #78716c; --color-rule: #e7e5e4; --color-rule-subtle: #f5f5f4; --color-accent: #92400e; --color-accent-hover: #7c2d12; --color-accent-light: rgba(146, 64, 14, .06); --color-code-bg: #1c1917; --color-code-text: #e7e5e4; --color-success: #166534; --color-warning: #b45309; --color-error: #991b1b; --ease-out: cubic-bezier(.16, 1, .3, 1); --ease-spring: cubic-bezier(.34, 1.56, .64, 1); }:root{--f-display: var(--font-geist-sans), -apple-system, sans-serif;--f-body: var(--font-geist-sans), -apple-system, sans-serif;--f-mono: var(--font-mono), "Fira Code", monospace;--f-serif: var(--font-serif), "Georgia", "Times New Roman", serif}html{background:var(--color-paper);color:var(--color-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--f-body);font-feature-settings:"kern","liga","calt","ss01";line-height:1.6;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.11  0 0 0 0 0.10  0 0 0 0 0.09  0 0 0 0.045 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:linear-gradient(to right,transparent calc(50% - 720px),var(--color-rule-subtle) calc(50% - 720px),var(--color-rule-subtle) calc(50% - 719px),transparent calc(50% - 719px)),linear-gradient(to right,transparent calc(50% + 719px),var(--color-rule-subtle) calc(50% + 719px),var(--color-rule-subtle) calc(50% + 720px),transparent calc(50% + 720px))}@media (max-width: 1500px){body:after{display:none}}::selection{background:#92400e26;color:var(--color-ink)}h1,h2,h3,h4,h5,h6{font-family:var(--f-body);font-weight:700;line-height:1.15;letter-spacing:-.04em;color:var(--color-ink)}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:.08em;transition:color .15s}a:hover{color:var(--color-accent-hover)}code,pre{font-family:var(--f-mono);font-size:.875em}pre{background:var(--color-code-bg);border:1px solid #2a2826;border-radius:4px;padding:1.25rem;overflow-x:auto;color:var(--color-code-text)}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}@keyframes terminal-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .8s var(--ease-out) both}.animate-fade-in{animation:fade-in .6s var(--ease-out) both}.font-heading{font-family:var(--f-body);font-weight:700;letter-spacing:-.04em}.font-body{font-family:var(--f-body)}.font-display{font-family:var(--f-display)}.font-mono{font-family:var(--f-mono)}.eyebrow{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent)}.kicker{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-muted)}.kicker:before,.kicker:after{content:"";width:1.75rem;height:1px;background:var(--color-rule)}.kicker .kicker-mark{font-family:var(--f-serif);font-style:italic;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--color-accent)}.serif-italic{font-family:var(--f-serif);font-style:italic;font-weight:400}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","lnum"}.serial{font-family:var(--f-mono);font-size:.65rem;font-weight:500;letter-spacing:.18em;color:var(--color-ink-muted);text-transform:uppercase}.heading-page{font-family:var(--f-body);font-weight:300;font-size:clamp(1.85rem,3.4vw,2.6rem);line-height:1.15;letter-spacing:.11em;text-transform:uppercase}.heading-section{font-family:var(--f-body);font-weight:300;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.15;letter-spacing:.1em;text-transform:uppercase}.heading-sub{font-family:var(--f-body);font-weight:300;font-size:1.1rem;line-height:1.2;letter-spacing:.1em;text-transform:uppercase}.gradient-fill{background:linear-gradient(to right,var(--color-accent),var(--color-ink));background-size:100vw 1em;background-position-x:var(--gx, 0px)}.text-gradient,.heading-page,.heading-section,.heading-sub{background:linear-gradient(to right,var(--color-accent),var(--color-ink));background-size:100vw 1em;background-position-x:var(--gx, 0px);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-secondary{color:var(--color-ink-secondary)}.text-muted{color:var(--color-ink-muted)}.card{border:1px solid var(--color-rule);background:var(--color-paper-elevated);border-radius:4px}.card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.card-edition{position:relative;background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:4px;transition:border-color .24s var(--ease-out),transform .24s var(--ease-out),box-shadow .24s var(--ease-out)}.card-edition:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-ink));background-size:100vw 1em;background-position-x:var(--gx, 0px);opacity:0;transition:opacity .24s var(--ease-out)}.card-edition:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 1px 0 var(--color-rule),0 18px 40px -28px #1c191740}.card-edition:hover:before{opacity:1}.fleuron{display:flex;align-items:center;justify-content:center;gap:1.5rem;max-width:280px;margin:0 auto;padding:0;color:var(--color-ink-muted)}.fleuron-mark{font-family:var(--f-serif);font-style:italic;font-size:1.15rem;letter-spacing:0;line-height:1;color:var(--color-accent);opacity:.85}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;border-radius:4px;padding:.875rem 1.75rem;font-size:.95rem;font-weight:500;background:linear-gradient(to right,var(--color-accent),var(--color-ink));background-size:100vw 1em;background-position-x:var(--gx, 0px);color:#fff;text-decoration:none;transition:all .15s;border:none;cursor:pointer}.btn-primary:hover{filter:brightness(.85);transform:translateY(-1px);box-shadow:0 2px 8px #92400e26;color:#fff}.btn-outline{display:inline-flex;align-items:center;gap:.5rem;border-radius:4px;border:1px solid var(--color-rule);padding:.875rem 1.75rem;font-size:.95rem;font-weight:500;color:var(--color-ink);background:transparent;text-decoration:none;transition:border-color .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out);cursor:pointer}.btn-outline:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-1px);box-shadow:0 6px 18px -10px #92400e66}.link-quiet{color:inherit;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;transition:background-size .22s var(--ease-out),color .15s var(--ease-out);padding-bottom:1px}.link-quiet:hover{background-size:100% 1px;color:var(--color-accent)}.scroll-cue{display:inline-flex;flex-direction:column;align-items:center;gap:.65rem;font-family:var(--f-mono);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-muted);text-decoration:none;transition:color .2s var(--ease-out)}.scroll-cue:hover{color:var(--color-accent)}.scroll-cue-line{position:relative;width:1px;height:36px;background:var(--color-rule);overflow:hidden}.scroll-cue-line:after{content:"";position:absolute;top:0;left:0;width:1px;height:14px;background:var(--color-accent);animation:scroll-cue-fall 1.8s var(--ease-out) infinite}@keyframes scroll-cue-fall{0%{transform:translateY(-14px);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(36px);opacity:0}}.nav-bar{background:#faf9f6f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-rule)}:root{--f-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--f-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--f-mono: "Geist Mono", ui-monospace, "SF Mono", monospace;--f-serif: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-paper: #faf9f6;--color-paper-elevated: #ffffff;--color-ink: #1c1917;--color-ink-secondary: #57534e;--color-ink-muted: #78716c;--color-rule: #e7e5e4;--color-rule-subtle: #f5f5f4;--color-accent: #92400e;--color-accent-hover: #7c2d12;--color-accent-light: rgba(146, 64, 14, .06);--color-accent-line: rgba(146, 64, 14, .2);--color-success: #166534;--color-success-light: rgba(22, 101, 52, .06);--color-warning: #b45309;--color-error: #991b1b;--color-error-light: rgba(153, 27, 27, .06);--ease-out: cubic-bezier(.16, 1, .3, 1);font-family:var(--f-body);font-feature-settings:"kern","liga","calt","ss01";color:var(--color-ink);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashboard{font-variant-numeric:tabular-nums;min-width:0;max-width:100%}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:48px;min-width:0}.dashboard-form,.results,.explanation-block{min-width:0}@media (min-width: 880px){.dashboard-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start}}.dashboard.embedded .dashboard-grid{grid-template-columns:1fr;gap:24px}.dashboard-form{display:flex;flex-direction:column;gap:36px}.dashboard.embedded .dashboard-form{gap:22px}.form-section{display:flex;flex-direction:column;gap:18px}.form-section .section-title{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin:0;padding-bottom:10px;border-bottom:1px solid var(--color-rule)}.dashboard.embedded .section-title{font-size:10px;padding-bottom:8px}.form-section .section-description{font-family:var(--f-serif);font-style:italic;font-size:14px;color:var(--color-ink-muted);margin:0}.field-stack{display:flex;flex-direction:column;gap:18px}.dashboard.embedded .field-stack{gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.field-head label{font-size:14px;font-weight:500;color:var(--color-ink);letter-spacing:-.005em}.field-head .help{font-family:var(--f-serif);font-style:italic;font-size:12.5px;color:var(--color-ink-muted);flex:1 1 100%;margin-top:-4px}.control,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-size:15px;border:1px solid var(--color-rule);border-radius:3px;padding:10px 12px;background:var(--color-paper-elevated);color:var(--color-ink);width:100%;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out);font-variant-numeric:tabular-nums}.control:hover,.field input:hover:not([type=checkbox]):not([type=radio]),.field select:hover,.field textarea:hover{border-color:var(--color-ink-muted)}.control:focus-within,.field input:focus:not([type=checkbox]):not([type=radio]),.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.control-currency{display:flex;align-items:center;padding:0;overflow:hidden}.control-currency .control-prefix{font-family:var(--f-mono);font-size:14px;color:var(--color-ink-muted);padding:0 4px 0 14px}.control-currency input{border:none;outline:none;background:transparent;font-size:16px;padding:12px 14px 12px 4px;width:100%;font-variant-numeric:tabular-nums}.control-stepper{display:grid;grid-template-columns:36px 1fr 36px;align-items:stretch;padding:0;overflow:hidden;width:max-content;min-width:160px}.control-stepper .stepper-btn{border:none;background:var(--color-rule-subtle);color:var(--color-ink-secondary);font:inherit;font-size:18px;cursor:pointer;transition:all .12s}.control-stepper .stepper-btn:hover{background:var(--color-accent-light);color:var(--color-accent)}.control-stepper input{border:none;background:transparent;text-align:center;font-size:16px;outline:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;font-weight:500;font-variant-numeric:tabular-nums;padding:10px 0}.control-stepper input::-webkit-outer-spin-button,.control-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.switch{display:inline-flex;align-items:center;gap:12px;border:none;background:transparent;padding:0;font:inherit;font-size:14px;color:var(--color-ink);cursor:pointer;width:max-content}.switch:focus-visible{outline:none}.switch:focus-visible .switch-track{box-shadow:0 0 0 3px var(--color-accent-light)}.switch-track{position:relative;display:inline-block;width:44px;height:24px;border-radius:999px;background:var(--color-rule);border:1px solid var(--color-rule);transition:all .18s var(--ease-out)}.switch-thumb{position:absolute;left:1px;top:1px;width:22px;height:22px;border-radius:50%;background:var(--color-paper-elevated);box-shadow:0 1px 3px #1c191733;transform:translate(0);transition:transform .18s var(--ease-out)}.switch.on .switch-track{background:var(--color-accent);border-color:var(--color-accent)}.switch.on .switch-thumb{transform:translate(20px)}.switch-label{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);min-width:28px;text-align:left}.switch.on .switch-label{color:var(--color-accent)}.relation-block{display:flex;flex-direction:column;gap:12px}.member-card{background:var(--color-rule-subtle);border-left:2px solid var(--color-accent-line);border-radius:0 3px 3px 0;padding:18px;display:flex;flex-direction:column;gap:14px}.member-card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--color-rule)}.member-card-header strong{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-rule);background:var(--color-paper-elevated);color:var(--color-ink);border-radius:3px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer;transition:all .15s var(--ease-out);text-decoration:none;width:max-content}.btn.ghost{border-color:transparent;background:transparent;color:var(--color-ink-secondary);padding:4px 10px}.btn.ghost:hover{background:var(--color-rule-subtle);border-color:transparent;color:var(--color-ink)}.results{position:sticky;top:24px;align-self:start;display:flex;flex-direction:column;gap:24px}.dashboard.embedded .results{position:static;gap:18px}.hero-result{position:relative;padding:32px 28px;border:1px solid var(--color-ink);border-radius:4px;background:var(--color-paper-elevated);display:flex;flex-direction:column;gap:14px}.hero-result:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-ink))}.hero-label{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-muted)}.hero-value{font-family:var(--f-display);font-weight:300;font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;letter-spacing:-.025em;color:var(--color-ink);font-variant-numeric:tabular-nums;display:flex;align-items:baseline}.dashboard.embedded .hero-result{padding:22px 20px;gap:10px}.dashboard.embedded .hero-value{font-size:clamp(1.8rem,4vw,2.4rem)}.ledger{display:flex;flex-direction:column}.ledger-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--color-rule)}.ledger-row:last-child{border-bottom:none}.ledger-row .ledger-label{font-size:14px;color:var(--color-ink-secondary)}.ledger-row .ledger-value{font-family:var(--f-display);font-weight:500;font-size:18px;color:var(--color-ink);font-variant-numeric:tabular-nums;letter-spacing:-.005em}.ledger-row.muted .ledger-value{font-weight:400;font-size:16px;color:var(--color-ink-secondary)}.dashboard.embedded .ledger-row{padding:10px 0}.dashboard.embedded .ledger-row .ledger-value{font-size:16px}.dashboard.embedded .ledger-row.muted .ledger-value{font-size:14px}.eligibility-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:3px;font-family:var(--f-mono);font-weight:500;font-size:14px;letter-spacing:.1em;text-transform:uppercase;border:1px solid currentColor}.eligibility-pill:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.eligibility-pill.holds{color:var(--color-success);background:var(--color-success-light)}.eligibility-pill.not_holds{color:var(--color-error);background:var(--color-error-light)}.eligibility-pill.undetermined{color:var(--color-ink-muted);background:var(--color-rule-subtle)}.ledger-row .eligibility-pill{font-size:11px;padding:4px 10px}.explanation{padding:0;margin:0}.explanation>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--color-rule);border-radius:3px;background:var(--color-rule-subtle);transition:all .15s var(--ease-out)}.explanation>summary:hover{border-color:var(--color-ink-muted)}.explanation>summary::-webkit-details-marker{display:none}.explanation>summary:before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--color-ink-muted);border-radius:2px;font-family:var(--f-mono);font-size:12px;color:var(--color-ink-secondary);transition:transform .2s var(--ease-out)}.explanation[open]>summary:before{content:"−";background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.explanation-eyebrow{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink)}.explanation[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.explanation-block{border:1px solid var(--color-rule);border-top:none;padding:18px 20px;background:var(--color-paper-elevated);display:flex;flex-direction:column;gap:8px}.explanation-block+.explanation-block{border-top:1px solid var(--color-rule-subtle)}.explanation-block:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.explanation-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;padding-bottom:8px;border-bottom:1px solid var(--color-rule-subtle)}.explanation-name{font-weight:500;font-size:14px;color:var(--color-ink)}.explanation-result{font-family:var(--f-display);font-weight:500;font-size:15px;color:var(--color-accent);font-variant-numeric:tabular-nums}.trace-list{display:flex;flex-direction:column;gap:4px;font-family:var(--f-mono);font-size:12px;color:var(--color-ink-secondary);min-width:0;padding-left:8px;border-left:2px solid var(--color-rule);margin:2px 0}.trace-list.kind-rule{border-left-color:var(--color-accent)}.trace-list.kind-judgment-holds{border-left-color:var(--color-success)}.trace-list.kind-judgment-fails{border-left-color:var(--color-error)}.trace-list.kind-judgment-undet{border-left-color:var(--color-warning)}.trace-list.kind-input{border-left-color:var(--color-rule);background:var(--color-rule-subtle);border-radius:0 3px 3px 0;padding:2px 8px}.trace-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--color-ink-muted);font:inherit;font-size:11px;cursor:pointer;flex-shrink:0;padding:0;border-radius:2px;transition:background .1s}.trace-chevron:hover{background:var(--color-rule-subtle);color:var(--color-ink)}.trace-chevron-spacer{display:inline-block;width:16px;flex-shrink:0}.trace-collapsed-hint{font-family:var(--f-serif);font-style:italic;font-size:11px;color:var(--color-ink-muted);margin-top:2px;padding-left:22px}.explanation-controls{display:inline-flex;gap:6px;margin-left:auto}.explanation>summary{display:flex;align-items:center;gap:12px}.explanation-controls .btn.ghost{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px}.trace-kind{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:0 4px;font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.06em;color:var(--color-ink-muted);border:1px solid var(--color-rule);border-radius:2px;flex-shrink:0;text-transform:uppercase}.kind-rule>.trace-line>.trace-kind{color:var(--color-accent);border-color:var(--color-accent-line);background:var(--color-accent-light)}.kind-judgment-holds>.trace-line>.trace-kind{color:var(--color-success);border-color:var(--color-success);background:var(--color-success-light);font-size:11px;font-weight:600}.kind-judgment-fails>.trace-line>.trace-kind{color:var(--color-error);border-color:var(--color-error);background:var(--color-error-light);font-size:11px;font-weight:600}.kind-judgment-undet>.trace-line>.trace-kind{color:var(--color-warning);border-color:var(--color-warning);background:#b453090f}.kind-input>.trace-line>.trace-kind{color:var(--color-ink-muted);background:var(--color-paper-elevated)}.trace-group-label{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted);padding:8px 0 4px;border-bottom:1px solid var(--color-rule-subtle);margin-bottom:4px}.trace-line{display:flex;align-items:baseline;gap:8px;padding:3px 0;min-width:0}.trace-name{flex:1 1 auto;min-width:0;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trace-equals{color:var(--color-ink-muted);flex-shrink:0}.trace-value{font-weight:500;color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.trace-source{font-family:var(--f-serif);font-style:italic;font-size:11px;color:var(--color-ink-muted);padding-left:8px;border-left:1px solid var(--color-rule);margin:2px 0 4px;word-break:break-word}.trace-children{margin-left:12px;margin-top:4px;min-width:0}.trace-line.muted{color:var(--color-ink-muted);font-style:italic}.trace-list.trace-input .trace-line{color:var(--color-ink-muted)}.trace-list.trace-input .trace-name{color:var(--color-ink-secondary);font-style:italic}.trace-input-source{font-size:10.5px;color:var(--color-ink-muted);border-left-color:var(--color-rule-subtle);padding-left:8px;margin:1px 0 4px;font-family:var(--f-mono);font-style:normal;letter-spacing:.02em}.formula{margin:4px 0 6px;font-family:var(--f-mono);font-size:11px}.formula summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--color-rule);border-radius:2px;background:var(--color-rule-subtle);color:var(--color-ink-secondary);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500;transition:all .12s}.formula summary:hover{color:var(--color-ink);border-color:var(--color-ink-muted)}.formula summary::-webkit-details-marker{display:none}.formula summary:before{content:"›";font-family:var(--f-serif);font-style:italic;transition:transform .15s var(--ease-out)}.formula[open] summary:before{transform:rotate(90deg)}.formula pre{margin:6px 0 0;padding:10px 12px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:3px;white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.55;color:var(--color-ink)}.formula .tok-kw{color:var(--color-accent);font-weight:500}.formula .tok-fn{color:var(--color-success)}.formula .tok-lit{color:var(--color-warning)}.formula .tok-op{color:var(--color-ink-muted)}.formula .tok-num{color:var(--color-ink)}.formula .tok-ident-rule{color:var(--color-ink);border-bottom:1px dotted var(--color-rule);cursor:default}.formula .tok-ident-rule.holds{color:var(--color-success)}.formula .tok-ident-rule.holds .ident-glyph{color:var(--color-success);font-weight:600}.formula .tok-ident-rule.fails{color:var(--color-error);background:var(--color-error-light);padding:0 4px;border-radius:2px;border-bottom:none}.formula .tok-ident-rule.fails .ident-glyph{color:var(--color-error);font-weight:600}.formula .tok-ident-rule.numeric{color:var(--color-ink);border-bottom:1px dotted var(--color-accent-line)}.formula .ident-glyph{font-family:var(--f-body);font-size:11px;margin-right:1px}.formula .ident-value{color:var(--color-ink-muted);margin-left:4px;font-size:10.5px;font-variant-numeric:tabular-nums}.formula-trigger{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-rule);background:var(--color-rule-subtle);color:var(--color-ink-secondary);border-radius:2px;padding:3px 10px;font:inherit;font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;margin-top:4px;transition:all .12s}.formula-trigger:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.formula-trigger-glyph{font-family:var(--f-serif);font-size:13px;font-style:italic;letter-spacing:0}.rule-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c19178c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-start;justify-content:center;padding:80px 24px 32px;z-index:100;animation:modal-fade .22s var(--ease-out)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.rule-modal{width:min(820px,92vw);max-height:calc(100vh - 110px);background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:6px;box-shadow:0 1px 0 var(--color-rule),0 24px 48px -12px #1c191747,0 4px 12px -4px #1c19171f;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:modal-rise .26s var(--ease-out)}.rule-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--color-accent),var(--color-ink))}.rule-modal-head{padding:32px 36px 24px;border-bottom:1px solid var(--color-rule);background:linear-gradient(to bottom,var(--color-paper-elevated),var(--color-paper))}.rule-modal-eyebrow{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;min-height:24px}.rule-modal-eyebrow-text{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.rule-modal-crumbs{display:flex;align-items:center;gap:4px;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.04em;color:var(--color-ink-muted);flex-wrap:wrap}.crumb-btn{border:none;background:transparent;font:inherit;font-family:var(--f-mono);font-size:10.5px;color:var(--color-accent);padding:2px 4px;border-radius:2px;cursor:pointer;text-transform:lowercase}.crumb-btn:hover{background:var(--color-accent-light)}.crumb-sep{color:var(--color-ink-muted);margin:0 4px}.rule-modal-citation{font-family:var(--f-serif);font-style:italic;font-size:13px;color:var(--color-ink-secondary);line-height:1.4}.rule-modal-headline{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.rule-modal-name{font-family:var(--f-display);font-weight:300;font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.15;letter-spacing:-.01em;color:var(--color-ink);margin:0;word-break:break-word;flex:1;min-width:0}.rule-modal-verdict{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:4px;border:1px solid currentColor;font-family:var(--f-mono);font-size:13px;font-weight:500;letter-spacing:.04em;white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.rule-modal-verdict-glyph{font-size:14px;font-weight:600}.rule-modal-verdict-text{letter-spacing:.06em}.verdict-holds{color:var(--color-success);background:var(--color-success-light)}.verdict-fails{color:var(--color-error);background:var(--color-error-light)}.verdict-undet{color:var(--color-warning);background:#b453090f}.verdict-numeric{color:var(--color-accent);background:var(--color-accent-light)}.rule-modal-close{width:32px;height:32px;border:1px solid transparent;background:transparent;font-size:22px;color:var(--color-ink-muted);cursor:pointer;border-radius:4px;line-height:1;flex-shrink:0;transition:all .12s;font-family:var(--f-body)}.rule-modal-close:hover{background:var(--color-rule-subtle);border-color:var(--color-rule);color:var(--color-ink)}.rule-modal-body{overflow-y:auto;padding:28px 36px 32px;flex:1;display:flex;flex-direction:column;gap:28px}.rule-modal-section-eyebrow{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--color-rule-subtle)}.rule-modal-formula{margin:0;padding:14px 16px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:3px;white-space:pre-wrap;word-break:break-word;font-size:12.5px;line-height:1.6;color:var(--color-ink)}.rule-modal-list{display:flex;flex-direction:column;gap:4px}.rule-modal-row{display:grid;grid-template-columns:28px 1fr auto auto auto;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--color-rule);background:var(--color-paper-elevated);border-radius:3px;font-family:var(--f-mono);font-size:12px;color:var(--color-ink);text-align:left}.rule-modal-row.clickable{cursor:pointer;border:1px solid var(--color-rule);font:inherit;font-family:var(--f-mono);font-size:12px;transition:all .12s}.rule-modal-row.clickable:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.rule-modal-input-row{background:var(--color-rule-subtle)}.rule-modal-glyph{display:inline-flex;align-items:center;justify-content:center;width:24px;height:22px;border-radius:2px;border:1px solid currentColor;font-size:11px;font-weight:500;flex-shrink:0}.rule-modal-glyph.verdict-holds{color:var(--color-success);background:var(--color-success-light)}.rule-modal-glyph.verdict-fails{color:var(--color-error);background:var(--color-error-light)}.rule-modal-glyph.verdict-undet{color:var(--color-warning);background:#b453090f}.rule-modal-glyph.verdict-numeric{color:var(--color-accent);background:var(--color-accent-light)}.rule-modal-glyph.glyph-input{color:var(--color-ink-muted);background:var(--color-paper-elevated)}.rule-modal-row-name{word-break:break-word;font-weight:500}.rule-modal-row-value{font-family:var(--f-display);font-size:13px;font-weight:500;color:var(--color-ink);font-variant-numeric:tabular-nums;white-space:nowrap}.rule-modal-row-arrow{color:var(--color-ink-muted);font-family:var(--f-serif);font-style:italic;font-size:14px}.rule-modal-source-pill{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:2px 7px;border-radius:2px;border:1px solid currentColor}.rule-modal-source-pill.user{color:var(--color-success);background:var(--color-success-light)}.rule-modal-source-pill.default{color:var(--color-warning);background:#b453090f}.rule-modal-row-citation{grid-column:2 / -1;font-family:var(--f-serif);font-style:italic;font-size:11px;color:var(--color-ink-muted);padding-top:2px}.annotated-formula{font-family:var(--f-mono);font-size:13px;line-height:2.4;color:var(--color-ink-secondary);background:var(--color-rule-subtle);border:1px solid var(--color-rule);border-radius:4px;padding:24px;white-space:pre-wrap;word-break:break-word}.ftree{display:flex;flex-direction:column;gap:8px;font-family:var(--f-body);font-size:13px}.ftree-box{border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper-elevated);overflow:hidden}.ftree-box-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:var(--color-rule-subtle);border-bottom:1px solid var(--color-rule)}.ftree-box-label{font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted)}.ftree-box-value{font-family:var(--f-display);font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-ink);letter-spacing:-.01em}.ftree-box-body{padding:10px 14px;display:flex;flex-direction:column;gap:6px}.ftree-box.ftree-verdict-holds .ftree-box-head{background:var(--color-success-light);border-bottom-color:#1665342e}.ftree-box.ftree-verdict-holds .ftree-box-label,.ftree-box.ftree-verdict-holds .ftree-box-value{color:var(--color-success)}.ftree-box.ftree-verdict-holds{border-color:#16653440}.ftree-box.ftree-verdict-fails .ftree-box-head{background:var(--color-error-light);border-bottom-color:#991b1b2e}.ftree-box.ftree-verdict-fails .ftree-box-label,.ftree-box.ftree-verdict-fails .ftree-box-value{color:var(--color-error)}.ftree-box.ftree-verdict-fails{border-color:#991b1b40}.ftree-box.ftree-verdict-undet .ftree-box-label,.ftree-box.ftree-verdict-undet .ftree-box-value{color:var(--color-warning)}.ftree-box.ftree-verdict-numeric .ftree-box-head{background:var(--color-accent-light);border-bottom-color:#92400e2e}.ftree-box.ftree-verdict-numeric .ftree-box-label{color:var(--color-accent)}.ftree-row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:3px;min-width:0}.ftree-row>*{min-width:0}.ftree-row-muted{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-muted);padding-left:12px}.ftree-row-pass{background:var(--color-success-light)}.ftree-row-fail{background:var(--color-error-light);position:relative}.ftree-row-fail:before,.ftree-row-pass:before{content:"";width:3px;align-self:stretch;border-radius:2px;flex-shrink:0}.ftree-row-fail:before{background:var(--color-error)}.ftree-row-pass:before{background:var(--color-success)}.ftree-leaf{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border-radius:3px;font-family:var(--f-body);font-size:13px;border:1px solid var(--color-rule);background:var(--color-paper-elevated);flex:1;min-width:0;text-align:left}.ftree-leaf-glyph{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:2px;font-family:var(--f-mono);font-size:11px;font-weight:600;background:var(--color-paper);flex-shrink:0}.ftree-leaf-name{font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ftree-leaf-value{font-family:var(--f-display);font-weight:500;font-size:13px;font-variant-numeric:tabular-nums;color:var(--color-ink);flex-shrink:0}.ftree-leaf-arrow{font-family:var(--f-serif);font-style:italic;color:var(--color-ink-muted);font-size:14px;flex-shrink:0}.ftree-leaf-tag{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:2px 7px;border-radius:2px;border:1px solid currentColor;flex-shrink:0}.ftree-leaf.ftree-leaf-rule{cursor:pointer;font:inherit;font-size:13px;transition:all .12s}.ftree-leaf.ftree-leaf-rule:hover{border-color:var(--color-ink);transform:translate(2px)}.ftree-leaf.ftree-leaf-rule.ftree-verdict-holds{border-color:#1665344d;background:var(--color-success-light)}.ftree-leaf.ftree-leaf-rule.ftree-verdict-holds .ftree-leaf-glyph{color:var(--color-success);border:1px solid currentColor;background:var(--color-paper-elevated)}.ftree-leaf.ftree-leaf-rule.ftree-verdict-fails{border-color:#991b1b4d;background:var(--color-error-light)}.ftree-leaf.ftree-leaf-rule.ftree-verdict-fails .ftree-leaf-glyph{color:var(--color-error);border:1px solid currentColor;background:var(--color-paper-elevated)}.ftree-leaf.ftree-leaf-rule.ftree-verdict-numeric{border-color:var(--color-accent-line);background:var(--color-accent-light)}.ftree-leaf.ftree-leaf-rule.ftree-verdict-numeric .ftree-leaf-glyph{color:var(--color-accent);background:var(--color-paper-elevated)}.ftree-leaf.ftree-leaf-input.is-user{border-color:#1665344d;background:var(--color-success-light);color:var(--color-success)}.ftree-leaf.ftree-leaf-input.is-user .ftree-leaf-name{color:var(--color-ink)}.ftree-leaf.ftree-leaf-input.is-default{border-color:#b453094d;border-style:dashed;background:#b453090a;color:var(--color-warning)}.ftree-leaf.ftree-leaf-input.is-default .ftree-leaf-name{color:var(--color-ink)}.ftree-leaf-action{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:2px 8px;border-radius:2px;border:1px solid currentColor;background:var(--color-paper-elevated);color:inherit;cursor:pointer;flex-shrink:0}.ftree-leaf-action:hover{background:currentColor;color:var(--color-paper-elevated)}.ftree-leaf-literal{font-family:var(--f-mono);color:var(--color-ink);background:var(--color-rule-subtle);border:1px solid var(--color-rule);font-variant-numeric:tabular-nums;font-weight:500;flex:0 0 auto}.ftree-ident-unknown{font-family:var(--f-mono);color:var(--color-ink-muted);font-style:italic;flex:0 0 auto}.ftree-error{color:var(--color-error);font-family:var(--f-mono);font-size:12px}.rule-modal-view-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}.rule-modal-view-controls{display:flex;gap:8px;align-items:center}.rule-modal-view-toggle .rule-modal-section-eyebrow{margin:0;border-bottom:none;padding-bottom:0}.view-toggle{display:inline-flex;background:var(--color-rule-subtle);border:1px solid var(--color-rule);border-radius:4px;padding:2px}.view-toggle-btn{border:none;background:transparent;font:inherit;font-family:var(--f-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted);padding:5px 12px;border-radius:3px;cursor:pointer;transition:all .12s}.view-toggle-btn:hover{color:var(--color-ink)}.view-toggle-btn.is-active{background:var(--color-paper-elevated);color:var(--color-ink);box-shadow:0 1px 2px #1c191714}.rg-wrap{border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper);overflow:auto;max-height:600px;padding:12px}.rg-svg{display:block}.rg-edge{stroke:var(--color-ink-muted);stroke-width:1.5;color:var(--color-ink-muted);opacity:.6}.rg-edge.rg-edge-fail{stroke:var(--color-error);color:var(--color-error);stroke-width:2;opacity:1}.rg-edge.rg-edge-pass{stroke:var(--color-success);color:var(--color-success);stroke-width:2;opacity:1}.rg-edge.rg-edge-dim{stroke-dasharray:4 4;opacity:.3}.rg-edge.rg-edge-test{stroke:var(--color-ink-secondary);color:var(--color-ink-secondary);stroke-width:1.2;opacity:.7}.rg-edge-label-bg{fill:var(--color-paper-elevated);stroke:var(--color-rule);stroke-width:1}.rg-edge-label{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;fill:var(--color-ink-muted)}.rg-edge-label-test+.rg-edge-label,.rg-edge-label.rg-edge-label-test{fill:var(--color-ink-secondary)}.rg-edge-label-bg.rg-edge-label-test{stroke:var(--color-ink-secondary)}.rg-edge-label.rg-edge-label-active{fill:var(--color-success);font-weight:600}.rg-edge-label-bg.rg-edge-label-active{fill:var(--color-success-light);stroke:var(--color-success)}.rg-edge-label.rg-edge-label-dim{fill:var(--color-ink-muted);opacity:.55}.rg-edge-label-bg.rg-edge-label-dim{fill:var(--color-rule-subtle);stroke:var(--color-rule);opacity:.55}.rg-shape{stroke-width:1.5}.rg-clickable{cursor:pointer}.rg-clickable:hover .rg-shape{stroke-width:2;filter:drop-shadow(0 2px 4px rgba(28,25,23,.15))}.rg-node.rg-op .rg-shape{fill:var(--color-paper-elevated);stroke:var(--color-rule)}.rg-node.rg-op.rg-holds .rg-shape{fill:var(--color-success-light);stroke:var(--color-success)}.rg-node.rg-op.rg-fails .rg-shape{fill:var(--color-error-light);stroke:var(--color-error)}.rg-node.rg-op.rg-undet .rg-shape{fill:#b453090f;stroke:var(--color-warning)}.rg-node.rg-op.rg-numeric .rg-shape{fill:var(--color-accent-light);stroke:var(--color-accent)}.rg-node.rg-op.rg-if .rg-shape{stroke-width:2}.rg-node.rg-neutral .rg-shape{fill:var(--color-paper-elevated);stroke:var(--color-rule)}.rg-node.rg-rule.rg-neutral .rg-shape{fill:var(--color-paper-elevated);stroke:var(--color-ink-secondary);stroke-width:1.5}.rg-node.rg-op.rg-neutral .rg-shape{fill:var(--color-rule-subtle);stroke:var(--color-ink-muted)}.rg-node.rg-neutral .rg-node-label,.rg-node.rg-neutral .rg-node-value{color:var(--color-ink)}.rg-mode-structure .rg-node-value:empty,.rg-mode-structure .rg-node-sub:empty{display:none}.rg-node.rg-rule .rg-shape{fill:var(--color-paper-elevated);stroke:var(--color-ink);stroke-width:1.5}.rg-node.rg-rule.rg-holds .rg-shape{fill:var(--color-success-light);stroke:var(--color-success)}.rg-node.rg-rule.rg-fails .rg-shape{fill:var(--color-error-light);stroke:var(--color-error)}.rg-node.rg-rule.rg-numeric .rg-shape{fill:var(--color-accent-light);stroke:var(--color-accent)}.rg-node.rg-input.rg-user .rg-shape{fill:var(--color-success-light);stroke:var(--color-success)}.rg-node.rg-input.rg-default .rg-shape{fill:#b453090a;stroke:var(--color-warning);stroke-dasharray:4 3}.rg-node.rg-literal .rg-shape{fill:var(--color-rule-subtle);stroke:var(--color-rule)}.rg-node.rg-unknown .rg-shape{fill:var(--color-rule-subtle);stroke:var(--color-ink-muted);stroke-dasharray:2 3}.rg-node.rg-error .rg-shape{fill:#991b1b0f;stroke:var(--color-error)}.rg-node-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:4px 10px;text-align:center;pointer-events:none;gap:2px}.rg-node-label{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--color-ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rg-node-sub{font-family:var(--f-mono);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rg-node-value{font-family:var(--f-display);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.rg-node.rg-op .rg-node-label{font-size:12.5px;letter-spacing:.08em;font-weight:600}.rg-node.rg-op .rg-shape+foreignObject .rg-node-content,.rg-node.rg-op foreignObject .rg-node-content{padding:2px 8px}.rg-node.rg-holds .rg-node-label,.rg-node.rg-holds .rg-node-value{color:var(--color-success)}.rg-node.rg-fails .rg-node-label,.rg-node.rg-fails .rg-node-value{color:var(--color-error)}.rg-node.rg-undet .rg-node-label,.rg-node.rg-undet .rg-node-value{color:var(--color-warning)}.rg-node.rg-numeric .rg-node-label,.rg-node.rg-numeric .rg-node-value{color:var(--color-accent)}.rg-error{color:var(--color-error);font-family:var(--f-mono);font-size:12px;padding:16px}.rule-modal-code{margin:0;padding:22px 24px;background:var(--color-ink);color:var(--color-paper);border-radius:4px;font-family:var(--f-mono);font-size:12.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word;overflow-x:auto}.rule-modal-code .code-tok-kw{color:#f0a875;font-weight:500}.rule-modal-code .code-tok-fn{color:#86d18f}.rule-modal-code .code-tok-lit,.rule-modal-code .code-tok-num{color:#f0c270}.rule-modal-code .code-tok-op{color:#b0a8a0}.rule-modal-code .code-tok-ident{color:var(--color-paper)}.formula-token{display:inline;white-space:pre}.formula-kw{color:var(--color-accent);font-weight:500;text-transform:lowercase}.formula-fn{color:var(--color-success)}.formula-op{color:var(--color-ink-muted)}.formula-lit{color:var(--color-ink);font-weight:500;font-variant-numeric:tabular-nums}.formula-ident-unknown{color:var(--color-ink-muted);font-style:italic}.pill{display:inline-flex;align-items:center;gap:6px;padding:1px 6px 1px 4px;border-radius:3px;font-family:var(--f-mono);font-size:12px;line-height:1.6;vertical-align:baseline;border:1px solid currentColor;white-space:nowrap;margin:0 1px}.pill-glyph{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;min-width:14px;padding:0 2px;border-radius:2px;background:#ffffff80}.pill-name{font-weight:500}.pill-value{padding:0 4px;border-left:1px solid currentColor;margin-left:2px;font-variant-numeric:tabular-nums;opacity:.85}.pill-arrow{font-family:var(--f-serif);font-style:italic;font-size:13px;opacity:.5}.pill-action{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;border:1px solid currentColor;background:transparent;color:inherit;padding:1px 6px;border-radius:2px;cursor:pointer;margin-left:2px}.pill-action:hover{background:currentColor;filter:invert(1) hue-rotate(180deg)}.rule-pill{background:var(--color-paper-elevated);cursor:pointer;font:inherit;font-size:12px;transition:all .12s}.rule-pill:hover{transform:translateY(-1px)}.rule-pill.verdict-holds{color:var(--color-success);background:var(--color-success-light)}.rule-pill.verdict-fails{color:var(--color-error);background:var(--color-error-light)}.rule-pill.verdict-undet{color:var(--color-warning);background:#b453090f}.rule-pill.verdict-numeric{color:var(--color-accent);background:var(--color-accent-light)}.input-pill{background:var(--color-paper-elevated)}.input-pill-user{color:var(--color-success);background:var(--color-success-light)}.input-pill-default{color:var(--color-warning);background:#b453090f;border-style:dashed}.rule-modal-input-summary{display:flex;flex-direction:column;gap:0;background:var(--color-rule-subtle);border:1px solid var(--color-rule);border-radius:4px;overflow:hidden}.rule-modal-summary-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-rule)}.rule-modal-summary-row:last-child{border-bottom:none}.rule-modal-summary-label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-muted)}.rule-modal-summary-value{font-family:var(--f-display);font-weight:400;font-size:22px;color:var(--color-ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rule-modal-footer{border-top:1px solid var(--color-rule);padding:18px 36px;display:flex;justify-content:flex-end;gap:12px;background:var(--color-paper)}.rule-modal-footer:empty{display:none}.trace-source-badge{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:2px 7px;border-radius:2px;margin-left:8px;border:1px solid currentColor;cursor:default}.trace-source-badge.user{color:var(--color-success);background:var(--color-success-light)}.trace-source-badge.default{color:var(--color-warning);background:#b453090f}.expose-btn{border:1px solid var(--color-success);color:var(--color-success);background:var(--color-success-light);font:inherit;font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:2px 8px;border-radius:2px;margin-left:6px;cursor:pointer;transition:all .12s;flex-shrink:0}.expose-btn:hover{background:var(--color-success);color:var(--color-paper-elevated)}.add-output-btn{border:1px solid var(--color-accent);color:var(--color-accent);background:var(--color-accent-light);font:inherit;font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:2px 8px;border-radius:2px;margin-left:6px;cursor:pointer;transition:all .12s;flex-shrink:0}.add-output-btn:hover{background:var(--color-accent);color:var(--color-paper-elevated)}.irg-wrap{width:100%;height:calc(100vh - 180px);min-height:520px;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper);overflow:hidden;position:relative}.irg-wrap.irg-fullscreen{width:100vw;height:100vh;min-height:100vh;border-radius:0;border:none}.irg-toolbar{position:absolute;top:12px;right:56px;z-index:10;display:inline-flex;gap:6px;align-items:center}.irg-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border:1px solid var(--color-rule);background:var(--color-paper-elevated);color:var(--color-ink-secondary);border-radius:4px;cursor:pointer;font:inherit;font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:all .12s ease}.irg-toolbar-btn:hover{border-color:var(--color-ink);color:var(--color-ink)}.irg-toolbar-segment{display:inline-flex;background:var(--color-rule-subtle);border:1px solid var(--color-rule);border-radius:4px;padding:2px;height:32px;align-items:center;margin-right:4px}.irg-toolbar-segment .irg-toolbar-btn{border:1px solid transparent;background:transparent;height:26px;border-radius:3px}.irg-toolbar-segment .irg-toolbar-btn:hover{color:var(--color-ink);background:transparent}.irg-toolbar-segment .irg-toolbar-btn.is-active{background:var(--color-paper-elevated);color:var(--color-ink);border-color:var(--color-rule);box-shadow:0 1px 2px #1c19170f}.irg-fullscreen-btn{position:absolute;top:12px;right:12px;z-index:10;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-rule);background:var(--color-paper-elevated);color:var(--color-ink-secondary);border-radius:4px;cursor:pointer;transition:all .12s ease;padding:0}.irg-fullscreen-btn:hover{border-color:var(--color-ink);color:var(--color-ink);box-shadow:0 2px 4px #1c191714}.irg-fullscreen-btn:active{transform:scale(.96)}.irg-fullscreen-btn svg{display:block}.irg-handle{width:8px;height:8px;background:var(--color-ink-muted);border:1px solid var(--color-paper-elevated);opacity:0;pointer-events:none}.irg-node:hover .irg-handle{opacity:.5}.react-flow,.react-flow__background{background:var(--color-paper)}.irg-node{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px 14px;border-radius:4px;border:1px solid var(--color-rule);background:var(--color-paper-elevated);font-family:var(--f-body);font-size:12px;line-height:1.3;text-align:left;min-width:100px;width:100%;height:100%;box-sizing:border-box;overflow:visible;transition:all .12s ease}.irg-eyebrow{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted);margin-bottom:2px}.irg-status{font-weight:600}.irg-status-user{color:var(--color-success)}.irg-status-default{color:var(--color-warning)}.irg-popover{position:fixed;width:280px;background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:4px;padding:10px 12px 11px;box-shadow:0 8px 24px #00000024;z-index:100000;pointer-events:auto;text-align:left;white-space:normal;animation:irg-pop-in .14s ease-out forwards}.irg-popover-above{transform:translate(-50%,-100%);transform-origin:bottom center}.irg-popover-below{transform:translate(-50%);transform-origin:top center}.irg-popover-above:before,.irg-popover-below:before{content:"";position:absolute;left:0;right:0;height:12px}.irg-popover-above:before{top:100%}.irg-popover-below:before{bottom:100%}@keyframes irg-pop-in{0%{opacity:0}to{opacity:1}}.irg-pop-eyebrow{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px}.irg-pop-title{font-family:var(--f-mono);font-size:12px;font-weight:500;color:var(--color-ink);margin-bottom:6px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.irg-pop-formula{font-family:var(--f-mono);font-size:11px;color:var(--color-ink-secondary);background:var(--color-rule-subtle);border-radius:3px;padding:5px 7px;margin:4px 0 6px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.irg-pop-cite{font-family:var(--f-serif);font-style:italic;font-size:11.5px;color:var(--color-ink-secondary);margin-bottom:4px;line-height:1.4}.irg-pop-legalid{font-family:var(--f-mono);font-size:10.5px;color:var(--color-ink-muted);margin-bottom:8px;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}.irg-pop-link{display:inline-block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;color:var(--color-accent);text-decoration:none;border-bottom:1px solid var(--color-accent-line);padding-bottom:1px}.irg-pop-link:hover{color:var(--color-accent-hover);border-bottom-color:var(--color-accent)}.react-flow__node.irg-rf-dimmed{opacity:.18;transition:opacity .14s ease}.react-flow__node.irg-rf-on-path{opacity:1;transition:opacity .14s ease;z-index:2}.react-flow__edge.irg-rf-dimmed{opacity:.12;transition:opacity .14s ease}.react-flow__edge.irg-rf-on-path{opacity:1;transition:opacity .14s ease}.react-flow__edge.irg-rf-on-path .react-flow__edge-path{stroke-width:2.4!important;stroke:var(--color-accent)!important}.react-flow__edge.irg-rf-on-path .react-flow__arrowhead path,.react-flow__edge.irg-rf-on-path marker path{fill:var(--color-accent)!important}.irg-label{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--color-ink);white-space:normal;overflow-wrap:break-word;word-break:break-word;line-height:16px}.irg-op-label{font-family:var(--f-mono);font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--color-ink);text-align:center}.irg-value{font-family:var(--f-display);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-ink);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.irg-action{font-family:var(--f-mono);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin-top:6px;padding:4px 6px 2px;border-top:1px solid var(--color-rule-subtle);border-radius:0 0 3px 3px;margin-left:-6px;margin-right:-6px;transition:background .12s ease,color .12s ease}.irg-action-clickable{cursor:pointer}.irg-action-clickable:hover{background:var(--color-accent-light);color:var(--color-accent-hover)}.irg-action-secondary{color:var(--color-ink-muted)}.irg-action-secondary:hover{background:var(--color-rule-subtle);color:var(--color-ink)}.irg-info-badge{position:absolute;top:6px;right:6px;width:16px;height:16px;border-radius:50%;background:var(--color-paper);border:1px solid var(--color-rule);color:var(--color-ink-muted);font-family:var(--f-serif);font-style:italic;font-size:11px;font-weight:500;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:help;transition:background .12s ease,color .12s ease,border-color .12s ease;z-index:3}.irg-info-badge:hover,.irg-info-badge:focus,.irg-info-badge.is-open{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink);outline:none}.irg-output{border:1.5px solid var(--color-ink);background:var(--color-paper-elevated);position:relative}.irg-output:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-ink));border-radius:4px 4px 0 0}.irg-output.irg-holds{border-color:var(--color-success)}.irg-output.irg-fails{border-color:var(--color-error)}.irg-output.irg-numeric{border-color:var(--color-accent)}.irg-input{border-radius:22px;padding-left:20px;padding-right:20px}.irg-input.irg-input-user{border-color:var(--color-success);background:var(--color-success-light)}.irg-input.irg-input-default{border-color:var(--color-warning);background:#b453090a;border-style:dashed}.irg-input.irg-can-expose{cursor:pointer}.irg-input.irg-can-expose:hover{border-color:var(--color-success);border-style:solid;transform:translateY(-2px);box-shadow:0 4px 12px -4px #16653440}.irg-operator{text-align:center;align-items:center;justify-content:center}.irg-operator.irg-holds{border-color:var(--color-success);background:var(--color-success-light)}.irg-operator.irg-fails{border-color:var(--color-error);background:var(--color-error-light)}.irg-operator.irg-undet{border-color:var(--color-warning);background:#b453090f}.irg-operator.irg-numeric{border-color:var(--color-accent);background:var(--color-accent-light)}.irg-operator.irg-neutral{border-color:var(--color-ink-muted);background:var(--color-rule-subtle)}.irg-ifgate{text-align:center;align-items:center;border-width:2px}.irg-ifgate.irg-holds{border-color:var(--color-success);background:var(--color-success-light)}.irg-ifgate.irg-fails{border-color:var(--color-error);background:var(--color-error-light)}.irg-ifgate.irg-undet{border-color:var(--color-warning);background:#b453090f}.irg-ifgate.irg-numeric{border-color:var(--color-accent);background:var(--color-accent-light)}.irg-ifgate.irg-neutral{border-color:var(--color-ink);background:var(--color-paper-elevated)}.irg-rule.irg-can-expand{cursor:pointer}.irg-rule.irg-can-expand:hover{transform:translateY(-2px);box-shadow:0 4px 12px -4px #1c191733}.irg-rule.irg-holds{border-color:var(--color-success);background:var(--color-success-light)}.irg-rule.irg-fails{border-color:var(--color-error);background:var(--color-error-light)}.irg-rule.irg-numeric{border-color:var(--color-accent);background:var(--color-accent-light)}.irg-literal{font-family:var(--f-mono);font-weight:500;font-size:12px;text-align:center;align-items:center;justify-content:center;background:var(--color-rule-subtle);border-color:var(--color-rule);font-variant-numeric:tabular-nums;padding:8px 12px}.irg-unknown{background:var(--color-rule-subtle);border-style:dashed;border-color:var(--color-ink-muted)}.irg-unknown .irg-label{font-style:italic;color:var(--color-ink-muted)}.irg-unknown .irg-eyebrow{color:var(--color-ink-muted)}.react-flow__edge.irg-edge-default .react-flow__edge-path{stroke:#78716c;stroke-width:1.5}.react-flow__edge.irg-edge-pass .react-flow__edge-path{stroke:#166534;stroke-width:2}.react-flow__edge.irg-edge-fail .react-flow__edge-path{stroke:#991b1b;stroke-width:2}.react-flow__edge.irg-edge-dim .react-flow__edge-path{stroke:#a8a29e;stroke-dasharray:5 4;opacity:.55}.react-flow__edge.selected .react-flow__edge-path{stroke-width:3}.react-flow__edge .react-flow__edge-text{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;fill:var(--color-ink-secondary)}.react-flow__edge .react-flow__edge-textbg{fill:var(--color-paper-elevated)}.react-flow__controls{border:1px solid var(--color-rule);border-radius:4px;box-shadow:none!important;background:var(--color-paper-elevated)!important}.react-flow__controls-button{background:var(--color-paper-elevated)!important;border-bottom:1px solid var(--color-rule)!important;color:var(--color-ink)!important}.react-flow__controls-button:hover{background:var(--color-rule-subtle)!important}.react-flow__minimap{border-radius:4px;margin:8px}.react-flow__minimap-mask{fill:#92400e0f;stroke:var(--color-accent);stroke-width:1}.react-flow__attribution{display:none}.react-flow__node{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;box-shadow:none!important}.react-flow__node:focus,.react-flow__node:focus-visible,.react-flow__node.selected{outline:none!important;box-shadow:none!important}.react-flow__node.selected .irg-node{box-shadow:0 0 0 3px var(--color-accent-light)}.structure-preview{display:flex;flex-direction:column;gap:28px}.structure-output{border:1px solid var(--color-rule);background:var(--color-paper-elevated);border-radius:4px;overflow:hidden}.structure-output-head{padding:18px 20px 14px;border-bottom:1px solid var(--color-rule);background:var(--color-paper)}.structure-output-eyebrow{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.structure-output-name{font-family:var(--f-display);font-weight:400;font-size:18px;margin:4px 0 0;color:var(--color-ink);letter-spacing:-.01em}.structure-output-source{font-family:var(--f-serif);font-style:italic;font-size:13px;color:var(--color-ink-muted);margin:6px 0 0}.structure-output>section.results{position:static;padding:16px 20px}.structure-output .hero-result,.structure-output .ledger,.structure-output .info-pill{display:none}.structure-output .explanation{margin-top:0}.structure-output .explanation>summary{display:none}.structure-output .explanation .explanation-block{border:none;padding:0}.structure-output .explanation-head{display:none}.coverage-strip{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--color-rule);border-radius:3px;background:var(--color-paper-elevated)}.coverage-strip.thin{border-color:var(--color-warning);background:#b453090a}.coverage-strip.frozen{border-color:var(--color-error);background:#991b1b0a}.coverage-bar{position:relative;height:4px;background:var(--color-rule);border-radius:999px;overflow:hidden}.coverage-bar>span{position:absolute;left:0;top:0;bottom:0;background:var(--color-accent);border-radius:999px;transition:width .2s var(--ease-out)}.coverage-strip.frozen .coverage-bar>span{background:var(--color-error)}.coverage-meta{font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--color-ink)}.coverage-meta strong{color:var(--color-success);font-weight:500}.coverage-strip.frozen .coverage-meta strong{color:var(--color-error)}.coverage-warning{font-family:var(--f-serif);font-style:italic;font-size:12px;color:var(--color-warning);text-transform:none;letter-spacing:normal;margin-left:4px}.coverage-strip.frozen .coverage-warning{color:var(--color-error)}.info-pill{display:inline-flex;align-items:center;gap:8px;background:var(--color-rule-subtle);border:1px solid var(--color-rule);color:var(--color-ink-secondary);border-radius:999px;padding:4px 12px;font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;cursor:default;width:max-content}.info-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-warning)}.warning{background:var(--color-error-light);border:1px solid rgba(153,27,27,.3);color:var(--color-error);border-radius:3px;padding:12px 16px;font-size:13px;margin-bottom:12px}.muted{color:var(--color-ink-muted)}code{font-family:var(--f-mono);font-size:.85em;color:var(--color-accent);background:var(--color-accent-light);padding:1px 6px;border-radius:2px}:root{--f-display: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--f-body: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--f-mono: "Geist Mono", ui-monospace, "SF Mono", monospace;--f-serif: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-paper: #faf9f6;--color-paper-elevated: #ffffff;--color-ink: #1c1917;--color-ink-secondary: #57534e;--color-ink-muted: #78716c;--color-rule: #e7e5e4;--color-rule-subtle: #f5f5f4;--color-accent: #92400e;--color-accent-hover: #7c2d12;--color-accent-light: rgba(146, 64, 14, .06);--color-accent-line: rgba(146, 64, 14, .15);--color-success: #166534;--color-success-light: rgba(22, 101, 52, .08);--color-warning: #b45309;--color-warning-light: rgba(180, 83, 9, .08);--color-error: #991b1b;--color-error-light: rgba(153, 27, 27, .08);--ease-out: cubic-bezier(.16, 1, .3, 1);font-family:var(--f-body);font-feature-settings:"kern","liga","calt","ss01";color:var(--color-ink);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}*{box-sizing:border-box}body,html,#root{margin:0;padding:0;min-height:100vh;background:var(--color-paper)}.app{position:relative;display:grid;grid-template-rows:auto 1fr;min-height:100vh;z-index:1}.app-header{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(280px,1fr);align-items:center;gap:24px;padding:18px 36px;border-bottom:1px solid var(--color-rule);background:var(--color-paper);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px;background:var(--color-ink);color:var(--color-paper);font-family:var(--f-serif);font-style:italic;font-weight:400;font-size:16px;line-height:1}.brand-mark-logo{display:inline-block;width:28px;height:28px;border-radius:4px;background:var(--color-paper-elevated);border:1px solid var(--color-rule);padding:1px;box-sizing:border-box}.brand-title{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted)}.brand-title strong{color:var(--color-ink);font-weight:500}.app-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center}.steps{display:flex;align-items:center;gap:6px;justify-content:center}.step-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--color-ink-muted);font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .15s var(--ease-out);white-space:nowrap;font:inherit}.step-pill:hover:not(:disabled){color:var(--color-ink);background:var(--color-rule-subtle)}.step-pill .step-num{font-family:var(--f-serif);font-style:italic;font-size:13px;letter-spacing:0}.step-pill.active{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.step-pill.active .step-num{color:var(--color-paper)}.step-pill.complete,.step-pill.complete .step-num{color:var(--color-accent)}.step-pill:disabled{cursor:not-allowed;opacity:.45}.steps-divider{width:16px;height:1px;background:var(--color-rule)}.workspace{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.workspace.wizard-centered{grid-template-columns:minmax(0,1fr)}.workspace.wizard-centered .wizard-pane{max-width:760px;width:100%;margin:0 auto;padding:96px 56px 64px;gap:48px}.workspace.wizard-centered .step-content>header,.workspace.wizard-centered>main>.step-content header,.workspace.wizard-centered .wizard-pane>header,.workspace.wizard-centered .step-content header{text-align:center}.workspace.wizard-centered .step-eyebrow{justify-content:center}.workspace.wizard-centered .step-heading{font-size:clamp(2.2rem,3.6vw,3.2rem);margin-top:24px;margin-bottom:24px;line-height:1.1}.workspace.wizard-centered .step-lede{font-size:18px;margin-left:auto;margin-right:auto;max-width:56ch;line-height:1.65}.step-program-landing{align-items:stretch}.step-program-landing .program-list{margin-top:24px}.program-pilot-note{font-family:var(--f-serif);font-style:italic;font-size:13px;color:var(--color-ink-muted);text-align:center;margin:8px auto 0;max-width:56ch}.program-back-btn{align-self:center;margin-top:8px}.program-change-btn{align-self:center;margin-top:4px;font-family:var(--f-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.wizard-pane{padding:32px 56px 56px;display:flex;flex-direction:column;gap:24px;max-width:1280px;width:100%;margin:0 auto}.preview-pane{border-left:1px solid var(--color-rule);background:var(--color-paper-elevated);padding:32px 36px;overflow-y:auto;overflow-x:hidden;max-height:calc(100vh - 65px);min-width:0;transition:padding .2s var(--ease-out)}.workspace.preview-collapsed .preview-pane{padding:0;overflow:hidden}.preview-collapsed-handle{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px 0;border:none;background:var(--color-paper-elevated);cursor:pointer;font:inherit;color:var(--color-ink-muted);transition:background .18s var(--ease-out),color .18s var(--ease-out)}.preview-collapsed-handle:hover{background:var(--color-rule-subtle);color:var(--color-ink)}.preview-collapsed-handle .chevron{font-size:18px;font-weight:300;line-height:1}.preview-collapsed-handle .rail-label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.preview-rail-info{display:flex;align-items:center;justify-content:center;height:100%;padding:24px 0;color:var(--color-ink-muted)}.preview-rail-info .rail-label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.publish-step{display:flex;flex-direction:column;gap:0}.publish-bar{background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:4px;padding:20px 22px;margin-bottom:24px}.publish-bar .meta-grid{margin-bottom:0}.publish-divider{display:flex;align-items:center;gap:18px;margin:8px 0 28px}.publish-divider:before,.publish-divider:after{content:"";flex:1;height:1px;background:var(--color-rule)}.publish-divider span{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.publish-preview{border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper-elevated);padding:32px}.publish-divider-toggle{margin:16px 0 32px}.publish-divider-toggle:before,.publish-divider-toggle:after{background:var(--color-rule)}.preview-view-toggle{display:inline-flex;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper-elevated);overflow:hidden}.preview-view-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 22px;border:0;background:transparent;font:inherit;color:var(--color-ink-muted);cursor:pointer;font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;transition:background .12s,color .12s}.preview-view-tab+.preview-view-tab{border-left:1px solid var(--color-rule)}.preview-view-tab:hover{background:var(--color-rule-subtle);color:var(--color-ink)}.preview-view-tab.is-active{background:var(--color-ink);color:var(--color-paper)}.preview-view-tab-sub{font-family:var(--f-serif);font-style:italic;font-size:11px;letter-spacing:0;text-transform:none;color:inherit;opacity:.75}.publish-preview .dashboard{font-size:15px}@media (max-width: 1080px){.workspace{grid-template-columns:1fr}.preview-pane{border-left:none;border-top:1px solid var(--color-rule);max-height:none}.wizard-pane{max-height:none;padding:32px 24px}}.wizard-pane>header{text-align:center}.step-eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent);margin-bottom:12px}.step-eyebrow:before{content:"";width:24px;height:1px;background:var(--color-accent-line)}.step-eyebrow .marker{font-family:var(--f-serif);font-style:italic;font-size:13px;letter-spacing:0;text-transform:none;color:var(--color-accent)}.step-heading{font-family:var(--f-display);font-weight:300;font-size:clamp(1.5rem,2.2vw,2rem);line-height:1.15;letter-spacing:.05em;text-transform:uppercase;color:var(--color-ink);margin:8px 0 14px;text-align:center}.step-heading em{font-family:var(--f-serif);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;color:var(--color-accent)}.step-lede{font-family:var(--f-serif);font-size:15px;line-height:1.55;color:var(--color-ink-secondary);max-width:60ch;margin:0 auto 20px;text-align:center}.step-lede em{color:var(--color-accent);font-style:italic}.card-edition{position:relative;background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:4px;padding:24px;transition:border-color .2s var(--ease-out)}.card-edition:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-ink));opacity:0;transition:opacity .2s var(--ease-out)}.card-edition.is-active:before{opacity:1}.card-edition:hover{border-color:var(--color-ink-secondary)}.step-body{display:flex;flex-direction:column;gap:20px}.empty-hint{font-family:var(--f-serif);font-style:italic;color:var(--color-ink-muted);font-size:14px;padding:12px 0}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-rule);background:var(--color-paper-elevated);color:var(--color-ink);border-radius:3px;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer;transition:all .15s var(--ease-out)}.btn:hover:not(:disabled){border-color:var(--color-ink)}.btn.primary{background:var(--color-ink);color:var(--color-paper-elevated);border-color:var(--color-ink);font-weight:500;padding:9px 18px}.btn.primary:hover:not(:disabled){background:var(--color-accent);border-color:var(--color-accent)}.btn.secondary{background:transparent}.btn.ghost{border-color:transparent;background:transparent;color:var(--color-ink-secondary);padding:4px 8px}.btn.ghost:hover{color:var(--color-ink);border-color:transparent;background:var(--color-rule-subtle)}.btn.danger{color:var(--color-error);border-color:transparent;background:transparent;padding:4px 8px;font-size:16px;line-height:1}.btn.danger:hover{background:#991b1b14;border-color:transparent}.btn:disabled{opacity:.4;cursor:not-allowed}.wizard-nav{position:sticky;bottom:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:16px 0 18px;border-top:1px solid var(--color-rule);margin-top:12px;background:#faf9f6eb;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px)}.wizard-nav .step-progress{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted)}.wizard-nav .nav-actions{display:flex;gap:10px}.program-card{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--color-rule);border-radius:4px;background:var(--color-paper-elevated)}.program-marker{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--color-ink);border-radius:3px;font-family:var(--f-serif);font-style:italic;color:var(--color-ink);font-size:18px}.program-info .name{font-weight:500;font-size:15px;color:var(--color-ink)}.program-info .summary{font-family:var(--f-serif);font-size:13px;color:var(--color-ink-secondary);margin-top:2px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.program-info .repo{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-top:6px}.chips{display:flex;flex-direction:column;gap:4px}.chip{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:14px 16px;background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:3px;transition:border-color .15s var(--ease-out)}.chip:hover{border-color:var(--color-ink-muted)}.chip>label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;flex:1;min-width:0}.chip input[type=checkbox]{margin-top:3px;accent-color:var(--color-accent)}.chip .label{font-size:14px;font-weight:500;color:var(--color-ink);display:block}.chip .legal-id{font-family:var(--f-mono);font-size:10.5px;color:var(--color-ink-muted);display:block;margin-top:4px;word-break:break-all}.chip-actions{display:flex;gap:6px;align-items:center}.kind-badge{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:2px;border:1px solid currentColor;white-space:nowrap}.kind-badge.judgment{color:var(--color-accent)}.kind-badge.money{color:var(--color-success)}.kind-badge.decimal,.kind-badge.integer{color:var(--color-ink-secondary)}.depth-badge{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:2px;background:var(--color-rule-subtle);color:var(--color-ink-muted);white-space:nowrap}.depth-badge.headline{background:var(--color-accent-light);color:var(--color-accent)}.inline-edit{display:grid;gap:10px;padding:16px;background:var(--color-rule-subtle);border-left:2px solid var(--color-accent-line);margin:4px 0 8px 24px;border-radius:0 3px 3px 0}.inline-edit>label{display:grid;gap:4px;font-family:var(--f-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-muted);font-weight:500}.inline-edit input,.inline-edit select{border:1px solid var(--color-rule);border-radius:3px;padding:6px 8px;font:inherit;font-size:13px;background:var(--color-paper-elevated);text-transform:none;letter-spacing:normal;color:var(--color-ink)}.inline-edit input:focus,.inline-edit select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.inline-edit .checkbox-row{display:flex;align-items:center;gap:8px;font-family:var(--f-body);text-transform:none;letter-spacing:normal;color:var(--color-ink);font-size:13px}.inline-edit .checkbox-row input{accent-color:var(--color-accent)}.toggle-show-all{background:none;border:none;color:var(--color-accent);font:inherit;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:8px 0;text-align:left}.toggle-show-all:hover{color:var(--color-accent-hover);text-decoration:underline}.meta-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.field{display:grid;gap:6px}.field label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-muted)}.field input,.field textarea{border:1px solid var(--color-rule);border-radius:3px;padding:9px 12px;font:inherit;font-size:14px;background:var(--color-paper-elevated);color:var(--color-ink)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.published-callout{position:relative;padding:18px 20px;background:var(--color-paper-elevated);border:1px solid var(--color-ink);border-radius:4px;margin-top:16px;display:grid;gap:6px}.published-callout:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-ink))}.published-callout .label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent)}.published-callout .url{font-family:var(--f-mono);font-size:13px;color:var(--color-ink);word-break:break-all}.published-callout .url-actions{display:flex;gap:8px;margin-top:8px}.export-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:20px}.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;border-top:1px solid var(--color-rule);padding-top:16px}.export-format{display:flex;flex-direction:column;gap:6px}.export-format-label{font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.export-format-actions{display:flex;gap:8px}.export-format-actions .btn{flex:1}.preview-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.preview-title .eyebrow{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.preview-title .meta-note{font-family:var(--f-serif);font-style:italic;font-size:12px;color:var(--color-ink-muted)}.preview-empty{border:1px dashed var(--color-rule);border-radius:4px;padding:64px 24px;text-align:center;color:var(--color-ink-muted);font-family:var(--f-serif);font-style:italic;font-size:14px}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c19178c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:80px;z-index:50;animation:fade-in .2s var(--ease-out)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.palette{width:min(680px,90vw);max-height:70vh;background:var(--color-paper-elevated);border:1px solid var(--color-ink);border-radius:4px;box-shadow:0 30px 60px -20px #1c191766;display:flex;flex-direction:column;overflow:hidden;position:relative}.palette:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-ink))}.palette.palette-large{width:min(820px,92vw);max-height:78vh}.palette-input{border:none;border-bottom:1px solid var(--color-rule);padding:18px 22px;font:inherit;font-size:16px;outline:none;background:transparent;color:var(--color-ink)}.palette-input::placeholder{color:var(--color-ink-muted)}.palette-controls{display:flex;justify-content:space-between;align-items:center;padding:10px 22px;border-bottom:1px solid var(--color-rule);background:var(--color-rule-subtle);font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;color:var(--color-ink-muted)}.palette-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;text-transform:none;letter-spacing:.04em;font-family:var(--f-body);font-size:12px}.palette-toggle input{accent-color:var(--color-accent)}.palette-results{overflow-y:auto;flex:1}.palette-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px 22px;border-bottom:1px solid var(--color-rule-subtle);cursor:pointer;transition:background .1s}.palette-row:hover,.palette-row.active{background:var(--color-accent-light)}.palette-row .name{font-weight:500;font-size:14px;color:var(--color-ink)}.palette-row .legal-id{font-family:var(--f-mono);color:var(--color-ink-muted);font-size:11px;display:block;margin-top:4px;word-break:break-all}.palette-row .meta{font-family:var(--f-mono);font-size:10px;color:var(--color-ink-muted);text-align:right;letter-spacing:.1em;text-transform:uppercase}.palette-row.program-row{padding:14px 22px}.palette-row.program-row .name{font-size:14px;line-height:1.4}.kind-pill{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border-radius:2px;white-space:nowrap;border:1px solid currentColor}.kind-policies{color:var(--color-accent);background:var(--color-accent-light)}.kind-regulations{color:var(--color-ink-secondary);background:var(--color-rule-subtle)}.kind-statutes{color:var(--color-warning);background:#b453090f}.muted{color:var(--color-ink-muted);font-size:13px}.warning{background:#b4530914;border:1px solid rgba(180,83,9,.3);color:var(--color-warning);border-radius:3px;padding:10px 14px;font-size:13px;margin-bottom:12px}.summary-stats{display:flex;gap:18px;font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;color:var(--color-ink-muted);text-transform:uppercase}.summary-stats strong{color:var(--color-ink);font-weight:500}.selected-panel{margin-bottom:4px;padding:14px 16px 16px;background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:4px;position:relative}.selected-panel:before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(to right,var(--color-accent),var(--color-ink));border-radius:4px 4px 0 0}.selected-panel-head{margin-bottom:12px}.selected-panel-eyebrow{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.selected-panel-eyebrow strong{font-weight:600;color:var(--color-ink)}.step-body.step-narrow{max-width:820px;width:100%;margin-left:auto;margin-right:auto}.picked-strip{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 0;margin-bottom:8px;background:var(--color-paper);border-bottom:1px solid var(--color-rule)}.picked-strip-head{flex-shrink:0}.picked-strip-label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--color-accent)}.picked-strip-label strong{font-weight:600;color:var(--color-ink)}.picked-strip-pills{display:flex;flex-wrap:wrap;gap:6px;flex:1;min-width:0}.selected-pills{display:flex;flex-wrap:wrap;gap:6px}.selected-pill{display:inline-flex;align-items:center;gap:8px;padding:4px 6px 4px 12px;border:1px solid var(--color-accent-line);border-radius:999px;background:var(--color-accent-light);font-family:var(--f-body);font-size:12.5px;color:var(--color-ink);max-width:100%;cursor:default}.selected-pill .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.selected-pill .meta{font-family:var(--f-serif);font-style:italic;color:var(--color-ink-muted);font-size:11.5px;font-weight:400}.selected-pill-indent{margin-left:18px;background:transparent;border-color:var(--color-rule)}.selected-pill-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-ink-muted);font-size:13px;line-height:1;cursor:pointer;transition:background .12s,color .12s}.selected-pill-remove:hover{background:var(--color-ink);color:var(--color-paper)}.selected-pill-edit{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--color-ink-muted);border:0;background:transparent;padding:0 2px;cursor:pointer;transition:color .12s}.selected-pill-edit:hover{color:var(--color-accent)}.inline-search{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.inline-search-input{width:100%;border:1px solid var(--color-rule);border-radius:3px;padding:9px 12px;font:inherit;font-size:13px;background:var(--color-paper);color:var(--color-ink)}.inline-search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.inline-search-input::placeholder{color:var(--color-ink-muted)}.chip.chip-selected{border-color:var(--color-ink);background:var(--color-paper-elevated);box-shadow:0 0 0 1px var(--color-ink)}.chip.chip-selected .label{color:var(--color-ink)}.rule-list{display:flex;flex-direction:column;gap:4px}.rule-list-grouped{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;padding:4px 0 8px 14px}@media (max-width: 720px){.rule-list-grouped{grid-template-columns:minmax(0,1fr)}}.rule-toggle{display:flex;align-items:center;gap:8px;width:100%;font:inherit;font-size:13px;font-weight:400;color:var(--color-ink);text-align:left;background:transparent;border:0;border-left:2px solid transparent;border-radius:3px;padding:7px 10px 7px 8px;cursor:pointer;min-width:0;transition:background .12s var(--ease-out),border-color .12s var(--ease-out),color .12s var(--ease-out)}.rule-toggle:hover{background:var(--color-rule-subtle)}.rule-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.rule-toggle.is-selected{background:var(--color-accent-light, rgba(180, 83, 9, .1));border-left-color:var(--color-accent);color:var(--color-ink);font-weight:500}.rule-toggle.is-selected:hover{background:var(--color-accent-light, rgba(180, 83, 9, .16))}.rule-toggle-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rule-toggle-action{flex-shrink:0;font:inherit;font-size:11px;font-weight:500;letter-spacing:.04em;padding:3px 8px;border:1px solid transparent;border-radius:3px;background:transparent;color:var(--color-ink-muted);cursor:pointer;transition:background .12s var(--ease-out),color .12s var(--ease-out),border-color .12s var(--ease-out)}.rule-toggle-action:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-paper)}.per-member-tag{display:inline-block;margin-left:8px;padding:1px 6px;font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-radius:3px;background:var(--color-rule-subtle);color:var(--color-ink-muted);vertical-align:middle}.rule-toggle-mark{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink-muted);font-family:var(--f-mono);font-size:12px;font-weight:500;line-height:1;transition:background .12s var(--ease-out),border-color .12s var(--ease-out),color .12s var(--ease-out),transform .12s var(--ease-out)}.rule-toggle:hover .rule-toggle-mark{border-color:var(--color-accent);color:var(--color-accent)}.rule-toggle-mark.is-on{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.rule-toggle.is-selected:hover .rule-toggle-mark.is-on{background:var(--color-ink);border-color:var(--color-ink)}.rule-group{background:var(--color-paper-elevated);border:1px solid var(--color-rule);border-radius:4px;margin-bottom:8px;overflow:hidden}.rule-group-head-row{display:flex;align-items:stretch;background:var(--color-rule-subtle);border-bottom:1px solid var(--color-rule)}.rule-group-head{flex:1;display:flex;align-items:center;gap:12px;padding:10px 14px;border:none;background:transparent;font:inherit;cursor:pointer;text-align:left;transition:background .12s;min-width:0}.rule-group-source-link{display:inline-flex;align-items:center;justify-content:center;width:36px;border-left:1px solid var(--color-rule);color:var(--color-ink-muted);text-decoration:none;font-family:var(--f-body);font-size:14px;transition:all .12s}.rule-group-source-link:hover{background:var(--color-accent-light);color:var(--color-accent)}.rule-group-head:hover{background:var(--color-accent-light)}.rule-group-head-static{cursor:default}.rule-group-head-static:hover{background:var(--color-rule-subtle)}.rule-group-chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--color-paper);border:1px solid var(--color-rule);color:var(--color-ink);font-size:11px;flex-shrink:0;transition:background .14s var(--ease-out),border-color .14s var(--ease-out),color .14s var(--ease-out)}.rule-doc-head:hover .rule-group-chevron,.rule-doc-head[aria-expanded=true] .rule-group-chevron{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.rule-group-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.rule-group-label{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--color-ink);text-transform:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-group-preview{font-family:var(--f-serif);font-style:italic;font-size:12.5px;color:var(--color-ink-secondary);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rule-group-label.rule-group-featured{color:var(--color-accent);letter-spacing:.18em;text-transform:uppercase;font-size:10px}.rule-group-meta{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);flex-shrink:0}.group-selected-count{color:var(--color-accent)}.group-rule-count{color:var(--color-ink-muted)}.rule-doc{background:transparent;border:0;border-top:1px solid var(--color-rule-subtle);border-radius:0;margin-bottom:0}.rule-doc:last-child{border-bottom:1px solid var(--color-rule-subtle)}.rule-doc-headlines{border-top:0;border-left:2px solid var(--color-accent-line);margin-bottom:8px;padding-left:6px}.rule-doc-headlines+.rule-doc{border-top:1px solid var(--color-rule-subtle)}.rule-doc-head{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 8px;border:none;border-left:2px solid transparent;border-radius:4px;background:transparent;font:inherit;cursor:pointer;text-align:left;transition:background .14s var(--ease-out),border-color .14s var(--ease-out),color .14s var(--ease-out)}.rule-doc-head:hover{background:var(--color-rule-subtle);border-left-color:var(--color-accent)}.rule-doc-head:hover .rule-doc-label{color:var(--color-accent)}.rule-doc-head:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.rule-doc-head[aria-expanded=true]{border-left-color:var(--color-accent)}.rule-doc-head-static{cursor:default}.rule-doc-head-static:hover{background:transparent;border-left-color:transparent}.rule-doc-head-static:hover .rule-doc-label{color:var(--color-ink)}.rule-doc-label{font-family:var(--f-body);font-size:13px;font-weight:500;letter-spacing:0;color:var(--color-ink);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-doc-meta{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-ink-muted);flex-shrink:0}.rule-doc-body{padding:0 0 8px 14px}.rule-section{border-top:1px solid var(--color-rule-subtle)}.rule-doc-body>.rule-section:first-child{border-top:0}.rule-section-head{display:flex;align-items:center;gap:10px;padding:10px 18px 6px}.rule-section-label{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--color-ink-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-section-meta{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;color:var(--color-ink-muted);flex-shrink:0}.rule-section .rule-list{padding:0 8px 8px}.dtype-glyph{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:3px;font-family:var(--f-mono);font-size:12px;font-weight:500;flex-shrink:0;border:1px solid currentColor;background:var(--color-paper-elevated)}.dtype-glyph.glyph-judgment{color:var(--color-accent);background:var(--color-accent-light)}.dtype-glyph.glyph-money{color:var(--color-success);background:var(--color-success-light)}.dtype-glyph.glyph-decimal,.dtype-glyph.glyph-integer{color:var(--color-ink-secondary);background:var(--color-rule-subtle)}.dtype-glyph.glyph-boolean,.dtype-glyph.glyph-date{color:var(--color-ink-muted);background:var(--color-rule-subtle)}.dtype-glyph.glyph-relation{color:var(--color-warning);background:#b453090f;font-size:13px}.dtype-glyph.glyph-default{color:var(--color-ink-muted)}.inline-edit-legalid{font-family:var(--f-mono);font-size:10.5px;color:var(--color-ink-muted);word-break:break-all;padding-bottom:8px;border-bottom:1px solid var(--color-rule);margin-bottom:4px}.inline-edit-meta{font-family:var(--f-serif);font-style:italic;font-size:12px;color:var(--color-ink-muted);margin-bottom:4px}.terminal-tag{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);padding:2px 8px;border-radius:2px;background:var(--color-accent-light)}.chip.chip-blocked{opacity:.5;background:var(--color-rule-subtle);cursor:not-allowed}.chip.chip-blocked:hover{border-color:var(--color-rule)}.chip.chip-blocked .label{color:var(--color-ink-muted)}.chip.chip-blocked input[type=checkbox]{cursor:not-allowed}.blocked-tag{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-error);padding:2px 8px;border-radius:2px;background:var(--color-error-light);margin-left:8px}.per-member-tag{font-family:var(--f-mono);font-size:9.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-warning);padding:2px 7px;border-radius:2px;background:#b453090f;border:1px solid rgba(180,83,9,.2);margin-left:8px}.chip>label{align-items:center}.chip .label{display:inline;font-size:14px;font-weight:500}.inline-search-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.program-list{display:flex;flex-direction:column;gap:6px}.program-row{display:block;text-align:left;border:1px solid var(--color-rule);background:var(--color-paper-elevated);border-radius:3px;padding:22px 26px;font:inherit;cursor:pointer;transition:all .15s var(--ease-out)}.program-row:hover{border-color:var(--color-ink);transform:translateY(-1px);box-shadow:0 4px 14px -8px #1c19172e}.program-row.is-current{border-color:var(--color-accent);background:var(--color-accent-light)}.program-row-main{min-width:0;display:flex;flex-direction:column;gap:6px}.program-row-main .name{font-weight:500;font-size:17px;color:var(--color-ink);line-height:1.35}.program-row-main .rest{font-family:var(--f-serif);font-style:italic;font-size:14px;color:var(--color-ink-secondary);line-height:1.55}.fleuron{display:flex;align-items:center;justify-content:center;gap:18px;margin:4px 0 12px;color:var(--color-ink-muted)}.fleuron:before,.fleuron:after{content:"";flex:1;height:1px;background:var(--color-rule)}.fleuron-mark{font-family:var(--f-serif);font-style:italic;font-size:16px;color:var(--color-accent)}.step-eyebrow,.selected-panel-eyebrow,.rule-doc-label,.rule-doc-meta,.rule-section-label,.rule-section-meta,.summary-stats,.summary-stats span,.export-format-label,.step-progress,.preview-divider span,.publish-divider span,.preview-view-tab,.brand-title,.terminal-tag,.blocked-tag,.per-member-tag,.group-rule-count,.group-selected-count,.rule-group-label,.rule-group-meta{font-family:var(--f-body);text-transform:none;letter-spacing:0}.step-eyebrow .marker{display:none}.step-eyebrow:before{display:none}.step-eyebrow{font-size:12px;font-weight:500;color:var(--color-ink-muted);margin-bottom:8px}.step-heading{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.15;letter-spacing:-.005em;text-transform:none;margin:6px 0 14px}.step-heading em{font-family:inherit;font-style:normal;font-weight:600;letter-spacing:inherit;text-transform:none;color:var(--color-accent)}.step-lede{font-family:var(--f-body);font-style:normal;font-size:16px;line-height:1.6;color:var(--color-ink-secondary);margin:0 auto 28px;max-width:60ch}.fleuron{display:none}.publish-divider span,.preview-divider span{font-size:12px;font-weight:500;color:var(--color-ink-muted)}.brand-title{font-size:13px;font-weight:500;color:var(--color-ink)}.selected-panel-eyebrow{font-size:12px;font-weight:500;color:var(--color-ink-muted)}.selected-panel-eyebrow strong{color:var(--color-ink)}.selected-pill{font-size:13px}.selected-pill .meta{font-style:normal;color:var(--color-ink-muted)}.rule-doc-label{font-size:14px;font-weight:600;color:var(--color-ink)}.rule-section-label{font-size:12.5px;font-weight:500;color:var(--color-ink-secondary)}.rule-doc-meta,.rule-section-meta,.summary-stats,.summary-stats span{font-size:12px;color:var(--color-ink-muted)}.program-row-main .rest{font-family:var(--f-body);font-style:normal;color:var(--color-ink-secondary)}.program-pilot-note{font-style:normal;color:var(--color-ink-muted)}.terminal-tag,.blocked-tag,.per-member-tag,.group-rule-count,.group-selected-count{font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}.step-with-sidebar .step-main{max-width:720px}.output-stage-prompt{font-size:13px;color:var(--color-ink-secondary);margin:0 0 10px;line-height:1.45}.output-stage-main{max-width:720px;margin:0 auto;align-items:stretch}.output-stage-main .output-stage-prompt{text-align:center;font-size:15px;margin-bottom:24px}.output-headline-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px}.output-headline-card{display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;padding:18px 18px 16px;border:1px solid var(--color-rule);border-radius:6px;background:var(--color-paper-elevated);font:inherit;cursor:pointer;transition:border-color .12s,background .12s,transform .12s}.output-headline-card:hover{border-color:var(--color-ink-muted);transform:translateY(-1px)}.output-headline-card.is-selected{border-color:var(--color-accent);background:var(--color-accent-light)}.output-headline-card-title{font-size:16px;font-weight:600;color:var(--color-ink);line-height:1.3}.output-headline-card-source{font-size:12px;color:var(--color-ink-muted)}.output-headline-card-state{margin-top:4px;font-size:11px;font-weight:500;color:var(--color-ink-muted)}.output-headline-card.is-selected .output-headline-card-state{color:var(--color-accent)}.output-advanced-toggle{align-self:flex-start;border:0;background:transparent;padding:6px 0;margin-top:4px;font:inherit;font-size:13px;color:var(--color-accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.output-advanced-toggle:hover{color:var(--color-accent-hover)}.output-main-bucket{margin-bottom:18px}.output-main-bucket-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 4px 6px;margin-bottom:0}.output-main-bucket-label{font-family:var(--f-mono);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent)}.output-main-bucket-meta{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted)}.review-step{max-width:760px;margin:0 auto;width:100%;transition:max-width .2s var(--ease-out)}.review-step.review-step-wide{max-width:none}.review-view-toggle{display:inline-flex;align-self:center;margin:0 auto 28px;border:1px solid var(--color-rule);border-radius:6px;background:var(--color-paper-elevated);overflow:hidden}.review-view-tab{padding:8px 18px;border:0;background:transparent;font:inherit;font-size:13px;color:var(--color-ink-muted);cursor:pointer;transition:background .12s,color .12s}.review-view-tab+.review-view-tab{border-left:1px solid var(--color-rule)}.review-view-tab:hover{background:var(--color-rule-subtle);color:var(--color-ink)}.review-view-tab.is-active{background:var(--color-ink);color:var(--color-paper)}.review-overview{display:flex;flex-direction:column;gap:16px}.review-overview-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 700px){.review-overview-split{grid-template-columns:1fr}}.review-item-indent{padding-left:16px;position:relative;font-size:13px;color:var(--color-ink-secondary)}.review-item-indent:before{content:"";position:absolute;left:4px;top:50%;width:6px;height:1px;background:var(--color-rule)}.review-section{border:1px solid var(--color-rule-subtle);border-radius:6px;background:var(--color-paper);padding:16px 18px 14px}.review-section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid var(--color-rule-subtle)}.review-section-label{font-size:13px;font-weight:600;color:var(--color-ink);letter-spacing:0}.review-section-count{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-ink-muted);background:transparent;padding:0;border-radius:0}.review-empty{margin:4px 0 2px;font-size:13px;color:var(--color-ink-muted);font-style:italic}.review-subsection{margin-bottom:14px}.review-subsection:last-child{margin-bottom:0}.review-subsection-label{font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--color-accent);margin-bottom:6px}.review-subsection-relation{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-rule-subtle)}.review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.review-item{display:flex;align-items:baseline;gap:10px;font-size:13.5px;color:var(--color-ink);line-height:1.45;padding:3px 0}.review-item-label{flex:1;min-width:0;word-break:break-word}.review-item-tag{flex-shrink:0;font-family:var(--f-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted);padding:2px 7px;border-radius:3px;background:var(--color-rule-subtle);align-self:center}.review-item-tag.is-main{color:var(--color-accent);background:var(--color-accent-light, rgba(180, 83, 9, .1))}.review-graph-hint{text-align:center;font-size:13px;color:var(--color-ink-muted);margin:8px 0 0}.review-graph-link{border:0;background:transparent;padding:0;font:inherit;font-size:inherit;color:var(--color-accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.review-graph-link:hover{color:var(--color-accent-hover)}.rule-doc-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.rule-doc-sublabel{font-family:var(--f-body);font-size:11.5px;color:var(--color-ink-muted);letter-spacing:0;text-transform:none}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}
