﻿:root{--black: #000;--white: #fff;--grey: #6b6b6b;--line: #e5e5e5;--sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}[hidden]{display:none !important}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}.brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:40px}.tagline{font-family:var(--mono);font-size:13px;white-space:nowrap}.brand-logo{display:block;line-height:0}.brand-logo img{height:34px;width:auto}.hero{padding:40px 0 0}.hero h1{font-size:clamp(40px, 7vw, 88px);line-height:1.02;letter-spacing:-0.035em;font-weight:800;margin:0 0 32px}.scribble{position:relative;white-space:nowrap;color:transparent;transition:color 0.25s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.scribble svg{position:absolute;left:0.04em;top:0.1em;width:calc(100% - 0.04em);height:0.94em;overflow:visible;transition:opacity 0.25s ease}.scribble path{fill:none;stroke:var(--black);stroke-width:22;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:scribble 1.2s 0.3s ease-in-out forwards}.scribble[aria-pressed="true"]{color:var(--black)}.scribble[aria-pressed="true"] svg{opacity:0.12}@media (hover: hover){.scribble:hover{color:var(--black)}.scribble:hover svg{opacity:0.12}}.scribble:focus-visible{outline:3px solid var(--black);outline-offset:4px}@keyframes scribble{to{stroke-dashoffset:0}}@media (prefers-reduced-motion: reduce){.scribble path{animation:none;stroke-dashoffset:0}}.lede{max-width:620px;font-size:19px;color:#222;margin:0}.button{display:inline-block;background:var(--black);color:var(--white);text-decoration:none;font-weight:500;padding:14px 24px;border:1px solid var(--black);transition:background 0.15s ease, color 0.15s ease}.button:hover{background:var(--white);color:var(--black)}.tools{padding:48px 0 96px}.how{padding:96px 0}.how{border-top:1px solid var(--black)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:40px}.section-head h2{font-size:36px;letter-spacing:-0.02em;margin:0}.section-head p{font-family:var(--mono);font-size:13px;color:var(--grey);margin:0}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill, minmax(270px, 1fr));position:relative}.grid::after{content:"";position:absolute;inset:0;border:1px solid var(--black);pointer-events:none}.card{position:relative;display:flex;flex-direction:column;padding:24px;min-height:280px;border-right:1px solid var(--black);border-bottom:1px solid var(--black);transition:background 0.15s ease, color 0.15s ease}.card.is-soon{opacity:0.25}.card:not(.is-soon):hover{background:var(--black);color:var(--white)}.card-link{text-decoration:none}.card-link::after{content:"";position:absolute;inset:0}.card-top,.card-foot{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12px}.card-input{text-transform:uppercase;letter-spacing:0.06em;border:1px solid currentColor;padding:2px 8px}.card h3{font-size:22px;letter-spacing:-0.01em;margin:40px 0 10px}.card p{font-size:15px;margin:0 0 24px;color:#333}.card:not(.is-soon):hover p,.card:not(.is-soon):hover .card-model{color:#bbb}.card-foot{margin-top:auto;gap:12px}.card-model{color:var(--grey)}.soon{white-space:nowrap;text-transform:uppercase;letter-spacing:0.06em}.points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:48px 56px}.points h3{font-size:20px;letter-spacing:-0.01em;margin:0 0 8px}.points p{margin:0;color:#333;max-width:46ch}.notify{display:grid;justify-items:center;gap:12px;text-align:center;margin-top:80px;padding-top:64px;border-top:1px solid var(--black)}.notify h2{font-size:clamp(32px, 4vw, 44px);letter-spacing:-0.03em;line-height:1.1;margin:0}.notify p{font-size:18px;color:#333;margin:0 0 16px;text-wrap:balance}.button-big{font-size:18px;padding:18px 36px}.site-footer{background:#f2f2f2;color:var(--black);padding:20px 0}.site-footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.footer-logo{display:block;line-height:0}.footer-logo img{height:24px;width:auto}.site-footer p{margin:0;font-size:14px;color:#555}@media (max-width: 600px){.wrap{padding:0 16px}.hero{padding:28px 0 0}.tools{padding:36px 0 64px}.how{padding:64px 0}.brand{margin-bottom:32px}.brand-logo img{height:28px}}.tool-hero{padding:40px 0 0}.tool-hero h1{font-size:clamp(36px, 5vw, 56px);letter-spacing:-0.03em;line-height:1.05;margin:0 0 16px}.tool-hero .lede{margin:0}.tool{padding:30px 0 96px}button{font:inherit;cursor:pointer}.button:disabled{opacity:0.4;cursor:default}.button-outline{background:var(--white);color:var(--black)}.button-outline:hover{background:var(--black);color:var(--white)}.pane-foot .button,.model-bar .button{padding:10px 18px;font-size:14px}.text-button{background:none;border:0;padding:0;font-family:var(--mono);font-size:12px;text-decoration:underline;text-underline-offset:3px}.model-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;border:1px solid var(--black);margin-bottom:32px;overflow:hidden}.model-text{font-size:14px}.model-text strong{display:inline-block;font-family:var(--mono);font-weight:500;text-transform:uppercase;letter-spacing:0.06em;font-size:12px;line-height:1;padding:5px 8px;margin-right:10px;color:var(--white);background:#dc2626}.model-bar[data-state="loading"] .model-text strong{background:var(--black)}.model-bar[data-state="ready"] .model-text strong{background:#15803d}.model-bar[data-state="ready"] .button{display:none}.model-text strong::after{content:" off"}.model-bar[data-state="loading"] .model-text strong::after{content:" loading"}.model-bar[data-state="ready"] .model-text strong::after{content:" on"}.progress{position:absolute;left:0;right:0;bottom:0;height:3px;display:none}.model-bar[data-state="loading"] .progress{display:block}#progress-bar{height:100%;width:0;background:var(--black);transition:width 0.2s ease}.controls{display:grid;gap:20px;margin-bottom:32px}.control{display:grid;gap:8px}.control-label{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.06em}.control-row{display:flex;flex-wrap:wrap;gap:20px}.control-row .grow{flex:1 1 280px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--white);color:var(--black);border:1px solid var(--black);padding:6px 12px;font-size:14px}.chip[aria-pressed="true"]{background:var(--black);color:var(--white)}select,input[type="text"]{font:inherit;font-size:15px;color:var(--black);background:var(--white);border:1px solid var(--black);border-radius:0;padding:9px 12px;width:100%}select{appearance:none;padding-right:36px;background-image:linear-gradient(45deg, transparent 50%, #000 50%),linear-gradient(135deg, #000 50%, transparent 50%);background-position:right 18px center, right 13px center;background-size:5px 5px;background-repeat:no-repeat}select:focus,input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--black);outline-offset:2px}.panes{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--black)}.pane{display:flex;flex-direction:column;min-width:0}.pane+.pane{border-left:1px solid var(--black)}.pane-head,.pane-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.06em}.pane-head{border-bottom:1px solid var(--black);min-height:46px}.pane-actions{display:flex;gap:16px;text-transform:none;letter-spacing:0}.pane-meta{color:var(--grey);text-transform:none;letter-spacing:0}.pane-foot{border-top:1px solid var(--black);justify-content:flex-end;text-transform:none;letter-spacing:0;font-family:var(--sans)}textarea,.output{font-family:var(--mono);font-size:14px;line-height:1.7;padding:16px;min-height:460px;white-space:pre-wrap;overflow-wrap:anywhere}textarea{flex:1;width:100%;border:0;resize:vertical;color:var(--black);background:var(--white)}textarea:focus{outline-offset:-2px}.output{flex:1;overflow:auto;max-height:70vh}.output.is-empty::before{content:attr(data-placeholder);color:var(--grey)}.output mark{background:var(--black);color:var(--white);padding:1px 3px;cursor:pointer}.output mark.block{color:var(--black)}.output mark.kept{background:none;color:var(--black);padding:0;text-decoration:underline dashed;text-underline-offset:4px}.output mark:hover{outline:2px solid var(--black);outline-offset:1px}.notes{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:40px;margin-top:64px}.notes h3{font-size:17px;margin:0 0 8px}.notes p{margin:0;font-size:15px;color:#333}@media (max-width: 800px){.panes{grid-template-columns:1fr}.pane+.pane{border-left:0;border-top:1px solid var(--black)}textarea,.output{min-height:260px}.model-bar{flex-direction:column;align-items:flex-start;gap:12px}}.nowrap{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.drop{display:grid;justify-items:center;gap:8px;text-align:center;padding:72px 24px;border:1px dashed var(--black);transition:background 0.15s ease}.drop.is-over{background:#f2f2f2}.drop-title{font-size:24px;font-weight:700;letter-spacing:-0.01em;margin:0}.drop-text{margin:0 0 16px;color:#333}.drop-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.drop-actions .button{cursor:pointer}.drop-actions label.button:focus-within{outline:2px solid var(--black);outline-offset:2px}.status{font-family:var(--mono);font-size:13px;margin:16px 0;min-height:1.5em}.status:empty{display:none}.status[data-kind="busy"]::before{content:"● ";animation:blink 1s steps(2) infinite}.status[data-kind="error"]{border-left:3px solid var(--black);padding-left:10px}@keyframes blink{50%{opacity:0}}.editor{display:grid;grid-template-columns:minmax(0, 1fr);gap:20px}.editor .controls{margin:0;align-items:end}#strength{width:180px;accent-color:var(--black)}.stage{position:relative;border:1px solid var(--black);line-height:0;background:#f2f2f2}.stage canvas{display:block;width:100%;height:auto}.boxes{position:absolute;inset:0;cursor:crosshair;touch-action:none}.boxes.is-hidden{visibility:hidden}.face,.draft{position:absolute;padding:0;background:none;border:2px solid var(--white);outline:1px solid var(--black)}.face{cursor:pointer}.face.is-oval{border-radius:50%}.face.is-off{border-style:dashed;outline-style:dashed}.face:hover{border-color:#ffe14d}.face:focus-visible{outline:3px solid var(--black);outline-offset:0}.draft{border-style:dashed;pointer-events:none}.download-note{flex-basis:100%;margin:-4px 0 0;text-align:right;font-family:var(--mono);font-size:13px}.download-note:empty{display:none}.download-note[data-kind="error"]{color:#dc2626}.editor-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:16px}.editor-foot .player{flex:1 1 320px}.editor-actions{display:flex;flex-wrap:wrap;gap:8px}.editor-actions .button{padding:12px 20px;font-size:15px;user-select:none;-webkit-user-select:none;touch-action:none}.pdf-pages{display:grid;gap:24px;justify-items:center;padding:24px;background:#f2f2f2;border:1px solid var(--black)}.pdf-page{position:relative;width:100%;max-width:820px;background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,0.25);line-height:0}.pdf-page canvas{display:block;width:100%;height:100%}.page-num{position:absolute;right:-2px;bottom:-22px;font-family:var(--mono);font-size:11px;line-height:1;color:var(--grey)}.bar{position:absolute;padding:0;border:0;background:var(--black);cursor:pointer}.bar.is-off{background:none;outline:1px dashed var(--black)}.bar:hover{outline:2px solid #ffe14d}.bar:focus-visible{outline:3px solid #ffe14d}.show-original .boxes{visibility:hidden}@media (max-width: 600px){.pdf-pages{padding:12px;gap:28px}}.player{display:flex;align-items:center;gap:16px}.player .button{padding:12px 20px;font-size:15px;min-width:80px}.player input[type="range"]{flex:1;min-width:0;accent-color:var(--black)}.time{font-family:var(--mono);font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.checkbox span:last-child{display:flex;align-items:center;gap:8px;height:36px}.checkbox input{width:18px;height:18px;accent-color:var(--black)}.people{display:flex;flex-wrap:wrap;gap:8px}.people:empty::before{content:"Faces show here after the scan.";font-size:14px;color:var(--grey)}.person{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:var(--white);border:1px solid var(--black);text-align:left;font:inherit}.person canvas{width:44px;height:44px;display:block}.person span{display:grid;line-height:1.25}.person strong{font-size:14px}.person small,.person em{font-family:var(--mono);font-size:11px;font-style:normal}.person[aria-pressed="true"]{background:var(--black);color:var(--white)}.person[aria-pressed="false"] em{text-decoration:underline}@media (max-width: 600px){.editor-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.editor-actions .button{padding:12px 8px;font-size:14px}.editor-actions #download{grid-column:1 / -1}.editor-foot .player{flex-basis:100%}.download-note{text-align:left}}.button.is-busy,.button.is-busy:disabled{opacity:1;cursor:progress}.button.is-busy:not(.button-outline){background:var(--black);color:var(--white)}.button.is-busy::before{content:"";display:inline-block;width:0.9em;height:0.9em;margin-right:8px;vertical-align:-0.12em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin 0.7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.button.is-busy::before{animation-duration:2s}}.model-text .status{display:inline;margin:0;min-height:0;font:inherit}.model-text .status[data-kind="error"]{border:0;padding:0;color:#dc2626}.soon-panel{display:grid;justify-items:center;gap:12px;text-align:center;padding:56px 24px;border:1px solid var(--black);border-bottom:0}.soon-label{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;background:var(--black);color:var(--white);padding:5px 8px;line-height:1}.soon-panel h2{font-size:clamp(28px, 4vw, 40px);letter-spacing:-0.03em;line-height:1.1;margin:4px 0 0;text-wrap:balance}.soon-panel p{max-width:52ch;font-size:17px;color:#333;margin:0 0 12px;text-wrap:balance}.soon-facts{display:grid;grid-template-columns:repeat(3, 1fr);margin:0;border:1px solid var(--black);border-top:0}.soon-facts div{padding:16px 20px;border-top:1px solid var(--black)}.soon-facts div+div{border-left:1px solid var(--black)}.soon-facts dt{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:4px}.soon-facts dd{margin:0;font-size:16px}.soon-live{margin-top:56px}.soon-live h3{font-size:20px;margin:0 0 12px}.soon-live ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.soon-live li a{display:inline-block;padding:8px 14px;border:1px solid var(--black);text-decoration:none;font-weight:500}.soon-live li a:hover{background:var(--black);color:var(--white)}@media (max-width: 600px){.soon-facts{grid-template-columns:1fr}.soon-facts div+div{border-left:0}}