/* Толк 1.5, sections C.5/C.7/C.11: paper, ink, action blue; original logo. */
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 700;font-display:swap;src:url('/brand/fonts/font-17d048ca05cb.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400 700;font-display:swap;src:url('/brand/fonts/font-9a69d0aa4734.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2191,U+2193,U+2212}
@font-face{font-family:Literata;font-style:normal;font-weight:400 700;font-display:swap;src:url('/brand/fonts/font-9e1faecc45e1.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Literata;font-style:normal;font-weight:400 700;font-display:swap;src:url('/brand/fonts/font-7478e1920209.woff2') format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+2191,U+2193,U+2212}
:root{--paper:#F0EFEA;--surface:#fff;--ink:#151A1E;--muted:#5E6469;--rule:#D9D7CF;--action:#1F4BD8;color-scheme:light}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 "Golos Text","Helvetica Neue",Arial,sans-serif}button,input{font:inherit}button,a,input,summary,canvas{touch-action:manipulation}button{cursor:pointer;min-height:44px}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid var(--action);outline-offset:4px}a{color:inherit}
h1{font:400 44px/1.16 Literata,Georgia,serif;letter-spacing:-.01em;margin:16px 0 24px}h2{font-size:20px;line-height:1.3;margin:0 0 16px;font-weight:600}p{margin:0 0 20px}.eyebrow{font-size:12px;line-height:1.3;letter-spacing:.14em;color:var(--muted)}.lead{font-size:18px;max-width:440px;color:var(--muted)}.small{font-size:14px;color:var(--muted);line-height:1.45}.masthead{max-width:1160px;margin:auto;padding:24px 32px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--rule)}.wordmark{display:flex;flex-shrink:0;background:white}.wordmark img{display:block;object-fit:contain}.edition{font-size:14px;color:var(--muted)}.round-button{margin-left:auto;background:transparent;border:1px solid var(--rule);border-radius:2px;min-width:44px;font-size:20px}
.welcome{max-width:1080px;margin:64px auto 80px;padding:0 32px;display:grid;grid-template-columns:1fr 420px;gap:72px;align-items:center}.intro>.small{max-width:380px;margin-top:32px}.prep-card{padding:28px;background:var(--surface);border:1px solid var(--rule);border-radius:2px}.prep-card>p{font-size:14px;color:var(--muted)}.check{display:flex;align-items:flex-start;gap:12px;font-size:14px;margin:20px 0;cursor:pointer;min-height:44px}.check input{width:20px;height:20px;margin:1px 0;accent-color:var(--action);flex-shrink:0}.check small{display:block;font-size:12px;line-height:1.4;color:var(--muted);margin-top:6px}.options{border-top:1px solid var(--rule);padding:12px 0 20px;font-size:14px}.options p{font-size:14px;color:var(--muted)}summary{cursor:pointer;min-height:44px;padding:10px 0}
.primary,.secondary{min-height:52px;padding:14px 20px;border-radius:2px;font-size:16px;font-weight:500}.primary{background:var(--action);color:white;border:1px solid var(--action);display:flex;align-items:center;justify-content:space-between;gap:20px}.primary:not(:disabled):hover{background:#183ead}.primary span{font-size:20px}.secondary{background:transparent;border:1px solid var(--rule);color:var(--ink)}.prep-card>.primary{width:100%}.quiet{border:0;background:transparent;color:var(--muted);font-size:14px;padding:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.privacy{font-size:12px;color:var(--muted);text-align:center;margin:16px 0 0}footer{max-width:1096px;margin:auto;padding:24px 0;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}
.capture{max-width:560px;margin:16px auto 32px}.capture-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.viewfinder{position:relative;height:min(67dvh,680px);min-height:340px;background:#14171A;overflow:hidden;border-radius:2px}video,#overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}video{transform:scaleX(-1)}#overlay{pointer-events:none}
.coach{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90%;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;pointer-events:none;text-align:center;color:#fff;text-shadow:0 1px 3px #000,0 0 8px #0009}.coach strong{display:block;font-size:20px;line-height:1.3;font-weight:500}.coach>span:last-child{display:block;margin:8px auto 0;max-width:310px;font-size:14px;line-height:1.4}#coach-icon{display:none}.ruler-badge{position:absolute;top:12px;right:12px;font-size:12px;color:#fff;text-shadow:0 1px 4px #000}.camera-foot{position:absolute;bottom:0;left:0;right:0;padding:36px 20px 18px;text-align:center;color:#fff;background:linear-gradient(transparent,#14171abb);font-size:14px}.camera-foot progress{display:block;width:70%;margin:12px auto;height:4px;border:0;appearance:none;background:#ffffff55}.camera-foot progress::-webkit-progress-bar{background:#ffffff55}.camera-foot progress::-webkit-progress-value{background:#91AAFF}#saved-note{font-size:12px}.capture-actions{text-align:center}.capture-actions .primary,.capture-actions .secondary{margin:12px auto}
.section-heading{text-align:center;margin:36px auto;max-width:760px}.section-heading h1{font-size:32px;margin:16px 0}.section-heading p{color:var(--muted);font-size:16px}.result,.calibration{max-width:1080px;margin:0 auto 48px;padding:0 32px}.result-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px}.portraits{display:flex;gap:16px;align-items:flex-start}.portraits figure{margin:0;min-width:0;flex:1}.portraits canvas{display:block;width:100%;max-height:390px;object-fit:contain;background:transparent}.portraits figcaption{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-top:12px}.portraits figcaption span{color:var(--muted);font-size:12px}.ratio-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.ratio-card{padding:16px 0;border-bottom:1px solid var(--rule)}.ratio-card strong{font-size:28px;font-weight:500;font-variant-numeric:tabular-nums}.ratio-card span{display:block;font-size:14px;color:var(--muted)}.palette-title{margin-top:28px}.palette{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:20px}.swatch{width:88px;font-size:12px}.swatch canvas{width:44px;height:44px;border-radius:50%;display:block;margin-bottom:8px}.swatch span{line-height:1.4;display:block;color:var(--muted)}.metrics{font-size:14px;color:var(--muted)}.metric-row{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--rule)}.result-actions{display:flex;justify-content:center;gap:16px;margin-top:32px}.result-disclaimer{max-width:720px;margin:24px auto;text-align:center}.diagnostics{border-top:1px solid var(--rule);padding-top:12px;font-size:14px}.diagnostics pre{font:12px/1.5 monospace;max-height:340px;overflow:auto;background:var(--surface);padding:20px}
.calibration-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.photo-wrap{position:relative;background:#D9D7CF}#reference-photo{display:block;width:100%;height:65dvh;object-fit:contain;touch-action:none}#loupe{position:absolute;top:12px;left:12px;width:130px;height:130px;border-radius:50%;border:3px solid #fff;pointer-events:none}.mark-buttons{display:flex;gap:12px;margin:20px 0}.mark-buttons button[aria-pressed=true]{border-color:var(--action);color:var(--action)}.calibration-panel>p{font-size:14px;color:var(--muted)}.calibration-panel>.primary{width:100%}.field{display:block;margin:12px 0;font-size:14px}.field input{display:block;width:100%;padding:12px;border:1px solid var(--rule);margin-top:8px;border-radius:2px}#reference-error{color:#8A3228;font-size:14px}.processing-screen{max-width:650px;text-align:center;margin:80px auto;padding:0 24px}.processing-screen h1{font-size:32px}.processing-screen p{color:var(--muted)}.processing-screen button{margin:24px auto}dialog{border:1px solid var(--rule);border-radius:2px;padding:28px;width:calc(100% - 32px);max-width:500px;color:var(--ink);background:var(--paper);max-height:90dvh;overflow:auto}dialog::backdrop{background:#14171a80}dialog .round-button{float:right}dialog h2{font-family:Literata,Georgia,serif;font-size:28px;margin-top:28px}dialog p{font-size:14px}
body[data-view=capture] footer{display:none}@media(max-width:700px){.masthead{padding:16px 20px;gap:12px}.edition{font-size:12px}.wordmark img{width:160px;height:45px}.welcome{display:block;padding:0 20px;margin:28px auto 36px}.intro h1{font-size:32px;line-height:1.2}.intro h1 br{display:none}.lead{font-size:16px}.intro>.small{margin:16px 0 24px;font-size:14px}.prep-card{padding:20px}.capture{margin:0 auto 20px;padding:0 12px}.capture-top{font-size:12px}.viewfinder{height:calc(100dvh - 230px);min-height:340px}.coach strong{font-size:18px}.coach>span:last-child{font-size:14px}.result,.calibration{padding:0 20px}.section-heading{margin:24px auto}.section-heading h1{font-size:28px}.result-layout,.calibration-grid{grid-template-columns:1fr;gap:28px}.portraits canvas{max-height:300px}.result-actions{flex-direction:column}.result-actions button{width:100%}.result-actions .secondary{text-align:center}#reference-photo{height:52dvh}.processing-screen{margin:60px auto}.processing-screen h1{font-size:28px}footer{margin:0 20px;padding:20px 0;font-size:12px}body[data-view=capture] .edition{display:none}}@media(max-width:380px){.edition{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.reference-choice{border-top:1px solid var(--rule);padding-top:4px}.reference-choice>.small{font-size:12px;margin-bottom:16px}.quality-note{border-left:3px solid var(--action);padding:12px 16px;background:var(--surface);color:var(--ink)}
/* Photo marking: native touch scrolling, persistent magnifier, source-pixel nudges. */
.zoom-tools{display:flex;align-items:center;gap:8px;margin-bottom:12px}.zoom-tools .secondary{padding:8px;min-width:48px;font-size:24px}.zoom-tools output{min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.zoom-tools .quiet{margin-left:auto}
#reference-viewport{height:60dvh;min-height:300px;max-height:620px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;position:relative;background:var(--rule)}
#reference-photo{display:block;max-width:none;max-height:none;object-fit:fill;margin:0 auto;touch-action:pan-x pan-y;cursor:crosshair}
.gesture-note{margin:10px 0 0;font-size:12px}.point-adjust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin:16px 0}.point-adjust>div{flex:1;min-width:136px}.point-adjust #loupe{position:static;width:200px;height:160px;border:1px solid var(--rule);border-radius:2px;flex-shrink:0;pointer-events:none}.nudge-pad{display:grid;grid-template-columns:repeat(3,44px);gap:4px;justify-content:center}.nudge-pad .secondary{padding:0;min-height:44px;font-size:22px}#nudge-up{grid-column:2}#nudge-left{grid-column:1;grid-row:2}#nudge-down{grid-column:2;grid-row:2}#nudge-right{grid-column:3;grid-row:2}.calibration-panel .mark-buttons{margin-top:0}.calibration-panel #next-mark{width:100%}
@media(max-width:700px){#reference-viewport{height:48dvh;min-height:260px;max-height:450px}.calibration-panel .point-adjust{gap:12px;flex-wrap:nowrap}.point-adjust #loupe{width:144px;height:115px}.point-adjust>div{min-width:0}.point-adjust #point-state{font-size:12px;margin-bottom:8px}.calibration-grid{gap:20px}}
.reference-workspace{min-width:0}
