
:root{--paper:#f8f6f1;--ink:#35312b;--muted:#8b8378;--line:#e1dcd3;--accent:#a75b40;--green:#75836b;--soft:#efebe4}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:14px}button,a,input{touch-action:manipulation}button{cursor:pointer;font:inherit;color:inherit;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}button{transition:background .15s,color .15s}button:hover:not(:disabled){color:var(--accent)}.topbar{height:105px;max-width:1440px;margin:auto;padding:0 44px;display:flex;align-items:center;gap:60px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand-icon{display:flex;padding:9px;border:1px solid #aaa091;border-radius:2px;transform:rotate(-5deg)}.brand b{font:30px Georgia,serif;letter-spacing:-1px;display:block}.brand small{font-size:8px;letter-spacing:1.6px;display:block;margin-top:7px}.topbar nav{display:flex;gap:32px;margin-left:auto}.topbar nav button,.topbar nav .nav-help{font-size:13px}.profile{display:flex;gap:10px;align-items:center;font-size:13px}.avatar{border-radius:50%;height:34px;width:34px;background:#e1d9ca;display:grid;place-items:center;font-family:Georgia,serif}.site-shell main{max-width:1390px;margin:auto;padding:36px 34px 0}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:13px}.heading h1{font-size:38px;line-height:1.13;letter-spacing:-1px}.heading>div>p:last-child{margin-top:12px;color:#8a8177;font-size:14px}.handwriting{font-family:'Segoe Script',cursive;font-size:22px;line-height:1.6;color:#958778;transform:rotate(-7deg);margin-right:74px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 342px;gap:33px;align-items:start}.photo-panel{min-width:0}.photo-toolbar{height:53px;border:1px solid var(--line);border-bottom:0;background:#fbfaf7;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-radius:7px 7px 0 0}.photo-toolbar>span{display:flex;gap:9px;align-items:center;min-width:0;color:#766f65}.filename{font-size:12px;max-width:240px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.upload-button{font-size:11px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:4px;padding:8px 11px;background:#fdfcf9}.viewer{position:relative;aspect-ratio:1.5;overflow:hidden;background:#d3c7b2;border-left:1px solid var(--line);border-right:1px solid var(--line)}.viewer:fullscreen{height:100vh;aspect-ratio:auto}.photo-stage,.before-layer{position:absolute;inset:0}.photo-stage{transition:transform .2s}.portrait{width:100%;height:100%;object-fit:contain;display:block}.aged{filter:sepia(.7) contrast(.72) brightness(1.07) blur(.35px)}.scratches{position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(ellipse at 4% 8%,#d7c8a9a8,transparent 40%);fill:none;stroke:#e7dfc7;stroke-width:3;opacity:.8}.scratches .fine{stroke-width:.65}.photo-label{position:absolute;top:17px;background:#f5f0e2d9;padding:6px 13px;border-radius:3px;font-size:11px;pointer-events:none}.photo-label.left{left:16px}.photo-label.right{right:16px}.divider{position:absolute;top:0;bottom:0;border-left:2px solid #fff9e9;pointer-events:none;z-index:2}.divider>span{position:absolute;left:-20px;top:50%;width:38px;height:38px;display:grid;place-items:center;background:#f7f3e9;color:#75634e;border-radius:50%;box-shadow:0 1px 7px #33231444}.comparison-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:3}.viewer:focus-within{outline:2px solid var(--accent)}.viewer-footer{border:1px solid var(--line);border-top:0;border-radius:0 0 6px 6px;height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;background:#fbfaf7}.sample-label{font-size:10px;color:#988f83}.zoom{display:flex;align-items:center;gap:12px;font-size:11px}.zoom button{display:grid;place-items:center;padding:5px}.zoom i{height:15px;width:1px;background:var(--line);margin:0 3px}.photo-caption{display:flex;align-items:center;gap:17px;padding:29px 4px}.little-spark{font-size:31px;color:#a39783}.photo-caption p{font-family:Georgia,serif;font-size:17px;line-height:1.7}.photo-caption p span{font-family:Arial,sans-serif;font-size:12px;color:#948b7e}.settings{border:1px solid var(--line);border-radius:7px;background:#fbfaf7;padding:23px 22px 18px;margin-top:-1px;box-shadow:0 7px 25px #5c443605}.settings-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.settings-title h2{font-size:22px}.settings-title button{color:#9c9488}.field{margin:17px 0}.field>label{display:block;font-size:12px;margin-bottom:10px}.segmented{display:flex;background:#f3f0ea;border:1px solid var(--line);border-radius:5px;padding:3px;gap:3px}.segmented button{flex:1;padding:9px 3px;font-size:11px;border-radius:3px;white-space:nowrap}.segmented .selected,.sizes .selected{background:#fbfaf6;box-shadow:0 1px 4px #66503a17;color:#744733;border:1px solid #cebcab}.segmented .selected{padding:8px 2px}.slider-field{margin-top:19px}.slider-field label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}.slider-field output{font-size:11px;color:#82786a}.slider-field input{appearance:none;width:100%;height:3px;display:block;background:linear-gradient(to right,#887a60 var(--range),#e1dbd0 var(--range));border-radius:4px;cursor:pointer}.slider-field input::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#938269;border:2px solid #f8f4ea;border-radius:50%;box-shadow:0 0 0 1px #c2b7a6}.toggle-row{margin:23px 0 18px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.switch{width:32px;height:19px;background:#c8c3ba;border-radius:20px;padding:3px}.switch span{display:block;width:13px;height:13px;background:#fff;border-radius:50%;transition:transform .2s}.switch.on{background:var(--green)}.switch.on span{transform:translateX(13px)}.cleanup{display:flex;gap:7px;flex-wrap:wrap}.cleanup button{border:1px solid #d5cec1;border-radius:4px;display:flex;align-items:center;gap:6px;font-size:10px;padding:8px 9px;background:#f9f7f2}.cleanup .active{background:#e9ece2;border-color:#94a085}.sizes{display:flex;gap:5px}.sizes button{flex:1;padding:10px 3px;font-size:11px;border:1px solid var(--line);border-radius:4px;white-space:nowrap;background:#f6f3ed}.field-note{display:block;margin-top:8px;color:#8c7665;font-size:10px;line-height:1.5}.quiet-note{font-size:9px;text-align:center;color:#9a9083;margin:16px -5px}.primary{background:var(--accent);border:1px solid #965138;border-radius:5px;color:#fff8ee;display:flex;gap:10px;justify-content:center;align-items:center;padding:14px 18px;font-size:13px;width:100%}.primary:hover:not(:disabled){background:#914d34;color:white}.restore{font-size:15px;box-shadow:0 4px 9px #84563e19}.balance{display:flex;gap:5px;align-items:center;justify-content:center;width:100%;font-size:11px;margin:12px 0 16px;color:#887b6e}.balance b{font-weight:400;color:#675d52}.download{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;border:1px solid #ccc1b2;border-radius:4px;padding:12px;font-size:12px;background:#fcfaf6}.footer{display:flex;align-items:center;gap:23px;border-top:1px solid var(--line);padding:23px 0;color:#9b9388;font-size:10px;margin-top:32px}.footer button:last-child{margin-left:auto;display:flex;gap:6px;align-items:center}.test-badge{border:1px solid var(--line);border-radius:20px;padding:4px 8px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;max-width:620px;width:calc(100% - 32px);background:#373e34;color:#fffaf1;box-shadow:0 8px 35px #1b211533;padding:16px 20px;border-radius:7px;z-index:60;font-size:13px;line-height:1.5}.toast button{margin-left:auto;flex-shrink:0;color:#fff}.busy-overlay{position:absolute;inset:0;z-index:5;background:#f3eee1c9;display:flex;align-items:center;justify-content:center;gap:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}dialog{padding:0;border:1px solid var(--line);border-radius:12px;width:min(530px,calc(100% - 30px));max-height:90vh;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #201b1640;margin:auto}dialog::backdrop{background:#27231d66;backdrop-filter:blur(4px)}.modal-body{padding:36px;position:relative}.close{position:absolute;right:14px;top:14px;padding:5px}.modal-body h2{font-size:30px;margin:5px 0 20px}.modal-body p{font-size:13px;line-height:1.7;margin:12px 0}.modal-body .eyebrow{font-size:9px}.modal-body .primary{margin-top:22px}.muted{color:var(--muted)}.steps{padding-left:22px}.steps li{padding-left:8px;margin:22px 0}.steps b{font-weight:500;font-size:15px}.steps p{color:var(--muted)}.info-box{background:#eee9df;border-radius:5px;padding:13px 15px;color:#7b6c5c}.connection-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.connection-row span:last-child{font-size:11px;color:#8a7c69}.connection-row b{font-weight:500}.packages{display:flex;gap:10px;margin:20px 0}.packages button{border:1px solid #d4c9b9;border-radius:6px;flex:1;padding:16px 7px}.packages b{display:block;font:32px Georgia,serif}.packages span{display:block;font-size:11px;color:var(--muted);margin:6px 0 15px}.packages strong{font-size:17px;font-weight:400}.signout{display:block;text-align:center;font-size:12px;margin-top:22px;color:var(--muted)}.empty{padding:20px 0;display:flex;flex-direction:column;align-items:center;text-align:center;color:#8f8373}.empty h3{font-size:22px;margin-top:20px}.history>div{display:flex;gap:20px;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0;font-size:12px}.history a,.text-button{color:var(--accent)}.export-options{display:flex;flex-direction:column;gap:15px;margin:24px 0;font-size:13px}.export-options input{accent-color:var(--accent);margin-right:10px}
@media(min-width:1500px){.site-shell main{padding-top:44px}.heading{margin-bottom:35px}.heading h1{font-size:44px}.workspace{grid-template-columns:minmax(0,1fr) 350px;gap:36px}.settings{padding:25px}.viewer{aspect-ratio:1.58}}@media(max-width:1050px){.topbar{padding:0 25px;gap:25px}.topbar nav{gap:15px}.workspace{gap:22px;grid-template-columns:minmax(0,1fr) 310px}.site-shell main{padding:26px 24px 0}.heading h1{font-size:33px}.settings{padding:20px 17px}.handwriting{margin-right:25px;font-size:18px}.upload-button{font-size:0;gap:0}.filename{max-width:210px}.photo-caption p{font-size:15px}.brand b{font-size:26px}}@media(max-width:760px){.topbar{height:84px;padding:0 20px}.brand b{font-size:25px}.brand small{font-size:6px;letter-spacing:1.2px}.brand-icon{padding:7px}.topbar nav{display:none}.profile{margin-left:auto}.profile>span:not(.avatar){display:none}.site-shell main{padding:28px 18px 0}.heading{margin-bottom:25px}.heading h1{font-size:31px}.heading .eyebrow{font-size:8px}.heading>div>p:last-child{font-size:12px}.handwriting{display:none}.workspace{display:flex;flex-direction:column;gap:12px}.photo-panel,.settings{width:100%}.photo-caption{padding:20px 4px}.photo-caption p{font-size:15px}.settings{padding:23px}.settings-title h2{font-size:24px}.slider-field{margin-top:23px}.segmented button,.sizes button{font-size:12px}.cleanup button{font-size:11px;padding:9px 10px}.photo-toolbar{padding:0 12px}.upload-button{font-size:10px;gap:5px}.filename{max-width:150px}.photo-label{font-size:9px;padding:4px 9px}.footer{flex-wrap:wrap;gap:15px;margin-top:28px}.footer button:last-child{margin-left:0}.modal-body{padding:32px 24px}.sample-label{font-size:9px}.zoom{gap:7px}.quiet-note{font-size:10px}.restore{padding:16px}.balance{font-size:12px}.download{font-size:13px}.slider-field label,.field>label,.toggle-row{font-size:13px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:0s!important}}

.viewer.reference-viewer{aspect-ratio:911/576;background:#eee9df}.reference-photo{display:block;width:100%;height:100%;overflow:hidden}

.comparison-range{touch-action:pan-y}.comparison-range::-webkit-slider-thumb{width:1px}.comparison-range::-moz-range-thumb{width:1px}

/* Reference layout: warm white, terracotta controls, classic serif type. */
:root{--paper:#fdfcfb;--ink:#131313;--muted:#85858d;--line:#e6e3e1;--accent:#ae6048;--green:#77836e}
body{font-family:'Times New Roman',Georgia,serif;font-size:17px;background:radial-gradient(ellipse at 40% 35%,#fff 0,#fdfcfb 75%)}
.topbar{height:75px;max-width:none;padding:0 3.25%;gap:38px;border-color:#e9e3dd;background:#ffffff90}
.brand{gap:15px;flex-shrink:0}.brand-icon{border:0;padding:0;width:49px;height:49px;color:#9d826c;transform:rotate(-4deg)}.brand-icon svg{width:49px;height:49px}.brand b{font-family:'Times New Roman',serif;font-size:32px;letter-spacing:0}.brand small{font-family:'Times New Roman',serif;font-size:11px;letter-spacing:0;margin-top:4px;color:#929299}
.topbar nav{margin-left:auto;margin-right:auto;gap:42px;align-items:center}.topbar nav button,.topbar nav .nav-help{font-size:18px;padding:12px 0 10px;white-space:nowrap}.topbar nav button:first-child,.topbar nav .nav-help:first-child{border-bottom:1px solid #76807a}.profile{font-size:16px;gap:14px;flex-shrink:0}.avatar{height:43px;width:43px;background:#e4ded4;font-size:23px}.header-message{display:flex;align-items:center;gap:9px;flex-shrink:0;min-width:194px;color:#7d857b}.header-message .handwriting{display:block;margin:0;font-family:'Segoe Script','Monotype Corsiva',cursive;font-size:16px;line-height:1.55;transform:rotate(-7deg);color:#898d86;text-align:center;white-space:nowrap}.header-message>svg{transform:rotate(-20deg);align-self:flex-end;margin-bottom:2px}
.site-shell main{display:grid;grid-template-columns:minmax(0,2.04fr) minmax(370px,1fr);grid-template-rows:auto auto auto;align-items:start;gap:20px 26px;max-width:1640px;padding:28px 3.25% 0;margin:auto}.workspace{display:contents}.heading{grid-column:1;grid-row:1;display:block;margin:3px 0 0;min-height:87px}.heading h1{font-family:'Times New Roman',serif;font-size:clamp(30px,3vw,46px);line-height:1.12;letter-spacing:-.8px}.heading>div>p:last-child{font-family:'Times New Roman',serif;font-size:28px;line-height:1.2;margin-top:4px;color:#858592}.photo-panel{grid-column:1;grid-row:2;border:1px solid var(--line);border-radius:8px;padding:0 19px;background:#ffffff80;overflow:hidden}.photo-toolbar{border:0;padding:0;height:69px;background:none;border-radius:0}.photo-toolbar>span{gap:13px;color:#656875}.photo-toolbar>span>svg{height:40px;width:43px;border:1px solid var(--line);border-radius:6px;padding:10px;color:#393d42}.filename{font-size:18px;max-width:300px}.upload-button{font-family:inherit;font-size:16px;padding:8px 14px;gap:12px;height:40px;border:1px solid #81918e;border-radius:7px;background:#fff;color:#707a76}.upload-button svg{width:22px;height:22px;color:#161a19}
.viewer,.viewer.reference-viewer{aspect-ratio:911/576;border:0;border-radius:12px;background:#d5c9b5}.photo-label{font-family:inherit;font-size:18px;color:#fff8ef;background:#3e3b2caa;top:16px;padding:8px 17px;border-radius:10px}.photo-label.left{left:16px}.photo-label.right{right:16px}.divider{border-left:2px solid #fff}.divider>span{width:43px;height:43px;left:-22px;background:white;color:black;box-shadow:0 2px 10px #403d3b22}.viewer-footer{border:0;height:83px;border-radius:0;position:relative;justify-content:center;padding:0;background:none}.sample-label{position:absolute;left:0;bottom:6px;font-family:Arial,sans-serif;font-size:9px;color:#aaa6a0}.zoom{gap:0;font-size:18px}.zoom button{width:43px;height:41px;border:1px solid var(--line);background:#fffdfb}.zoom button:first-child{border-radius:8px 0 0 8px}.zoom>span{height:41px;display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 14px}.zoom button:nth-of-type(2){border-radius:0 8px 8px 0}.zoom i{width:20px;height:1px;background:none;margin:0}.zoom button:last-child{border-radius:8px}.zoom svg{width:20px;height:20px}.photo-caption{display:none}
.settings{grid-column:2;grid-row:1 / span 2;align-self:start;width:auto;margin:0;padding:16px 24px 11px;border-radius:8px;background:#ffffff90;box-shadow:none}.settings-title{margin:0 0 9px;gap:8px}.settings-title h2{font-family:'Times New Roman',serif;font-size:32px;line-height:1.2;white-space:nowrap}.settings-title button{display:none}.field{margin:9px 0}.field>label{font-family:inherit;font-size:20px;line-height:1.1;margin-bottom:7px}.segmented{padding:0;gap:0;height:40px;border:1px solid #e1dcda;border-radius:8px;background:#fbfaf8;overflow:hidden}.segmented button{font-family:inherit;font-size:16px;padding:7px 6px;border:1px solid transparent;border-radius:6px;line-height:1.2}.segmented button+button{border-left-color:#e2dedd}.segmented .selected,.sizes .selected{background:linear-gradient(115deg,#b8674f,#a95d45);border:1px solid #b67b66;color:#fff;box-shadow:0 1px 4px #7e402532;padding:7px 6px}
.slider-field{position:relative;margin-top:13px;padding-bottom:4px;padding-right:51px;height:38px}.slider-field label{font-family:inherit;font-size:18px;margin-bottom:9px;white-space:nowrap}.slider-field output{position:absolute;right:0;bottom:-1px;color:#111;font-family:inherit;font-size:18px}.slider-field input{height:8px;background:linear-gradient(to right,#b3624c var(--range),#e6e6e6 var(--range));border-radius:7px;margin:0}.slider-field input::-webkit-slider-thumb{width:24px;height:24px;background:linear-gradient(120deg,#b86a50,#a4533f);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #3f352e30}.slider-field input::-moz-range-thumb{width:20px;height:20px;background:#af6048;border:2px solid white;border-radius:50%;box-shadow:0 2px 4px #3f352e30}
.toggle-row{margin:21px 0 9px;justify-content:flex-end;flex-direction:row-reverse;gap:16px;font-family:inherit;font-size:18px}.switch{width:66px;height:34px;padding:4px;flex-shrink:0;background:#bdc1b6}.switch.on{background:#79836f}.switch span{width:26px;height:26px;display:grid;place-items:center;color:#818e78}.switch.on span{transform:translateX(32px)}.cleanup{display:flex;flex-direction:column;gap:9px;padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:10px}.cleanup button{font-family:inherit;font-size:18px;padding:5px 15px;height:43px;border:1px solid #db7464;border-radius:8px;justify-content:center;gap:20px;background:#fff;color:#141414}.cleanup button>svg:first-child{color:#bb624b;flex-shrink:0}.cleanup .active{background:#f9e9e2;border-color:#b05a43}.sizes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 6px}.sizes button{grid-column:span 2;height:38px;font-family:inherit;font-size:16px;padding:7px 4px;border-radius:8px;border-color:#dfdad7;background:#fbfaf8}.sizes button:nth-child(n+4){grid-column:span 3}.sizes .selected{background:linear-gradient(115deg,#b8674f,#a95d45);color:white}.quiet-note{display:flex;align-items:center;justify-content:flex-start;gap:10px;font-family:inherit;font-size:14px;line-height:1.2;margin:10px 0 9px;color:#8b8a91;text-align:left;white-space:nowrap}.quiet-note svg{flex-shrink:0;color:#9a9ca5}.primary.restore{font-family:inherit;height:51px;font-size:22px;font-weight:400;border:1px solid #b2674f;border-radius:8px;background:linear-gradient(120deg,#b56850,#a95941);gap:17px;padding:9px;box-shadow:none}.balance{font-family:inherit;font-size:14px;line-height:1.15;margin:5px 0 8px;color:#86848b;gap:3px}.balance b{color:inherit}.balance>svg{display:none}.download{font-family:inherit;font-size:20px;border:1px solid #81918e;border-radius:8px;background:#fff;height:50px;padding:9px;gap:17px}.footer{grid-column:1/-1;margin:8px 0 0;font-size:12px;padding:15px 0;color:#918d88}.field-note{font-family:inherit;font-size:13px}.modal-body{font-family:Arial,sans-serif}.modal-body h2,.modal-body h3{font-family:'Times New Roman',serif}
@media(min-width:1450px){.heading h1{white-space:nowrap}.site-shell main{grid-template-rows:90px auto auto}}
@media(max-width:1250px){.topbar{gap:22px}.topbar nav{gap:23px}.brand b{font-size:28px}.brand small{font-size:9px}.header-message{min-width:165px}.header-message .handwriting{font-size:13px}.header-message>svg{width:25px}.site-shell main{grid-template-columns:minmax(0,1fr) 370px;gap:20px}.settings{padding:17px}.settings-title h2{font-size:27px}.heading h1{font-size:35px}.heading>div>p:last-child{font-size:23px}.filename{font-size:16px;max-width:185px}.upload-button{font-size:13px;padding:8px;gap:6px}.quiet-note{font-size:12px}.profile>span:not(.avatar){display:none}}
@media(max-width:950px){.header-message{min-width:140px}.topbar nav{gap:15px}.topbar nav button,.topbar nav .nav-help{font-size:15px}.site-shell main{grid-template-columns:minmax(0,1fr) 330px;padding:24px 20px 0;gap:18px}.settings-title h2{font-size:25px}.settings{padding:15px}.heading h1{font-size:30px}.heading>div>p:last-child{font-size:20px}.photo-panel{padding:0 12px}.upload-button{font-size:0;gap:0;width:38px;justify-content:center}.settings .field>label{font-size:18px}.slider-field label,.slider-field output{font-size:16px}.segmented button,.sizes button{font-size:15px}.cleanup button{font-size:16px;gap:13px}.toggle-row{font-size:16px;gap:11px}.quiet-note{font-size:11px;gap:5px}.primary.restore{font-size:20px}}
@media(max-width:760px){.topbar{height:auto;min-height:82px;padding:12px 18px;gap:12px;flex-wrap:wrap}.brand b{font-size:26px}.brand-icon,.brand-icon svg{width:40px;height:40px}.brand{gap:10px}.brand small{font-size:8px}.profile{margin-left:auto}.avatar{height:35px;width:35px;font-size:18px}.header-message{width:100%;justify-content:flex-end;min-width:0;margin-top:-5px}.header-message .handwriting{font-size:13px;line-height:1.3}.header-message>svg{width:24px;height:24px}.site-shell main{display:flex;flex-direction:column;padding:24px 18px 0;gap:20px}.heading{min-height:0;width:100%;margin:0}.heading h1{font-size:32px;line-height:1.06;letter-spacing:-.6px}.heading>div>p:last-child{font-size:21px;margin-top:8px}.photo-panel{width:100%;padding:0 11px}.photo-toolbar{height:58px}.photo-toolbar>span{gap:7px}.photo-toolbar>span>svg{width:31px;height:33px;padding:7px}.filename{max-width:165px;font-size:14px}.upload-button{font-size:0;width:35px;height:34px;padding:5px}.viewer,.viewer.reference-viewer{border-radius:7px}.photo-label{top:9px;font-size:12px;padding:5px 9px;border-radius:5px}.photo-label.left{left:9px}.photo-label.right{right:9px}.divider>span{width:34px;height:34px;left:-18px}.viewer-footer{height:73px}.zoom{font-size:15px}.zoom button,.zoom>span{height:36px}.zoom button{width:36px}.sample-label{font-size:8px}.settings{width:100%;padding:20px}.settings-title h2{font-size:29px}.settings .field>label{font-size:20px}.slider-field{margin-top:18px}.slider-field label,.slider-field output{font-size:17px}.segmented button,.sizes button{font-size:16px}.cleanup button{font-size:17px;height:44px}.toggle-row{font-size:17px;margin-top:24px}.primary.restore{font-size:22px}.quiet-note{white-space:normal;font-size:13px}.download{font-size:20px}.balance{font-size:14px}.footer{width:100%;margin-top:0;gap:12px;font-size:11px}.settings-title{margin-bottom:12px}}

.heading h1.memory-title{font-family:"Segoe Script","Monotype Corsiva",cursive;color:#898d86;font-weight:400;letter-spacing:0;line-height:1.4}

/* Family logo approved by the user. */
.brand-icon{width:64px;height:54px;flex:0 0 64px;transform:none;display:flex;align-items:center;justify-content:center;overflow:hidden}.brand-icon img{display:block;width:70px;height:70px;max-width:none;object-fit:contain;flex-shrink:0}
@media(max-width:760px){.brand-icon{width:46px;height:44px;flex-basis:46px}.brand-icon img{width:53px;height:53px}}
/* Wordmark matches the main heading, in terracotta. */
.brand b{font-family:"Times New Roman",serif;font-size:40px;font-weight:400;line-height:1.15;letter-spacing:0;color:#b3624c;white-space:nowrap}
@media(max-width:1250px){.brand b{font-size:36px}}
@media(max-width:760px){.brand b{font-size:32px}}

.studio-print{grid-column:1;grid-row:3;width:100%;min-height:51px;font-family:inherit;font-size:22px;font-weight:400;border:1px solid #b2674f;border-radius:8px;background:linear-gradient(120deg,#b56850,#a95941);gap:12px;padding:12px 18px}.studio-print svg{flex-shrink:0}@media(max-width:760px){.studio-print{font-size:20px}}

.photo-column{grid-column:1;grid-row:2;min-width:0;display:flex;flex-direction:column;gap:20px;width:100%}

.export-scale{margin:15px 2px 10px}.export-scale input{appearance:none;display:block;width:100%;height:8px;border-radius:7px;margin:0;background:linear-gradient(to right,#b3624c var(--range),#e6e6e6 var(--range));cursor:pointer}.export-scale input::-webkit-slider-thumb{appearance:none;width:24px;height:24px;background:#b3624c;border:2px solid white;border-radius:50%;box-shadow:0 2px 4px #0002}.export-scale input::-moz-range-thumb{width:20px;height:20px;background:#b3624c;border:2px solid white;border-radius:50%}.scale-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:15px;color:#85858d}.scale-labels .active{color:#b3624c;font-weight:bold}.settings .sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.settings .sizes button{grid-column:auto;width:100%}
/* Keep selected labels readable while the pointer remains on the button. */
.segmented button.selected:hover:not(:disabled),
.sizes button.selected:hover:not(:disabled){color:#fff}

.download-dialog{width:min(860px,calc(100% - 30px))}.print-format{display:flex;align-items:center;gap:15px;font-size:14px;margin:18px 0}.print-format select{padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font:inherit}.preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.print-choice{min-width:0;padding:12px;border:2px solid var(--line);border-radius:8px;background:#f5f2ee}.print-choice.chosen{border-color:#b3624c}.print-choice label{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:16px;cursor:pointer}.print-choice input{accent-color:#b3624c}.print-choice canvas{display:block;width:100%;height:auto;background:white;box-shadow:0 1px 5px #0002;outline-offset:3px}.print-choice canvas:focus-visible{outline:2px solid #b3624c}.modal-body .print-choice p{font-size:12px;margin:10px 0 0;color:#777;line-height:1.4}.crop-controls{margin:18px 0;font-size:13px}.crop-controls label{display:block}.crop-controls output{float:right}.crop-controls input{display:block;width:100%;accent-color:#b3624c;margin:10px 0 15px;cursor:pointer}.crop-position{display:grid;grid-template-columns:1fr 1fr;gap:20px}.crop-controls button{padding:6px 0}.print-previews{margin-top:16px}@media(max-width:560px){.download-dialog .modal-body{padding:28px 16px}.preview-pair{gap:8px}.print-choice{padding:7px}.print-choice label{font-size:13px;gap:4px}.print-format{flex-wrap:wrap}.crop-position{gap:12px}}

.admin-shell{font-family:Arial,sans-serif;max-width:1320px;margin:auto;padding:24px;color:#34302e}.admin-shell header{display:flex;align-items:center;gap:24px;padding:0 0 24px;border-bottom:1px solid var(--line)}.admin-brand{font:38px 'Monotype Corsiva',cursive;color:#b3624c;text-decoration:none}.admin-shell header>span{color:#847973;font-size:13px}.admin-shell header>button{margin-left:auto}.admin-login{max-width:430px;margin:60px auto;padding:30px;background:white;border:1px solid var(--line);border-radius:12px}.admin-shell h1{font:30px Georgia,serif;margin:0 0 18px}.admin-shell h2{font:23px Georgia,serif;margin:28px 0 16px}.admin-shell p{font-size:14px;line-height:1.65;margin:16px 0}.admin-login label{display:block;font-size:14px;margin:20px 0}.admin-login input{display:block;width:100%;padding:12px;border:1px solid #d9cec7;border-radius:6px;margin-top:8px;font:inherit}.admin-error{padding:14px;background:#fae8e2;color:#853c2b;border-radius:6px}.admin-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;margin-top:32px}.admin-layout nav{display:flex;flex-direction:column;gap:8px}.admin-layout nav button,.admin-layout nav .nav-help{text-align:left;padding:13px;border-radius:7px;font-size:14px}.admin-layout nav .selected{background:#b3624c;color:white}.admin-layout nav button.selected:hover,.admin-layout nav .nav-help.selected:hover{color:white}.admin-title{display:flex;justify-content:space-between;align-items:start;gap:20px}.admin-title button{color:#a85c45;font-size:14px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.admin-stats article{padding:25px;background:white;border:1px solid var(--line);border-radius:9px;font-size:14px}.admin-stats strong{display:block;font-size:34px;color:#b3624c;margin-bottom:12px}.admin-table{overflow:auto}.admin-table table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.admin-table th{background:#f4eeea}.admin-empty{padding:35px;background:white;border-radius:8px;color:#847973}.admin-setting{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}@media(max-width:760px){.admin-shell{padding:18px}.admin-shell header{flex-wrap:wrap;gap:12px}.admin-layout{grid-template-columns:1fr;gap:20px}.admin-layout nav{display:grid;grid-template-columns:1fr 1fr}.admin-stats{grid-template-columns:1fr}.admin-login{margin:30px auto;padding:20px}.admin-setting{flex-direction:column;gap:10px}}

.integration-settings{max-width:740px}.integration-card{border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:22px;background:white}.integration-card h2{margin:0 0 16px}.integration-card>label{display:block;font-size:14px;margin:18px 0}.integration-card>label>input:not([type=checkbox]){display:block;width:100%;padding:12px;border:1px solid #d9cec7;border-radius:6px;margin-top:8px;font:inherit}.integration-card .integration-toggle{display:flex;gap:10px;align-items:center;line-height:1.5}.integration-toggle input{accent-color:#b3624c;width:18px;height:18px;flex-shrink:0}.admin-success{background:#eaf0e5;padding:14px;border-radius:6px;color:#435b38}.key-status{color:#82736b}.key-status b{color:#34302e}@media(max-width:760px){.integration-card{padding:18px}}

.footer a{color:inherit;text-decoration:none}.footer a:hover{text-decoration:underline}.footer{flex-wrap:wrap;gap:18px}.public-page{max-width:1040px;margin:auto;padding:30px 24px}.public-page header,.public-page footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.public-page a,.page-editor a{color:#a95843}.public-page main{padding:44px 0;min-height:65vh}.public-page h1{font-size:36px;line-height:1.2}.page-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:19px;line-height:1.65}.page-editor{max-width:900px}.page-editor p{line-height:1.6}.page-editor label{display:block;margin-bottom:10px}.page-editor textarea{width:100%;box-sizing:border-box;padding:16px;border:1px solid #d9cdc6;border-radius:10px;background:#fff;font:16px/1.6 Arial,sans-serif;resize:vertical}.page-editor textarea:focus{outline:2px solid #b3624c;outline-offset:2px}.page-editor-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.page-editor-actions button{padding:12px 22px}.page-editor [role=status]{color:#52684f}

.email-login form{display:grid;gap:14px}.email-login label{display:grid;gap:7px;font-size:18px}.email-login input{width:100%;box-sizing:border-box;border:1px solid #d9cdc6;border-radius:8px;padding:12px 14px;background:white;font:17px Georgia,serif}.email-login input:focus{outline:2px solid #b3624c;outline-offset:2px}.email-login .primary{width:100%;justify-content:center}.email-login a{color:#a95843}.email-login .segmented{margin-bottom:20px}.captcha-label{font-size:17px}.public-page .primary{padding:14px 24px}.email-login .muted{font-size:14px}.email-login .info-box{margin:0}.topbar nav{flex-wrap:wrap}.signout{margin-top:18px}

.integration-card select{width:100%;border:1px solid #d9cdc6;border-radius:8px;background:white;padding:12px;font:inherit}.integration-card button+button{margin:12px 0 0 12px;padding:12px;border:1px solid #b3624c;border-radius:8px;color:#a95843}

.prompts-editor{max-width:960px}.prompts-editor>p{line-height:1.6}.prompts-editor fieldset{border:0;padding:0;margin:0;min-width:0}.prompt-group{padding:20px;margin:20px 0;border:1px solid #e6ddd7;border-radius:12px;background:#fff}.prompt-group h2{margin-top:0}.prompt-row{margin-top:18px}.prompt-row>label{font-weight:600;display:block;margin-bottom:8px}.prompt-row>small{display:block;margin-bottom:8px;color:#777}.prompt-row textarea{display:block;box-sizing:border-box;width:100%;font:15px/1.5 Arial,sans-serif;padding:12px;border:1px solid #cfc5be;border-radius:8px;resize:vertical}.prompt-row textarea:focus{outline:2px solid #b3624c;outline-offset:2px}.prompt-row-footer,.prompt-save{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:8px}.prompt-row-footer small{color:#777}.prompt-row-footer button{color:#a95843;padding:6px 10px}.prompt-save{position:sticky;bottom:0;background:#fff8f3;padding:16px;border:1px solid #ead8ce;border-radius:10px;z-index:1}.prompt-save .primary{padding:12px 20px}.prompt-preview{margin-top:24px}.prompt-preview summary{cursor:pointer;font-size:20px}.prompt-preview-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0}.prompt-preview-options label{display:grid;gap:8px}.prompt-preview-options select{padding:10px;border:1px solid #cfc5be;border-radius:8px;background:white}.prompt-preview-options .prompt-toggle{display:flex;align-items:center}.prompt-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f7f3ef;border-radius:12px;padding:20px;font:15px/1.6 Arial,sans-serif}

.photo-toolbar .upload-button{background:linear-gradient(120deg,#b56850,#a95941);border-color:#b2674f;color:#fff}.photo-toolbar .upload-button svg{color:inherit}.photo-toolbar .upload-button:hover:not(:disabled){background:linear-gradient(120deg,#a75c46,#984c38);color:#fff}.photo-toolbar .upload-button:active:not(:disabled){background:#984c38;color:#fff}

.payment-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin:18px 0;color:var(--ink)}

/* Consistent type scale for the restoration screen. */
.brand b{font-size:34px}
.heading h1{font-size:clamp(36px,2.85vw,40px);line-height:1.15}
.heading>div>p:last-child{font-size:24px;line-height:1.3}
.settings-title h2{font-size:28px;line-height:1.2}
.topbar nav button,
.topbar nav .nav-help,.settings .field>label,.slider-field label,.slider-field output,.toggle-row{font-size:18px}
.segmented button,.sizes button,.photo-toolbar .upload-button{font-size:16px}
@media(min-width:761px) and (max-width:1050px){
 .brand b{font-size:32px}.heading h1{font-size:36px}.heading>div>p:last-child{font-size:22px}
 .topbar nav button,
 .topbar nav .nav-help,.slider-field label,.slider-field output,.toggle-row{font-size:17px}
 .photo-toolbar .upload-button{width:auto;gap:6px;height:auto;min-height:40px}
}
@media(max-width:760px){
 .brand b{font-size:30px}.heading h1{font-size:30px;line-height:1.15}.heading>div>p:last-child{font-size:21px}
 .settings-title h2{font-size:28px}.topbar nav button,.topbar nav .nav-help,.slider-field label,.slider-field output,.toggle-row{font-size:17px}
 .photo-toolbar .upload-button{font-size:0}
}

/* Responsive studio: compact heading, accessible navigation and touch controls. */
.site-shell main{grid-template-rows:min-content auto auto}
.heading{min-height:0;margin:0;min-width:0}
.heading h1{white-space:normal;overflow-wrap:break-word}
.settings,.photo-column{min-width:0}
.settings-title h2{white-space:normal}
.menu-toggle,.mobile-restore-bar{display:none}
@media(max-width:1000px){
 .topbar{height:auto;min-height:78px;padding:12px 20px;gap:12px;flex-wrap:wrap;justify-content:space-between}
 .menu-toggle{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;color:var(--accent);margin-left:auto}
 .topbar nav{display:none;width:100%;margin:0;gap:6px;padding:8px 0 0}
 .topbar nav.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .topbar nav button,
 .topbar nav .nav-help{min-height:48px;white-space:normal;overflow-wrap:anywhere;padding:10px;border:1px solid var(--line);border-radius:7px;text-align:left;background:#fff;font-size:17px}
 .site-shell main{display:flex;flex-direction:column;gap:20px;padding:22px 20px 0}
 .workspace{display:contents}.heading,.photo-column,.settings,.footer{width:100%}
 .heading{margin:0}.heading h1{font-size:36px;line-height:1.15}
 .heading>div>p:last-child{font-size:22px}
 .settings{padding:20px}.settings-title{margin-bottom:16px}
 .photo-column{gap:16px}.photo-toolbar{gap:12px;min-height:66px;height:auto;padding:10px 0}
 .photo-toolbar>span{min-width:0}.filename{max-width:100%;font-size:16px}
 .photo-toolbar .upload-button{font-size:16px;flex-shrink:0;min-height:46px;height:auto;width:auto;gap:8px}
 .segmented{height:auto;min-height:46px}.segmented button{min-width:0;min-height:44px;white-space:normal}
 .sizes button{min-height:46px;height:auto}.cleanup button{min-height:46px;height:auto}
 .slider-field{height:auto;padding-bottom:0;margin-top:16px}
 .slider-field label{white-space:normal;margin-bottom:0;line-height:1.3}
 .slider-field output{bottom:11px}
 .slider-field input,.export-scale input{height:44px;background:linear-gradient(to right,#b3624c var(--range),#e6e6e6 var(--range)) center / 100% 8px no-repeat}
 .toggle-row{margin-top:12px;min-height:44px}.switch{height:44px;padding:9px 4px}
 .zoom button{width:46px;height:46px}.zoom>span{height:46px}
 .quiet-note{white-space:normal;line-height:1.4}
 .balance{min-height:44px;margin:0}.footer{margin-top:8px;gap:12px;flex-wrap:wrap;font-size:14px}
 .footer a,.footer button{min-height:44px;display:flex;align-items:center}.footer button:last-child{margin-left:0}
 .modal-body .close,.toast button{min-width:44px;min-height:44px}
}
@media(max-width:760px){
 .topbar{padding:10px 16px;min-height:74px}.brand{gap:10px}.brand b{font-size:28px}
 .menu-toggle{padding:8px;min-width:46px;justify-content:center}.menu-toggle span{display:none}
 .site-shell main{padding:18px 16px calc(96px + env(safe-area-inset-bottom));gap:18px}
 .heading h1{font-size:30px;line-height:1.15}.heading>div>p:last-child{font-size:20px;margin-top:8px}
 .photo-panel{padding:0 12px}.photo-toolbar .upload-button{font-size:0;width:46px;height:46px;min-height:46px;padding:10px;gap:0;justify-content:center}
 .photo-toolbar>span{gap:7px}.photo-toolbar>span>svg{display:none}
 .filename{font-size:15px}.viewer-footer{height:80px}.sample-label{font-size:10px}
 .settings{padding:18px 16px}.settings-title h2{font-size:27px}
 .settings .field>label,.slider-field label,.slider-field output,.toggle-row{font-size:17px}
 .segmented button{font-size:15px;padding:7px 4px}.segmented .selected{padding:7px 4px}
 .cleanup button{font-size:16px;gap:10px;padding:7px 8px}
 .studio-print{font-size:19px;min-height:50px}
 .settings>.restore{display:none}
 .mobile-restore-bar{display:block;position:fixed;z-index:40;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fdfcfbf5;border-top:1px solid var(--line);box-shadow:0 -4px 18px #4030200a}
 .mobile-restore-bar .restore{font-size:20px;min-height:50px}
 .toast{bottom:calc(84px + env(safe-area-inset-bottom));padding:12px;gap:8px}
 .modal-body{padding:36px 20px 24px}.modal-body h2{font-size:27px;overflow-wrap:break-word}
}
@media(max-width:1000px){.segmented button{overflow-wrap:anywhere}.settings .segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}}
@media(min-width:1001px){.site-shell main{grid-template-rows:auto 1fr auto;align-content:start}}
/* Compact restoration workflow, matching the approved mockup. */
.upload-mobile{display:none}
.photo-status{font-size:15px;margin:0 0 7px;color:#55514c}
.photo-panel .viewer-footer{height:58px}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.result-actions button{min-width:0;min-height:52px;height:auto;margin:0;border-radius:8px;font-size:19px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:12px;line-height:1.25}
.result-actions svg{flex-shrink:0}
.result-download{background:linear-gradient(120deg,#b56850,#a95941);border:1px solid #b2674f;color:white}
.result-actions .studio-print{background:transparent;border:1px solid #b2674f;color:var(--ink);box-shadow:none;width:100%}
.result-actions .studio-print:hover:not(:disabled){background:#f9eee8;color:var(--accent)}
.export-hint{font-size:14px;color:var(--muted);text-align:center;margin:9px 0 14px}
.settings{padding:20px 22px 16px}
.settings .field{margin:16px 0 20px}
.settings .settings-title{margin-bottom:12px}
.restoration-switches{border-top:1px solid var(--line);padding:14px 0 10px;display:flex;flex-direction:column;gap:3px}
.option-switch{display:flex;align-items:center;gap:16px;min-height:45px;font-size:18px;cursor:pointer}
.option-switch .switch{width:62px;height:36px;padding:5px;flex-shrink:0}
.option-switch .switch span{width:26px;height:26px}.option-switch .switch.on span{transform:translateX(26px)}
.fine-settings{border:1px solid var(--line);border-radius:8px;margin:8px 0 18px}
.fine-settings summary{display:flex;align-items:center;gap:13px;padding:13px 14px;cursor:pointer;list-style:none;min-height:66px;font-size:20px}
.fine-settings summary::-webkit-details-marker{display:none}.fine-settings summary>svg:first-child{color:var(--accent);flex-shrink:0}
.fine-settings summary>svg:last-child{margin-left:auto;flex-shrink:0}.fine-settings[open] summary>svg:last-child{transform:rotate(180deg)}
.fine-settings summary small{display:block;font-size:14px;color:var(--muted);margin-top:3px}
.fine-settings summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.fine-settings-body{padding:0 14px 12px}.reset-fine{font-size:14px;margin-top:16px;min-height:40px}
.settings .quality-field{border-top:1px solid var(--line);padding-top:16px;margin-bottom:12px}
.settings .quiet-note{font-size:13px;white-space:normal;line-height:1.4}
.restore-actions{border-top:1px solid var(--line);margin-top:18px;padding-top:10px}
.restore-actions .balance{justify-content:flex-start;font-size:17px;min-height:32px;margin:0 0 7px;gap:7px}
.restore-actions .balance b{font-weight:bold;color:var(--accent)}
.credit-cost{text-align:center;color:var(--muted);font-size:15px;margin-top:8px}
.mobile-restore-bar small{display:block;text-align:center;font-size:13px;color:var(--muted);margin-top:5px}
.download-dialog .field{margin:20px 0}.download-dialog .field>label{font-size:20px}.download-dialog .sizes button{min-height:44px}
@media(min-width:1001px){.settings .segmented{height:42px}.settings .field>label{font-size:18px}.heading h1{font-size:clamp(32px,2.85vw,40px)}}
@media(max-width:1200px) and (min-width:1001px){.result-actions button{font-size:17px;gap:8px}.settings{padding:18px}.option-switch{font-size:17px;gap:12px}}
@media(max-width:1000px){.settings .segmented{display:flex}.settings .segmented button{flex:1}.option-switch{min-height:48px}.option-switch .switch{height:44px;padding:9px 5px}.fine-settings-body .slider-field{margin-top:14px}.settings .field{margin:14px 0}.photo-panel .viewer-footer{height:62px}}
@media(max-width:760px){
 .upload-desktop{display:none}.upload-mobile{display:inline}
 .photo-toolbar .upload-button{font-size:15px;width:auto;min-width:112px;gap:6px;padding:9px}.photo-toolbar{gap:9px}.filename{font-size:13px}
 .photo-status{font-size:14px}.result-actions{grid-template-columns:1fr;gap:9px}.result-actions button{font-size:18px;min-height:48px}
 .export-hint{font-size:13px;line-height:1.35}.settings{padding:18px 16px}.fine-settings summary{font-size:19px;padding:12px 10px;gap:10px}.fine-settings summary small{font-size:13px}
 .restore-actions .restore{display:none}.restore-actions .balance{justify-content:center}.restore-actions .credit-cost{display:none}
 .site-shell main{padding-bottom:calc(120px + env(safe-area-inset-bottom))}.toast{bottom:calc(108px + env(safe-area-inset-bottom))}
 .download-dialog .sizes{grid-template-columns:repeat(3,minmax(0,1fr))}.download-dialog .sizes button,.download-dialog .sizes button:nth-child(n+4){grid-column:auto}
}
.result-actions .studio-print{grid-column:auto;grid-row:auto}

/* Keep the photo close to the heading; put metadata below the image. */
.site-shell main{row-gap:12px}
.photo-column{gap:10px}
.photo-column>.photo-toolbar{height:auto;min-height:0;padding:0;justify-content:flex-start}
.photo-column>.photo-panel{padding-top:0}
.photo-panel .viewer-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;min-height:58px;height:auto;padding:7px 0}
.viewer-footer .zoom{grid-column:2}
.viewer-footer .photo-status{grid-column:3;margin:0;text-align:right;font-size:14px;color:var(--muted);line-height:1.3}
@media(max-width:1200px){.photo-panel .viewer-footer{grid-template-columns:auto minmax(0,1fr)}.viewer-footer .zoom{grid-column:1}.viewer-footer .photo-status{grid-column:2}}
@media(max-width:760px){.site-shell main{gap:12px}.photo-column{gap:9px}.photo-panel .viewer-footer{gap:7px}.viewer-footer .photo-status{font-size:12px}.zoom i{width:7px}.zoom>span{padding:0 7px}.zoom button{width:44px;height:44px}.zoom>span{height:44px}}
@media(max-width:380px){.photo-panel .viewer-footer{grid-template-columns:1fr;gap:5px;padding:8px 0}.viewer-footer .zoom{grid-column:1;justify-self:center}.viewer-footer .photo-status{grid-column:1;justify-self:end}}

/* Approved compact layout: upload beside subtitle, print under photo. */
.heading-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}
.heading-tools>p{font-size:24px;line-height:1.3;color:#858592;margin:0}
.heading-tools .photo-toolbar{margin-left:auto;height:auto;min-height:0;padding:0;flex-shrink:0}
.heading-tools .upload-button{min-height:42px;height:auto;white-space:nowrap;font-size:16px;gap:8px}
.photo-panel .result-actions{grid-template-columns:1fr;margin-bottom:12px}
.settings{padding:18px 20px 14px}
.settings .field{margin:12px 0 14px}
.restoration-switches{padding:6px 0;gap:1px;border-top:0}
.option-switch{min-height:42px}
.fine-settings{margin:8px 0 12px}.fine-settings summary{min-height:50px;padding:10px 12px}
.settings .quality-field{border-top:0;padding-top:0;margin-bottom:10px}
.restore-actions{margin-top:12px;padding-top:10px}
.balance-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.balance-line .balance{width:auto;margin:0;font-size:16px;gap:4px}.balance-line .credit-cost{margin:0;font-size:14px}
.restore-actions .result-download{margin-top:10px;min-height:48px;background:transparent;color:var(--ink);border:1px solid #b2674f;border-radius:8px;font-size:19px;box-shadow:none}
.restore-actions .result-download>svg{color:var(--accent)}
.restore-actions .result-download:hover:not(:disabled){background:#f9eee8;color:var(--accent)}
.restore-actions .export-hint{margin:10px 0 0;font-size:13px;line-height:1.4}
@media(max-width:1200px){.heading-tools>p{font-size:21px}.heading-tools .upload-button{font-size:15px;padding:8px 10px}}
@media(max-width:1000px){.heading-tools>p{font-size:22px}.option-switch{min-height:48px}}
@media(max-width:760px){.heading-tools{gap:10px}.heading-tools>p{font-size:20px;width:100%}.heading-tools .photo-toolbar{width:100%;justify-content:flex-end}.heading-tools .upload-button{font-size:16px;min-height:46px}.heading-tools .upload-mobile{display:none}.heading-tools .upload-desktop{display:inline}.balance-line{justify-content:center}.balance-line .credit-cost{display:block}.restore-actions .result-download{font-size:18px}}

/* Restore the original photo mark and wordmark from the supplied reference. */
.topbar .brand{gap:15px}
.topbar .brand-icon{display:flex;width:49px;height:49px;flex:0 0 49px;padding:0;border:0;color:#9d8973;transform:rotate(-5deg)}
.topbar .brand-icon svg{width:49px;height:49px}
.topbar .brand-copy{display:block;min-width:0}
.topbar .brand b{font-family:'Times New Roman',serif;font-size:32px;font-weight:400;line-height:1.1;color:#111;letter-spacing:0}
.topbar .brand small{display:block;font-family:'Times New Roman',serif;font-size:11px;font-weight:400;line-height:1.25;letter-spacing:0;color:#858585;margin-top:5px}
@media(max-width:760px){.topbar .brand{gap:9px;flex-shrink:1}.topbar .brand-icon,.topbar .brand-icon svg{width:40px;height:40px}.topbar .brand-icon{flex-basis:40px}.topbar .brand b{font-size:27px}.topbar .brand small{font-size:10px;max-width:195px}.topbar .menu-toggle{flex-shrink:0}}
@media(max-width:380px){.topbar .brand{max-width:calc(100% - 58px)}.topbar .brand b{font-size:25px}.topbar .brand small{font-size:10px}}

/* Handwritten heading restored from the reference. */
.heading h1.memory-title{font-family:'Segoe Script','Monotype Corsiva',cursive;font-size:48px;font-weight:400;color:#898d86;letter-spacing:0;line-height:1.4;white-space:normal}
.heading-tools{margin-top:4px}
@media(min-width:1001px) and (max-width:1400px){.heading h1.memory-title{font-size:clamp(32px,3.15vw,44px)}}
@media(max-width:1000px){.heading h1.memory-title{font-size:42px}}
@media(max-width:760px){.heading h1.memory-title{font-size:30px;line-height:1.45}.heading-tools{margin-top:8px}}
@media(min-width:1401px){.heading h1.memory-title{font-size:46px}}

/* Latest approved mockup: upload first, processing actions after settings. */
.topbar nav{flex:1;margin-left:clamp(20px,8vw,130px);margin-right:0;gap:38px;flex-wrap:nowrap}
.topbar nav button:first-child,
.topbar nav .nav-help:first-child{border-bottom:0}
.topbar nav .nav-photos{border-bottom:1px solid #76807a}
.topbar nav .nav-account{margin-left:auto;max-width:240px;overflow:hidden;text-overflow:ellipsis}
.settings>.photo-toolbar{height:auto;min-height:0;padding:0;margin:0 0 20px;display:block}
.settings>.photo-toolbar .upload-button{display:flex;justify-content:center;width:100%;height:auto;min-height:48px;font-size:18px;padding:10px;gap:10px;background:transparent;border:1px solid #b2674f;color:var(--accent);box-shadow:none}
.settings>.photo-toolbar .upload-button svg{color:var(--accent)}
.settings>.photo-toolbar .upload-button:hover{background:#f9eee8;color:var(--accent)}
.settings>.photo-toolbar .upload-desktop{display:inline}.settings>.photo-toolbar .upload-mobile{display:none}
.option-switch{line-height:1.25;padding:3px 0}.option-switch>span{min-width:0}
@media(min-width:1001px) and (max-width:1250px){.topbar nav{margin-left:12px;gap:22px}.topbar nav button,.topbar nav .nav-help{font-size:16px}}
@media(max-width:1000px){.topbar nav{flex:none;margin:0;gap:6px}.topbar nav .nav-account{margin:0;max-width:none;overflow:visible}.topbar nav .nav-photos{border-color:var(--line)}.settings>.photo-toolbar .upload-button{font-size:18px}}
/* Align the comparison surface with the frame so its endpoints reach both edges. */
.photo-column>.photo-panel{padding:0}
.photo-panel>.viewer{border-radius:7px 7px 0 0}
.photo-panel .viewer-footer{margin:0 19px}
.photo-panel .result-actions{margin:0 19px 12px}
@media(max-width:760px){.photo-panel .viewer-footer{margin:0 12px}.photo-panel .result-actions{margin:0 12px 12px}}

@media(min-width:1001px){.topbar nav .nav-account{margin-right:24px}}
/* Match header bounds to the workspace, including on wide monitors. */
@media(min-width:1001px){
 .topbar{max-width:1640px;margin-left:auto;margin-right:auto}
 .topbar nav{min-width:0;margin-left:clamp(12px,5vw,80px)}
 .topbar nav button,
 .topbar nav .nav-help{flex-shrink:0}
 .topbar nav .nav-account{flex-shrink:0;width:max-content;max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;margin-left:auto;margin-right:21px;padding-right:0}
}
/* Navigation underline appears only while hovering. */
.topbar nav button,
/* Navigation underline appears only while hovering. */
.topbar nav .nav-help{position:relative}
.topbar nav .nav-photos{border-bottom-color:transparent}
.topbar nav button::after,
.topbar nav .nav-help::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:#76807a;opacity:0;pointer-events:none;transition:opacity .15s}
@media(hover:hover){.topbar nav button:hover::after,.topbar nav .nav-help:hover::after{opacity:1}}
.seo-editor fieldset{border:0;padding:0;margin:0;min-width:0}.seo-editor label{display:block;margin:16px 0;font-size:15px}.seo-editor input:not([type=checkbox]),.seo-editor textarea,.seo-editor select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:6px;background:white;font:inherit}.seo-editor small{font-size:12px;color:#76716d}.seo-editor .seo-check{display:flex;align-items:center;gap:10px}.seo-editor input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent)}.seo-snippet{border:1px solid var(--line);background:white;padding:18px;border-radius:8px;overflow-wrap:anywhere}.seo-snippet h3{color:#20469b;font-size:22px;margin:8px 0}.seo-editor .seo-favicon{width:48px;height:48px;object-fit:contain;margin:10px 20px 10px 0}.seo-editor .seo-cover{display:block;max-width:100%;width:420px;height:auto;margin:12px 0}.seo-editor a,.seo-editor button:not(.primary){color:var(--accent)}

/* Comparison edges: keep the border and keyboard focus inside the clipped photo. */
.photo-panel>.viewer:focus-within{outline:none}
.photo-panel>.viewer::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;border:1px solid var(--line);border-radius:inherit}
.photo-panel>.viewer:has(.comparison-range:focus-visible)::after{border:2px solid var(--accent)}
.comparison-range{appearance:none;touch-action:none;padding:0;border:0;border-radius:0}
.comparison-range::-webkit-slider-thumb{appearance:none;width:1px;height:1px}
.comparison-range::-moz-range-thumb{width:1px;height:1px;border:0}

/* Photo archive */
dialog.gallery-dialog{width:min(960px,96vw);max-width:96vw}.gallery-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gallery-actions button{padding:10px 14px;border:1px solid var(--line);border-radius:6px}.gallery-actions .primary{margin:0;display:flex;align-items:center;gap:6px}.gallery-download-all{color:var(--accent)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.gallery-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:10px;min-width:0}.gallery-card.is-selected{border:2px solid var(--accent);padding:9px;background:#a75b4009}.gallery-select{display:block;position:relative;cursor:pointer}.gallery-select input{position:absolute;top:8px;left:8px;width:22px;height:22px;accent-color:var(--accent);z-index:1}.gallery-select img{width:100%;height:180px;object-fit:contain;background:#ede9e1;display:block;border-radius:4px}.gallery-select:focus-within{outline:2px solid var(--accent)}.gallery-placeholder{height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#ede9e1}.gallery-card .gallery-name{margin:8px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-card small{display:block;color:var(--muted)}.gallery-card .text-button{display:block;margin-top:8px;font-size:13px}@media(max-width:600px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-select img,.gallery-placeholder{height:140px}.gallery-dialog .modal-body{padding:38px 16px 20px}.gallery-actions{gap:8px}.gallery-actions .primary,.gallery-download-all{width:100%;justify-content:center}}@media(max-width:360px){.gallery-grid{grid-template-columns:1fr}}

/* Drag both comparison images together when enlarged. */
.viewer.is-zoomed{cursor:grab;touch-action:none;user-select:none}.viewer.is-panning{cursor:grabbing}.viewer.is-zoomed .photo-stage{transition:none}.viewer .portrait{-webkit-user-drag:none;user-select:none}

/* Fill the demo frame equally on both sides without stretching the photos. */
.viewer.reference-viewer.demo-photo{aspect-ratio:1546/970}
.viewer.demo-photo .portrait{object-fit:cover;object-position:center top}

/* A permanent terracotta outline and equal corners around the photo. */
.photo-panel>.viewer{border-radius:7px}
.photo-panel>.viewer::after{border:1px solid var(--accent);border-radius:inherit}
.photo-panel>.viewer:has(.comparison-range:focus-visible)::after{border-color:var(--accent)}

.settings .restore-actions .result-actions{grid-template-columns:1fr;margin-top:10px}


/* Approved compact restoration panel. */
.settings.compact-settings{background:#fffdfa;border:1px solid #e1dcd3;border-radius:18px;padding:24px;box-shadow:0 6px 24px #35312b05;font-family:Arial,Helvetica,sans-serif}
.compact-settings>.photo-toolbar{padding-bottom:22px;margin-bottom:22px;border:0;border-bottom:1px solid var(--line);background:transparent}
.settings.compact-settings .upload-button{border:1.5px solid var(--accent);border-radius:12px;min-height:54px;font-size:17px;font-weight:600;background:transparent}
.compact-settings .settings-title{margin:0 0 12px}
.compact-settings .settings-title h2{font-family:Georgia,'Times New Roman',serif;font-size:27px;line-height:1.2;letter-spacing:-.7px}
.compact-settings>.field-note{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 18px}
.settings.compact-settings .field{margin:18px 0}
.settings.compact-settings .field>label{font-family:inherit;font-weight:600;font-size:15px;margin-bottom:9px;display:block}
.settings.compact-settings .segmented{display:flex;height:auto;min-height:44px;padding:3px;border:1px solid #d9d5cf;border-radius:15px;background:#f7f5f1;gap:2px;overflow:hidden}
.settings.compact-settings .segmented button{flex:1;min-width:0;min-height:38px;padding:8px 4px;border:0;border-radius:11px;box-shadow:none;font-family:inherit;font-size:13px;font-weight:400;line-height:1.2;background:transparent;color:var(--ink)}
.settings.compact-settings .segmented button.selected{background:#75836b;color:white;box-shadow:0 1px 3px #35312b15}
.settings.compact-settings .segmented button:hover:not(:disabled):not(.selected){background:#eaece5;color:#46513e}
.compact-settings .restoration-switches{border-top:1px solid var(--line);padding-top:13px;margin-top:23px;display:grid;gap:4px}
.compact-settings .option-switch{display:flex;flex-direction:row-reverse;justify-content:space-between;gap:12px;min-height:46px;padding:3px 0;font-size:15px;line-height:1.35}
.compact-settings .option-switch>span{flex:1}
.compact-settings .option-switch .switch{flex:none;width:48px;height:28px;min-height:28px;border-radius:99px;padding:3px;background:#d5d1cb}
.compact-settings .switch span{width:22px;height:22px;border-radius:50%;background:#fffdfa;box-shadow:0 1px 3px #35312b20;display:flex;align-items:center;justify-content:center}
.compact-settings .option-switch .switch.on{background:#75836b}
.compact-settings .switch.on span{transform:translateX(20px);color:#75836b}
.compact-settings .restore-actions{border-top:1px solid var(--line);margin-top:18px;padding-top:15px}
.compact-settings .balance-line{margin:0 0 10px}
.compact-settings .restore-actions .balance{font-family:inherit;font-size:14px;color:#77746e;min-height:30px;margin:0}
.compact-settings .restore-actions .balance b{color:#75836b}
.compact-settings .restore-actions .restore{border-radius:12px;min-height:52px;font-family:inherit;font-size:18px;font-weight:600;padding:12px 8px;margin:0;background:linear-gradient(110deg,#b56850,#a75b40);color:#fffdfa;border:1px solid var(--accent);gap:10px}
.compact-settings .credit-cost{font-size:12px;line-height:1.4;margin:8px 0 14px}
.compact-settings .result-download{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;border:1px solid #d9d5cf;border-radius:12px;background:#eeebe5;color:var(--ink);font-family:inherit;font-weight:600;font-size:16px;margin:0;padding:11px 8px}
.compact-settings .result-download:hover:not(:disabled){background:#e6e2da;color:var(--ink)}
.compact-settings .result-actions .studio-print{min-height:48px;border:1px solid var(--accent);border-radius:12px;font-family:inherit;font-size:15px;font-weight:600;color:var(--accent);gap:9px;padding:11px 8px}
.compact-settings .export-hint{font-size:11px;line-height:1.4;margin-top:10px}
@media(max-width:1200px) and (min-width:1001px){.settings.compact-settings{padding:18px}.compact-settings .settings-title h2{font-size:25px}.settings.compact-settings .segmented button{font-size:12px}}
@media(max-width:760px){.settings.compact-settings{padding:20px}.compact-settings .settings-title h2{font-size:26px}}

/* Family album design: real controls over a decorative paper backdrop. */
.album-site{position:relative;isolation:isolate;min-height:100vh;background:#f8f5ed;color:#24221c;overflow:hidden}
.album-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;pointer-events:none}
.album-site .topbar{height:80px;max-width:none;padding:10px max(6.2vw,24px);border-bottom:1px solid #b9765d;background:#fcfaf540;gap:20px}
.album-site .brand-icon{color:#ac654b}.album-site .brand b{font-size:34px}.album-site .brand small{color:#605b53;font-size:12px}
.album-site .topbar nav{margin-left:auto;gap:clamp(24px,4vw,65px)}
.album-site .topbar nav button,
.album-site .topbar nav .nav-help{font-family:Georgia,'Times New Roman',serif;font-size:18px}
.album-site .topbar nav .nav-account{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 0 auto;padding:10px 16px;border:1px solid var(--accent);border-radius:12px;color:var(--accent);font-size:17px;max-width:270px;white-space:normal}
.album-site main{position:relative;display:grid;max-width:1600px;padding:34px 5% 20px 6.5%;margin:auto;grid-template-columns:minmax(0,1fr) 30%;grid-template-rows:auto 1fr auto;gap:22px;align-items:start}
.album-site .workspace{display:contents}
.album-site .heading{grid-column:1;grid-row:1;width:100%;margin:0;padding:0;min-height:0}
.album-site .heading .album-eyebrow{font:14px Georgia,serif;letter-spacing:3px;color:var(--accent);margin:0 0 2px}
.album-site .heading h1.memory-title{font-family:'Segoe Script','Monotype Corsiva',cursive;color:#626e56;font-size:clamp(30px,3.6vw,57px);line-height:1.35;letter-spacing:-2px;margin:0}
.album-site .photo-column{grid-column:1;grid-row:2;width:100%;margin:0}
.album-site .photo-column>.photo-panel{padding:28px 38px 10px;border:1px solid #e9e1d2;border-radius:12px;background:#fffdf57a;box-shadow:0 12px 14px -8px #67533940,0 1px 3px #67533910}
.album-site .photo-panel>.viewer{border-radius:5px}
.album-site .photo-panel .viewer-footer{margin:0;min-height:64px;padding:12px 0 0;grid-template-columns:1fr auto 1fr}
.album-site .viewer-footer .zoom{grid-column:2}.album-site .viewer-footer .photo-status{grid-column:3;font:14px Georgia,serif;color:#858078}
.album-site .zoom button,.album-site .zoom>span{background:#fffdf34d;border-color:#ded6c8;color:#24221c;box-shadow:none}
.album-site .zoom>span{font-family:Georgia,serif}
.album-site .settings.compact-settings{position:relative;grid-column:2;grid-row:1/3;margin:55px 0 0;width:100%;background:#fffdf7d9;border:1px solid #ece5d9;border-radius:15px;padding:20px;box-shadow:0 8px 18px #69553524}
.album-site .album-top-note{position:absolute;right:-15px;top:-70px;font:16px/1.3 'Segoe Script','Monotype Corsiva',cursive;color:#918a7b;text-align:center;transform:rotate(-7deg);pointer-events:none}
.album-site .compact-settings .settings-title h2{font:clamp(23px,1.9vw,30px)/1.2 Georgia,serif;letter-spacing:-.6px}
.album-site .compact-settings .upload-button{font-family:Georgia,serif;font-size:18px;font-weight:400;border-radius:10px;min-height:52px}
.album-site .compact-settings>.photo-toolbar{padding-bottom:20px;margin-bottom:20px}
.album-site .compact-settings .segmented button{font-family:Georgia,serif;font-size:14px}
.album-site .compact-settings .option-switch{font-family:Georgia,serif;font-size:16px;min-height:42px}
.album-site .compact-settings .restoration-switches{padding-top:12px;margin-top:18px}
.album-site .compact-settings .restore-actions .restore{font-family:Georgia,serif;font-weight:400;font-size:20px}
.album-site .compact-settings .balance{font-family:Georgia,serif}
.album-site .footer{grid-column:1/-1;grid-row:3;width:100%;margin:2px 0 0;padding:14px 0 0;border-top:1px solid #ba8067;display:flex;align-items:center;gap:26px;font:12px Georgia,serif;color:#696359;background:transparent}
.album-footer-note{margin-left:auto;font:19px 'Segoe Script','Monotype Corsiva',cursive;color:#8b8274;white-space:nowrap}.album-footer-note i{font-style:normal;color:var(--accent)}
.album-margin-note{position:absolute;left:12px;top:77%;font:20px/1.45 'Segoe Script','Monotype Corsiva',cursive;color:#8b7a60;transform:rotate(-10deg);z-index:-1;pointer-events:none}
@media(min-width:1001px) and (max-width:1300px){.album-site .topbar{padding-inline:4%}.album-site .topbar nav{gap:22px}.album-site .topbar nav button,.album-site .topbar nav .nav-help{font-size:16px}.album-site .brand b{font-size:30px}.album-site .brand small{font-size:10px}.album-site main{grid-template-columns:minmax(0,1fr) 340px;padding-left:7%;padding-right:4%;gap:18px}.album-site .photo-column>.photo-panel{padding:24px 24px 10px}.album-site .viewer-footer .photo-status{font-size:11px}.album-site .zoom i{width:8px}.album-footer-note{font-size:15px}}
@media(max-width:1000px){.album-site .topbar{height:auto;min-height:80px;padding:12px 20px;flex-wrap:wrap}.album-site .topbar nav{margin:0;gap:8px}.album-site .topbar nav .nav-account{margin:0;max-width:none}.album-site main{display:flex;flex-direction:column;padding:24px 22px;gap:24px}.album-site .heading h1.memory-title{font-size:clamp(30px,5vw,48px);letter-spacing:-1px}.album-site .photo-column>.photo-panel{padding:22px 22px 8px}.album-site .settings.compact-settings{margin:0;padding:24px}.album-top-note,.album-margin-note{display:none}.album-backdrop{opacity:.45}.album-site .footer{flex-wrap:wrap;gap:16px}.album-footer-note{width:100%;text-align:right}.album-site .settings.compact-settings .restore-actions .restore{display:flex}.album-site .compact-settings .credit-cost{display:block}.album-site .mobile-restore-bar{display:none}.album-site .toast{bottom:20px}}
@media(max-width:600px){.album-site .brand b{font-size:27px}.album-site .brand small{font-size:10px}.album-site main{padding:20px 14px}.album-site .photo-column>.photo-panel{padding:12px 12px 6px}.album-site .photo-panel .viewer-footer{grid-template-columns:auto 1fr;gap:8px;min-height:58px}.album-site .viewer-footer .zoom{grid-column:1}.album-site .viewer-footer .photo-status{grid-column:2;font-size:11px}.album-site .zoom button{width:36px}.album-site .zoom>span{padding:0 6px}.album-site .zoom i{width:5px}.album-site .settings.compact-settings{padding:20px}.album-site .album-eyebrow{font-size:12px}.album-site .footer{font-size:11px}.album-footer-note{font-size:16px}}

@media(min-width:1001px){.album-site .heading h1.memory-title{font-size:clamp(30px,2.75vw,44px);white-space:nowrap;letter-spacing:-1.6px}.album-site .settings.compact-settings .segmented button{font-size:13px}}

@media(max-width:600px){.album-site .settings.compact-settings .segmented button{font-size:12px;white-space:nowrap;padding-inline:2px}.album-site .album-backdrop{object-fit:cover;object-position:center;opacity:.22}}

/* Give the photograph the space previously reserved for the left decoration. */
@media(min-width:1001px){
 .album-site main{max-width:1720px;padding-left:2.5%;padding-right:3.5%;grid-template-columns:minmax(0,1fr) minmax(340px,28%);gap:20px}
 .album-site .photo-column>.photo-panel{padding:16px 16px 6px}
 .album-site .heading h1.memory-title{font-size:clamp(30px,2.9vw,47px)}
}

/* Align the settings card with the photo card in the same grid row. */
@media(min-width:1001px){.album-site .settings.compact-settings{grid-row:2;margin-top:0}}

/* Center navigation in the space between the brand and the sign-in button. */
@media(min-width:1001px){
 .album-site .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:24px}
 .album-site .topbar nav{display:contents}
 .album-site .topbar .brand{grid-column:1;grid-row:1}
 .album-site .topbar nav button:not(.nav-account),
 .album-site .topbar nav .nav-help:not(.nav-account){grid-row:1}
 .album-site .topbar nav .nav-account{grid-column:3;grid-row:1;margin:0}
 .album-site .topbar nav .nav-links{grid-column:2;grid-row:1;display:flex;justify-content:center;align-items:center;gap:clamp(18px,3vw,48px);min-width:0}
}
@media(max-width:1000px){.album-site .topbar .nav-links{display:contents}}


/* Match the sign-in edge to the settings card, including wide screens. */
@media(min-width:1001px){.album-site .topbar{padding-right:calc(max(0px, (100% - 1720px) / 2) + 3.5%);padding-left:calc(max(0px, (100% - 1720px) / 2) + 2.5%)}}

/* Equal-height photo and settings cards on desktop. */
@media(min-width:1001px){
 .album-site .photo-column{align-self:stretch;display:flex;flex-direction:column}
 .album-site .photo-column>.photo-panel{flex:1;display:flex;flex-direction:column}
 .album-site .photo-panel>.viewer{flex-shrink:0}
 .album-site .photo-panel .viewer-footer{margin-top:0}
 .album-site .settings.compact-settings{align-self:stretch;display:flex;flex-direction:column}
 .album-site .compact-settings .restore-actions{margin-top:auto}
}

.help-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin:18px 0 24px}

.formatted-page-text{white-space:normal;overflow-wrap:anywhere;line-height:1.65}.formatted-page-text p{white-space:pre-line;margin:0 0 1em}.formatted-page-text h2{font-size:1.25em;line-height:1.35;margin:1.5em 0 .65em}.formatted-page-text ul{list-style:disc;padding-left:1.5em;margin:0 0 1em}.formatted-page-text li{margin:.35em 0}.page-table-scroll{overflow-x:auto;margin:1em 0}.formatted-page-text table{border-collapse:collapse;width:100%;min-width:580px;font-size:.9em}.formatted-page-text th,.formatted-page-text td{border:1px solid #d9cdc6;padding:10px;text-align:left;vertical-align:top}.formatted-page-text th{background:#f5ede7}.policy-preview{margin:20px 0;padding:18px;border:1px solid #d9cdc6;border-radius:10px;background:#fff}.policy-preview summary{cursor:pointer;font-weight:600}

/* Information pages share the studio shell, navigation and backdrop. */
.album-site main.information-main{display:flex;flex-direction:column;min-height:calc(100vh - 80px);gap:24px;box-sizing:border-box}
.information-main .site-text-card{width:100%;padding:clamp(20px,3vw,44px);border:1px solid #e9e1d2;border-radius:15px;background:#fffdf7d9;box-shadow:0 8px 18px #69553524;box-sizing:border-box}
.site-text-card h2#site-page-title{font:clamp(25px,3vw,36px)/1.25 Georgia,'Times New Roman',serif;margin:0 0 24px;overflow-wrap:anywhere}
.site-text-card .page-copy{max-width:1120px;font-size:18px}
.album-site .information-main .footer{margin-top:auto}
@media(max-width:600px){.site-text-card .page-copy{font-size:16px}.information-main .site-text-card{padding:20px 16px}}

.archive-preview{position:fixed;inset:0;width:96vw!important;max-width:1600px!important;height:94vh;max-height:94vh!important;padding:60px 12px 12px!important;background:#181713;border:0;border-radius:12px;overflow:auto}.archive-preview::backdrop{background:#000c}.archive-preview img{display:block;max-width:100%;max-height:calc(94vh - 80px);object-fit:contain;margin:auto}.archive-preview .archive-preview-close{position:sticky;float:right;top:0;margin-top:-50px;z-index:2;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:2px solid white;border-radius:50%;background:#a95843;color:white;box-shadow:0 2px 12px #0008}.archive-delete-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.archive-delete-actions button{border:1px solid #a95843;color:#a95843;border-radius:9px;padding:10px 14px;background:#fffaf6}.archive-delete-actions p{width:100%}

/* Uniform archive controls; thumbnail cards keep their own typography. */
dialog.gallery-dialog .modal-body button:not(.gallery-card button):not(.close):not(.archive-preview-close){font-family:Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;line-height:1.35;letter-spacing:normal}

/* Separate compact destructive actions from the archive toolbar. */
dialog.gallery-dialog .archive-delete-actions{width:100%;border-top:1px solid var(--line);padding-top:12px;margin:16px 0 12px;gap:8px}
dialog.gallery-dialog .modal-body .archive-delete-actions button:not(.gallery-card button):not(.close):not(.archive-preview-close){font-size:13px;line-height:1.3;min-height:32px;padding:6px 10px;border-radius:6px;width:auto}

.viewer .viewer-fullscreen-close{display:none}
.viewer:fullscreen .viewer-fullscreen-close{display:flex;align-items:center;justify-content:center;position:absolute;top:18px;right:18px;width:50px;height:50px;z-index:50;border:2px solid #fff;border-radius:50%;background:#a95843;color:#fff;box-shadow:0 3px 14px #0008;cursor:pointer;touch-action:manipulation}
.viewer:fullscreen .viewer-fullscreen-close:hover{background:#88442f;color:#fff}
.viewer:fullscreen .viewer-fullscreen-close:focus-visible{outline:3px solid #fff;outline-offset:4px}

.viewer:fullscreen .viewer-fullscreen-close,.viewer:fullscreen .viewer-fullscreen-close:hover{background:transparent;border:0;box-shadow:none;color:#fff;filter:drop-shadow(0 1px 3px #000) drop-shadow(0 0 1px #000)}
.viewer:fullscreen .photo-label.right{right:84px}
.viewer:fullscreen .portrait{object-fit:contain;object-position:center}
.viewer:fullscreen .photo-stage{transition:none}

.download-dialog .sizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.download-dialog .sizes button,.download-dialog .sizes button:nth-child(n+4){grid-column:auto}
.download-dialog .sizes button:first-child{grid-column:1/-1}
.download-dialog .sizes .crop-download-option{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px;font-size:13px;line-height:1.2;min-width:0}
.crop-download-option img{width:38px;height:38px;object-fit:contain;border-radius:4px;flex-shrink:0}
@media(max-width:480px){.download-dialog .sizes .crop-download-option{flex-direction:column;font-size:12px}}

.gallery-dialog .archive-sticky-actions{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding:12px 0;background:#fbf9f4;border-top:1px solid var(--line);box-shadow:0 -8px 15px #35312b0d}
.gallery-dialog .archive-sticky-actions .primary{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:12px 18px;min-height:44px}
.gallery-dialog .archive-sticky-actions>span{font:13px/1.4 Arial,sans-serif;color:var(--muted)}
.gallery-dialog .gallery-grid{padding-bottom:12px;scroll-margin-bottom:90px}
@media(max-width:600px){.gallery-dialog .archive-sticky-actions .primary{width:100%}.gallery-dialog .archive-sticky-actions{gap:6px}}
.user-folder{border:1px solid #dfd4cb;border-radius:12px;margin:14px 0;background:#fff}.user-folder>summary{display:flex;justify-content:space-between;gap:12px;padding:18px;cursor:pointer;color:#9f5b44;font-weight:600;flex-wrap:wrap}.user-folder-body{padding:0 18px 18px}.user-folder-body details{border-top:1px solid #e9e2db;padding:14px 0}.user-folder-body summary{cursor:pointer;font-weight:600}.user-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:14px}.user-photo-grid article{display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere}.user-photo-grid img{width:100%;height:130px;object-fit:contain;background:#f5f1ec;border-radius:8px}.user-photo-grid small{color:#777}

.registration-success{position:fixed;inset:0;margin:auto;width:min(360px,calc(100vw - 32px));padding:36px 40px;border:1px solid #e4d7ce;border-radius:16px;background:#fffcf8;color:#a45f48;box-shadow:0 16px 60px #34271e26;text-align:center}.registration-success::backdrop{background:#20171033}.registration-success p{margin:0;font-size:23px;line-height:1.4}.registration-success button{position:absolute;right:8px;top:8px;width:36px;height:36px;display:grid;place-items:center;border:0;background:transparent;color:#a45f48;cursor:pointer;border-radius:8px}.registration-success button:focus-visible{outline:2px solid #a45f48;outline-offset:2px}

/* Account button: terracotta hover without navigation underline. */
.album-site .topbar nav .nav-account::after{display:none}
.album-site .topbar nav .nav-account:hover,.album-site .topbar nav .nav-account:focus-visible{background:linear-gradient(110deg,#b56850,#a75b40);color:#fffdfa;text-decoration:none;border-color:var(--accent)}

.admin-credit-form{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:10px;margin:16px 0}.admin-credit-form label{display:grid;gap:6px}.admin-credit-form input{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit}.admin-credit-form .primary{padding:12px 18px;justify-self:start}

.photo-share{padding:12px 4px 4px;margin-top:0}.photo-share-buttons{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.photo-share-buttons>span{font-size:15px;color:#696b61}.photo-share-buttons button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid #c89a87;border-radius:10px;background:#faf6ef;color:#a85e46;font:500 14px/1.2 Arial,sans-serif;cursor:pointer}.photo-share-buttons button.share-vk{background:#0077ff;border-color:#0077ff;color:#fff}.photo-share-buttons button.share-ok{background:#ee8208;border-color:#ee8208;color:#fff}.photo-share-buttons button.share-vk:hover:not(:disabled){background:#0066dc;border-color:#0066dc;color:#fff}.photo-share-buttons button.share-ok:hover:not(:disabled){background:#d97100;border-color:#d97100;color:#fff}.photo-share-buttons svg{width:24px;height:24px;fill:currentColor}.photo-share-buttons button:disabled{opacity:.6;cursor:wait}.photo-share small{display:block;text-align:center;font:12px/1.5 Arial,sans-serif;color:#78796f;margin-top:8px}.photo-share p{color:#a13d2d;text-align:center}

.album-site .photo-panel .viewer-footer.with-sharing{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px;padding-top:10px}.viewer-footer.with-sharing .photo-share{padding:0;margin:0;min-width:0}.viewer-footer.with-sharing .zoom{flex:none;margin:0}.album-site .viewer-footer.with-sharing .photo-status{flex-basis:100%;text-align:right;margin:0}.viewer-footer.with-sharing .photo-share-buttons{gap:8px}@media(max-width:600px){.album-site .photo-panel .viewer-footer.with-sharing{gap:12px}.viewer-footer.with-sharing .photo-share-buttons>span{flex-basis:100%;text-align:center}.viewer-footer.with-sharing .photo-share-buttons button{padding:8px 10px}}

.prompt-preset-row{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.prompt-preset-row label{display:grid;gap:6px;flex:1 1 280px;min-width:0}.prompt-preset-row input,.prompt-preset-row select{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;min-width:0}.prompt-preset-row button{padding:12px 16px}.prompt-presets fieldset{border:0;padding:0;margin:0;min-width:0}

.prompt-save .prompt-save-feedback{flex:0 0 100%;margin:0;overflow-wrap:anywhere}.prompt-save .admin-error{color:#9b2c1d;background:#fbe9e2;padding:10px;border-radius:6px}

.packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.packages .package-title{font-size:14px;color:var(--ink);min-height:36px;margin:0 0 10px}.packages button{min-width:0;overflow-wrap:anywhere}

.topbar .nav-help{text-decoration:none;display:inline-block;cursor:pointer}.site-text-card .page-copy{white-space:pre-line}

/* Larger touch controls, retaining existing colours and shapes. */
@media(max-width:760px){
 .album-site .zoom{flex-wrap:wrap;justify-content:center;row-gap:8px;max-width:100%}
 .album-site .zoom button{width:44px;min-width:44px;height:44px;flex-shrink:0}
 .album-site .settings.compact-settings .segmented button{min-height:44px}
 .album-site .compact-settings .option-switch .switch{position:relative}
 .album-site .compact-settings .option-switch .switch::after{content:'';position:absolute;inset:-8px 0}
 .album-site .balance{min-height:44px}
 .album-site .photo-panel .viewer-footer{height:auto;min-height:62px}
}
