html,body{height:100%;overflow:hidden;scroll-behavior:auto}
body{height:100dvh;display:flex;flex-direction:column;background:var(--cream)}
.site-header{height:52px;min-height:52px;padding:7px 16px;flex-shrink:0}
.brand img{width:80px;height:auto}.brand-divider{height:28px}.brand>span:last-child{font-size:9px}.brand strong{font-size:12px}.header-link{font-size:11px;max-width:120px}
main{flex:1;min-height:0;display:flex;flex-direction:column}
.intro{padding:4px 12px 8px;display:flex;justify-content:center;align-items:center;gap:10px;flex-shrink:0;text-align:left}
.intro .eyebrow{font-size:12px;letter-spacing:0;white-space:nowrap;color:var(--gold)}
.intro h1{font-size:19px;line-height:1.15}.intro>p{display:none}
.wizard{width:100%;max-width:1160px;margin:0 auto;padding:0 12px;flex:1;min-height:0;display:flex;flex-direction:column}
.wizard-top{flex-shrink:0;padding:1px 0 7px}.wizard-progress-caption{display:none}
.wizard-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.wizard-progress button{display:flex;align-items:center;justify-content:center;gap:4px;min-height:37px;padding:3px 0;background:transparent;color:var(--muted);font-size:12px;font-weight:700}
.wizard-progress button>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#fffdf8;border:1px solid #d8cba9;font-size:11px}
.wizard-progress button[aria-current=step]{color:var(--navy)}.wizard-progress button[aria-current=step]>span{background:var(--navy);border-color:var(--navy);color:#fff}
.wizard-progress button:disabled{cursor:default;opacity:.45}
.wizard-layout{flex:1;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:8px}
.wizard-controls{grid-row:2;min-width:0;min-height:0;overflow:visible;max-height:none}
.wizard-panel{padding:12px 14px;background:#fffdf8;border:1px solid var(--line);border-radius:15px;min-width:0}
.wizard-heading{margin-bottom:9px}.wizard-heading .eyebrow{display:none}.wizard-heading h2{font-size:27px;margin:0 0 5px;line-height:1.1}.wizard-heading p{font-size:13px;line-height:1.5;color:var(--muted)}
.wizard-preview{grid-row:1;min-height:0;min-width:0;position:static;display:flex;flex-direction:column;padding:0;background:transparent}
.wizard-preview .preview-card{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 6px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.wizard-preview .preview-heading{display:none}
.wizard-preview .art-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;overflow:hidden}
.wizard-preview .art-stage canvas{display:block;width:auto;height:100%;max-width:100%;max-height:100%;object-fit:contain;cursor:default}
.wizard-preview .preview-caption{font-size:12px;line-height:1.3;margin:4px 0 0;text-align:center;color:var(--muted);flex-shrink:0}
.wizard-preview .privacy-note{display:none}
.photo-basic-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:5px 6px 0}
.basic-adjustment>label{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:800;color:var(--ink);min-height:20px}
.basic-adjustment input[type=range]{width:100%;margin:0;min-height:35px}
.basic-adjustment .range-endpoints{display:none}
#photo-brightness-label{font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}
.position-controls{text-align:center;border:0}.position-controls summary{display:inline-flex;align-items:center;justify-content:center;min-height:29px;font-size:13px;padding:2px 10px;color:var(--gold);font-weight:700;cursor:pointer}
.edit-layer-switch{display:flex;align-items:center;justify-content:center;gap:7px;margin:3px 0;font-size:12px}
.edit-layer-switch>span{color:var(--muted)}.edit-layer-switch button{padding:5px 10px;min-height:31px;border:1px solid var(--line);border-radius:7px;background:#fffdf8;color:var(--ink);font-size:12px}
.edit-layer-switch button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}
.wizard .composition-choices{gap:8px;margin:0}.wizard .composition-choices button{padding:7px 6px;gap:7px}.wizard .composition-choices img{width:54px;height:54px}.wizard .composition-choices strong{font-size:13px}.wizard .composition-choices small{font-size:11px}
.photo-guidance{font-size:12px;line-height:1.5;margin:8px 0}.photo-acquisition{gap:8px}.wizard .camera-button,.wizard .gallery-button{font-size:13px;min-height:43px;padding:7px 4px}.photo-tip{font-size:11px!important;line-height:1.35!important;margin:6px 0 0!important}
.ready-note{font-size:12px;line-height:1.5;margin:8px 0 0;color:var(--muted)}.gentle-note{display:none}
.wizard .mary-list{gap:7px}.wizard .mary-button{font-size:12px;padding:6px 3px}.wizard .mary-button img{height:69px;width:100%;object-fit:contain;margin-bottom:5px}.wizard .mary-button span{line-height:1.3;display:block}
.mary-adjustments{margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}.mary-adjustments .range-heading{font-size:13px;gap:8px}.mary-adjustments input[type=range]{width:100%;min-height:33px;margin:0}.mary-position-controls summary{font-size:13px;color:var(--gold);font-weight:700;cursor:pointer;min-height:29px;display:flex;align-items:center;justify-content:center}.mary-position-controls{border:0}
.wizard .field-label{font-size:13px;margin:6px 0 4px}.wizard .text-input{font-size:16px;min-height:40px;padding:8px 10px}.wizard .affiliation-note{font-size:11px;line-height:1.4;margin:7px 0}.wizard .checkbox-row{font-size:13px;margin:7px 0 0;line-height:1.4}.wizard .checkbox-row small{font-size:11px;line-height:1.4}.wizard .field-hint{font-size:11px;line-height:1.4;margin-top:5px}
.theme-browser{display:grid;grid-template-columns:45px 1fr 45px;gap:8px;margin-top:7px}.theme-browser button{padding:8px 7px;font-size:14px;min-height:42px}.theme-browser button:first-child,.theme-browser button:last-child{font-size:28px;line-height:1}
.selected-theme-label{font-size:14px;margin:9px 0 6px}.selected-theme-label span:first-child{font-weight:800}.background-strength{font-size:13px;margin-top:8px}.wizard #flower-strength{min-height:36px;margin:0;width:100%}.custom-background{border-top:1px solid var(--line);margin-top:7px}.custom-background summary{font-size:13px;font-weight:700;min-height:35px;display:flex;align-items:center;justify-content:center;color:var(--gold);cursor:pointer}
.format-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px}.format-examples button{flex-direction:column;justify-content:center;gap:4px;padding:6px 3px;min-width:0;border:1px solid transparent}.format-examples button[aria-pressed=true]{border-color:#bca16b}.format-examples canvas{display:block;width:auto;height:64px;max-width:68px;object-fit:contain;filter:drop-shadow(0 2px 4px #14324e24)}.format-examples button>span{font-size:13px;line-height:1.3}.format-examples small{display:block;font-size:9px;line-height:1.5;font-weight:500}
.wizard .preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 5px}.wizard .preview-actions button{font-size:14px;padding:9px 6px;min-height:44px;gap:6px}.share-button svg{width:17px;height:17px}.download-detail{font-size:10px;text-align:center;display:block;margin:3px 0}
.profile-help-button{font-size:13px;padding:6px;min-height:32px;display:inline-block;width:52%;margin-top:3px}.finish-tips{display:inline-block;border:0;padding:0;margin:0;width:46%;vertical-align:middle}.finish-tips summary{font-size:13px;font-weight:700;color:var(--gold);cursor:pointer;min-height:32px;display:flex;align-items:center;justify-content:center;line-height:1.4}
.wizard .consecration-card{border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;margin:7px 0 0;padding:8px 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left}.consecration-card .ornament,.consecration-card .eyebrow,.consecration-card p{display:none}.wizard .consecration-card h2{font-size:16px;line-height:1.25;margin:0}.wizard .consecration-card h2 br{display:none}.wizard .consecration-card .gold-button{font-size:11px;min-height:36px;white-space:nowrap;padding:8px 9px;margin:0}
.wizard-nav{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;border-top:1px solid var(--line);padding:8px 0 calc(8px + env(safe-area-inset-bottom));position:static;background:var(--cream)}
.wizard-nav .primary-button,.wizard-nav .secondary-button{min-height:45px;padding:10px 19px;font-size:15px;min-width:113px}.wizard-nav #bar-hint{font-size:13px;color:var(--muted);white-space:nowrap}.wizard-back:disabled{cursor:default;opacity:.45}.wizard-next-hint{display:none}
.adjustment-dialog{max-width:480px;max-height:88dvh;font-size:14px;padding:28px 22px 22px}.adjustment-dialog h2{font-size:31px;margin-bottom:18px}.adjustment-dialog p{font-size:13px;line-height:1.7;color:var(--muted);margin:10px 0}.adjustment-dialog label:not(.checkbox-row):not(.gallery-button){display:block;font-size:14px;color:var(--ink);margin-top:13px}.adjustment-dialog input[type=range]{width:100%;min-height:40px;margin:0}.adjustment-dialog .range-endpoints{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.adjustment-dialog .checkbox-row{margin:14px 0;font-size:14px}.adjustment-dialog .gallery-button{font-size:14px;min-height:47px}.adjustment-dialog .text-button{font-size:14px;min-height:40px}.adjustment-dialog .field-hint{font-size:12px}.adjustment-dialog textarea{width:100%;font-size:15px;line-height:1.6;min-height:140px;border:1px solid var(--line);padding:12px;border-radius:10px;margin:14px 0;color:var(--ink);background:#fff;resize:vertical}
.adjustment-dialog .theme-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px}.adjustment-dialog .theme-art{width:62px;height:62px}.adjustment-dialog .theme-button{min-width:0;font-size:12px;min-height:94px}
.profile-guide{border:0;padding:0;margin:0}.profile-guide h3{font-family:var(--serif);font-size:29px;line-height:1.1;margin:0 0 20px}.profile-guide-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}.profile-guide-steps li{display:grid;grid-template-columns:82px 1fr;gap:5px 13px;align-items:start}.profile-guide-steps strong{font-size:14px;padding-top:3px}.profile-guide-steps p{grid-column:2;font-size:12px;margin:0}.guide-illustration{grid-row:1/span 2;background:#edf2ee;border:1px solid #d1ddcf;border-radius:10px;min-height:85px;width:82px;padding:7px;color:#326d52;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center}.guide-illustration small{font-size:7px;line-height:1.6}.guide-save>span{font-size:27px;line-height:1}.guide-settings>span{display:flex;justify-content:space-between;width:100%;font-size:9px;font-weight:800}.guide-settings small{background:#fffdf8;padding:4px;width:100%;border-radius:4px;text-align:left}.guide-photo canvas{width:55px;height:55px;border-radius:50%}.profile-guide .guide-note{font-size:11px;line-height:1.8;margin-top:16px}.guide-note a{color:var(--gold);text-underline-offset:3px}
.camera-stage{position:relative;overflow:hidden;border-radius:12px}.camera-stage video,.camera-stage img{width:100%;height:auto;max-height:52dvh;object-fit:contain}.camera-stage video{transform:scaleX(-1)}.camera-fit-guide{position:absolute;inset:8% 17% 12%;border:2px dashed #fff9;border-radius:48% 48% 26% 26%;pointer-events:none;box-shadow:0 0 0 100px #092e4920;display:flex;align-items:flex-end;justify-content:center}.camera-fit-guide span{margin-bottom:10px;color:#fff;font-size:12px;font-weight:700;background:#092e49a8;padding:6px 12px;border-radius:20px}
@media(min-width:900px){.site-header{height:62px;min-height:62px;padding:8px 30px}.brand img{width:100px}.brand>span:last-child{font-size:10px}.brand strong{font-size:14px}.header-link{font-size:13px;max-width:none}.intro{padding:4px 20px 10px;gap:15px}.intro .eyebrow{font-size:15px}.intro h1{font-size:28px}.wizard{padding:0 30px}.wizard-top{padding-bottom:12px}.wizard-progress{max-width:700px;margin:auto;gap:18px}.wizard-progress button{font-size:14px;min-height:43px;gap:8px}.wizard-progress button>span{width:27px;height:27px;font-size:12px}.wizard-layout{grid-template-columns:1fr 1.1fr;grid-template-rows:minmax(0,1fr);gap:28px;align-items:center}.wizard-controls{grid-column:1;grid-row:1}.wizard-preview{grid-column:2;grid-row:1;height:100%;max-height:640px}.wizard-panel{padding:24px}.wizard-heading{margin-bottom:18px}.wizard-heading h2{font-size:38px}.wizard-heading p{font-size:15px}.wizard .composition-choices img{width:83px;height:83px}.wizard .composition-choices button{padding:12px;gap:11px}.wizard .composition-choices strong{font-size:15px}.wizard .composition-choices small{font-size:13px}.photo-guidance{font-size:14px;line-height:1.7;margin:15px 0}.wizard .camera-button,.wizard .gallery-button{font-size:15px;min-height:50px}.photo-tip{font-size:12px!important;margin-top:10px!important}.wizard .mary-button img{height:118px}.wizard .mary-button{font-size:14px}.mary-adjustments{margin-top:18px;padding-top:15px}.mary-adjustments .range-heading,.mary-position-controls summary{font-size:15px}.wizard .field-label{font-size:15px;margin-top:14px}.wizard .text-input{min-height:45px;padding:10px 12px}.wizard .checkbox-row{font-size:15px;margin-top:15px}.wizard .checkbox-row small{font-size:13px}.wizard .affiliation-note{font-size:13px;margin:12px 0}.theme-browser{margin-top:20px}.theme-browser button{font-size:16px;min-height:48px}.selected-theme-label{font-size:17px;margin-top:15px}.background-strength,.custom-background summary{font-size:15px}.custom-background summary{min-height:45px}.format-examples canvas{height:98px;max-width:98px}.format-examples button>span{font-size:15px}.format-examples small{font-size:11px}.wizard .preview-actions{margin-top:20px}.wizard .preview-actions button{font-size:16px;min-height:48px}.download-detail{font-size:12px}.profile-help-button,.finish-tips summary{font-size:15px;margin-top:10px;min-height:40px}.wizard .consecration-card{margin-top:14px;padding-top:14px}.wizard .consecration-card h2{font-size:21px}.wizard .consecration-card .gold-button{font-size:13px;padding:9px 13px}.wizard-nav{justify-content:center;gap:55px;margin-top:12px;padding-bottom:12px}.wizard-nav .primary-button,.wizard-nav .secondary-button{font-size:16px;min-width:143px}.photo-basic-controls{gap:30px;padding-top:8px}.basic-adjustment>label{font-size:16px}.basic-adjustment input[type=range]{min-height:40px}.position-controls summary{font-size:14px;min-height:35px}.wizard-preview .preview-caption{font-size:13px;line-height:1.4;margin-top:7px}}
@media(max-width:359px){.site-header{padding-left:10px;padding-right:10px}.brand img{width:70px}.header-link{font-size:10px;max-width:98px}.intro{gap:6px;padding-left:8px;padding-right:8px}.intro .eyebrow{font-size:10px}.intro h1{font-size:16px}.wizard{padding:0 9px}.wizard-panel{padding:10px}.wizard-heading h2{font-size:24px}.wizard-heading p{font-size:12px}.wizard-progress button{font-size:10px;gap:3px}.wizard .composition-choices strong{font-size:12px}.wizard .composition-choices small{font-size:10px}.wizard .composition-choices img{width:48px;height:48px}.wizard .mary-button img{height:60px}.wizard .mary-button{font-size:11px}.wizard-nav .primary-button,.wizard-nav .secondary-button{min-width:100px;padding:10px 13px;font-size:14px}.edit-layer-switch>span{display:none}.wizard .consecration-card h2{font-size:14px}.wizard .consecration-card .gold-button{font-size:10px}}
@media(max-width:899px) and (max-height:800px){.site-header{height:42px;min-height:42px;padding-top:4px;padding-bottom:4px}.brand img{width:68px}.intro{padding-top:0;padding-bottom:4px}.intro h1{font-size:17px}.wizard-top{padding-bottom:4px}.wizard-progress button{min-height:28px}.wizard-heading h2{font-size:23px}.wizard-heading p,.photo-guidance,.wizard .affiliation-note,.photo-tip,.wizard .checkbox-row small,.wizard .preview-caption{display:none}.wizard-heading{margin-bottom:6px}.wizard-panel{padding:8px 10px}.wizard .composition-choices img{width:42px;height:42px}.wizard .composition-choices button{flex-direction:row;padding:5px}.wizard .composition-choices small{display:none}.photo-acquisition{margin-top:6px}.wizard .mary-button img{height:45px}.mary-adjustments{margin-top:5px;padding-top:4px}.wizard .field-label{font-size:12px;margin-top:4px}.wizard .text-input{min-height:35px;padding:5px 8px}.wizard .checkbox-row{margin-top:5px;min-height:27px}.format-examples canvas{height:43px}.format-examples small{display:none}.wizard .preview-actions{margin-top:7px}.wizard .preview-actions button{min-height:38px;font-size:13px}.wizard .consecration-card{padding-top:5px;margin-top:5px}.wizard-nav{margin-top:5px;padding-top:5px;padding-bottom:5px}.wizard-nav .primary-button,.wizard-nav .secondary-button{min-height:40px}.photo-basic-controls{padding-top:2px}.basic-adjustment input[type=range]{min-height:28px}.position-controls summary{min-height:23px;font-size:12px}.edit-layer-switch{margin:0}.edit-layer-switch button{min-height:25px;padding:3px 8px}.custom-background summary{min-height:29px}.theme-browser button{min-height:35px}}
@media(max-width:899px) and (orientation:landscape){.intro{display:none}.wizard-layout{grid-template-columns:1fr 1.15fr;grid-template-rows:minmax(0,1fr);gap:14px;align-items:center}.wizard-preview{grid-column:1;grid-row:1;height:100%}.wizard-controls{grid-column:2;grid-row:1}.wizard-progress{max-width:500px;margin:auto}.wizard-panel{padding:7px 10px}.wizard .mary-button img{height:36px}.wizard-heading h2{font-size:20px}.wizard-nav{padding-bottom:4px}.wizard-nav .primary-button,.wizard-nav .secondary-button{min-height:35px;padding:5px 14px}.format-examples canvas{height:32px}.wizard .consecration-card{display:none}}
.wizard[data-has-photo=true] .composition-choices img,.wizard[data-has-photo=true] .composition-choices small,.wizard[data-has-photo=true] .photo-guidance{display:none}.wizard[data-has-photo=true] .composition-choices button{min-height:40px;padding:8px}.wizard[data-has-photo=true] .preview-caption{display:none}.adjustment-preview{display:block;width:auto;height:210px;max-width:100%;margin:0 auto 12px;object-fit:contain}.adjustment-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#f2ede2;border-radius:10px;margin:10px 0}.adjustment-tabs button{font-size:13px;font-weight:700;min-height:38px;border-radius:7px;background:transparent;color:var(--ink)}.adjustment-tabs button[aria-pressed=true]{background:var(--navy);color:#fff}.adjustment-photo-actions{display:flex;gap:14px;justify-content:center;border-top:1px solid var(--line);margin-top:8px;padding-top:6px}.adjustment-dialog .adjustment-photo-actions button{font-size:12px}.adjustment-dialog .checkbox-row{margin:7px 0}.adjustment-dialog .field-hint{font-size:11px;line-height:1.5}@media(max-height:800px){.adjustment-preview{height:155px}.adjustment-dialog h2{font-size:27px;margin-bottom:10px}.adjustment-dialog label:not(.checkbox-row):not(.gallery-button){margin-top:7px;font-size:13px}.adjustment-dialog input[type=range]{min-height:32px}.adjustment-tabs{margin:5px 0}}
.intro .eyebrow{margin:0}.mary-adjustments .range-heading{min-height:22px}@media(max-width:899px) and (max-height:800px){.wizard .mary-button img{display:none}.wizard .mary-button{min-height:43px;font-size:12px}.wizard .edit-layer-switch{display:none}.intro{min-height:24px;padding-top:0;padding-bottom:4px}}
.intro h1{margin:0}.wizard .range-heading{margin:0}.wizard .mary-list{margin:0}.wizard .mary-position-controls{margin:0}.wizard .format-control{margin:0}.wizard .selected-theme-label{margin:8px 0 5px}.wizard .photo-acquisition{margin:0}.wizard .composition-choices{margin:0}.wizard .mary-adjustments{margin-top:6px;padding-top:6px}
.wizard .preview-actions{display:none}.wizard .consecration-card h2{color:var(--ink)}.wizard[data-step="5"] #bar-hint{display:none}.wizard[data-step="5"] .wizard-nav button{flex:1;min-width:0;max-width:180px;padding:10px 5px}.wizard-nav .share-button{gap:5px}.wizard[data-step="5"] .download-detail{display:none}@media(max-width:899px){.wizard-nav .share-button svg{display:none}.wizard[data-step="5"] .wizard-nav button{font-size:13px}}
.intro h1{white-space:nowrap;font-size:18px}@media(max-width:359px){.intro h1{font-size:16px}}@media(min-width:900px){.intro h1{font-size:28px}}
.mary-browser{margin:7px 0 8px}.adjustment-dialog .mary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.adjustment-dialog .mary-button{font-size:13px;padding:10px 5px}.adjustment-dialog .mary-button img{display:block;width:100%;height:145px;object-fit:contain;margin:0 0 9px}.adjustment-dialog .mary-button span{line-height:1.5}.wizard .composition-choices button{flex-direction:row;text-align:left}.wizard .composition-choices img{flex-shrink:0}.wizard .composition-choices .choice-check{display:none}
