:root{color-scheme:dark;--bg:#101416;--panel:#191e21;--line:#30383c;--text:#e9eeee;--muted:#a3afb3;--accent:#83e6d1;--accent-ink:#082b25;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer;transition:background .15s,color .15s,border-color .15s}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button{border:1px solid transparent;border-radius:7px}button,input,select{-webkit-tap-highlight-color:transparent}button{min-height:42px}button.primary{background:var(--accent);color:var(--accent-ink);font-weight:650;padding:11px 18px}button.primary:hover:enabled{background:#a5f4e3}.secondary{background:#242d31;color:var(--text);padding:11px 16px;border-color:#3b474b}.secondary:hover:enabled{background:#303c40}.quiet{background:transparent;color:var(--text);border-color:var(--line);padding:8px 14px}.text-button{background:transparent;color:var(--accent);font-size:.875rem;padding:4px 0;min-height:32px}.topbar{height:94px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px}.brand svg{width:41px;height:41px;fill:none;stroke:var(--accent);stroke-width:1.7}.brand strong{display:block;letter-spacing:.23em;font-size:1.15rem;font-weight:550}.brand div>span{display:block;font-size:.75rem;letter-spacing:.19em;color:var(--muted);margin-top:5px}.header-actions{display:flex;align-items:center;gap:24px}.privacy{font-size:.875rem;color:var(--muted)}main{display:grid;grid-template-columns:minmax(0,1fr) 380px;min-height:calc(100vh - 147px)}.workspace{padding:25px 32px 14px;min-width:0;background:radial-gradient(ellipse at 40% 35%,#1b2427 0%,#111719 70%);display:flex;flex-direction:column}.workspace-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.image-tabs{display:flex;gap:5px}.image-tab{background:transparent;color:var(--muted);padding:9px 12px;font-size:.875rem;border-bottom:2px solid transparent;border-radius:4px 4px 0 0}.image-tab.active{color:var(--text);border-bottom-color:var(--accent);background:#20292d}.image-tab span{display:inline-block;margin-left:8px;color:#97a6ab;font-size:.75rem}.stage{position:relative;width:100%;aspect-ratio:1;max-width:790px;max-height:calc(100vh - 260px);min-height:350px;align-self:center;display:flex;align-items:center;justify-content:center;border:1px solid #2b3539;border-radius:10px;background:#0a0e10;overflow:hidden}.stage.dragover{border:2px dashed var(--accent);background:#193b34}.stage canvas{width:100%;height:100%;object-fit:contain;touch-action:none;cursor:crosshair}.stage.checkered{background-color:#182023;background-image:linear-gradient(45deg,#263034 25%,transparent 25%),linear-gradient(-45deg,#263034 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#263034 75%),linear-gradient(-45deg,transparent 75%,#263034 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.empty-state{text-align:center;padding:32px 20px}.target-icon{height:74px;width:74px;border:1px solid #425854;border-radius:50%;margin:0 auto 26px;position:relative;display:grid;place-items:center}.target-icon:before,.target-icon:after{content:"";position:absolute;background:var(--accent);opacity:.65}.target-icon:before{height:90px;width:1px}.target-icon:after{width:90px;height:1px}.target-icon span{width:28px;height:28px;background:#0a0e10;border:1px solid var(--accent);border-radius:50%;z-index:1}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.13em;color:var(--muted)}h1{font-size:clamp(1.8rem,3vw,2.75rem);line-height:1.16;font-weight:450;letter-spacing:-.035em;margin:16px 0}p{line-height:1.6}.empty-state p{color:var(--muted);font-size:1rem;margin:0 0 24px}.large{min-height:48px}.file-hint{display:block;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:15px}.view-badge{position:absolute;top:15px;left:15px;background:#101719db;border:1px solid #34454b;color:#d1e2e4;border-radius:4px;letter-spacing:.14em;font-size:.75rem;padding:8px 10px;pointer-events:none}.workspace-bottom{display:flex;justify-content:space-between;gap:14px;padding:17px 1px;align-items:center}.workspace-bottom>div{min-width:0}.workspace-bottom #fileName{display:block;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:480px}.workspace-bottom #imageInfo{display:block;font-size:.75rem;margin-top:5px}.muted{color:var(--muted)}.compare{background:transparent;border-color:#445054;color:var(--text);padding:8px 12px;font-size:.875rem;white-space:nowrap}.compare[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.guidance{display:flex;align-items:center;gap:10px;margin-top:auto}.guidance p{font-size:.8125rem;color:var(--muted);margin:0}.small-ring{width:13px;height:13px;flex-shrink:0;border:1px solid #68988b;border-radius:50%}.controls{background:var(--panel);border-left:1px solid var(--line);padding:27px 25px 20px}.panel-heading h2{font-weight:450;font-size:1.35rem;letter-spacing:-.03em;margin:8px 0 24px}.tool-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:23px;gap:3px}.tool-tabs button{padding:11px 0;font-size:.875rem;border-radius:0;background:transparent;color:var(--muted);border-bottom:2px solid transparent}.tool-tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}.tool-panel{min-height:369px}h3{font-size:.9375rem;font-weight:550;margin:0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.help{color:var(--muted);font-size:.875rem;line-height:1.5;margin:10px 0 18px}.control{margin:20px 0}.control label{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.875rem;color:#cbd6d8;margin-bottom:10px}.control output{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8125rem}input[type=range]{display:block;width:100%;height:21px;margin:0;accent-color:var(--accent);cursor:pointer}input[type=range]:disabled{cursor:default;opacity:.35}fieldset{border:0;margin:0;padding:0;min-width:0}.note{border-left:2px solid #4c7e70;background:#202a2b;padding:12px 14px;margin:22px 0 18px}.note strong{font-size:.8125rem;font-weight:500;color:#c8dfd7}.note p{font-size:.8125rem;color:var(--muted);margin:6px 0 0;line-height:1.5}.full{width:100%}.presets{display:flex;gap:7px;margin:19px 0 23px}.preset{flex:1;background:#222c30;border-color:#3d494f;color:#becbce;font-size:.875rem}.preset.selected{background:#263d37;border-color:#608779;color:#b5f3df}.bottom-help{margin-top:20px;font-size:.8125rem}.composition-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.layout-option{background:#222c30;border-color:#38454a;color:var(--muted);padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.875rem}.layout-option.selected{border-color:var(--accent);color:var(--accent);background:#223530}.layout-symbol{font-size:1.7rem;line-height:1.5}.spaced{margin-top:25px}.swatches{display:flex;gap:12px;margin-top:14px}.swatch{background:transparent;color:var(--muted);padding:5px;font-size:.8125rem;display:flex;flex-direction:column;align-items:center;gap:8px;flex:1}.swatch-color{display:block;height:28px;width:28px;border:1px solid #677477;border-radius:50%}.swatch.selected{color:var(--text)}.swatch.selected .swatch-color{outline:2px solid var(--accent);outline-offset:3px}.black{background:#000}.white{background:#fff}.checkered{background:conic-gradient(#adbbbd 25%,#4d5f64 0 50%,#adbbbd 0 75%,#4d5f64 0);background-size:12px 12px}.input-label{font-size:.875rem;display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.input-label .muted{font-size:.75rem}input[type=text],select{background:#10191d;border:1px solid #3c4b50;border-radius:6px;padding:11px 10px;color:var(--text);width:100%;font-size:.875rem}input::placeholder{color:#85969d}input[type=text]{font-size:1rem}.export-panel{border-top:1px solid var(--line);margin-top:26px;padding-top:23px}.export-settings{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;margin-top:18px}.export-settings label{font-size:.8125rem;color:var(--muted)}.export-settings select{margin-top:8px;font-size:.8125rem;min-height:44px}.export-panel .help{font-size:.75rem;min-height:35px;margin:12px 0}.export-panel #shareBtn{margin-top:10px;font-size:.875rem}.export-panel .export-status{min-height:0;margin-bottom:0;color:var(--accent)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 38px;font-size:.75rem;color:var(--muted);letter-spacing:.06em;gap:18px}.footer-dot{padding:0 10px;color:#4f7b70}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(92vw,550px);background:#dceee8;color:#15352b;padding:14px 22px;line-height:1.5;border-radius:9px;box-shadow:0 10px 40px #0008;z-index:20;font-size:.875rem}.busy{position:absolute;inset:0;background:#0a1011db;display:flex;justify-content:center;align-items:center;gap:12px;color:#d5e8e3}.spinner{width:20px;height:20px;border:2px solid #436258;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}@media(min-width:1450px){.workspace{padding-left:60px;padding-right:60px}main{grid-template-columns:minmax(0,1fr) 420px}.controls{padding:30px 32px}.stage{max-width:900px}}@media(max-width:1050px){main{grid-template-columns:minmax(0,1fr) 340px}.topbar{padding:0 24px}.workspace{padding:22px 20px}.controls{padding:25px 20px}.privacy{display:none}.image-tab span{display:none}.stage{min-height:300px}.workspace-bottom{align-items:flex-start}.workspace-bottom #fileName{max-width:200px}}@media(max-width:760px){.topbar{height:77px;padding:0 17px}.brand{gap:10px}.brand svg{width:32px;height:32px}.brand strong{font-size:.95rem;letter-spacing:.18em}.brand div>span{font-size:.75rem;letter-spacing:.15em}.header-actions button{font-size:.8125rem;padding:9px 12px;min-height:40px}main{display:block}.workspace{padding:17px 15px 18px}.workspace-top{margin-bottom:12px}.stage{width:100%;max-height:none;min-height:0;aspect-ratio:1;max-width:560px}.empty-state{padding:20px 14px}.target-icon{width:50px;height:50px;margin-bottom:21px}.target-icon:before{height:64px}.target-icon:after{width:64px}.target-icon span{width:22px;height:22px}h1{font-size:1.7rem;margin:10px 0}.empty-state p{font-size:.875rem;line-height:1.45;margin-bottom:15px}.empty-state .eyebrow{font-size:.75rem}.file-hint{font-size:.75rem;margin-top:10px;max-width:280px}.large{min-height:43px}.workspace-bottom{padding:13px 0}.workspace-bottom #fileName{max-width:230px}.workspace-bottom #imageInfo{max-width:225px;line-height:1.5}.compare{font-size:.8125rem;padding:6px 9px}.guidance{margin-top:3px}.guidance p{font-size:.75rem;line-height:1.5}.controls{border-left:0;border-top:1px solid var(--line);padding:24px 22px}.panel-heading{display:none}.tool-panel{min-height:0}.tool-tabs{position:sticky;top:0;z-index:2;background:var(--panel);padding-top:5px;margin-top:-5px;margin-bottom:22px}.tool-tabs button{min-height:48px;font-size:.9375rem}.export-panel{margin-top:26px}.tool-panel .note{margin-top:20px}.control{margin:23px 0}footer{padding:20px 20px;font-size:.75rem}.export-settings select{font-size:.875rem}.image-tab span{display:inline}.view-badge{font-size:.75rem;top:10px;left:10px}.workspace-bottom>div{flex:1}}@media(max-width:380px){.image-tab span{display:none}.workspace-bottom #fileName{max-width:190px}.stage .file-hint{font-size:.75rem}.empty-state p{margin-bottom:12px}.target-icon{margin-bottom:18px;width:40px;height:40px}h1{font-size:1.5rem}footer>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.spinner{animation:none}}

@media(max-width:760px) and (min-height:600px){.has-photo .workspace{position:sticky;top:0;z-index:4;box-shadow:0 10px 25px #080c0d77;padding-top:9px;padding-bottom:5px}.has-photo .stage{aspect-ratio:auto;height:32svh;min-height:180px;max-height:290px}.has-photo .workspace-top{margin-bottom:8px}.has-photo .workspace-bottom{padding:8px 0}.has-photo .guidance{display:none}.has-photo .tool-tabs{position:static}.has-photo .workspace-bottom #imageInfo{font-size:.75rem}}
.auto-develop{background:#203b33;border:1px solid #42675a;border-radius:9px;padding:15px;margin-bottom:22px}.auto-develop p{font-size:.8125rem;line-height:1.5;margin:11px 0 0;color:#bedacc}.retouch-card{padding-bottom:21px;margin-bottom:22px;border-bottom:1px solid var(--line)}.check-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.8125rem}.check-label input{accent-color:var(--accent);width:18px;height:18px;cursor:pointer}.retouch-card .control{margin:15px 0}.retouch-actions{display:flex;gap:8px}.retouch-actions>button{flex:1;font-size:.8125rem;padding:8px}.retouch-actions button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#22463b}.show-mask{margin-top:16px}.retouch-card .help{font-size:.8125rem;margin-bottom:10px}#brushControls{border-left:2px solid #547667;padding-left:12px;margin-top:16px}#preview.retouching{cursor:crosshair}#autoBtn{font-size:.9375rem}

.automatic-card{padding-bottom:10px}.automatic-card .pipeline{list-style:none;padding:0;margin:20px 0;counter-reset:step}.pipeline li{counter-increment:step;display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--muted);font-size:.9rem}.pipeline li:before{content:counter(step);border:1px solid #53605f;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;flex-shrink:0}.pipeline li.done{color:var(--accent)}.pipeline li.done:before{content:'✓';border-color:var(--accent)}.pipeline li.active{color:var(--text)}.pipeline li.active:before{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}#manualTools{border-top:1px solid var(--line);margin-top:17px}#manualTools summary{padding:18px 0;cursor:pointer;color:#ccd7d8;font-size:.9rem}#manualTools[open] summary{margin-bottom:10px}#connectionStatus{padding:11px 13px;border:1px solid #4e584f;border-radius:6px;color:#d8cfb9;background:#2d2a211f}#connectionStatus.connected{border-color:#426b60;color:var(--accent)}#automaticStatus{min-height:42px;color:#d7e4df}.detection-failed #exportTop,.detection-failed #exportBtn{opacity:.4}.busy{padding:20px;line-height:1.5;text-align:center}.automatic-card select{font-size:1rem}

.file-picker{display:inline-grid;position:relative;vertical-align:middle}.file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-picker:focus-within{outline:2px solid var(--accent);outline-offset:4px;border-radius:7px}.file-picker input:disabled{cursor:not-allowed}#importStatus:empty{display:none}#importStatus{margin:0 0 8px;color:var(--accent)}#importError{margin:0 0 12px;color:#ffc3b6}

/* Gallery and composition workflow */
.workspace-top{flex-wrap:wrap;gap:10px}.image-tabs{display:flex;overflow-x:auto;max-width:100%;flex:1 1 100%;scrollbar-width:thin}.image-tab{flex:1 0 76px;padding:9px 8px;font-size:.9rem;white-space:nowrap}.image-tab span{display:block;font-size:.75rem;margin-top:3px}.save-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:.875rem;margin:2px 0 12px;color:var(--accent)}.save-bar #saveStatus{flex:1 1 160px}.save-bar .text-button{font-size:.875rem;padding:5px 0}.save-bar .save-error{color:#ffc3b6}.design-card{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}.composition-options{grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.layout-option{min-height:44px;padding:10px 5px;font-size:.875rem}.galaxy{background:#152038 url('images/milky-way.webp') center/cover}.swatches{gap:6px}.swatch{font-size:.875rem}.header-actions{gap:8px}.gallery-dialog{background:#151d20;color:var(--text);border:1px solid #465758;border-radius:14px;width:min(900px,94vw);max-height:88svh;padding:22px}.gallery-dialog::backdrop{background:#000b}.gallery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.gallery-heading h2{font-size:1.35rem;margin:0}.gallery-heading .help{margin:8px 0 16px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.gallery-card{border:1px solid var(--line);background:#101719;border-radius:9px;overflow:hidden;padding:0}.gallery-card button{display:block;width:100%;padding:0;background:transparent;color:var(--text);text-align:left}.gallery-card img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#000}.gallery-card .gallery-title{display:block;font-size:.875rem;margin:10px 12px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-card .gallery-state{display:block;color:var(--muted);font-size:.875rem;margin:0 12px 10px}.gallery-card a{display:block;color:var(--accent);font-size:.875rem;margin:10px 12px 12px}.gallery-placeholder{aspect-ratio:1;display:grid;place-items:center;background:#0a1011;color:#859b97}.gallery-dialog #galleryMore{margin-top:18px}.empty-state .eyebrow{margin-top:12px}.empty-state h1{font-size:2rem}.has-photo .workspace #importStatus:empty{display:none}
@media(max-width:760px){.header-actions button{font-size:.875rem;padding:8px 9px}.brand div>span{display:none}.brand strong{font-size:.83rem}.brand svg{width:27px}.topbar{height:65px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-dialog{padding:15px}.has-photo .save-bar{margin:0 0 4px;font-size:.875rem}.has-photo .workspace{position:relative;top:auto}.has-photo .stage{height:36svh;max-height:340px}.controls{padding:20px 17px}.empty-state h1{font-size:1.6rem}.image-tab span{display:block}.workspace-top .file-picker{margin-left:auto}.workspace-bottom #imageInfo{font-size:.875rem;max-width:100%}.workspace-bottom #fileName{max-width:58vw}.help,.control output{font-size:.875rem}.file-hint{font-size:.875rem}.busy{flex-direction:column}.gallery-card button:disabled{opacity:.6}}
/* Direct web studio and opt-in mobile camera */
[hidden]{display:none!important}.studio-nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 38px;border-bottom:1px solid var(--line)}.studio-nav [role=tablist]{display:flex;gap:8px}.studio-nav button{background:transparent;color:var(--muted);padding:10px 18px}.studio-nav button[aria-selected=true]{background:#23453e;color:var(--accent)}.web-link,.web-access a{color:var(--accent);font-size:.9rem;text-decoration:none}.web-access{display:flex;align-items:center;gap:20px;padding:24px 38px;border-top:1px solid var(--line);flex-wrap:wrap}.web-access>div{flex:1 1 280px}.web-access p{margin:6px 0 0;max-width:650px;color:var(--muted);font-size:.9rem;line-height:1.5}.capture-panel{max-width:1200px;margin:auto;padding:32px 38px 44px}.capture-heading h1{font-size:2.1rem;margin:12px 0}.capture-heading p{color:var(--muted);line-height:1.5}.capture-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:30px;margin-top:25px}.capture-stage{position:relative;aspect-ratio:4/3;background:#050808;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:grid;place-items:center}.capture-stage video,.capture-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2;background:#050808}.camera-guide{position:absolute;inset:0;z-index:3;display:grid;place-items:center;pointer-events:none}.limbus-guide{position:relative;width:90px;height:90px;border:1.5px solid #83e6d1;border-radius:50%;box-shadow:0 0 0 100vmax #0003}.pupil-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30%;height:30%;border:1.5px dashed #fff;border-radius:50%}.limbus-label,.pupil-label{position:absolute;left:50%;transform:translateX(-50%);font-size:9px;font-weight:550;letter-spacing:.08em;background:#061719bb;padding:2px 4px;white-space:nowrap}.limbus-label{top:-22px;color:#a0ffe8}.pupil-label{top:calc(100% + 6px);color:#fff}.camera-placeholder{text-align:center;color:var(--muted)}.capture-ring{display:block;width:100px;height:100px;border:2px solid #42665e;border-radius:50%;margin:0 auto 20px;position:relative}.capture-ring:after{content:'';position:absolute;inset:30%;border:2px solid var(--accent);border-radius:50%}.capture-tools>.file-picker{display:grid;width:100%}.capture-tools>button{margin:8px 0}.capture-tips{padding-left:22px;margin-top:24px;color:var(--muted);font-size:.95rem;line-height:1.6}.capture-tips li{margin:12px 0}.capture-tips strong{color:var(--text)}.capture-tools .help{line-height:1.6}
@media(min-width:1100px){main{max-width:1600px;margin:auto}.stage{max-height:75vh}.controls{max-height:none}}
@media(max-width:760px){.studio-nav{padding:10px 12px;gap:6px;flex-wrap:wrap}.studio-nav button{padding:10px 12px;font-size:.9rem}.studio-nav .web-link{font-size:.8rem}.capture-panel{padding:24px 16px}.capture-heading h1{font-size:1.8rem}.capture-layout{grid-template-columns:1fr;gap:12px;margin-top:18px}.capture-stage{aspect-ratio:1}.web-access{padding:22px 17px;gap:15px}.capture-tips{margin-top:20px}}

/* Ordered selection uses the same numbered slots in preview, storage and export. */
.composition-pick{margin-top:18px}.composition-pick .help{margin:10px 0}.composition-order{display:flex;gap:7px;list-style:none;margin:0;padding:0}.composition-order li{flex:1;min-width:0;max-width:84px}.order-iris{position:relative;display:block;width:100%;padding:5px;background:#101719;color:var(--text);border-color:var(--line);min-height:80px}.order-iris img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#000;border-radius:4px}.order-number{display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border-radius:50%;width:24px;height:24px;font-size:.875rem;font-weight:700;position:absolute;top:5px;left:5px}.order-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;padding-top:7px}.order-iris:not(:has(img)) .order-name{padding-top:29px}.gallery-card button{position:relative;border:2px solid transparent;border-radius:7px}.gallery-card button.selected{border-color:var(--accent);background:#223530}.selection-number{position:absolute;top:8px;left:8px;display:grid;place-items:center;min-width:32px;height:32px;border:1px solid #718480;border-radius:50%;background:#101719e8;color:var(--text);font-size:1rem;font-weight:700}.selected .selection-number{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.gallery-selection{position:sticky;top:-22px;z-index:2;padding:12px 0 16px;background:#151d2afa;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin-bottom:16px}.gallery-selection ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0}.gallery-selection li{max-width:100%;min-width:0}.selection-chip{background:#223530;color:var(--accent);border-color:#537d73;padding:7px 10px;font-size:.875rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selection-actions{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.selection-actions button{font-size:.875rem;flex:1;padding:8px}.gallery-selection .primary{min-height:46px}@media(max-width:760px){.gallery-selection{top:-15px}.gallery-dialog{max-height:92svh}.gallery-heading .quiet{flex-shrink:0}}

.home-panel{max-width:1320px;margin:auto;padding:70px 6vw 75px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:45px;min-height:70svh}.home-copy h1{font-size:clamp(2.8rem,5.5vw,5.8rem);line-height:1.04;letter-spacing:-.05em;margin:22px 0}.home-copy>p{font-size:1.125rem;color:var(--muted);max-width:470px}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.home-copy .home-formats{font-size:.875rem;line-height:1.6}.home-art{margin:0;min-width:0}.home-art img{display:block;width:100%;height:auto;background:#000;border-radius:50%}.home-art figcaption{font-size:.875rem;text-align:center;color:var(--muted);margin-top:20px}.print-settings{margin-top:22px}.print-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.print-fields label{font-size:.875rem;color:var(--muted)}.print-fields input{display:block;width:100%;min-width:0;margin-top:7px;padding:11px 10px;background:#10191d;border:1px solid #3c4b50;border-radius:6px;color:var(--text);font-size:1rem}.print-actions{display:flex;gap:8px;flex-wrap:wrap}.print-actions button{flex:1;font-size:.875rem}.studio-nav [role=tablist]{overflow-x:auto}.studio-nav [role=tab]{white-space:nowrap}@media(max-width:760px){.home-panel{padding:28px 22px 40px;gap:26px;grid-template-columns:1fr;min-height:0}.home-copy h1{font-size:3.15rem}.home-art{max-width:360px;margin:0 auto;grid-row:2}.home-actions{margin:22px 0}.home-actions button{flex:1 1 45%;font-size:1rem}.studio-nav{flex-wrap:wrap}.studio-nav [role=tablist]{max-width:100%}}

.photo-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1rem 0}.danger{color:#ffb4a5}.gallery-card>.danger{padding:.75rem;min-height:44px}

.export-dialog{width:min(680px,calc(100vw - 24px));max-height:92svh}.export-dialog .export-panel{margin:0;padding:0;border:0}.export-dialog h2{font-size:1.35rem}.export-dialog #exportStatus{min-height:1.5em}.quality-note{padding:14px;border:1px solid #6f6543;border-radius:8px;color:#ecdcb1;font-size:.875rem;line-height:1.55;background:#2b281b}.export-dialog .section-heading{flex-wrap:wrap;gap:12px}

/* Installed app: keep controls clear of the notch and home indicator. */
body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}
.topbar{height:calc(94px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
.install-dialog{width:min(520px,calc(100vw - 24px));line-height:1.6;max-height:88svh}.install-dialog h2{font-size:1.35rem}.install-icon{border-radius:18px}.install-dialog li{margin:12px 0}.install-dialog ol{padding-left:24px}.install-dialog .gallery-heading{gap:16px}
@media(max-width:760px){.topbar{height:calc(76px + env(safe-area-inset-top))}}

.visitor-notice{margin:1rem auto;padding:1rem 1.25rem;max-width:1400px;background:#172c29;border:1px solid #38645d;border-radius:12px;color:#d9eae6}.visitor-notice p{margin:.4rem 0;font-size:.9rem;line-height:1.5}.visitor-notice a{color:#7ee2d1;font-size:.9rem}.visitor-notice[hidden]{display:none}

.composition-detail{padding:16px 14px;margin:14px 0 20px;background:#131b1e;border:1px solid #344047;border-radius:9px}.composition-detail .help{margin-bottom:0}.composition-detail .control:last-child{margin-bottom:0}

.camera-guide-controls{border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:16px;background:#141e21}.camera-guide-controls .control label{flex-wrap:wrap}.camera-guide-controls .control{margin:16px 0}.camera-detail-toggle{font-size:.9rem;color:var(--text)}.camera-detail{margin:16px 0 0}.camera-detail canvas{display:block;width:min(240px,100%);height:auto;aspect-ratio:1;border:1px solid #55736e;border-radius:8px;background:#000}.camera-detail figcaption{font-size:.8rem;line-height:1.45;color:var(--muted);margin:8px 0}.camera-guide-controls .help:last-child{margin-bottom:0}

.capture-quality{padding:12px 14px;border-left:3px solid var(--accent);background:#152329;color:var(--text);font-size:.88rem;line-height:1.6;border-radius:4px;margin:12px 0}.capture-tools>.file-picker+.file-picker{margin:10px 0}

.folder-section{margin:24px 0;border-top:1px solid var(--line);padding-top:18px}.folder-create{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.folder-create input{flex:1;min-width:150px}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:15px}.folder-card{display:flex;flex-direction:column;align-items:start;text-align:left;gap:6px;background:#182426;border:1px solid var(--line);border-radius:12px;padding:12px;overflow:hidden;color:var(--text)}.folder-card img,.folder-placeholder{width:64px;height:64px;object-fit:cover;border-radius:8px;background:#080e10}.folder-placeholder{display:grid;place-items:center;font-size:.75rem}.folder-card strong{overflow-wrap:anywhere}.folder-card[aria-pressed=true]{border-color:var(--accent)}.folder-card>span:last-child{font-size:.8rem;color:var(--muted)}#organizeIrisForm>input,#organizeIrisForm>select{width:100%;margin:8px 0 12px}

#irisNewFolder{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit}

/* Compact studio: the photo stays beside the tools on desktop. */
.control-group{border:1px solid var(--line);border-radius:9px;margin:0 0 10px;background:#151d20}
.control-group>summary,.process-details>summary{cursor:pointer;padding:12px 14px;font-weight:600;font-size:.9rem;color:var(--text)}
.control-group[open]>summary{border-bottom:1px solid var(--line);color:var(--accent)}
.control-group-body{padding:12px}
.controls .design-card{border:0;padding:0;margin:0}
.controls .control{margin:12px 0}.controls .control label{margin-bottom:5px}
.controls .help{font-size:.8125rem;line-height:1.45;margin:8px 0 10px}
.controls .spaced{margin-top:14px}.controls .input-label{margin-bottom:6px}
.controls .composition-options{margin:0 0 10px;gap:6px}
.controls .composition-pick{margin-top:10px}.controls .composition-detail{padding:10px;margin:10px 0}
.controls .swatches{margin-top:0}.controls .automatic-card{padding:0 0 12px}
.controls .automatic-card select{font-size:.875rem}
.controls #connectionStatus{padding:7px 9px}.controls #automaticStatus{min-height:0}
.controls .process-details>summary{padding:6px 0;font-size:.8125rem;font-weight:400;color:var(--muted)}
.controls .pipeline{margin:5px 0}.controls .pipeline li{padding:5px 0;font-size:.8125rem}
.controls #manualTools{margin-top:4px}.controls #manualTools>summary{padding:12px 0}
.controls .tool-panel{min-height:0}.controls .tool-tabs{margin-bottom:12px}
.controls #openExport{position:static;margin-top:12px;box-shadow:none}
@media(min-width:901px){
 .topbar{height:64px;padding:0 24px}.brand svg{width:32px;height:32px}.brand strong{font-size:1rem}.brand div>span{font-size:.65rem;margin-top:3px}
 .studio-nav{padding:6px 24px}.studio-nav button{padding:7px 14px;min-height:36px}
 #editorPanel{max-width:none;min-height:0;grid-template-columns:minmax(0,1fr) clamp(340px,29vw,430px);align-items:start}
 #editorPanel .workspace{position:sticky;top:8px;padding:14px 20px 12px;min-width:0}
 #editorPanel .controls{position:sticky;top:8px;max-height:calc(100dvh - 130px);overflow-y:auto;scrollbar-gutter:stable;padding:14px 16px;min-width:0}
 #editorPanel .workspace-top{flex-wrap:nowrap;margin-bottom:10px;gap:12px}
 #editorPanel .image-tabs{flex:1 1 auto;min-width:0}.image-tab{padding:6px;font-size:.8125rem;min-height:40px}.image-tab span{font-size:.6875rem;margin:2px 0 0}
 #editorPanel .stage{aspect-ratio:auto;max-width:none;width:100%;height:calc(100dvh - 325px);max-height:850px;min-height:240px}
 #editorPanel .workspace-bottom{padding:9px 0}#editorPanel .workspace-bottom #fileName{max-width:min(480px,45vw)}
 #editorPanel .photo-actions{margin:0 0 5px;gap:8px}#editorPanel .photo-actions button{font-size:.8125rem;padding:7px 10px;min-height:36px}
 #editorPanel .save-bar{margin:0 0 5px;font-size:.75rem}#editorPanel .guidance{margin-top:0}
 #editorPanel .guidance p{font-size:.75rem}#editorPanel .tool-tabs{position:static}
 body:has(#editorPanel:not([hidden]))>.web-access{display:none}
}
@media(min-width:761px) and (max-width:900px){#editorPanel{grid-template-columns:minmax(0,1fr) 320px;align-items:start}#editorPanel .workspace{position:sticky;top:8px;padding:12px}#editorPanel .controls{padding:12px}#editorPanel .stage{min-height:220px;max-height:50dvh}}
@media(max-width:760px){.controls .control-group>summary{min-height:44px;padding:13px}.controls #openExport{position:static}.controls{padding-top:12px}.controls .control-group-body{padding:12px}.controls input[type=range]{height:28px}}

/* Studio review keeps the ordinary editing surface compact. */
.studio-tool-actions{display:grid;gap:8px;margin-top:14px}.quality-issues{padding-left:18px;color:#edc695;font-size:13px;line-height:1.5}.inspect-dialog{width:min(760px,calc(100vw - 24px));max-width:760px}.inspect-panes{display:grid;grid-template-columns:1fr 1fr;gap:16px}.inspect-panes figure{margin:0;min-width:0}.inspect-panes figcaption{font-size:12px;color:var(--muted);margin-bottom:8px}.inspect-panes canvas{display:block;width:100%;max-width:320px;aspect-ratio:1;border:1px solid #34473f;background:#000}.inspect-dialog #inspectNav{display:block;width:200px;height:200px;margin:16px auto 0;cursor:crosshair;touch-action:none;border:1px solid #47695a}.quality-issues:empty{display:none}#cameraQueue{display:grid;gap:8px}#irisPrintDetails table{width:100%;border-collapse:collapse;font-size:12px}#irisPrintDetails th,#irisPrintDetails td{padding:6px 4px;border-bottom:1px solid #34473f;text-align:left}#projectName{width:100%;margin-bottom:12px}#projectsDialog select{width:100%;margin-bottom:12px}
@media(max-width:580px){.inspect-panes{grid-template-columns:1fr}.inspect-panes canvas{margin:auto}.inspect-dialog{max-height:90dvh;overflow:auto}.photo-actions{flex-wrap:wrap}}

/* Vertical strips use page scrolling instead of shrinking into a short box. */
#editorPanel .stage.vertical-preview{max-height:none;min-height:0;aspect-ratio:auto;flex-shrink:0}
#editorPanel .stage.vertical-preview canvas{touch-action:pan-y}
#editorPanel .workspace:has(.vertical-preview){position:relative;top:auto}

.studio-presets{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #ffffff20}.studio-presets .composition-options{margin-top:8px}#clientProofsDialog{width:min(1000px,94vw);max-height:90dvh;overflow:auto}.client-proofs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:14px}.client-proofs-grid figure{margin:0}.client-proofs-grid canvas{display:block;width:100%;height:auto;background:#000}.client-proofs-grid figcaption{padding:10px 0;font-weight:600}

.gallery-recovery,.gallery-client-tools{padding:12px;margin:12px 0;border:1px solid #82e4ca55;border-radius:12px}.gallery-recovery:not([hidden]){display:flex;gap:12px;flex-wrap:wrap;align-items:center}.gallery-recovery a{color:#82e4ca}
