:root{font-family:DM Sans,sans-serif;color:#202523;background:#f5f3ee;font-synthesis:none;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-weight:400;--ink:#202523;--muted:#777c77;--green:#355a48;--line:#deded6;--paper:#fffefa}*{box-sizing:border-box}body{margin:0;min-width:320px}.app-shell{max-width:1440px;margin:0 auto;padding:0 56px}.topbar{height:82px;border-bottom:1px solid #e3e1d9;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:var(--ink);font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.04em;font-size:17px;display:flex;align-items:center;gap:10px}.brand-mark{width:28px;height:28px;background:#dbe5d9;border-radius:9px;display:grid;place-items:center;color:#42634f;font-size:15px}.privacy-pill{display:flex;align-items:center;gap:9px;color:#53655b;font-size:12px;font-weight:600;background:#e8eee6;border-radius:30px;padding:9px 14px}.privacy-pill span{width:7px;height:7px;border-radius:50%;background:#4d8d63}.intro{max-width:760px;margin:64px auto 48px;text-align:center}.eyebrow{font-size:10px;letter-spacing:.17em;color:#687a6d;font-weight:700;margin:0 0 18px}.intro h1{font-family:Manrope,sans-serif;font-size:clamp(40px,5vw,62px);line-height:1.04;letter-spacing:-.065em;margin:0;font-weight:700}.intro h1 em{font-weight:500;color:#6d806f}.intro-copy{color:#727772;max-width:525px;line-height:1.65;margin:19px auto 0;font-size:15px}.workspace{display:grid;grid-template-columns:340px 1fr;gap:23px;max-width:1120px;margin:0 auto}.controls,.preview-panel{background:var(--paper);border:1px solid #e2e0d8;border-radius:12px}.controls{padding:24px 22px;display:flex;flex-direction:column}.step-label,.preview-head{font-size:10px;letter-spacing:.13em;font-weight:700;color:#737a73}.step-label span{color:#a0a69e;margin-right:7px}.dropzone{margin-top:13px;min-height:164px;border:1px dashed #c9cec5;border-radius:8px;background:#fbfaf6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;cursor:pointer;transition:.18s ease;color:#666d67;font-size:11px}.dropzone:hover,.dropzone.dragging{border-color:#63836d;background:#f2f6ef}.dropzone strong{font-size:13px;color:var(--ink);font-weight:600}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.upload-icon{width:34px;height:34px;border-radius:50%;background:#e8eee6;color:#486b54;display:grid;place-items:center;font-size:22px;line-height:1}.file-types{font-size:9px;letter-spacing:.12em;color:#a0a39d;margin-top:3px}.second-step{margin-top:27px}.mode-picker{padding:0;border:0;margin:12px 0 0}.mode-picker legend{font-size:11px;color:#606761;margin-bottom:10px}.mode-picker label{display:inline-flex;align-items:center;gap:7px;margin-right:14px;font-size:12px;color:#4d554f;cursor:pointer}.mode-picker input{accent-color:#456b53}.mode-swatch{width:23px;height:23px;border-radius:5px;border:1px solid #d9ddd7;background-color:#f0f0eb}.blur-swatch{background-image:radial-gradient(circle at 38% 50%,#727970 0 5px,transparent 6px),radial-gradient(circle at 66% 44%,#b0b3aa 0 7px,transparent 8px);filter:blur(1.2px)}.pixel-swatch{background-image:linear-gradient(90deg,#868b83 50%,#c5c8c0 50%),linear-gradient(#868b83 50%,#c5c8c0 50%);background-size:8px 8px;background-blend-mode:multiply}.primary-button,.export-button{width:100%;min-height:45px;border-radius:6px;border:0;font:600 12px DM Sans,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.primary-button{margin-top:20px;background:var(--green);color:#fff}.primary-button:hover:not(:disabled){background:#284b38}.primary-button span,.export-button span{font-size:17px}.export-button{margin-top:9px;background:#fff;border:1px solid #cdd3ca;color:#375542}.primary-button:disabled,.export-button:disabled{opacity:.43;cursor:not-allowed}.status{font-size:10px;line-height:1.5;color:#777d76;margin:13px 1px 0;min-height:16px}.status.busy:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;border:1.5px solid #aab5a9;border-top-color:#365d46;animation:spin .8s linear infinite;margin-right:7px;vertical-align:0}@keyframes spin{to{transform:rotate(360deg)}}.preview-panel{min-width:0;padding:19px 20px 15px;display:flex;flex-direction:column}.preview-head{display:flex;justify-content:space-between;align-items:center}.engine-status{letter-spacing:0;font-size:10px;font-weight:500;color:#848a83}.preview-stage{position:relative;flex:1;min-height:370px;margin-top:14px;border-radius:7px;background:#eeede7;overflow:hidden;display:grid;place-items:center}.preview-stage.has-image{background:#e3e2dc}.preview-stage canvas{display:block;width:100%;height:100%;max-height:520px;object-fit:contain}.empty-preview{display:flex;flex-direction:column;align-items:center;gap:9px;color:#4c5e52}.empty-preview>span{font-size:38px;color:#a6b2a3;line-height:1}.empty-preview strong{font-size:12px;font-weight:600}.empty-preview small{font-size:10px;color:#888e87}.face-count{position:absolute;right:12px;bottom:12px;border-radius:20px;background:#fffefa;color:#355a48;padding:7px 11px;font-size:10px;box-shadow:0 2px 10px #00000012}.preview-foot{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:8px;letter-spacing:.09em;color:#888d86}.video-note{max-width:1120px;margin:22px auto 0;border:1px solid #e2e0d8;background:#f8f7f2;border-radius:9px;display:flex;align-items:center;gap:13px;padding:17px 19px}.video-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e9ebe4;color:#667668}.video-note strong{font-size:12px;font-weight:600}.video-note p{margin:4px 0 0;font-size:10px;color:#777d76}.coming-soon{margin-left:auto;border:1px solid #d8dcd4;border-radius:20px;padding:6px 9px;font-size:8px;letter-spacing:.1em;color:#737a73;white-space:nowrap}.trust-note{max-width:1120px;margin:17px auto 50px;color:#777d76;font-size:10px;line-height:1.5}.trust-note span{color:#55775d;margin-right:6px}footer{height:57px;border-top:1px solid #e3e1d9;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#898d87}[hidden]{display:none!important}@media(max-width:850px){.app-shell{padding:0 24px}.workspace{grid-template-columns:290px 1fr}.preview-stage{min-height:320px}.controls{padding:20px 17px}}@media(max-width:650px){.app-shell{padding:0 16px}.topbar{height:68px}.privacy-pill{font-size:0;padding:11px}.privacy-pill span{width:8px;height:8px}.intro{margin:45px auto 32px}.intro h1{font-size:44px}.intro-copy{font-size:13px}.workspace{grid-template-columns:1fr}.preview-panel{grid-row:1;padding:15px}.preview-stage{min-height:260px}.controls{padding:20px}.dropzone{min-height:140px}.video-note{align-items:flex-start;padding:14px}.coming-soon{font-size:7px}footer{font-size:9px;gap:12px}.trust-note{margin-bottom:34px}}.preview-stage canvas{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.comparison-control{position:absolute;z-index:2;touch-action:none}.comparison-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;box-shadow:0 0 4px #1c241f77;transform:translate(-50%);pointer-events:none}.comparison-divider span{position:absolute;left:50%;top:50%;width:36px;height:36px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #d8e0d7;background:#fffefa;color:#355a48;font-size:18px;box-shadow:0 2px 9px #0003}.comparison-control input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:none}.metadata-panel{max-width:1120px;margin:20px auto 0;padding:17px 19px;border:1px solid #e2e0d8;border-radius:10px;background:var(--paper)}.metadata-heading{display:flex;justify-content:space-between;gap:12px;color:#737a73;font-size:10px;font-weight:700;letter-spacing:.13em}.metadata-heading span+span{font-weight:400;letter-spacing:0}.metadata-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}.metadata-card{min-width:0;padding:14px;border:1px solid #eceae4;border-radius:7px;background:#fbfaf6}.metadata-card h2{margin:0 0 10px;color:var(--ink);font-size:12px;font-weight:650}.metadata-card dl{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:7px 12px;margin:0;font-size:10px;line-height:1.4}.metadata-card dt{color:#777d76}.metadata-card dd{margin:0;overflow-wrap:anywhere;color:#303632}.metadata-empty{grid-column:1/-1;color:#777d76;font-size:10px;line-height:1.5}.face-markers{position:absolute;inset:0;z-index:3;pointer-events:none}.face-marker{position:absolute;transform:translate(-50%,-50%);min-width:24px;min-height:28px;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;pointer-events:auto;cursor:pointer;touch-action:manipulation;outline:none}.edit-list{margin-top:7px}.edit-hint{display:block;margin-bottom:5px;color:#777d76;font-size:10px}.edit-list ul{display:grid;gap:2px;max-height:104px;overflow-y:auto;margin:0;padding:0;list-style:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c9cec5 transparent}.edit-list li{display:flex;align-items:center;justify-content:space-between;min-height:28px;color:#4d554f;font-size:11px}.edit-list button{padding:5px 2px;border:0;background:transparent;color:#355a48;font:600 10px DM Sans,sans-serif;cursor:pointer}.edit-empty{color:#999e97;font-size:10px}@media(max-width:650px){.metadata-panel{padding:14px}.metadata-columns{grid-template-columns:1fr}.metadata-card{padding:12px}}:root{color-scheme:dark;color:#e4e9e5;background:#0b0f0e;--ink:#e4e9e5;--muted:#89948d;--green:#a8f06a;--line:#29332e;--paper:#111715}body{background:#0b0f0e;color:var(--ink)}.app-shell{background:radial-gradient(ellipse at 50% 0%,#132019 0,transparent 50%)}.topbar{border-color:#202a24}.brand{color:#edf4ee}.brand-mark{background:#18241b;color:#b6ff78;border:1px solid #293a2b}.privacy-pill{background:#121b15;color:#b9c8bc;border:1px solid #29372c}.privacy-pill span{background:#a8f06a;box-shadow:0 0 10px #a8f06a77}.intro h1{color:#f0f4f1}.intro h1 em{color:#b1ed7d}.eyebrow,.step-label,.preview-head{color:#87968a}.intro-copy,.status,.edit-hint,.metadata-card dt,.metadata-empty{color:#929d95}.controls,.preview-panel,.metadata-panel{background:#111715;border-color:#27322c}.dropzone{background:#0d1310;border-color:#35443a;color:#a2ada5}.dropzone:hover,.dropzone.dragging{border-color:#a8f06a;background:#121d15}.dropzone strong{color:#edf4ee}.upload-icon{background:#1a281c;color:#b6ff78}.file-types,.edit-empty{color:#78857c}.mode-picker legend,.mode-picker label{color:#c0cbc2}.mode-swatch{background-color:#202923;border-color:#38443b}.primary-button{background:#a8f06a;color:#10170f}.primary-button:hover:not(:disabled){background:#c0ff8b}.export-button{background:#141c17;border-color:#39473c;color:#c7f39b}.primary-button:disabled,.export-button:disabled{opacity:.38}.preview-stage{background:#0b100d}.preview-stage.has-image{background:#080c0a}.empty-preview{color:#b9d4bc}.empty-preview>span{color:#71916e}.empty-preview small,.preview-foot{color:#7c8980}.engine-status{color:#9cad9f}.face-count{background:#152018;color:#c3f495;box-shadow:0 2px 12px #0008}.comparison-divider{background:#d8ffb1;box-shadow:0 0 8px #a8f06a99}.comparison-divider span{border-color:#3b4c3c;background:#101612;color:#c7f39b}.metadata-card{background:#0d1310;border-color:#26312b}.metadata-card h2{color:#e4e9e5}.metadata-card dd{color:#bac5bd}.edit-list button{color:#b4ed88}.edit-list li{color:#d2dbd4}.video-note{background:#111715;border-color:#27322c;color:#e4e9e5}.video-note p{color:#929d95}.coming-soon{border-color:#37443b;color:#9eaaa1}footer{border-color:#202a24;color:#7d8980}::selection{background:#a8f06a;color:#0b0f0e}:focus-visible{outline:2px solid #a8f06a;outline-offset:3px}@media(max-width:850px){.app-shell{padding:0 24px}.workspace{grid-template-columns:minmax(250px,290px) minmax(0,1fr);gap:16px}}@media(max-width:650px){.app-shell{padding:0 14px}.intro{margin:38px auto 26px}.intro h1{font-size:42px}.workspace{grid-template-columns:minmax(0,1fr);gap:12px}.preview-panel{grid-row:1}.controls{grid-row:2}.preview-stage{min-height:clamp(220px,58vw,360px)}.dropzone{min-height:124px}.second-step{margin-top:22px}.metadata-panel{margin-top:14px}.comparison-divider span{width:34px;height:34px}.face-marker{min-width:30px;min-height:34px}footer{padding:0 2px}}
