/* Presets first; the complete image remains visible in the editor. */
.camera-first{max-width:1200px;margin:auto;padding:32px 24px 40px}
.camera-first h1{margin-bottom:12px}
.camera-first .hero-description{max-width:760px;margin:0 auto 24px;font-size:18px}
.camera-workspace{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,1fr);gap:28px;text-align:left;align-items:start}
.camera-visual,.camera-pick{min-width:0}
.camera-upload{cursor:pointer;border-radius:28px;overflow:hidden}
.camera-upload:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.camera-first .comparison{width:100%;aspect-ratio:3/2;height:auto;border-radius:28px;position:relative}
.camera-first .processed{position:absolute;inset:0;clip-path:none!important;width:100%;height:100%}
.camera-first .processed img,.camera-first .processed canvas{width:100%;height:100%;object-fit:contain}
.camera-first [hidden]{display:none!important}
.camera-first .tag-before{display:none}
.camera-first .original-held .tag-before{display:block}
.camera-input-label{display:block;position:static;padding:12px 16px;background:var(--soft);border-radius:0 0 16px 16px;text-align:center;font:600 14px/1.5 var(--fh);color:var(--ink)}
.camera-input-label small{display:block;font:400 11px/1.5 var(--fp);color:var(--sub);margin-top:3px}
.camera-local-note{font-size:12px;color:var(--sub);text-align:center;margin:12px 0}
.camera-source-actions{display:flex;justify-content:center;gap:12px}
.camera-source-actions button{min-height:44px;padding:9px 20px;border:1px solid var(--line);border-radius:999px;background:#fff;font:600 13px var(--fh);cursor:pointer}
.camera-source-actions #quickUploadButton{color:var(--pink);border-color:var(--pink)}
.camera-first .camera-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;overflow:visible}
.camera-first .camera-modes button{display:flex;flex-direction:column;gap:7px;align-items:stretch;padding:5px 5px 9px;min-width:0;border:1.5px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:600 11px/1.4 var(--fh);white-space:normal;cursor:pointer}
.camera-first .camera-modes button[aria-pressed=true]{border-color:var(--pink);background:#fff2f7;box-shadow:0 0 0 1px var(--pink)}
.camera-modes img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:11px}
.camera-first .mode-description{min-height:36px;margin:12px 0;font-size:13px;text-align:left}
.camera-fine{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.camera-fine summary{padding:13px 0;cursor:pointer;font:600 14px var(--fh)}
.camera-first .camera-controls,.camera-first .camera-export{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.camera-first .camera-extras{gap:14px;margin:16px 0}
.camera-first .utility-actions{flex-wrap:wrap;gap:8px;margin:16px 0}
.camera-first .export-note{font-size:12px;margin-bottom:16px}
.camera-first .camera-save{position:static;visibility:visible;pointer-events:auto;margin-top:16px;padding:14px;gap:12px;border-radius:20px}
.camera-first .status-line{font-size:12px;flex-wrap:wrap;margin-top:10px}
.camera-look-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px;margin-top:32px}
.camera-look-list img{width:100%;height:auto;border-radius:20px}
.camera-look-list h3,.camera-explain-grid h3,.camera-eras h3{font-size:20px;line-height:1.4;margin:16px 0 10px}
.camera-look-list p,.camera-explain-grid p,.camera-eras p{font-size:15px;line-height:1.7;color:var(--sub)}
.camera-explain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px;margin-top:24px}
.camera-neighbors{margin-top:24px;font-size:15px;line-height:1.8}
.camera-eras>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:24px}
.camera-scenes img{object-fit:contain}
@media(max-width:860px){
 body[data-tool=old-camera]{padding-bottom:0}
 .camera-first{padding:24px 16px 32px!important}
 .camera-first h1{font-size:32px;line-height:1.15;margin-bottom:12px}
 .camera-first .hero-description{font-size:15px;line-height:1.6;margin-bottom:18px}
 .camera-workspace{grid-template-columns:1fr;gap:22px}
 .camera-first .comparison{border-radius:22px}
 .camera-first .camera-modes button{font-size:12px}
 .camera-first .camera-save{position:static;visibility:visible;pointer-events:auto;box-shadow:none}
 .camera-first .camera-save.is-editor-visible{position:fixed;z-index:40;left:0;right:0;bottom:0;margin:0;border-radius:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 20px #0000000f}
 .camera-pick{padding-bottom:100px}
 .camera-look-list,.camera-explain-grid,.camera-eras>div{grid-template-columns:1fr;gap:24px}
 .camera-first .camera-export{grid-template-columns:1fr}
}
@media(max-width:860px) and (max-height:500px){.camera-first .camera-save.is-editor-visible{position:static;border-radius:20px}.camera-pick{padding-bottom:0}}
.camera-first .comparison.is-intro{aspect-ratio:8/3}
.camera-first .is-intro .tag-after{display:none}
.camera-demo>p{max-width:720px;margin:16px auto;color:var(--sub);line-height:1.7;text-align:center}
.camera-demo-view{position:relative;max-width:800px;aspect-ratio:3/2;margin:28px auto 0;border-radius:24px;overflow:hidden;background:var(--soft)}
.camera-demo-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.camera-demo-after{clip-path:inset(0 0 0 50%)}
.camera-demo-line{position:absolute;top:0;bottom:0;left:50%;width:3px;background:white;box-shadow:0 0 3px #0008;pointer-events:none}
.camera-demo-line:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--ink);font-size:24px}
.camera-demo-before-label,.camera-demo-after-label{position:absolute;top:12px;padding:6px 12px;border-radius:999px;background:#fff;color:var(--ink);font-size:13px;pointer-events:none}
.camera-demo-before-label{left:12px}.camera-demo-after-label{right:12px}
.camera-demo-view input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;direction:rtl}
.camera-demo-view:focus-within{outline:3px solid var(--pink);outline-offset:4px}
.camera-demo .camera-demo-help{font-size:13px}

.camera-export-limit{font:12px/1.6 var(--fp);color:var(--sub);margin:8px 0}
