:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#23352e;background:#f7f8f4;font-synthesis:none;--green:#176b50;--line:#dfe5dc;--muted:#738078;--surface:#fff;--accent-fill-rest:#176b50;--accent-fill-hover:#12573f}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,select{border:1px solid var(--line);border-radius:7px;background:#fff;padding:9px 14px;color:#30493b}button:hover:not(:disabled){background:#edf3ed;border-color:#a5b8aa}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-1.5px}p{line-height:1.8}input,textarea,select{min-width:0}input,textarea{border:1px solid var(--line);border-radius:6px;padding:10px 12px;color:#263e30;background:#fff}textarea{width:100%;resize:vertical;line-height:1.65}input:focus,textarea:focus,select:focus{outline:2px solid #88b69a;border-color:transparent}code,pre,textarea,.group-input,.row-hash{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}pre{overflow:auto;font-size:13px;line-height:1.8;white-space:pre;background:#f4f6f1;padding:22px;border:1px solid var(--line);border-radius:8px}label{font-size:13px}fluent-button{--accent-fill-rest:#176b50;--accent-fill-hover:#12573f;--accent-fill-active:#0f4634}.site-shell{max-width:1360px;margin:auto;padding:0 54px}.site-header{height:100px;display:flex;align-items:center;gap:70px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;font-size:30px;font-weight:750;letter-spacing:-1.5px;color:#173c2c}.brand-mark{background:#176b50;border-radius:12px;color:#fff;line-height:38px;width:38px;height:38px;text-align:center;margin-right:10px;font-family:Georgia,serif;font-size:34px;position:relative}.brand-mark span{color:#d2ed8b;font-size:24px;position:absolute;right:5px;top:-6px}.brand-dot{color:#79a65b}.site-header nav{display:flex;gap:28px;font-size:14px;font-weight:550}.header-actions{margin-left:auto;display:flex;gap:14px;align-items:center}.local-badge{font-size:12px;color:#5c7360;display:flex;align-items:center;gap:7px;white-space:nowrap}.local-badge i{width:6px;height:6px;background:#6ba275;border-radius:50%}.quiet{background:transparent;font-size:12px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2.4px;color:#7b8b78;margin-bottom:22px}.green{color:var(--green)}.home-hero{position:relative;padding:78px 0 80px;min-height:480px}.home-hero h1{font-size:68px;font-weight:650;line-height:1.14;margin-bottom:24px}.home-hero p{color:#738074;font-size:16px;margin-bottom:28px}.primary-link,.primary{background:var(--green);color:#fff!important;border-color:var(--green);border-radius:6px;padding:13px 20px;font-size:14px;display:inline-flex;gap:32px;align-items:center;font-weight:550}.primary-link:hover,.primary:hover:not(:disabled){background:#0e513a;border-color:#0e513a}.primary-link span{font-size:22px;line-height:1}.hero-art{position:absolute;right:8%;top:90px;width:340px;height:300px}.art-card{position:absolute;border:1px solid #d5ddcd;box-shadow:0 16px 45px #394b3210;background:#fff;border-radius:14px}.art-back{width:218px;height:200px;right:0;top:0;transform:rotate(12deg);background:#e9eedf;color:#acb89a;display:flex;flex-direction:column;gap:9px;padding:25px;font:20px monospace;letter-spacing:4px}.art-front{width:310px;height:190px;top:70px;left:-20px;transform:rotate(-5deg);padding:25px}.art-label{font-size:9px;letter-spacing:2px;color:#83937d}.art-front strong{display:block;font:34px monospace;letter-spacing:2px;margin-top:20px;color:#245b3b}.art-front strong span{color:#9fba63;background:#f0f5e2;border-radius:6px;margin-left:7px;padding:2px 4px}.art-divider{height:1px;background:#e3e8dc;margin:19px 0 12px}.art-foot{font-size:11px;color:#87917c}.art-foot b{margin:0 12px}.art-chip{position:absolute;bottom:7px;right:-4px;background:#fff;border:1px solid #dfe6d6;border-radius:30px;padding:12px 20px;font-size:12px;color:#567744;box-shadow:0 5px 20px #3443270a}.tool-section{padding:35px 0 60px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.section-heading .eyebrow{margin-bottom:10px}.section-heading h2{font-size:25px;margin-bottom:0;font-weight:600;letter-spacing:-.5px}.muted{color:var(--muted);font-size:12px}.tool-card{border:1px solid var(--line);border-radius:12px;padding:32px;display:flex;gap:30px;background:#fff;transition:transform .15s,border-color .15s;margin-bottom:16px}.tool-card:hover{transform:translateY(-2px);border-color:#a0b99e}.tool-icon{font:30px Georgia,serif;width:90px;height:90px;background:#eef3e6;border-radius:12px;color:#4e7144;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.tool-icon span{font:18px sans-serif;position:absolute;right:10px;bottom:8px}.pill{display:inline-block;color:#5c7753;background:#f0f5e9;border-radius:4px;padding:4px 7px;font-size:10px;white-space:nowrap}.tool-copy h3{font-size:23px;font-weight:600;margin:9px 0}.tool-copy p{font-size:13px;color:#7c877b;margin-bottom:18px;max-width:600px}.tool-tags{display:flex;gap:16px;font-size:11px;color:#788775}.tool-tags span:before{content:'·';margin-right:6px;color:#8eaa73}.card-arrow{margin-left:auto;font-size:27px;color:#55734f}.coming-note{color:#9aa393;font-size:12px;padding:22px 0}.coming-note span{border:1px dashed #bdc9b3;border-radius:5px;padding:3px 6px;margin-right:12px}.site-footer{border-top:1px solid var(--line);padding:26px 0 30px;display:grid;grid-template-columns:1fr auto 1fr;gap:15px;font-size:10px;color:#8c9787;letter-spacing:.5px}.site-footer span:last-child{text-align:right}.site-footer a:hover{text-decoration:underline}.workspace{padding-top:40px}.workspace-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.workspace-heading .eyebrow{margin-bottom:12px}.workspace-heading h1{font-size:35px;font-weight:620;margin-bottom:12px}.workspace-heading p{color:var(--muted);font-size:13px;margin-bottom:0}.text-link{color:var(--green);font-size:12px}.runtime-note{padding:11px 15px;border:1px solid #dfdfc4;background:#faf9e8;border-radius:6px;font-size:12px;color:#867c3b;margin-bottom:24px;line-height:1.6}.runtime-note.ready{background:#edf4e9;border-color:#dce7d3;color:#5f7951}.spinner{display:inline-block;width:12px;height:12px;border:2px solid #d7d5af;border-top-color:#7d8952;border-radius:50%;animation:spin 1s linear infinite;margin-right:6px}@keyframes spin{to{transform:rotate(360deg)}}.workspace-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px;gap:20px;align-items:center}.workspace-tabs button{border:0;border-radius:0;background:none;padding:17px 10px;font-size:14px;position:relative;color:#798576}.workspace-tabs button[aria-selected=true]{color:#28583c;font-weight:600}.workspace-tabs button[aria-selected=true]:after{content:'';height:3px;background:var(--green);position:absolute;bottom:-1px;left:0;right:0;border-radius:2px}.workspace-tabs button span{font-size:10px;margin-right:12px;opacity:.5}.tab-aside{margin-left:auto;color:#8c9685;font:10px monospace}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:28px;background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:22px;min-width:0}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:22px}.panel-title h2{font-size:17px;font-weight:600;margin:0}.panel-title .small,.panel-title .pill,.panel-title>button,.panel-title>a{margin-left:auto}.step-number{font:10px monospace;border:1px solid #d9e1d1;color:#68825c;border-radius:50%;width:22px;height:22px;display:grid;place-items:center}.small{font-size:10px}.segmented{padding:4px;background:#f2f4ef;border-radius:6px;display:flex;margin-bottom:18px}.segmented button{flex:1;border:0;background:transparent;font-size:12px;padding:8px}.segmented .selected{background:#fff;box-shadow:0 1px 3px #263e3010;color:var(--green)}.drop-zone{position:relative;min-height:190px;border:1px dashed #bacaaf;border-radius:8px;background:#fafbf7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;color:#607351;margin-bottom:15px}.drop-zone:hover{background:#f1f6e9}.drop-zone strong{font-size:14px;font-weight:550}.drop-zone>span:last-of-type{font-size:11px;color:#9aa28c}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-icon{font-size:27px;font-weight:300}.field-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.field-row select{flex:1;max-width:260px;font-size:12px}.helper{font-size:11px;color:#8b9486;line-height:1.8;margin:14px 0 0}.file-list{font:11px monospace;color:#62745b;max-height:150px;overflow:auto;line-height:2}.file-list:empty{display:none}.field-label{display:block;color:#6a7861;margin:12px 0 8px;font-size:11px}.empty-state{text-align:center;padding:48px 10px 25px;color:#87937d}.empty-symbol{font:40px Georgia,serif;margin:0 auto 25px;border:1px solid #e6ebde;border-radius:14px;width:76px;height:76px;display:grid;place-items:center;color:#9ab286;background:#f8faf4}.empty-state h3{font-size:17px;font-weight:500}.empty-state p{font-size:12px;color:#9aa38f}.sample-group{display:inline-flex;gap:10px;background:#f4f7ec;border-radius:5px;padding:12px 18px;font:12px monospace;letter-spacing:2px;margin-top:12px}.sample-group b{color:#6d994a}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.button-row button{font-size:12px}.stats{font:12px monospace;color:#5b7950;background:#f2f6ec;border-radius:6px;padding:15px;margin-bottom:20px;line-height:1.8}.output-panel textarea{font-size:11px;white-space:pre;overflow:auto}.how-it-works{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding:34px 0 48px}.how-it-works .eyebrow{margin-bottom:13px}.how-it-works h2{font-size:20px;font-weight:550;line-height:1.6}.how-it-works h3{font-size:12px;font-weight:600;color:#617956}.how-it-works p{font-size:11px;color:#939c8a}.tool-message{position:sticky;bottom:20px;padding:13px 18px;background:#e9f3e4;border:1px solid #cfdfc4;border-radius:8px;color:#426b35;font-size:12px;box-shadow:0 4px 20px #263d2710;z-index:10;margin:16px 0}.tool-message.error{color:#9f4433;border-color:#e8c5b9;background:#fff1e9}.binding-panel{display:flex;gap:25px;justify-content:space-between;align-items:center;flex-wrap:wrap;background:#f0f4e8}.binding-panel h2{font-size:19px;font-weight:550;margin-bottom:8px}.binding-panel .eyebrow{margin-bottom:10px}.binding-panel p{font-size:11px;color:#7f8c70;margin-bottom:0}.binding-panel .helper{flex-basis:100%;margin-top:0}.binding-panel .button-row{margin-top:0}.save-strip{display:flex;align-items:center;gap:16px;margin:0 0 18px;font-size:12px;color:#5d7950}.save-strip button{margin-left:auto;font-size:11px}.metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.metadata-grid label{display:flex;flex-direction:column;gap:8px;color:#78876d;font-size:11px}.hash-field{grid-column:1/-1}.hash-field input{font:12px monospace}.metadata-panel .panel-title button{font-size:11px}.editor-panel{position:relative}.editor-stats{font:12px monospace;color:#688254;padding:0 0 18px}.editor-toolbar{display:grid;grid-template-columns:44px 1fr 90px;background:#f5f7f1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 8px;font-size:10px;color:#99a38d;gap:8px}.editor-toolbar span:last-child{text-align:right}#editor-window{overflow:auto;max-height:600px}.alpha-row{display:grid;grid-template-columns:44px 1fr 90px;align-items:center;gap:8px;border-bottom:1px solid #f0f3eb;padding:11px 8px;min-width:850px}.row-number{font:11px monospace;color:#a3ad97;user-select:none}.row-groups{display:flex;gap:7px;align-items:center;min-width:0}.group-input{padding:8px 4px;text-align:center;border-color:#e3e8dc;width:calc((100% - 65px)/7);min-width:84px;max-width:112px;font-size:14px;letter-spacing:1px;color:#425a37;border-radius:4px}.group-input.valid{background:#f3f8ed;border-color:#dfebd3}.group-input.invalid{background:#fff1ec;border-color:#dda393;color:#af4c35}.group-input.range-selected{background:#d9e8d0}.row-end{flex:1;min-width:20px;height:36px;border:0;background:transparent;padding:0}.row-end:hover{background:#f2f6ed}.row-hash{font-size:11px;text-align:right;color:#91a07e}.editor-bottom{display:flex;justify-content:space-between;gap:14px;padding:14px 0;color:#a0a892;font-size:10px}.editor-lock{background:#f5f7f0;border-radius:6px;font-size:12px;color:#8d9b7f;padding:20px;text-align:center;margin-top:12px}.error-text{color:#b64f37!important}.success-text{color:#5b8443;font-size:11px;margin-left:auto}.archive-entry{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font:12px monospace;color:#718160}.archive-entry span:first-child{overflow-wrap:anywhere}.archive-entry span:last-child{white-space:nowrap;color:#9ca78c}.editor-pager{display:flex;gap:12px;align-items:center;font-size:11px;margin:12px 0}.editor-pager button{font-size:10px;padding:6px 10px}.code-page{padding:55px 0}.code-page h1{font-size:36px;font-weight:600}.code-page .lead{color:#8a967e;font-size:14px}.code-page>.button-row{margin-bottom:30px}.code-page .panel h2{font-size:18px;font-weight:550}.code-page .panel p{font-size:12px;color:#819172}#python-source{max-height:600px}.update-notice{position:fixed;bottom:24px;right:24px;z-index:100;background:#fff;border:1px solid var(--line);box-shadow:0 5px 30px #18332220;border-radius:9px;padding:18px;display:flex;gap:12px;align-items:center;font-size:12px;max-width:90vw}#blazor-error-ui{position:fixed;bottom:0;background:#fff2db;padding:14px;width:100%;z-index:200;font-size:12px}
@media(min-width:1450px){.site-shell{max-width:1420px}}@media(max-width:1100px){.site-shell{padding:0 28px}.site-header{gap:35px}.hero-art{right:2%;transform:scale(.85);transform-origin:right center}.home-hero h1{font-size:58px}.two-columns{gap:16px}.panel{padding:22px}.how-it-works{gap:18px}}@media(max-width:760px){.site-shell{padding:0 20px}.site-header{height:78px;gap:15px;flex-wrap:wrap;align-content:center}.brand{font-size:25px}.brand-mark{width:30px;height:30px;line-height:30px;font-size:28px;border-radius:9px}.site-header nav{gap:14px;font-size:11px;margin-left:auto}.header-actions{display:none}.home-hero{padding:44px 0 35px}.home-hero h1{font-size:48px}.home-hero p{font-size:13px}.hero-art{position:relative;top:auto;right:auto;transform:scale(.75);height:250px;transform-origin:top left;margin-top:50px;margin-left:25px;margin-bottom:-40px}.section-heading{align-items:start;gap:20px}.section-heading>.muted{max-width:100px;line-height:1.7}.section-heading h2{font-size:21px}.tool-card{padding:22px;gap:18px}.tool-icon{width:52px;height:60px;font-size:24px}.tool-copy h3{font-size:19px}.tool-copy p{font-size:12px}.tool-tags{flex-wrap:wrap;gap:9px;font-size:10px}.card-arrow{font-size:20px}.site-footer{display:flex;flex-direction:column;align-items:center;font-size:10px;gap:13px}.workspace{padding-top:28px}.workspace-heading{display:block}.workspace-heading h1{font-size:29px}.workspace-heading p{font-size:12px}.workspace-heading .text-link{display:inline-block;margin-top:16px}.tab-aside{display:none}.two-columns{grid-template-columns:1fr}.panel{padding:20px}.how-it-works{grid-template-columns:1fr;gap:12px}.how-it-works>div:first-child{margin-bottom:8px}.how-it-works h3{margin-bottom:6px}.how-it-works p{margin-bottom:0}.metadata-grid{grid-template-columns:1fr}.hash-field{grid-column:auto}.save-strip{flex-wrap:wrap}.save-strip button{margin-left:0}.editor-toolbar{display:none}.editor-bottom{flex-direction:column;line-height:1.8}.binding-panel .button-row{gap:8px}.binding-panel button{font-size:11px}.workspace-tabs{gap:12px}.workspace-tabs button{font-size:13px;padding:14px 7px}.workspace-tabs button span{margin-right:8px}.code-page h1{font-size:29px}.update-notice{flex-wrap:wrap;bottom:12px;right:12px}.panel-title{flex-wrap:wrap}.code-page>.button-row{align-items:start;flex-direction:column}.code-page>.button-row>a:last-child{font-size:12px}}

