/* Shared design system: readable typography, purposeful surfaces, clear states. */
:root{--bg:#f4f6f2;--paper:#fff;--ink:#14251f;--muted:#53625b;--line:#d9e1d9;--green:#176b4c;--green-dark:#115137;--lime:#d8f676;--soft:#edf3e9;--radius:20px;--focus:#176b4c;color:var(--ink);background:var(--bg);font-synthesis:none}
html{scroll-padding-top:24px}body{background:var(--bg);color:var(--ink)}::selection{background:#d8f676;color:#14251f}
.wrap{max-width:1264px;padding-inline:clamp(20px,4vw,48px)}
.site-header{min-height:82px;padding-block:16px;gap:12px 24px}.brand{font-size:19px;font-weight:780;letter-spacing:-.04em;min-width:0}.brand-mark>img,.brand-mark:has(>img){width:38px;height:38px}
.language-toggle,.language-picker>select{min-height:44px;border:1px solid var(--line);border-radius:100px;background:var(--paper);box-shadow:none;padding-block:10px}.language-popover{border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 55px #14251f20}.language-option[aria-selected=true]{background:var(--soft)}
.tool-navigation{margin-bottom:0;padding-block:0 16px;border-bottom:1px solid var(--line);gap:5px}.tool-navigation a{font-size:13px;font-weight:650;min-height:44px;padding:9px 14px;border-radius:100px;transition:background .16s,border-color .16s,color .16s}.tool-navigation a[aria-current=page]{background:var(--ink);color:white;border-color:var(--ink)}.tool-navigation a:hover{background:#e5ebdf;color:var(--ink)}.tool-navigation .nav-dashboard{border-radius:100px;background:var(--paper);color:var(--ink);border-color:#cbd6cb;padding-inline:17px}.tool-navigation .nav-dashboard[aria-current=page]{background:var(--ink);color:white}
.button{min-height:48px;border-radius:12px;padding:13px 20px;font-weight:720;line-height:1.5;transition:background .16s,box-shadow .16s,transform .16s}.button-primary,.button.primary{background:var(--ink);color:#fff;box-shadow:0 3px 0 #00000008}.button-primary:hover:not(:disabled),.button.primary:hover:not(:disabled){background:var(--green-dark);box-shadow:0 7px 20px #14251f14}.button-secondary,.button.secondary{border:1px solid var(--line);background:white;color:var(--ink)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}input,select,textarea{accent-color:var(--green)}
.site-footer{margin-top:50px;padding-block:28px 22px;font-size:13px;border-top:1px solid var(--line);color:var(--muted);gap:10px 24px}.site-footer>a:hover{text-decoration:underline;text-underline-offset:4px}.tool-guide{border:0;border-block:1px solid var(--line);border-radius:0;background:transparent;padding:24px 0;margin-block:36px}.tool-guide p{font-size:15px;color:var(--muted)}.tool-guide a{font-size:14px;color:var(--green)}.problem-report{border-top:0;opacity:.9}.problem-report summary{font-size:13px;color:var(--muted)}
/* First visit: explanation on the left, one file action on the right. */
.photo-tool-page .intro{padding:42px 0 30px;text-align:start}.photo-tool-page .intro .eyebrow{display:flex;justify-content:flex-start;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:12px}.photo-tool-page .intro h1{font-size:clamp(2.3rem,4.8vw,4rem);line-height:1.13;letter-spacing:-.055em;font-weight:780;margin:0 0 20px;text-wrap:balance}.photo-tool-page .title-dot{color:var(--green)}.photo-tool-page .intro>p{font-size:17px;line-height:1.8;max-width:35em;color:var(--muted)}.photo-tool-page .trust{border:0;background:transparent;padding:0;margin-top:24px;font-size:13px;line-height:1.7;color:var(--green)}.photo-tool-page .trust svg{width:17px;height:17px}.workspace-art{max-width:385px;margin-top:30px}.workspace-art svg{display:block;width:100%;height:auto}.photo-tool-page:has(#selected-state:not([hidden])) .workspace-art,.photo-tool-page:has(#batch-list:not(:empty)) .workspace-art{display:none}
.photo-panel,.settings-panel{border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 30px #14251f05}.settings-panel{background:#fff;padding:26px}.panel-heading{margin-bottom:18px}.panel-heading h2{font-size:17px;font-weight:740;letter-spacing:-.025em}.step{display:inline-grid;place-items:center;min-width:27px;min-height:27px;border-radius:8px;background:var(--ink);color:var(--lime);font-size:11px;font-weight:750;padding:5px}.work-mode{background:#f0f3ed;border:0;border-radius:100px;padding:4px}.work-mode button{border-radius:100px;min-height:40px}.work-mode button[aria-pressed=true]{background:white;border-color:#dae2d5;box-shadow:0 2px 6px #14251f0a}
.drop-zone,.pdf-drop{border:1.5px dashed #adc0ac;background:#f8faf5;border-radius:16px}.drop-zone.dragging,.pdf-drop.dragging{background:#edf8d0;outline:3px solid var(--green)}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .photo-panel{padding:22px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .empty-state{min-height:290px;padding:28px 20px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) #select-file{order:0;width:min(100%,300px);font-size:19px;min-height:62px;margin:18px 0;background:var(--ink);color:white;border-radius:13px;box-shadow:0 7px 18px #14251f12}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .upload-illustration{display:block;margin-bottom:8px;width:76px;height:58px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .empty-state>p:not(.file-hint){order:1;font-size:14px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .file-hint{order:2;font-size:12px;color:var(--muted);margin-top:14px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .paste-hint{order:3;font-size:12px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .panel-note{font-size:12px;margin-top:18px;color:var(--muted)}
.photo-front{background:white;border-color:#adc6a3}.photo-back{background:var(--lime);border-color:#b6ce8c}.photo-front svg{stroke:var(--green)}.photo-front span{background:var(--ink);color:var(--lime)}.presets button{border-radius:9px;min-height:44px}.presets button.active{background:var(--ink);color:var(--lime);border-color:var(--ink)}.number-field,.pixel-field{border-color:#b5c5b8;border-radius:11px;background:#fff}.number-field:focus-within,.pixel-field:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #176b4c15}.image-stage{background:#e8ede6;border-radius:12px}.preview-tabs{border-bottom-color:var(--line);gap:4px}.preview-tabs button{border-radius:8px 8px 0 0}.result{border-color:#bed5a7;background:#f2f8e7;border-radius:16px}.result-size strong{font-size:clamp(32px,4vw,46px);letter-spacing:-.055em;color:var(--ink)}.settings-panel .advanced,.saved-settings,.below-tool{border-radius:12px}
.photo-tool-page .guide,.photo-tool-page .faq{padding-block:44px;border-top:1px solid var(--line);margin-top:36px}.photo-tool-page .guide h2,.photo-tool-page .faq h2{font-size:27px;line-height:1.35;letter-spacing:-.035em;margin-bottom:26px}.guide-steps>li{border-color:var(--line);border-radius:16px;box-shadow:none}.faq details{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}.faq summary{padding-block:20px;font-size:16px;font-weight:650;line-height:1.65}.faq details>p{max-width:58em;line-height:1.85;color:var(--muted)}
@media(min-width:1000px){.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) main.wrap,.photo-tool-page:has(#batch-tool:not([hidden]) #batch-list:empty) main.wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:50px;align-items:start;padding-top:48px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) main>.intro,.photo-tool-page:has(#batch-tool:not([hidden]) #batch-list:empty) main>.intro{grid-column:1;padding:24px 0 0}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) main>.tool-layout,.photo-tool-page:has(#batch-tool:not([hidden]) #batch-list:empty) main>.tool-layout{grid-column:2;min-width:0}.photo-tool-page main>.guide,.photo-tool-page main>.faq,.photo-tool-page main>.tool-guide{grid-column:1/-1}.photo-tool-page:has(#selected-state:not([hidden])) .intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.7fr);gap:4px 40px;padding-block:30px}.photo-tool-page:has(#selected-state:not([hidden])) .intro .eyebrow{grid-column:1/-1;margin:0}.photo-tool-page:has(#selected-state:not([hidden])) .intro h1{grid-column:1;grid-row:2/4;font-size:42px;margin:0}.photo-tool-page:has(#selected-state:not([hidden])) .intro>p{grid-column:2;font-size:14px}.photo-tool-page:has(#selected-state:not([hidden])) .trust{grid-column:2;margin:6px 0 0;font-size:12px}}
/* Directory. */
.dashboard-main{padding-block:0 32px}.dashboard-intro{padding:44px 0 30px;display:flex;justify-content:space-between;align-items:end;gap:24px;border-bottom:1px solid var(--line);margin-bottom:28px}.dashboard-intro h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.15;letter-spacing:-.055em;font-weight:780}.dashboard-intro::after{content:'PHOTO TO KB';font-size:11px;letter-spacing:.15em;font-weight:750;color:var(--green);white-space:nowrap}.dashboard-directory .directory-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px}.directory-search label{font-size:13px;margin-bottom:8px}.dashboard-directory .directory-search input{min-height:54px;border-color:#bdcbbb;border-radius:13px;padding-inline:18px;box-shadow:0 3px 14px #14251f04;font-size:16px}.directory-filters{background:#e7ede2;border-radius:100px;padding:4px}.directory-filters button{border-radius:100px;min-height:44px;padding-inline:20px}.directory-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white;box-shadow:none}.dashboard-directory .directory-count{font-size:12px;margin:12px 0 24px}.directory-group+.directory-group{margin-top:38px}.directory-group>h2{font-size:16px;font-weight:750;margin-bottom:15px;display:flex;align-items:center;gap:12px}.directory-group>h2::after{content:'';height:1px;flex:1;background:var(--line)}
.dashboard-directory .directory-grid{gap:16px}.directory-card-shell{border-radius:20px;border-color:var(--line);transition:border-color .18s,box-shadow .18s,transform .18s}.directory-card-shell:hover{transform:translateY(-3px);border-color:#9db69c;box-shadow:0 12px 24px #14251f0b}.dashboard-directory .directory-card{padding:23px;min-height:208px;border-radius:20px}.directory-card-shell .directory-card-top{margin-bottom:24px}.directory-icon{width:46px;height:46px;border-radius:13px;background:#e9f2dc;color:var(--green-dark)}.directory-icon-pdf{background:#f9ebdc;color:#8d532f}.dashboard-directory .directory-card h3{font-size:21px;line-height:1.35;letter-spacing:-.035em;margin-bottom:9px}.dashboard-directory .directory-card p{font-size:14px;line-height:1.7;color:var(--muted)}.directory-pin{top:18px;inset-inline-end:16px;border-radius:100px;color:#58735c}.directory-pin[aria-pressed=true]{background:#eef5d5;color:#436021}.directory-quick-links{padding:0 22px 20px;gap:6px}.directory-quick-links a{border-radius:100px;font-size:12px;min-height:44px;padding:6px 11px;background:var(--bg);border-color:var(--line);color:var(--ink)}.dashboard-personal>div,.dashboard-saved{border-radius:16px}.dashboard-reading{padding-block:24px;gap:18px}.dashboard-reading .button{background:var(--ink);color:white;border-radius:100px}.dashboard-privacy{font-size:12px;color:var(--muted)}
/* Image, document and PDF workspaces. */
:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro){padding:40px 0 30px;max-width:900px}:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro) h1{font-size:clamp(2rem,4vw,3.35rem);font-weight:780;letter-spacing:-.05em;line-height:1.18;margin:8px 0 18px;text-wrap:balance}:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro)>p{font-size:16px;color:var(--muted);max-width:48em;line-height:1.8}:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro)>:is(.recipe-eyebrow,.scan-eyebrow){font-size:11px;letter-spacing:.14em;color:var(--green);font-weight:750}:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro)>:is(.submission-trust,.recipe-trust,.scan-trust,.converter-trust){font-size:13px;margin-top:14px;color:var(--green)}
.submission-workspace,.scan-workspace,.recipe-panel,.converter-card{border-color:var(--line);border-radius:22px;box-shadow:0 8px 30px #14251f05}.submission-spec{background:#edf2e8;border-color:var(--line);padding:30px}.submission-photo{padding:30px}.submission-page legend,.submission-photo h2,.recipe-panel h2,.scan-editor h2,.scan-pages h2{font-size:17px;font-weight:750;letter-spacing:-.02em}.submission-modes{gap:7px;margin-block:0 20px}.submission-modes button{border-radius:100px;background:white;border-color:var(--line);font-size:14px;padding:10px 18px}.submission-modes button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.submission-checks li{background:#f7faf3;border-radius:12px;font-size:14px;padding:13px 16px;border-color:var(--line)}.submission-request-note{background:#eaf3dd;border-color:#cbdcb6;border-radius:18px;padding:24px}
.recipe-panel{padding:28px;margin-bottom:22px}.recipe-presets{gap:14px}.recipe-preset{background:#f6f8f1;border-color:var(--line);border-radius:14px;padding:20px}.recipe-preset:hover{background:#eaf3da;border-color:#a7c38b}.recipe-pipeline{padding:15px 18px;background:#edf4e0;border-radius:12px;line-height:1.8}.recipe-page .button.primary{background:var(--ink);border-color:var(--ink)}.recipe-result,.pdf-row{border-radius:14px;background:#f8faf5;border-color:var(--line);padding:15px}.scan-workspace{padding:28px}.scan-upload{padding-bottom:22px}.scan-tabs button{border-radius:100px;background:white;border-color:var(--line);font-size:14px}.scan-tabs button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.scan-board-pad{background:#e8ede4;border-radius:15px}.scan-row{border-radius:14px;background:#f6f8f1;border-color:var(--line)}.scan-row[data-active=true]{border-color:var(--green);box-shadow:0 0 0 1px var(--green)}.scan-export{padding-top:22px}.scan-export .button{flex:0 1 auto;min-width:220px}
.converter-card{padding:28px}.converter-format{font-size:24px;letter-spacing:-.05em;background:var(--ink);color:var(--lime);border-radius:11px;padding:8px 13px}.converter-card h2{font-size:22px;letter-spacing:-.035em}.converter-note{line-height:1.8}.converter-how,.converter-notes,.submission-how,.scan-guide{padding-block:28px;border-top:1px solid var(--line);margin-block:30px 0}.pdf-photo-panel .pdf-drop{padding:36px 24px}.pdf-settings{padding:26px}.pdf-row-controls button{border-radius:8px}.pdf-drop>.button{background:var(--ink)}.pdf-page .intro{padding:38px 0 28px;text-align:start}.pdf-page .intro h1{font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.05em;line-height:1.2}.pdf-page .eyebrow{justify-content:flex-start}.pdf-page .intro>p{max-width:52em}
/* Reading guides. */
.guide-page .guide-shell{max-width:900px;padding:34px 36px 60px}.guide-page h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.045em;line-height:1.25;max-width:none}.guide-page .guide-lead{font-size:18px;color:var(--muted);line-height:1.85}.guide-page .guide-summary{border:0;border-inline-start:4px solid var(--green);border-radius:0;background:#eaf1df;padding:22px 25px}.guide-page .guide-content section{margin-block:46px}.guide-page .guide-content h2{font-size:26px;line-height:1.4;letter-spacing:-.035em}.guide-page .guide-content p,.guide-page .guide-content li{font-size:17px;line-height:1.9}.guide-page .guide-steps li{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding-block:20px}.guide-page .guide-note{border-color:var(--green);background:#edf2e7}.guide-page .guide-cards>a{border-color:var(--line);border-radius:16px;box-shadow:none}
@media(max-width:999px){.photo-tool-page .intro{text-align:center;padding:32px 0 26px}.photo-tool-page .intro .eyebrow{justify-content:center}.photo-tool-page .intro>p{margin-inline:auto}.photo-tool-page .trust{margin-top:17px}.workspace-art{display:none}.photo-tool-page .intro h1{font-size:42px}.dashboard-directory .directory-controls{grid-template-columns:1fr}.dashboard-directory .directory-filters{justify-self:start}}
@media(max-width:760px){.wrap{padding-inline:20px}.site-header{min-height:70px;padding-block:12px}.brand{font-size:17px}.brand-mark>img,.brand-mark:has(>img){width:32px;height:32px}.tool-navigation{gap:6px;padding-bottom:12px}.tool-navigation .nav-mobile{min-height:44px;font-size:12px;padding:8px 7px;border-radius:100px}.tool-navigation .nav-desktop{display:none}.photo-tool-page .intro{padding-block:26px 22px}.photo-tool-page .intro h1{font-size:clamp(30px,7.5vw,42px);line-height:1.2;letter-spacing:-.045em;margin-bottom:14px}.photo-tool-page .intro>p{font-size:15px;line-height:1.75}.photo-tool-page .intro .eyebrow{font-size:11px;margin-bottom:10px}.photo-tool-page .trust{font-size:12px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .photo-panel{padding:16px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .empty-state{min-height:248px;padding:22px 16px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) #select-file{font-size:18px;min-height:56px;width:100%;margin-block:15px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .panel-note{display:block;font-size:11px;line-height:1.6}.photo-tool-page .guide,.photo-tool-page .faq{padding-block:30px;margin-top:26px}.photo-tool-page .guide h2,.photo-tool-page .faq h2{font-size:23px}.settings-panel{padding:22px}.tool-guide{margin-block:28px}.site-footer{margin-top:30px;padding-block:22px}.dashboard-intro{padding-block:28px 24px;margin-bottom:22px;align-items:flex-start}.dashboard-intro h1{font-size:32px}.dashboard-intro::after{font-size:9px;align-self:end;white-space:normal;text-align:end}.dashboard-directory .directory-controls{gap:13px}.dashboard-directory .directory-filters{width:100%;justify-self:stretch}.directory-filters button{padding-inline:12px}.dashboard-directory .directory-grid{gap:12px}.dashboard-directory .directory-card{min-height:0;padding:21px}.directory-card-shell .directory-card-top{margin-bottom:18px}.dashboard-directory .directory-card h3{font-size:20px}.directory-group+.directory-group{margin-top:30px}:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro){padding-block:28px 24px}:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro) h1{font-size:32px;line-height:1.22;margin-bottom:14px}:is(.submission-intro,.recipe-intro,.scan-intro,.converter-intro)>p{font-size:15px}.submission-spec,.submission-photo,.scan-workspace,.recipe-panel,.converter-card{padding:20px}.submission-workspace,.scan-workspace,.recipe-panel,.converter-card{border-radius:18px}.scan-export .button{flex-basis:100%;min-width:0}.submission-modes button{font-size:13px;flex:1 1 auto;padding-inline:12px}.guide-page .guide-shell{padding:26px 20px 40px}.guide-page h1{font-size:31px}.guide-page .guide-lead{font-size:17px}.guide-page .guide-content section{margin-block:34px}.guide-page .guide-content h2{font-size:23px}.guide-page .guide-content p,.guide-page .guide-content li{font-size:16px}.guide-page .guide-summary{padding:18px 20px}}
@media(max-width:359px){.wrap{padding-inline:16px}.brand{font-size:16px}.site-header{gap:10px}.tool-navigation .nav-mobile{font-size:11px;padding-inline:4px}.photo-tool-page .intro h1{font-size:29px}.language-toggle{padding-inline:10px}.photo-tool-page:has(#tool:not([hidden]) #selected-state[hidden]) .empty-state{padding-inline:13px}.submission-spec,.submission-photo,.scan-workspace,.recipe-panel,.converter-card{padding:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}.directory-card-shell:hover,.button:hover:not(:disabled){transform:none}}
@media(forced-colors:active){.tool-navigation a[aria-current=page],.directory-filters button[aria-pressed=true],.scan-tabs button[aria-pressed=true]{border:2px solid Highlight}.button-primary,.step{border:1px solid ButtonText}.workspace-art{display:none}}

/* Consistent touch targets and a compact header across tool-specific shells. */
.site-header>.language-picker,.site-header>nav{min-width:0;margin-inline-start:auto}.site-header .language-picker{max-width:100%}.language-picker select{max-width:100%}.site-header .brand{flex-shrink:1}.directory-quick-links a{display:inline-flex;align-items:center;min-height:44px}.presets button{min-height:44px}
@media(max-width:760px){.site-header{column-gap:8px}.site-header>.brand{font-size:16px}.site-header>.language-picker,.site-header>nav{margin-inline-start:auto}.language-toggle{max-width:100%}}

.photo-tool-page .guide{border-bottom:0}.pdf-page .intro>p{margin-inline:0}.pdf-page .trust{border-radius:10px;font-size:13px;padding:10px 14px;display:inline-flex}.pdf-page .tool-layout{align-items:start}
/* Long translations and enlarged text must not set a workspace's minimum width. */
.tool-layout,.photo-panel,.settings-panel,.photo-heading,.photo-heading h2{min-width:0}.photo-heading h2{overflow-wrap:anywhere}.work-mode{min-width:0;max-width:100%}.work-mode button{min-width:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}.empty-state>p,#select-file{overflow-wrap:anywhere}
/* Tool-specific language containers should not reserve an entire header row. */
.site-header>nav:not(.tool-navigation){flex:0 1 auto}
