:root{color:#202b26;font-synthesis:none;--ink:#202b26;--muted:#4f5c54;--accent:#245e46;--line:#bec9bd;--paper:#fffef8;background:#f7f6ef;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,a[href],select,label[for]{cursor:pointer}button:disabled{cursor:not-allowed}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad4d20}a:hover{text-decoration-thickness:2px}a:active,button:active{transform:translateY(1px)}[hidden]{display:none!important}.wrap{width:min(100% - 2.5rem,70rem);margin-inline:auto}.skip{z-index:20;background:#fff;padding:1rem;position:absolute;top:-5rem;left:1rem}.skip:focus{top:1rem}.header{border-bottom:1px solid var(--line)}.nav{justify-content:space-between;align-items:center;gap:1rem;min-height:5rem;display:flex}.brand{letter-spacing:-.06em;font-size:1.3rem;font-weight:800;text-decoration:none}.brand span{color:var(--accent);margin-left:.18rem}.nav-link,.text-link{font-weight:700;text-decoration:none}.nav-link{padding:.8rem 0}.hero{align-items:end;gap:3rem;padding-block:clamp(4rem,9vw,8rem);display:grid}.eyebrow,.note-label{letter-spacing:.12em;color:var(--accent);margin:0 0 1.2rem;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.05em;line-height:1.04}h1{margin-bottom:1.6rem;font-size:clamp(3.25rem,8vw,6.8rem)}h1 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}h2{margin-bottom:1rem;font-size:clamp(2.25rem,4vw,3.6rem)}.catalog-heading{letter-spacing:-.02em;margin-top:2.5rem;font-size:1.5rem}.intro{max-width:37rem;color:var(--muted);margin-bottom:2rem;font-size:1.12rem;line-height:1.65}.button{border:1px solid var(--accent);border-radius:.25rem;justify-content:center;align-items:center;gap:1.5rem;min-height:3.2rem;padding:.8rem 1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.primary{background:var(--accent);color:#fff}.primary:hover{background:#173f2f}.hero-note{border-left:4px solid var(--accent);background:#dce8da;max-width:22rem;padding:1.5rem}.hero-note strong{margin-bottom:.6rem;font-size:1.4rem;display:block}.hero-note p,.how p{color:var(--muted);line-height:1.65}.hero-note a{font-weight:700}.section{padding-block:3rem 5rem}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.tool-list{border-top:1px solid var(--line)}.tool-row{border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr auto;align-items:center;gap:1rem;padding:1.2rem 0;display:grid}.tool-mark{color:#245e46;background:#dce8da;place-items:center;width:3rem;height:3rem;font-family:Georgia,serif;font-size:1.4rem;font-weight:700;display:grid}.tool-info h3{margin-bottom:.25rem;font-size:1.05rem}.tool-info h3 a{text-decoration:none}.tool-info p{color:var(--muted);margin:0;line-height:1.5}.tool-link{color:var(--accent);padding:.75rem .25rem;font-weight:700}.status{color:#45534a;background:#e4e8df;padding:.35rem .65rem;font-size:.8rem;font-weight:700}.how{background:#e8eee3;padding-block:4rem}.how-inner{gap:1rem;display:grid}.how p{max-width:31rem}.footer{background:var(--ink);color:#fff;padding-block:2rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;display:flex}.footer span{color:#d1dcd1}.page{padding-block:4rem 6rem}.page h1{font-size:clamp(3rem,7vw,5rem)}.filters{gap:1rem;margin:2rem 0;display:grid}.filters label,.field-label{margin-bottom:.5rem;font-weight:700;display:block}.filters input,.filters select,select,input[type=number]{background:var(--paper);width:100%;color:var(--ink);border:1px solid #69796c;border-radius:.2rem;min-height:3rem;padding:.8rem}.result-count{color:var(--muted);margin:1.5rem 0 .75rem;font-size:.9rem}.empty{padding:2rem 0}.breadcrumb{color:var(--accent);margin-bottom:2rem;font-weight:700;display:inline-block}.crop-shell{background:var(--paper);border:1px solid var(--line);padding:clamp(1rem,3vw,2rem)}.upload{text-align:center;border:2px dashed #728578;padding:2rem 1rem;display:block}.upload input{max-width:100%;margin:1rem auto;display:block}.hint{color:var(--muted);font-size:.9rem;line-height:1.5}.crop-stage{background:#26342c;width:100%;height:clamp(19rem,55vw,31rem);position:relative}.controls{gap:1rem;margin-top:1.3rem;display:grid}.control-row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.control-row input[type=range]{min-width:10rem;accent-color:var(--accent);flex:1}.control-row input[type=number]{width:7rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.secondary{color:var(--ink);background:0 0;border-color:#728578}.secondary:hover{background:#e8eee3}.message{margin:1rem 0 0;line-height:1.5}.error{color:#a52d1c;font-weight:700}.fine-print{color:var(--muted);margin-top:1rem;line-height:1.6}.privacy{border-left:3px solid var(--accent);padding-left:1rem}.button:disabled{opacity:.5}@media (width>=42rem){.filters{grid-template-columns:2fr 1fr}.how-inner{grid-template-columns:1fr 1fr;align-items:center}}@media (width>=58rem){.hero{grid-template-columns:1fr auto;gap:4rem}.hero-note{margin-bottom:.4rem}}@media (width<=30rem){.tool-row{grid-template-columns:2.5rem 1fr;gap:.75rem}.tool-mark{width:2.5rem;height:2.5rem}.tool-row>.tool-link,.tool-row>.status{grid-column:2;justify-self:start}.hero{padding-block:3.5rem}.nav{min-height:4.5rem}}.tool-list{border:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;display:grid}.tool-row{border:1px solid var(--line);align-content:start;padding:1rem}.upload{transition:background-color .15s,border-color .15s}.upload.is-dragging{border-color:var(--accent);background:#e8eee3}@media (prefers-reduced-motion:reduce){.upload{transition:none}}.csv-page h1{font-size:clamp(2.8rem,7vw,5rem)}.csv-tool{gap:1rem;display:grid}.csv-upload{text-align:center;cursor:pointer;background:#fbfcfd;border:2px dashed #647c92;justify-items:center;gap:.6rem;padding:2rem 1.25rem;display:grid}.csv-upload input{max-width:100%;min-height:2.75rem;padding:.5rem}.csv-upload.is-dragging{background:#e9eff6;border-color:#17365d}.csv-muted,.csv-file,.csv-preview-note,.csv-sample,.csv-note{color:var(--muted);font-size:.92rem;line-height:1.55}.csv-progress{align-items:center;gap:1rem;display:flex}.csv-progress progress{accent-color:#17365d;flex:1}.csv-settings{border:1px solid var(--line);background:#fffef8;margin-top:1.5rem;padding:clamp(1rem,3vw,2rem)}.csv-settings-heading,.csv-preview-heading{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.csv-settings-heading h2{margin-bottom:0;font-size:clamp(1.7rem,4vw,2.5rem)}.csv-settings-heading>span,.csv-preview-heading>span{color:var(--muted);font-size:.92rem}.csv-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:end;gap:1rem;margin:1.5rem 0;display:grid}.csv-options label,.csv-column-config label{gap:.4rem;font-weight:650;display:grid}.csv-options input:not([type=checkbox]),.csv-options select,.csv-column-config input,.csv-column-config select{width:100%;min-height:2.8rem;color:var(--ink);background:#fff;border:1px solid #718193;border-radius:.2rem;padding:.6rem .7rem}.csv-check{align-items:center;min-height:2.8rem;gap:.65rem!important;display:flex!important}.csv-check input{accent-color:#17365d;width:1.1rem;height:1.1rem}.csv-note{background:#f0f4f8;padding:.75rem 1rem}.csv-column-editor{margin-top:2rem}.csv-column-editor h3,.csv-preview-heading h3{margin:0 0 .9rem;font-size:1.2rem}.csv-column-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.8rem;display:grid}.csv-column-config{background:#fbfcfd;border:1px solid #d2dbe3;min-width:0;padding:1rem}.csv-sample{overflow-wrap:anywhere;margin:.65rem 0 0}.csv-warning{color:#774b10;margin-top:.35rem;font-weight:650;display:block}.csv-preview-heading{margin:2rem 0 .75rem}.csv-preview-heading h3{margin:0}.csv-table-scroll{border:1px solid #b8c5d1;max-width:100%;overflow:auto}.csv-table{border-collapse:collapse;width:100%;font-size:.9rem}.csv-table th{text-align:left;color:#fff;border:1px solid #ffffff35;min-width:9rem;padding:.8rem;font-weight:700}.csv-table td{vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #d8e0e7;min-width:9rem;max-width:24rem;padding:.7rem .8rem}.csv-table th.csv-row-number-header,.csv-table td.csv-row-number{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;width:1%;min-width:4rem;max-width:6rem}.csv-table td.csv-row-number{color:#526578}.csv-table tbody tr:nth-child(2n){background:#f1f5f9}.csv-empty{color:#657482;font-style:italic}.csv-export{min-height:2.9rem;margin-top:1.25rem}.csv-export:disabled{cursor:not-allowed;opacity:.55}@media (width<=38rem){.csv-settings-heading{align-items:start}.csv-table th,.csv-table td{min-width:8rem;max-width:16rem}}
