/* «Сканчек» в языке J (ТЗ 2026-10-16-site-apple-redesign, раздел «Инструменты»): шапка, подвал, шрифт, токены и компоненты
   pf-* (капсулы, плашки, пейволл, ошибка, заголовок, значки) — platform.css (копия platform-ui); здесь только своё у «Сканчека». */
:root{--tl:#f2f5f8}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
body>main.wrap{width:100%}  /* body платформы — flex-колонка: без ширины контейнер сжался бы по контенту */
.pf-header section{margin-top:0}  /* колонки панели «Платформа» — не секции страницы */
h2{font-size:22px;letter-spacing:-.01em;margin-bottom:6px}
.sub{color:var(--mut);margin-bottom:18px}
section{margin-top:64px}
.hero{padding-top:var(--pf-gap-hero);max-width:760px}.hero h1{font-size:64px;line-height:1.02;letter-spacing:-.04em;font-weight:800;margin:22px 0 14px}
.hero-id{display:flex;align-items:center;gap:14px}
.lead{font-size:19px;color:var(--mut)}.lead.ink{color:var(--ink);font-weight:600}
.facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px}
.fact{display:flex;gap:14px;align-items:flex-start;padding:22px}.fact+.fact{box-shadow:inset 1px 0 0 var(--hair)}.fact b{display:block}.fact span{color:var(--mut)}
.fact .pf-gl{background:var(--tl);background:color-mix(in srgb,var(--c-tools) 12%,#fff)}
.facts.one{grid-template-columns:1fr}.facts.one .fact{padding:12px 0}.facts.one .fact+.fact{box-shadow:inset 0 1px 0 var(--hair)}
.note{margin-top:28px;background:#fff;background:var(--mat-thick);box-shadow:inset 0 0 0 1px var(--hair);border-radius:var(--r-m);padding:14px 18px;color:var(--mut);font-size:14px}
.two{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start;margin-top:var(--pf-gap-page)}
.two .pf-app-head{padding-bottom:14px}
.panel{background:#fff;background:var(--mat-thick);border-radius:var(--r-l);padding:24px;box-shadow:inset 0 1px 0 var(--edge),0 0 0 1px var(--hair),0 1px 2px rgba(24,35,31,.04)}
.panel h2{font-size:18px}
.pf-alert{margin-top:14px;margin-bottom:0}
.drop{display:block;border:1.5px dashed #c3ccd5;border-radius:var(--r-m);padding:26px 22px;text-align:center;color:var(--mut);background:rgba(255,255,255,.55);cursor:pointer}
.drop b{display:block;color:var(--ink);margin-bottom:2px;font-size:17px}.drop .pf-icon{margin:0 auto 12px}
.drop.big{margin-top:22px;padding:34px}.drop.over,.drop.done{border-style:solid;border-color:var(--c-tools);background:var(--tl)}
.inp{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px 14px;font:15px Onest,sans-serif;background:#fff;color:var(--ink)}
.acts{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;align-items:center}.acts form{display:contents}
.pages{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.mt14{margin-top:14px}.mt48{margin-top:48px}.mt56{margin-top:56px}
.h1e,.h1s{font-size:32px;line-height:1.1;letter-spacing:-.025em;font-weight:700;margin:var(--pf-gap-page) 0 6px}
.hint{color:var(--mut);font-size:13px;margin-top:10px;min-height:1em}
.privacy{font-size:13px;color:var(--mut);margin-top:12px}
.hidden{display:none !important}
.state{margin:var(--pf-gap-page) auto 0}.pf-pw .pf-alert{text-align:left;margin:4px 0 0}.pf-pw .acts{justify-content:center;margin-top:8px}.pf-pw .pf-cap{margin-top:0}
.pf-err .acts{margin-top:8px}
.lost-head{padding-top:var(--pf-gap-page)}
@media (max-width:900px){.hero h1{font-size:44px}.fact+.fact{box-shadow:inset 0 1px 0 var(--hair)}}
@media (max-width:720px){.wrap{padding:0 16px}.panel{padding:16px}.acts .pf-cap{width:100%}}

/* --- отчёт, партия, сравнение (макеты scancheck-*) --- */
.mt20{margin-top:20px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pick{margin-top:12px}
.drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.drop{position:relative}
.pick{margin-top:12px}.fname{display:block;margin-top:8px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.fname:empty{display:none}[hidden]{display:none!important}
.files{list-style:none;margin-top:14px}.files .f{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-s);background:#fff;background:var(--mat-thick);box-shadow:inset 0 0 0 1px var(--hair);margin-bottom:8px;font-size:14px}.files .f span{color:var(--mut)}.files .f span.bad{color:#b42318;font-weight:600}
.files .f b{overflow-wrap:anywhere;font-weight:600}
.files .x{border:0;background:none;font-size:20px;line-height:1;color:var(--mut);cursor:pointer;padding:0 4px}
.grade{display:flex;gap:18px;align-items:center;border-radius:var(--r-l);padding:20px 22px;border:1px solid;margin-top:16px}
.grade .g{width:64px;height:64px;border-radius:15px;display:grid;place-items:center;font-weight:800;font-size:26px;color:#fff;flex:none}
.grade h2{font-size:24px;margin:0}.grade p{color:var(--mut)}.grade .grade-hint{font-size:12px;margin-top:6px}
.g-good{background:#eef7f2;border-color:#bfe0cf}.g-good .g{background:#0b6e4f}
.g-fair{background:#fff7e6;border-color:#f3c88d}.g-fair .g{background:#b45309}
.g-poor{background:#fdecec;border-color:#f0b4b4}.g-poor .g{background:#b42318}
.b{display:inline-block;font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;white-space:nowrap}
.b-good{background:#e1f3ea;color:#0b6e4f}.b-fair{background:#fdf3e7;color:#b45309}.b-poor{background:#fdecec;color:#b42318}.b-mut{background:#eef2f0;color:var(--mut)}
.iss{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
.iss:last-child{border-bottom:0}.iss .dot{width:10px;height:10px;border-radius:50%;margin-top:7px;flex:none}
.dot.d-crit{background:#b42318}.dot.d-warn{background:#b45309}.iss b{display:block}.iss span{color:var(--mut);font-size:14px}.iss .sev{display:block;font-size:12px}
.more-issues summary{cursor:pointer;font-weight:600;color:var(--c-tools);margin-top:12px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:0;font-size:14px}.kv .k{padding-right:14px}
.kv div{padding:8px 0;border-bottom:1px solid var(--line)}.kv .k{color:var(--mut)}.kv .v{text-align:right;font-weight:600}
.kv .v small{display:block;font-weight:400;color:var(--mut);font-size:12px}
.sw2{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;border:1px solid rgba(0,0,0,.15);margin-right:6px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.cards.scope.hidden{display:none}
.pages .pgbtn{border:0;border-radius:999px;padding:6px 14px;font:600 13px Onest,sans-serif;background:rgba(24,35,31,.06);color:var(--ink-2);cursor:pointer}.pages .pgbtn.on{background:var(--c-tools);color:#fff}
.tbl{overflow-x:auto}.tbl table{min-width:760px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}th{color:var(--mut);font-weight:600}
.filt{display:inline-flex;gap:2px;flex-wrap:wrap;margin:6px 0 14px;padding:3px;border-radius:var(--r-s);background:rgba(24,35,31,.07)}.filt button{border:0;border-radius:9px;padding:7px 14px;font:500 14px Onest,sans-serif;background:none;color:var(--ink-2);cursor:pointer}.filt .on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgba(24,35,31,.15)}
.up{color:#0b6e4f;font-weight:700}.down{color:#b42318;font-weight:700}.same{color:var(--mut)}
.json{font:12px/1.55 ui-monospace,Menlo,monospace;background:#18231f;color:#d8e4de;border-radius:var(--r-m);padding:14px 16px;overflow:auto;white-space:pre;margin-top:12px;max-width:100%}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-top:var(--pf-gap-page)}.head .h1e{margin-top:0}
.head .back{color:var(--mut);font-size:14px}.head .acts.nomt{margin:0}
.stats-line{color:var(--mut);font-size:14px;margin:8px 0}
.by{font-size:13px;color:var(--mut);display:block;margin:6px 0}
main h1{overflow-wrap:anywhere}.two>*,.cards>*,.panel{min-width:0}
.pf-alert.hidden,.panel.hidden{display:none}
details.panel summary{cursor:pointer}
.view.hidden{display:none !important}

@media (max-width:900px){.two,.facts,.cards{grid-template-columns:1fr}.grade{align-items:flex-start}}
@media (max-width:720px){.grade .g{width:48px;height:48px;font-size:20px}.h1e,.h1s{font-size:28px}.hero h1{font-size:36px}}

/* --- «Ластик»: правка и скачивание (макеты diag/design/previews/scan-eraser-*; токены — platform.css) --- */
.hero .hero-id{display:flex;align-items:center;gap:14px}
.facts.four{grid-template-columns:repeat(4,1fr)}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}
.law{display:flex;gap:12px;align-items:flex-start;margin-top:18px;padding:14px 16px;border-radius:var(--r-m);background:#fff7e6;box-shadow:inset 0 0 0 1px #f3c88d;color:#7a3b05;font-size:14px}
.law .pf-gl{background:#fdecc8;color:#b45309}
.law b{color:#5c2c04}
.h1e{font-size:34px;letter-spacing:-.02em;margin:var(--pf-gap-page) 0 4px}
.ed{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start;margin-top:18px}
.ed-main{min-width:0}
/* панель инструментов — на всю ширину редактора (над сканом и боковой колонкой), чтобы на компьютере помещалась в одну строку */
.ed>.tb{grid-column:1/-1}
.tb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border-radius:var(--r-m);background:#fff;box-shadow:inset 0 0 0 1px var(--hair);position:sticky;top:calc(var(--pf-header-h) + 8px);z-index:2}
.seg{display:inline-flex;border-radius:10px;background:#eef1f4;padding:3px;gap:2px}
.seg button,.tbb{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:600 13px Onest,system-ui,sans-serif;color:var(--ink);padding:7px 11px;border-radius:8px;cursor:pointer;white-space:nowrap}
.seg button.on{background:#fff;box-shadow:0 1px 2px rgba(24,35,31,.12),0 0 0 1px var(--hair);color:var(--c-tools)}
.seg button[disabled]{color:#9aa5b1;cursor:not-allowed}
.seg button.ic-only{padding:7px 8px}
.tbb{background:#fff;box-shadow:inset 0 0 0 1px var(--hair)}.tbb.ic-only{padding:7px 8px}.tbb[disabled]{color:#9aa5b1;cursor:not-allowed}
.tbb.on{background:var(--c-tools);color:#fff;box-shadow:none}
.size{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--mut);padding:0 4px}
.size input{width:96px;accent-color:var(--c-tools)}
.size .dot{display:inline-block;width:14px;height:14px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--c-tools);flex:none}
.sp{flex:1}
#mode-hint{margin:8px 2px 0;min-height:0}
.pages{display:flex;gap:8px;margin:14px 0 10px;flex-wrap:wrap}
.pages button{border:0;border-radius:8px;padding:4px 10px;font:600 13px Onest,system-ui,sans-serif;background:#fff;box-shadow:inset 0 0 0 1px var(--hair);color:var(--ink);cursor:pointer}
.pages button.on{background:var(--c-tools);color:#fff;box-shadow:none}
.pages button em{font-style:normal;font-weight:700;font-size:12px;color:#b45309;margin-left:6px}.pages button.on em{color:#ffd9a8}
.stage{background:#e9ecef;border-radius:var(--r-m);padding:22px;box-shadow:inset 0 0 0 1px var(--hair);overflow:auto}
.stage.zoom{max-height:calc(100vh - 150px)}
.scan{position:relative;margin:0 auto;width:100%;max-width:620px;background:#fbfaf6;box-shadow:0 2px 10px rgba(0,0,0,.18);user-select:none;-webkit-user-select:none}
.scan img{display:block;width:100%;height:auto}
.scan img.after{position:absolute;left:0;top:0}
.scan canvas{position:absolute;left:0;top:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
.scan .wait{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(24,35,31,.78);color:#fff;font:600 13px Onest,system-ui,sans-serif;padding:6px 14px;border-radius:999px}
.stage.zoom .scan{max-width:none;width:240%}
.side .panel+.panel{margin-top:16px}
.side h2{display:flex;align-items:center;gap:8px;font-size:17px}
.side .sub{font-size:14px;margin-bottom:10px}
.ck{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px;cursor:pointer}
.ck:last-of-type{border-bottom:0}.ck input{margin-top:3px;accent-color:var(--c-tools);width:16px;height:16px;flex:none}
.ck span{color:var(--mut);display:block;font-size:12.5px}.ck b{font-weight:600}
.ck .n{margin-left:auto;font-weight:700;color:var(--ink);font-size:14px}
.al{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.al:last-of-type{border-bottom:0}.al .o{color:var(--mut);font-size:12.5px;display:block}
.al button{border:0;background:none;color:var(--mut);font:13px Onest,system-ui,sans-serif;text-decoration:underline;cursor:pointer;padding:0}
.sw{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.full{width:100%;justify-content:center}
.side .acts{margin-top:12px}
.tip{font-size:12.5px;color:var(--mut);margin-top:8px}
.kbd{display:inline-block;font:600 11px ui-monospace,Menlo,monospace;border-radius:5px;padding:0 5px;box-shadow:inset 0 0 0 1px var(--hair);background:#fff;color:var(--ink)}
.show-m{display:none}
.dl{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:var(--pf-gap-page)}
.sum{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 4px}
.sum div{background:var(--tl);border-radius:12px;padding:14px}.sum b{display:block;font-size:26px;letter-spacing:-.02em}.sum span{font-size:13px;color:var(--mut)}
.thumbs{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.thumbs div{flex:0 0 92px;aspect-ratio:210/297;border-radius:6px;background:#fbfaf6 center/cover no-repeat;box-shadow:0 1px 4px rgba(0,0,0,.15);position:relative;overflow:hidden}
.thumbs div i{position:absolute;right:6px;bottom:6px;font:700 10px Onest,system-ui,sans-serif;background:var(--c-tools);color:#fff;border-radius:6px;padding:1px 6px;font-style:normal}
.consent{margin-top:18px;border-radius:var(--r-m);padding:18px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--c-tools)}
.consent label{display:flex;gap:12px;align-items:flex-start;font-weight:600;cursor:pointer}
.consent input{width:20px;height:20px;margin-top:1px;accent-color:var(--c-tools);flex:none}
.consent ul{margin:10px 0 0 32px;color:var(--ink);font-size:14px;line-height:1.55}.consent li{margin-bottom:5px}
.pf-cap[disabled],.pf-cap.dis{opacity:.42;pointer-events:none}
.meta{font:12.5px/1.6 ui-monospace,Menlo,monospace;background:#f6f8fa;border-radius:10px;padding:12px 14px;margin-top:10px;color:#33414f;white-space:pre-wrap}
.err{color:#b42318;font-weight:600}
@media (max-width:1000px){.ed,.dl{grid-template-columns:1fr}.tb{position:static}.facts.four{grid-template-columns:1fr 1fr}}
/* телефон: панель в две строки — (инструменты · отменить/вернуть · «До / после») и (режим · размер) */
@media (max-width:720px){#tools{order:1}.tb .hist{order:2;margin-left:auto}#ba{order:3}#modes{order:4}.tb .size{order:5}.tb .sp,#zoom{display:none}}
@media (max-width:380px){.tb{gap:4px;padding:6px}.seg button,.tbb{padding:6px 6px}.seg button.ic-only{padding:6px 7px}}
@media (max-width:720px){.stage{padding:10px;border-radius:12px}.size input{width:64px}.tb{gap:6px;padding:8px}.seg button,.tbb{padding:6px 8px;font-size:12px}.hide-m{display:none}.show-m{display:block}.sum b{font-size:22px}.h1e{font-size:28px}.facts.four{grid-template-columns:1fr}}
.h1e.first{margin-top:0}
.cursor{position:absolute;border-radius:50%;pointer-events:none;display:none;box-shadow:0 0 0 1.5px #fff,0 0 0 3px #ea580c}
.stepper{display:flex;gap:6px;margin:var(--pf-gap-page) 0 20px;flex-wrap:wrap}.stepper span{padding:6px 14px;border-radius:999px;background:rgba(24,35,31,.06);color:var(--mut);font-weight:600;font-size:13px}.stepper .on{background:var(--c-tools);color:#fff}.stepper .ok{background:var(--tl);color:var(--c-tools)}
.drop:focus-within{outline:2px solid var(--c-tools);outline-offset:2px}
