:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.65;color-scheme:light;
  --ink:#172924;--muted:#62726b;--line:#dce3d8;--lime:#d8f367;--paper:#fafbf5;--green:#1e4a3f;--forest:#1e4a3f;
}
*{box-sizing:border-box}
body{margin:0}
.skip-link{position:absolute;left:1rem;top:.5rem;transform:translateY(-200%);padding:.6rem 1rem;border-radius:.4rem;background:var(--green);color:#fff;z-index:2}
.skip-link:focus{transform:none}
body>header,body>main,body>footer{width:min(100% - 6rem,79rem);margin-inline:auto}
body>main{padding-block:2.5rem 4rem;min-height:60vh}
body>main>p,body>main>ul,body>main>ol{max-width:78ch}
a{color:var(--green);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.58}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8c570d;outline-offset:4px}
h1,h2,h3{color:var(--ink);line-height:1.12;overflow-wrap:break-word}
h1{font-size:clamp(2rem,4.6vw,3.5rem);font-weight:650;letter-spacing:-.055em;margin:.65rem 0 1.25rem}
h2{font-size:clamp(1.45rem,2.5vw,1.9rem);font-weight:650;letter-spacing:-.035em;margin:2.5rem 0 1rem}
h3{font-size:1.25rem;letter-spacing:-.025em}
p{margin:.8rem 0 1.1rem}
li+li{margin-top:.35rem}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.93em;overflow-wrap:anywhere}
pre{max-width:100%;overflow:auto;padding:1.25rem;border:1px solid var(--line);border-radius:.75rem;background:#f0f3e9;line-height:1.5}
pre code{overflow-wrap:normal}
.public-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:6rem;padding-block:1rem;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--ink);font-size:1.6rem;font-weight:750;letter-spacing:-.06em;text-decoration:none;flex-shrink:0}
.brand:hover{text-decoration:none}
.brand-mark{position:relative;display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.8rem;background:var(--ink);color:var(--lime);font-size:1.55rem;letter-spacing:-.12em;padding-right:.15rem;line-height:1}
.brand-mark::after{content:"✳";position:absolute;right:-.35rem;top:-.4rem;display:grid;place-items:center;width:1.15rem;height:1.15rem;border-radius:50%;background:var(--lime);color:var(--green);font-size:1rem;letter-spacing:0}
.public-header__label{font-size:.8rem;font-weight:550;color:var(--muted);margin:0}
.public-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;font-size:.92rem;font-weight:600}
.public-navigation a{text-decoration:none}
.public-navigation a:hover{text-decoration:underline}
.motion-settings{position:relative}
.motion-settings summary{cursor:pointer;min-height:2.75rem;display:flex;align-items:center;padding:.45rem .65rem;border:1px solid #cbd7c0;border-radius:.45rem;list-style:none;font-size:.75rem;color:var(--green)}
.motion-settings summary::after{content:"+";margin-left:.5rem;font-size:1rem}
.motion-settings[open] summary{background:#e9f1d9}
.motion-settings[open] summary::after{content:"−"}
.motion-settings p{position:absolute;z-index:3;right:0;top:100%;width:21rem;max-width:calc(100vw - 2rem);padding:1rem;margin:.5rem 0;border:1px solid #cbd7c0;border-radius:.6rem;background:#fffef8;box-shadow:0 10px 30px #233b2015;font-size:.82rem;font-weight:400;color:#4f6258;line-height:1.6}
body:has(.motion-settings[open]) .tool-card,body:has(.motion-settings[open]) .tool-card *,body:has(.motion-settings[open]) .workflow-illustration,body:has(.motion-settings[open]) .workflow-illustration *{animation:none!important;transition:none!important}
body:has(.motion-settings[open]) .tool-card{transform:none!important}
.public-hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:2.25rem;padding-block:1.75rem 3.25rem}
.public-hero h1{font-size:clamp(2.7rem,5.2vw,4.25rem);line-height:1.06;max-width:12ch;font-weight:600;letter-spacing:-.065em}
.public-hero h1 span{color:#4b7050}
.public-hero__lead{max-width:37rem;font-size:1.08rem;color:#4f6258}
.eyebrow{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;color:#4d6a57}
.public-hero__actions,.guide-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1.6rem 0 1rem}
button,.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid #b7c6b8;border-radius:.5rem;padding:.7rem 1.1rem;min-height:2.95rem;background:#fff;color:var(--green);font-weight:650;text-align:center;text-decoration:none;line-height:1.35}
.primary-button,.tool-navigation button[aria-current="page"]{border-color:var(--green);background:var(--green);color:#fff}
.primary-button:hover{background:#153b30;color:#fff;text-decoration:none}
.secondary-button{background:#f1f4e9}
.secondary-button:hover{background:#e6edda;text-decoration:none}
.public-hero__note,.guide-hero__note{color:var(--muted);font-size:.85rem;max-width:43rem}
.hero-workbench{position:relative;min-width:0;max-width:42rem;isolation:isolate}
.hero-workbench::before{content:"";position:absolute;inset:7% 3% 0;border-radius:50%;background:radial-gradient(ellipse,#e2edcc 0%,#eef2df 42%,transparent 70%);z-index:-1}
.hero-workbench svg{display:block;width:100%;height:auto;overflow:visible}
.bench-note{position:absolute;display:flex;align-items:center;gap:.5rem;background:#fffffff0;border:1px solid #dce4d6;border-radius:.6rem;padding:.65rem .9rem;box-shadow:0 8px 24px #233b2010;font-size:.76rem;color:#46604c;font-weight:550;white-space:nowrap}
.bench-note--top{top:10%;left:3%;transform:rotate(-5deg)}
.bench-note--bottom{bottom:5%;right:0;transform:rotate(4deg)}
.bench-note__dot{width:.45rem;height:.45rem;border-radius:50%;background:#80a447}
.bench-note__symbol{color:#6a8c34;font-size:1.15rem;line-height:1}
.feature-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;padding:1.4rem 1.6rem;border:1px solid var(--line);border-radius:.8rem;background:#f0f3e8}
.feature-strip__item{display:flex;align-items:flex-start;gap:.7rem;font-size:.88rem;line-height:1.5;color:#52644f}
.feature-strip__icon{display:grid;place-items:center;flex-shrink:0;width:1.9rem;height:1.9rem;border:1px solid #c5d7af;border-radius:.55rem;color:var(--green);background:#e6efce;font-weight:700}
.feature-strip strong{display:block;color:var(--ink);font-size:.93rem;margin-bottom:.2rem}
.tool-catalogue{padding-block:1rem 2rem}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.25rem;margin:2rem 0 1.5rem}
.section-heading h2{margin:.3rem 0}
.section-heading p{margin:0;color:var(--muted);font-size:.95rem;max-width:28rem}
.tool-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.tool-card{min-width:0;border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 5px 15px #213d2305}
.tool-card__content{padding:1.5rem 1.65rem 1.7rem}
.tool-card__category{display:inline-block;font-size:.68rem;letter-spacing:.1em;font-weight:750;color:#587147;text-transform:uppercase;background:#eff4e4;border-radius:1rem;padding:.22rem .6rem}
.tool-card h3{font-size:1.5rem;margin:.75rem 0 .65rem}
.tool-card p{color:#5a6b60;font-size:.95rem;max-width:43ch}
.tool-card__actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.35rem}
.tool-card__guide{font-size:.9rem;font-weight:650}
.tool-scene{display:grid;place-items:center;min-height:13.5rem;padding:.75rem 1.5rem;background:#edf1e4;border-bottom:1px solid var(--line);overflow:hidden}
.tool-scene--json{background:#e9f0e6}
.tool-scene svg{width:100%;max-width:24rem;height:12rem;overflow:visible}
.tool-scene__image,.tool-scene__document,.tool-scene__tag,.tool-scene__line{transform-box:fill-box;transform-origin:center}
.tool-card__privacy{font-size:.8rem!important;margin-top:1rem!important;color:var(--muted)!important}
.home-details{border-top:1px solid var(--line);padding-top:.5rem}
.home-details h2{font-size:1.35rem}
.home-details p,.home-details ul{max-width:85ch;color:#4f6258;font-size:.95rem}
.guide-hero{position:relative;padding:1.75rem 2rem 2rem;border:1px solid var(--line);border-radius:1rem;background:#f0f4e5;margin:0 0 2.5rem}
.guide-hero h1{max-width:22ch;font-size:clamp(2.2rem,4.7vw,3.35rem)}
.guide-hero>p{max-width:76ch;color:#4f6258}
.guide-hero .guide-hero__note{font-size:.85rem;margin-bottom:0}
.guide-detail{max-width:85ch}
.guide-detail h2{padding-top:.25rem}
.guide-detail pre{background:#fff}
body>main>h1{max-width:25ch;margin-block:.5rem 1.75rem}
body>main>h2{margin-top:2.4rem}
.public-footer{display:grid;grid-template-columns:1fr auto;align-items:start;gap:1.5rem;border-top:1px solid var(--line);padding-block:2rem;margin-top:0;font-size:.85rem;color:var(--muted)}
.public-footer p{margin:.6rem 0 0;max-width:46rem}
.public-footer__links{display:flex;flex-wrap:wrap;gap:1rem}
.public-footer__brand{font-size:1.1rem;font-weight:750;color:var(--green);letter-spacing:-.035em}
.workspace-shell{max-width:79rem;margin:0 auto;padding:2rem 3rem}
.workspace-header{position:relative;border-bottom:1px solid var(--line);padding:1.1rem 0 1.7rem}
.workspace-header>.brand{margin-bottom:1.25rem;max-width:calc(100% - 10rem)}
.workspace-header>.motion-settings{position:absolute;right:0;top:1.1rem;max-width:12rem}
.workspace-header .eyebrow{display:block;margin:.4rem 0 .65rem}
.workspace-header h1{max-width:24ch;font-size:clamp(2rem,4vw,3.15rem)}
.workspace-header>p:not(.eyebrow){color:var(--muted);max-width:73ch;margin-bottom:0}
.tool-navigation,.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
.workspace-shell main>section{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:clamp(1.25rem,3vw,2rem);margin:1.5rem 0;min-width:0}
.workspace-shell main>section>h2{margin-top:0}
.field{display:flex;flex-direction:column;gap:.45rem;margin:1.3rem 0;font-weight:650;min-width:0}
.field input,.field select,.field textarea{font-weight:400;max-width:100%;border:1px solid #a3b4a4;border-radius:.45rem;padding:.7rem .8rem;background:#fff;color:var(--ink)}
.field textarea{width:100%;min-height:18rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.5;tab-size:2}
.field select{width:max-content}
.field input[type="file"]{width:100%;background:#f5f7ef;border-style:dashed;padding:1rem}
.field input::file-selector-button{font:inherit;color:var(--green);border:1px solid #c5d1be;border-radius:.35rem;padding:.45rem .7rem;background:#fff;margin-right:.8rem;cursor:pointer}
fieldset{border:1px solid #c5d1be;border-radius:.65rem;padding:1rem 1.25rem;margin:1.3rem 0;min-width:0}
legend{padding:0 .4rem;font-weight:650;color:var(--green)}
fieldset label{display:block;margin:.75rem 0}
fieldset input[type="checkbox"]{width:1.1rem;height:1.1rem;vertical-align:middle;accent-color:var(--green);margin-right:.4rem}
.result-card{border:2px solid #63894c;background:#f1f7e7;padding:1.25rem;border-radius:.7rem;margin:1.5rem 0}
.result-card h3{margin-top:.25rem}
.context-note,.qualification,.workspace-shell footer{font-size:.9rem;color:var(--muted)}
.qualification{border-left:3px solid #c8d6ae;padding:.2rem 0 .2rem 1rem}
.workspace-shell footer{border-top:1px solid var(--line);margin-top:2.5rem;padding:1.5rem 0}
.workspace-shell footer a{font-weight:600}
[role="status"]{overflow-wrap:anywhere;min-height:1.65em}
.workflow-help{margin:1.4rem 0;border-top:1px solid var(--line);padding-top:.75rem}
.workflow-help>summary{cursor:pointer;min-height:2.75rem;padding:.5rem 0;font-weight:650;color:var(--green)}
.workflow-help[open]>summary{margin-bottom:.65rem}
.workflow-help>p,.workflow-help>ul{max-width:85ch}
.workflow-illustration{padding:1.25rem 1.4rem;margin:1.3rem 0 1.8rem;border:1px solid #d9e3c8;border-radius:.85rem;background:#f1f5e9;color:var(--green);overflow:hidden}
.workflow-illustration__art{display:block;width:100%;max-width:45rem;height:auto;max-height:15.5rem;margin:.8rem auto;overflow:visible}
.workflow-illustration__caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#4f6258;font-size:.9rem;line-height:1.5}
.workflow-illustration__caption p{margin:.35rem 0 .7rem}
.workflow-illustration__caption h3{font-size:1.15rem;margin:.25rem 0}
.workflow-illustration__eyebrow{font-size:.67rem;letter-spacing:.1em;font-weight:750;text-transform:uppercase}
.workflow-illustration__phase{padding:.4rem .65rem;border-radius:.45rem;border:1px solid #c3d2b4;background:#fbfcf6;color:var(--green);font-size:.75rem;font-weight:650;max-width:17rem;text-align:center}
.workflow-illustration__ground{fill:none;stroke:#d4dfc7;stroke-width:2}
.workflow-illustration__sheet{fill:#fffef8;stroke:#8fa57b;stroke-width:1.7}
.workflow-illustration__sun{fill:#d8f367}
.workflow-illustration__landscape{fill:#b5cc96}
.workflow-illustration__line,.workflow-illustration__flow,.workflow-illustration__arrow{fill:none;stroke:#59764d;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.workflow-illustration__machine{fill:#dce9c8;stroke:#6c8a55;stroke-width:2}
.workflow-illustration__scan{fill:none;stroke:#a6c247;stroke-width:4;stroke-linecap:round}
.workflow-illustration__tray{fill:#8aa66c;stroke:#6c8a55;stroke-width:1.5}
.workflow-illustration__tag>path:first-child{fill:#eff4e8;stroke:#abbf98;stroke-width:1.3}
.workflow-illustration__tag[data-selected="true"]>path:first-child{fill:#d8f367;stroke:#78994b}
.workflow-illustration__label{fill:#35522b;font-size:10px;font-weight:750;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.workflow-illustration__tag-mark{fill:none;stroke:#476239;stroke-width:2;stroke-linecap:round}
.workflow-illustration__fold{fill:#e8efdc;stroke:#8fa57b;stroke-width:1.7;stroke-linejoin:round}
.workflow-illustration__recipe{fill:#d8f367;stroke:#8fa57b;stroke-width:1.7}
.workflow-illustration__braces{fill:#3f6534;font-size:20px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.workflow-illustration__node{fill:#fafcf4;stroke:#6c8a55;stroke-width:2}
.workflow-illustration__indent{fill:none;stroke:#c4d5ad;stroke-width:1.2;stroke-dasharray:3 4}
.workflow-illustration__ready circle{fill:#d8f367;stroke:#9ebc65;stroke-width:1.5}
.workflow-illustration__ready path{fill:none;stroke:var(--green);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.workflow-illustration__hold circle{fill:#f2e6bd;stroke:#cab775;stroke-width:1.5}
.workflow-illustration__hold path{fill:none;stroke:#7d6628;stroke-width:3;stroke-linecap:round}
.workflow-illustration__steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:0;margin:.8rem 0 0;list-style:none}
.workflow-illustration__step{display:flex;align-items:start;gap:.45rem;padding:.5rem .6rem;border:1px solid #ccdab9;border-radius:.4rem;font-size:.73rem;background:#fbfcf6;color:#4c6442;margin:0}
.workflow-illustration__step span{font-weight:750;color:#4c6442}
.workflow-illustration__choices{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:1rem 0 .5rem}
.workflow-illustration__choice{display:flex;flex-direction:column;padding:.35rem .6rem;border:1px solid #ccd8bf;border-radius:.4rem;background:#fafcf6;font-size:.68rem;margin:0}
.workflow-illustration__choice strong{font-size:.73rem;color:#4e6740}
.workflow-illustration__choice[data-selected="true"]{background:#e6f1ca;border-color:#bfd296}
.workflow-illustration__layout{font-size:.8rem;margin:1rem 0 .5rem;color:#53684b}
.workflow-illustration__note{font-size:.72rem;color:#4c6442;margin:.8rem 0 0;max-width:95ch}
.workflow-illustration__source,.workflow-illustration__gate,.workflow-illustration__output,.workflow-illustration__flow,.workflow-illustration__scan,.workflow-illustration__tag{transform-box:fill-box;transform-origin:center}
.workflow-illustration__output{opacity:.65}
.workflow-illustration[data-phase="ready"]{border-color:#9bbd7a;background:#f0f7e5}
.workflow-illustration[data-phase="ready"] .workflow-illustration__output{opacity:1}
.workflow-illustration[data-phase="closing"],.workflow-illustration[data-phase="uncertain"],.workflow-illustration[data-phase="refused"]{background:#f6f2e6;border-color:#dfd1ac}
.workflow-illustration[data-phase="closing"] .workflow-illustration__flow,.workflow-illustration[data-phase="uncertain"] .workflow-illustration__flow,.workflow-illustration[data-phase="refused"] .workflow-illustration__flow{opacity:.35}
[data-motion="off"] .workflow-illustration *,.workflow-illustration[data-motion="off"] *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:no-preference){
  .primary-button,.secondary-button,button,.tool-card{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}
  .tool-card:hover,.tool-card:focus-within{transform:translateY(-3px);border-color:#b7caa1;box-shadow:0 12px 30px #223f2410}
  .tool-card:hover .tool-scene__tag,.tool-card:focus-within .tool-scene__tag{animation:tag-out 1.6s ease both}
  .tool-card:hover .tool-scene__image,.tool-card:focus-within .tool-scene__image{animation:image-lift 1.6s ease both}
  .tool-card:hover .tool-scene__line,.tool-card:focus-within .tool-scene__line{animation:json-align 1.6s ease both}
  .workflow-illustration[data-phase="processing"] .workflow-illustration__flow{animation:workflow-flow 2.2s ease-in-out 1}
  .workflow-illustration[data-phase="processing"] .workflow-illustration__scan{animation:workflow-scan 2.2s ease-in-out 1}
  @keyframes tag-out{0%{transform:translate(0,0);opacity:1}60%,100%{transform:translate(12px,-8px);opacity:.25}}
  @keyframes image-lift{0%{transform:translateY(0)}60%,100%{transform:translateY(-4px)}}
  @keyframes json-align{0%{transform:translateX(-6px);opacity:.6}65%,100%{transform:translateX(0);opacity:1}}
  @keyframes workflow-flow{0%,100%{opacity:.45;transform:translateX(0)}50%{opacity:1;transform:translateX(7px)}}
  @keyframes workflow-scan{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}
}
@media(max-width:64rem){
  body>header,body>main,body>footer{width:calc(100% - 3rem)}
  .workspace-shell{padding:1.5rem}
  .public-hero{gap:1rem;padding-block:1.75rem 2.5rem}
  .public-hero h1{font-size:clamp(2.75rem,5.6vw,3.8rem)}
  .bench-note{font-size:.65rem;padding:.5rem .65rem}
  .public-header__label{display:none}
  .tool-card__content{padding:1.3rem}
}
@media(max-width:46rem){
  body>header,body>main,body>footer{width:calc(100% - 2rem)}
  body>main{padding-top:1.5rem;padding-bottom:2.5rem}
  .public-header{min-height:5rem;gap:1rem;flex-wrap:wrap;padding-block:1rem}
  .brand{font-size:1.4rem}
  .brand-mark{width:2.3rem;height:2.3rem;font-size:1.35rem}
  .public-navigation{gap:1rem;font-size:.82rem}
  .public-hero{grid-template-columns:1fr;padding-top:1rem;gap:1rem}
  .public-hero h1{font-size:clamp(2.7rem,11vw,3.6rem);max-width:13ch}
  .public-hero__lead{font-size:1rem}
  .hero-workbench{width:min(100%,30rem);margin:0 auto}
  .bench-note--top{left:0}
  .bench-note--bottom{right:0;bottom:4%}
  .feature-strip{grid-template-columns:1fr;gap:1rem;padding:1.25rem}
  .section-heading{display:block;margin-top:1.75rem}
  .section-heading p{margin-top:.6rem}
  .tool-card-grid{grid-template-columns:1fr}
  .tool-scene{min-height:12rem}
  .tool-scene svg{height:11rem}
  .guide-hero{padding:1.4rem 1.25rem 1.5rem;margin-bottom:2rem}
  .guide-hero h1{font-size:clamp(2rem,8vw,2.8rem)}
  .public-footer{grid-template-columns:1fr;gap:1.2rem}
  .workspace-shell{padding:1rem}
  .workspace-header{padding-top:.5rem}
  .workspace-header>.motion-settings{top:.5rem}
  .workspace-header h1{font-size:2.2rem}
  .tool-navigation>button,.actions>button{width:100%}
  .field input[type="file"]{width:100%;font-size:.9rem;padding:.8rem}
  .field textarea{min-height:14rem}
  .workflow-illustration{padding:1rem}
  .workflow-illustration__caption{align-items:start;flex-direction:column;gap:.65rem}
  .workflow-illustration__art{max-height:12rem}
  .workflow-illustration__caption{font-size:.85rem}
  .workflow-illustration__steps{grid-template-columns:1fr;gap:.35rem}
}
@media(max-width:24rem){
  .public-navigation{width:100%;justify-content:space-between}
  .public-hero__actions>.primary-button,.public-hero__actions>.secondary-button,.guide-hero__actions>.primary-button{width:100%}
  .tool-card__actions{align-items:stretch;flex-direction:column;gap:.8rem}
  .tool-card__guide{text-align:center;padding:.25rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