body{background:#f7f8f4;color:#23352e;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.site-shell a{text-decoration:none}.site-shell p{font-weight:400}
.json-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.json-source-panel .button-row{margin:0 0 16px}.json-source-panel textarea{min-height:420px;font-size:12px;tab-size:2}.file-button{position:relative;overflow:hidden;display:inline-block;border:1px solid var(--line);border-radius:6px;padding:9px 14px;cursor:pointer;font-size:12px}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.pipeline-intro{margin:0 0 16px}.pipeline-step{background:#f8f9f5;border:1px solid #e5e9df;border-radius:7px;padding:13px;margin-bottom:12px;opacity:.75}.pipeline-step.enabled{border-color:#b8cfa9;background:#f6f9f1;opacity:1}.pipeline-step-head{display:flex;align-items:center;gap:6px;margin-bottom:10px}.pipeline-step-head label{display:flex;align-items:center;gap:7px;font-size:11px;flex:1;font-weight:550}.pipeline-step-head button{border:0;background:none;padding:2px 5px;font-size:13px;color:#849778}.pipeline-step>input{width:100%;font:11px monospace;padding:9px}.step-option{display:flex;gap:8px;align-items:center;font-size:10px;color:#81936e;margin-top:10px;line-height:1.6}.step-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font-size:10px;color:#849777}.step-foot button{font-size:10px;padding:4px 9px}.query-help{margin:20px 0 0;font-size:11px;line-height:1.8;color:#7c8f6a}.query-help summary{cursor:pointer;color:#557d3d}.query-help code{display:block;font-size:10px;overflow-wrap:anywhere;color:#3d6340;background:#eef3e5;padding:5px 7px;margin-top:9px}.query-help>span{font-size:10px}.query-help p{margin:10px 0}.pipeline-config{display:flex;gap:10px;margin-top:20px}.pipeline-config button{font-size:10px;padding:7px 10px}.json-actionbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 24px;gap:16px}.json-actionbar>div:first-child{display:flex;align-items:center;gap:12px;font-size:12px}.json-actionbar select{font-size:12px;padding:8px}.json-actionbar label{display:flex;align-items:center;gap:6px;font-size:12px}.json-actionbar .button-row{margin:0}.json-output-panel .button-row{margin-top:0;margin-bottom:16px}.json-output-panel pre{max-height:650px;white-space:pre;margin-bottom:10px;background:#fbfcf9}.json-key{color:#836c3f}.json-string{color:#427d52}.json-number{color:#986844}.json-literal{color:#8165a1}.pipeline-panel .field-row{margin:18px 0 10px}.pipeline-panel .field-row select{max-width:190px}@media(max-width:900px){.json-layout{grid-template-columns:1fr}.json-actionbar{flex-wrap:wrap}.json-source-panel textarea{min-height:300px}.json-actionbar>div:first-child{flex-wrap:wrap}.json-output-panel pre{font-size:11px}}
