:root{color:#111514;background:#f7f7f3;font-family:Inter,Noto Sans SC,Microsoft YaHei UI,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;--ink: #111514;--paper: #f7f7f3;--white: #ffffff;--lime: #c8ff00;--lime-dark: #a9dc00;--line: #c8cbc7;--muted: #626963;--teal: #078c87;--decline: #e64222;--amber: #bc8500;--focus: #1266f1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:20;top:10px;left:10px;transform:translateY(-160%);background:var(--white);color:var(--ink);padding:10px 14px;border:2px solid var(--ink);font-weight:800}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:86px;display:flex;align-items:center;gap:22px;padding:0 42px;background:#11191f;color:#fff}.brand{display:inline-flex;align-items:center;gap:14px;color:#fff;text-decoration:none}.brand svg{color:var(--lime)}.brand strong{font-size:clamp(19px,2vw,27px);letter-spacing:-.035em}.local-badge{display:inline-flex;align-items:center;gap:7px;color:#d7ddd8;font-size:14px}.topbar nav{margin-left:auto;display:flex;align-items:center;gap:8px}.topbar nav button{border:0;color:#fff;background:transparent;padding:12px 16px;cursor:pointer;font-weight:700}.topbar nav button:hover{color:var(--lime)}.signal-strip{padding:14px 42px;background:var(--lime);color:#111514;font-weight:900;letter-spacing:.02em}.workspace{display:grid;grid-template-columns:minmax(0,.89fr) minmax(440px,1.11fr);flex:1}.setup-panel,.outcome-panel{padding:22px 42px 0}.setup-panel{background:var(--white);border-right:1px solid var(--line)}.setup-panel>h1,.outcome-panel>h2{margin:0;font-size:clamp(31px,3vw,44px);line-height:1.08;letter-spacing:-.045em}.intro{max-width:62ch;margin:10px 0 18px;color:var(--muted);line-height:1.65}.file-step,.rule-step{display:grid;grid-template-columns:42px minmax(0,1fr)}.step-rail{position:relative;padding-top:2px}.step-rail:after{content:"";position:absolute;top:37px;bottom:0;left:16px;width:1px;background:var(--line)}.step-rail span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;font-size:17px;font-weight:900}.step-content{min-width:0;padding:0 0 10px 12px;border-bottom:1px solid var(--line)}.rule-step .step-content{border-bottom:0}.step-content h2{margin:5px 0 12px;font-size:19px;line-height:1.25}.file-row{display:flex;align-items:center;gap:16px;min-height:64px;padding:12px 14px;border:1px solid #9aa09a;border-radius:6px;background:#fff}.file-row.is-selected{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}.file-summary{display:flex;align-items:center;min-width:0;flex:1;gap:12px}.file-summary svg{flex:0 0 auto}.file-summary div{min-width:0}.file-summary strong,.file-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-summary strong{font-size:15px}.file-summary small{margin-top:5px;color:var(--muted)}.file-button,.dialog-action{border:1.5px solid var(--ink);border-radius:5px;background:#fff;color:var(--ink);padding:10px 15px;font-weight:800;cursor:pointer}.file-button:hover,.dialog-action:hover{background:#edf0ec}.step-content>p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.5}fieldset{min-width:0;border:0;margin:0;padding:0}legend{margin-bottom:8px;font-size:13px;font-weight:800}.segmented-control{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #9aa09a;border-radius:5px;overflow:hidden}.segmented-control button{min-height:42px;border:0;border-right:1px solid #9aa09a;background:#fff;cursor:pointer;font-size:14px;font-weight:750}.segmented-control button:last-child{border-right:0}.segmented-control button.is-active{background:var(--lime);box-shadow:inset 0 -3px 0 var(--ink)}.number-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}.number-fields label>span{display:block;margin-bottom:7px;font-size:13px;font-weight:800}.number-fields small{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.4}.number-input{display:flex;align-items:center;border:1px solid #9aa09a;border-radius:5px;background:#fff;padding:0 10px}.number-input input{width:100%;min-width:0;height:40px;border:0;outline:0;background:transparent;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:700}.rule-note{display:flex;align-items:flex-start;gap:8px;color:#0566cc!important}.rule-note svg{flex:0 0 auto}.actions{display:grid;gap:4px;margin-top:4px}.primary-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;border:1.5px solid #8db600;border-radius:6px;background:var(--lime);color:var(--ink);padding:0 22px;font-size:18px;font-weight:900;cursor:pointer}.primary-action:hover{background:#d5ff3e}.primary-action:disabled{opacity:.6;cursor:wait}.sample-action{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#075cc7;padding:10px 4px;text-decoration:underline;font-weight:750;cursor:pointer}.live-region{min-height:46px}.message{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;padding:10px 12px;border-left:4px solid currentColor;font-size:14px;line-height:1.45}.message.error{color:#a8230d;background:#fff0eb}.message.success{color:#096f53;background:#ecfbf3}.export-actions{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--line)}.export-actions>span{margin-right:auto;color:var(--muted);font-size:13px;font-weight:700}.export-actions a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);padding:7px 10px;cursor:pointer;font-weight:800;text-decoration:none}.outcome-panel{min-width:0;background:var(--paper)}.eyebrow{margin:32px 0 12px;font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.result-switcher{display:flex;gap:5px;overflow-x:auto;margin:0 0 10px;padding:2px 2px 8px;scrollbar-width:thin}.result-switcher button{display:inline-flex;align-items:center;flex:0 0 auto;gap:7px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:8px 10px;color:var(--ink);cursor:pointer;font-size:13px;font-weight:700}.result-switcher button.is-active{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime-dark)}.status-dot{width:8px;height:8px;border-radius:50%;background:#909590}.status-dot.improving{background:var(--teal)}.status-dot.declining{background:var(--decline)}.status-dot.insufficient{background:var(--amber)}.evidence-card{border:1px solid #909590;background:#fff;padding:22px 20px}.evidence-title{display:flex;align-items:center;gap:12px}.evidence-title h3{margin:0;font-size:27px;letter-spacing:-.035em}.status-label{padding:5px 9px;border-radius:4px;background:#e2e4e2;font-size:13px;font-weight:900}.status-label.improving{color:#006c68;background:#d8f6f1}.status-label.declining{color:#a72510;background:#ffe4dc}.status-label.insufficient{color:#765200;background:#fff0bd}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}.metric-block+.metric-block{padding-left:20px;border-left:1px solid var(--line)}.metric-block>strong{font-size:18px}.metric-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}.metric-columns span{min-width:0}.metric-columns small,.metric-columns b{display:block}.metric-columns small{min-height:32px;color:var(--muted);font-size:11px;line-height:1.35}.metric-columns b{overflow:hidden;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.positive{color:var(--teal)}.negative{color:var(--decline)}.reason{margin:22px 0 0;padding-top:16px;border-top:1px solid #e0e2df;font-size:14px;line-height:1.6}.legend{margin-top:20px;border-top:1px solid var(--line)}.legend-row{display:grid;grid-template-columns:10px 105px minmax(0,1fr);gap:16px;align-items:center;min-height:58px;border-bottom:1px solid var(--line);font-size:14px}.legend-marker{align-self:stretch;margin:9px 0;background:#8f9691}.legend-marker.improving{background:var(--teal)}.legend-marker.declining{background:var(--decline)}.legend-marker.insufficient{background:#d5a800}.legend-row>span:last-child{color:#4f5651;line-height:1.45}.causality-note{display:flex;align-items:center;gap:16px;margin-top:22px;font-size:clamp(18px,2.1vw,25px);letter-spacing:-.025em}.causality-note svg{flex:0 0 auto;color:#474b48}footer{padding:13px 20px;border-top:1px solid var(--line);background:var(--paper);color:#555c56;text-align:center;font-size:14px;letter-spacing:.04em}.info-dialog{width:min(560px,calc(100vw - 32px));border:1px solid var(--ink);border-radius:6px;padding:0;box-shadow:12px 12px #1115142e}.info-dialog::backdrop{background:#0a0f12ad}.dialog-header{display:flex;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0;font-size:24px}.icon-button{display:grid;place-items:center;margin-left:auto;width:42px;height:42px;border:0;background:transparent;cursor:pointer}.dialog-body{padding:8px 20px}.dialog-body p{line-height:1.65}.dialog-action{margin:8px 20px 20px;background:var(--lime)}.not-found{min-height:100vh;display:grid;place-content:center;justify-items:start;padding:32px;background:#11191f;color:#fff}.not-found svg{color:var(--lime)}.not-found p{margin:30px 0 0;color:var(--lime);font-family:SFMono-Regular,Consolas,monospace;font-size:18px}.not-found h1{margin:8px 0 24px;font-size:clamp(36px,7vw,72px);letter-spacing:-.05em}.not-found a{color:#111514;background:var(--lime);padding:12px 16px;font-weight:900}@media(max-width:980px){.topbar{flex-wrap:wrap;padding:18px 24px}.local-badge{order:3;width:100%}.signal-strip{padding-inline:24px}.workspace{grid-template-columns:1fr}.setup-panel{border-right:0;border-bottom:1px solid var(--line)}.setup-panel,.outcome-panel{padding-inline:24px}}@media(max-width:620px){.topbar{gap:10px;padding:14px 16px}.brand strong{font-size:18px}.topbar nav{width:100%;justify-content:space-between;overflow-x:auto}.topbar nav button{padding:10px 8px;font-size:13px}.local-badge{display:none}.signal-strip{padding:11px 16px;font-size:13px}.setup-panel,.outcome-panel{padding:26px 16px}.setup-panel>h1,.outcome-panel>h2{font-size:32px}.file-step,.rule-step{grid-template-columns:36px minmax(0,1fr)}.step-content{padding-left:7px}.step-rail span{width:30px;height:30px;font-size:15px}.step-rail:after{left:14px;top:32px}.file-row{align-items:stretch;flex-direction:column}.file-button{width:100%}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control button:nth-child(2){border-right:0}.segmented-control button:nth-child(-n+2){border-bottom:1px solid #9aa09a}.number-fields,.metric-grid{grid-template-columns:1fr}.metric-block+.metric-block{padding:16px 0 0;border-top:1px solid var(--line);border-left:0}.legend-row{grid-template-columns:8px 92px minmax(0,1fr);gap:10px;font-size:13px}.causality-note{align-items:flex-start;font-size:19px}.export-actions{align-items:flex-start;flex-wrap:wrap}.export-actions>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
