/* ClipOCR — an editorial field guide, not a simulated product window. */
:root{color-scheme:light;--paper:#f7f7f2;--white:#fff;--ink:#182b31;--muted:#56656a;--line:#cbd3d0;--teal:#194f6e;--teal-dark:#103d58;--mist:#e8f0ef;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--teal)}
a:focus-visible{outline:3px solid var(--teal);outline-offset:4px;border-radius:2px}
.wrap{width:min(100% - 3rem,1220px);margin-inline:auto}
.skip-link{position:absolute;z-index:9;top:0;left:1rem;transform:translateY(-150%);padding:.7rem 1rem;background:var(--white);color:var(--teal);font-weight:700}
.skip-link:focus{transform:translateY(.5rem)}
.site-header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;text-decoration:none;font-size:1.08rem;font-weight:750;letter-spacing:-.04em;white-space:nowrap}
.brand img{display:block;flex:none}
.site-header nav{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);font-size:.89rem;font-weight:600}
.site-header nav a{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.site-header .nav-download{color:var(--teal);border-bottom:1px solid currentColor;padding-block:.25rem}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(2rem,5vw,6rem);align-items:center;padding-block:clamp(4rem,7vw,7.5rem) clamp(4rem,6vw,6rem)}
.eyebrow,.gesture-top,.fig-index,.fig-end,.step-number,.platform-index{font:700 .72rem/1.4 var(--mono);letter-spacing:.09em;text-transform:uppercase}
.eyebrow{margin:0 0 1.2rem;color:var(--teal)}
h1,h2,h3,p,figure{margin-top:0}
h1{max-width:11ch;margin-bottom:1.5rem;font-size:clamp(3.15rem,6vw,6.1rem);line-height:1.02;letter-spacing:-.06em;font-weight:750}
h2{font-size:clamp(2.35rem,4vw,4rem);line-height:1.06;letter-spacing:-.065em;font-weight:720;margin-bottom:1.15rem}
h3{font-size:1.14rem;line-height:1.25;letter-spacing:-.025em}
.lead{max-width:37rem;font-size:clamp(1.08rem,1.45vw,1.3rem);line-height:1.55;color:#34474d;margin-bottom:2rem}
kbd,code{font-family:var(--mono);font-size:.82em;overflow-wrap:anywhere}kbd{white-space:nowrap;background:var(--white);border:1px solid var(--line);padding:.2em .4em;border-radius:3px}
.actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.8rem 1.2rem;font-weight:700;text-decoration:none}.button.primary{background:var(--teal);color:#fff}.button.primary:hover{background:var(--teal-dark)}.text-link{font-weight:700;min-height:44px;display:inline-flex;align-items:center;gap:.3rem}
.support-line{font:.79rem/1.5 var(--mono);color:var(--muted);margin:1.55rem 0 0}.support-line span{margin-inline:.3rem}
.gesture{min-width:0;border:1px solid var(--line);background:var(--white);box-shadow:11px 11px 0 var(--mist)}
.gesture-top{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem 1.3rem;color:var(--muted);border-bottom:1px solid var(--line);font-size:.6rem}.gesture-top span:last-child{color:#68787d;text-align:right}
.gesture-canvas{position:relative;min-height:300px;overflow:hidden;background:var(--paper);padding:3.8rem 2.5rem}
.sample-line{height:13px;background:#dae1dc;margin-bottom:2.2rem}.sample-line.short{width:42%}.sample-line.long{width:84%}.sample-line.medium{width:62%;margin-top:7rem}
.selection{position:absolute;left:12%;top:27%;width:79%;min-height:168px;border:2px solid var(--teal);background:rgba(232,240,239,.88);padding:2rem 1.5rem 1.3rem}
.selection::before,.selection::after{content:"";position:absolute;width:7px;height:7px;background:var(--teal);top:-4px}.selection::before{left:-4px}.selection::after{right:-4px}
.selection-label{position:absolute;top:-1.25rem;left:-2px;color:var(--teal);font:700 .68rem/1 var(--mono);letter-spacing:.04em}.selection-copy{display:block;font-size:clamp(1.2rem,2.4vw,1.9rem);font-weight:650;line-height:1.25;letter-spacing:-.035em}.selection-handle{position:absolute;right:-6px;bottom:-6px;width:11px;height:11px;background:var(--teal)}
.gesture figcaption{display:grid;gap:.65rem;padding:1.4rem 1.3rem 1.55rem;border-top:1px solid var(--line)}.fig-index{color:var(--teal)}.fig-result{font:500 clamp(.95rem,1.5vw,1.1rem)/1.4 var(--mono);overflow-wrap:anywhere}.fig-end{color:var(--muted);text-align:right}
.divider{height:1px;background:var(--line)}
.sequence{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2rem,8vw,9rem);padding-block:clamp(4.5rem,7vw,8rem)}.section-heading h2{max-width:14ch}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:3.5rem 1fr;gap:1.4rem;padding:1.6rem 0;border-top:1px solid var(--line)}.steps li:last-child{border-bottom:1px solid var(--line)}.step-number{color:var(--teal);padding-top:.25rem}.steps h3{margin-bottom:.45rem}.steps p{max-width:42rem;margin:0;color:var(--muted)}
.privacy-band{background:var(--teal);color:#fff}.privacy-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(2rem,9vw,10rem);padding-block:clamp(4.5rem,7vw,7.5rem)}.privacy-band .eyebrow{color:#c4e5e7}.privacy-band h2{max-width:12ch}.privacy-lead{font-size:clamp(1.13rem,1.7vw,1.45rem);line-height:1.45;max-width:27rem;color:#e8f2f2}.privacy-detail{border-top:1px solid #91b1bb;padding-top:1.4rem}.privacy-detail h3{margin-bottom:1rem}.privacy-detail p{color:#e8f2f2;line-height:1.65}.privacy-detail p:last-child{margin-bottom:0}.privacy-detail code{color:#fff}.privacy-detail .fine-print{font-size:.85rem;color:#d6e5e6;border-top:1px solid #91b1bb;padding-top:1.25rem;margin-top:2rem}
.platforms{padding-block:clamp(4.5rem,7vw,8rem)}.section-intro{max-width:37rem;color:var(--muted);font-size:1.08rem}.platform-list{margin-top:3rem;border-top:1px solid var(--ink)}.platform{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:2rem;padding:2.15rem 0;border-bottom:1px solid var(--line)}.platform-index{color:var(--teal)}.platform-name h3{font-size:clamp(1.55rem,2.5vw,2.5rem);letter-spacing:-.055em;margin:.6rem 0 0}.platform-name h3 span{display:block;font-size:.56em;letter-spacing:-.025em;color:var(--muted);font-weight:500;margin-top:.25rem}.platform-spec dl{margin:0;display:grid;gap:.45rem}.platform-spec dl div{display:grid;grid-template-columns:5rem 1fr;gap:1rem}.platform-spec dt{font:.7rem/1.7 var(--mono);text-transform:uppercase;color:var(--teal)}.platform-spec dd{margin:0;font-weight:650}.platform-spec p{margin:1.35rem 0 0;color:var(--muted);max-width:44rem}
.download-section{background:var(--mist);border-top:1px solid var(--line)}.download-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(2rem,8vw,8rem);padding-block:clamp(4.5rem,7vw,8rem)}.download-intro h2{max-width:14ch}.download-intro p:not(.eyebrow){max-width:28rem;color:var(--muted)}.download-intro img{display:block;margin-top:2rem}.download-list{border-top:1px solid var(--ink)}.download-list>a{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:96px;padding:1.2rem .2rem;text-decoration:none;border-bottom:1px solid var(--line)}.download-list>a:hover .download-arrow{transform:translate(3px,-3px)}.download-list strong,.download-list small{display:block}.download-list strong{font-size:1.35rem;letter-spacing:-.035em}.download-list small{color:var(--muted);font-size:.87rem;margin-top:.1rem}.download-arrow{font-size:1.5rem;color:var(--teal);transition:transform .15s ease}.source-note{font-size:.87rem;color:var(--muted);margin:1.5rem 0 0}.source-note a{font-weight:700;color:var(--teal)}
.site-footer a,.source-note a{display:inline-flex;align-items:center;gap:.3rem;min-height:24px}
.site-footer{display:flex;justify-content:space-between;gap:1.5rem;padding-block:2rem;font-size:.8rem;color:var(--muted)}.site-footer span span{padding-inline:.35rem}
.error-page{min-height:70vh;display:grid;align-content:center}.error-page .eyebrow{margin-bottom:1rem}.error-page p{max-width:34rem;color:var(--muted)}
@media(max-width:850px){.intro,.sequence,.privacy-layout,.download-layout{grid-template-columns:1fr;gap:3rem}.intro{padding-top:4.5rem}.intro-copy{max-width:42rem}.gesture{max-width:620px}.section-heading h2{max-width:20ch}.privacy-lead{max-width:42rem}.privacy-detail{max-width:42rem}.download-intro img{margin-top:1.3rem}}
@media(max-width:600px){.wrap{width:min(100% - 2rem,1220px)}.site-header{min-height:74px;align-items:flex-start;padding-top:1rem;padding-bottom:1rem;flex-wrap:wrap;gap:.7rem}.brand{font-size:1rem}.site-header nav{gap:1.1rem;flex-wrap:wrap;font-size:.79rem}.site-header nav a{min-height:44px;display:inline-flex;align-items:center}.intro{padding-block:3.5rem 4rem;gap:3rem}h1{font-size:clamp(2.8rem,12vw,4.2rem)}.lead{font-size:1.05rem}.gesture-top{padding:.9rem;font-size:.53rem}.gesture-canvas{min-height:280px;padding:3rem 1.2rem}.selection{top:29%;left:10%;width:82%;min-height:135px;padding:1.4rem .85rem}.selection-copy{font-size:clamp(1.08rem,5vw,1.5rem)}.sample-line.medium{margin-top:6rem}.gesture figcaption{padding:1.1rem}.sequence,.platforms,.download-layout,.privacy-layout{padding-block:4rem}.steps li{grid-template-columns:2.5rem 1fr;gap:.7rem}.platform{grid-template-columns:1fr;gap:1rem;padding:1.6rem 0}.platform-name h3 span{display:inline;font-size:.7em}.platform-spec dl div{grid-template-columns:4rem 1fr;gap:.6rem}.download-list>a{min-height:88px}.site-footer{flex-direction:column;gap:.6rem}}
@media(max-width:360px){.site-header nav{gap:.75rem}.support-line span{margin-inline:.1rem}.gesture-top span:last-child{max-width:8rem}.selection-copy{font-size:1.04rem}.platform-spec dl div{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.download-arrow{transition:none}}
