/* Gift only: optional design data never changes legacy saved letters. */
.gp-designed{--gift-title:32px;--gift-recipient:22px;--gift-sender:18px;--gift-body:18px;--gift-accent:20px}
.gp-designed :is(.ml36-note p,.ml36-note h2,.ml36-signature,.ml36-track-title h1,.ml36-track-title h2,.ml36-dedication,.ml36-opening-content,.gp-address,.gp-display,.gp-accent){font-family:var(--gift-font,inherit)}
.gp-designed :is(.ml36-track-title h1,.ml36-track-title h2){font-size:var(--gift-title);overflow-wrap:anywhere}
.gp-designed .ml36-note h2,.gp-designed .ml36-dedication strong,.gp-designed .gp-address strong{font-size:var(--gift-recipient);overflow-wrap:anywhere}
.gp-designed .ml36-note p{font-size:var(--gift-body);line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.gp-designed .ml36-signature,.gp-designed .gp-from{font-size:var(--gift-sender);overflow-wrap:anywhere}
.gp-designed .ml36-headline,.gp-designed .ml36-opening-headline{font-family:var(--gift-font,inherit);font-size:clamp(28px,calc(var(--gift-title)*1.5),72px);line-height:1.15;overflow-wrap:anywhere}
.gp-designed .ml36-note .gp-accent{font-size:var(--gift-accent);margin-top:24px;padding-top:20px;border-top:1px solid currentColor;opacity:.85}
.gp-designed .ml36-customer-photo{height:auto;max-height:none;overflow:visible;aspect-ratio:auto;display:block}
.gp-designed .ml36-customer-photo>.gp-album{margin:0}
.gp-designed .ml36-photo-attachment{padding:0;background:none;border:0;aspect-ratio:auto}
.gp-album{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:24px 0;min-width:0;width:100%;align-items:start}
.gp-album .gp-photo{position:relative;margin:0;min-width:0;width:100%;height:auto;transform:none;background:none;border:0;box-shadow:none}
.gp-photo>div{overflow:hidden;position:relative;border-radius:2px;isolation:isolate;background:transparent}
.gp-album .gp-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;aspect-ratio:1;min-height:0;position:static;opacity:1;filter:none}
.gp-album .gp-ratio-natural>div img{aspect-ratio:auto;height:auto}
.gp-album .gp-ratio-square>div{aspect-ratio:1}
.gp-album .gp-ratio-portrait>div{aspect-ratio:3/4}
.gp-album .gp-ratio-landscape>div{aspect-ratio:4/3}
.gp-album .gp-photo:not(.gp-ratio-natural)>div img{position:absolute;inset:0;height:100%;aspect-ratio:auto}
.gp-photo figcaption{display:none;position:static;font:10px/1.5 var(--sans);color:inherit;letter-spacing:.08em;padding:10px 2px 0}
.gp-album[data-count="1"]{grid-template-columns:1fr}
.gp-album-hero,.gp-album-vertical{grid-template-columns:1fr}
.gp-album-hero .gp-photo:not(:first-child){width:75%;justify-self:center}
.gp-album-grid .gp-photo:last-child:nth-child(odd):not(:first-child),.gp-album-horizontal .gp-photo:last-child:nth-child(odd):not(:first-child){grid-column:1/-1}
.gp-album-main .gp-photo:first-child{grid-column:1/-1}
.gp-album-polaroid{padding:12px 10px 18px;gap:24px 14px}
.gp-album-polaroid .gp-photo{padding:9px 9px 16px;background:#fffdf8;box-shadow:0 4px 15px #211c1617;transform:rotate(-3deg);color:#655f56}
.gp-album-polaroid .gp-photo:nth-child(even){transform:rotate(3deg);margin-top:20px}
.gp-album-polaroid figcaption,.gp-album-filmstrip figcaption,.gp-album-magazine figcaption{display:block}
.gp-album-magazine{grid-template-columns:1.3fr 1fr;gap:22px 14px}
.gp-album-magazine .gp-photo:nth-child(4n+2){margin-top:25%}
.gp-album-magazine .gp-photo:nth-child(4n+3){grid-column:1/-1;width:80%;justify-self:end}
.gp-album-scrapbook{gap:25px;padding:20px 12px}
.gp-album-scrapbook .gp-photo{padding:8px;background:#fffef8;box-shadow:0 3px 12px #24201c18;transform:rotate(3deg)}
.gp-album-scrapbook .gp-photo:nth-child(even){transform:rotate(-5deg);margin-top:18%}
.gp-album-scrapbook .gp-photo:before{content:"";width:42%;height:18px;position:absolute;top:-8px;left:26%;z-index:2;background:#d4bca4a8;transform:rotate(-6deg)}
.gp-album-filmstrip{grid-template-columns:1fr;background:#242529;padding:24px 24px;color:#f2e7cc;border-inline:7px dotted #e2d9c1}
.gp-album-filmstrip figcaption{font-family:monospace;color:#f3dab4}
.gp-album-slideshow{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;align-items:start;padding-bottom:14px;scrollbar-width:thin}
.gp-album-slideshow .gp-photo{flex:0 0 91%;scroll-snap-align:center}
.gp-slide-hint{font:12px/1.6 var(--sans);text-align:right;opacity:.75}
.gp-premium{background:var(--ml36-paper);color:var(--ml36-ink);container-type:inline-size;overflow:hidden}
.gp-premium>.ml36-brand{display:none}
.gp-premium .ml36-content{padding:0 9% 8%;background:none}
.gp-premium .ml36-note{border:0;padding:32px 0;background:none;box-shadow:none}
.gp-premium .ml36-note-number{font:11px/1.5 var(--sans);letter-spacing:.2em;margin-bottom:22px;color:var(--ml36-accent)}
.gp-premium .ml36-track{margin:26px 0;padding:24px 0;border-block:1px solid color-mix(in srgb,var(--ml36-ink) 20%,transparent);background:transparent;color:inherit}
.gp-premium .ml36-footer{padding:24px 9%;font-size:9px;background:none;color:inherit}
.gp-hero{padding:28px 9% 32px;position:relative;isolation:isolate;overflow:hidden}
.gp-running{display:flex;justify-content:space-between;gap:12px;font:9px/1.6 var(--sans);letter-spacing:.16em;padding-bottom:20px;border-bottom:1px solid color-mix(in srgb,var(--ml36-ink) 20%,transparent)}
.gp-motif{width:70px;height:70px;display:block;margin:28px auto 14px;color:var(--ml36-accent);flex-shrink:0}
.gp-caption{font:italic 13px/1.7 Georgia,serif;text-align:center;margin:12px 0 20px;opacity:.8}
.gp-display{font:400 clamp(32px,12cqw,64px)/1.08 Georgia,serif!important;letter-spacing:-.045em;white-space:normal;overflow-wrap:anywhere;text-align:center;margin:24px 0 36px!important}
.gp-designed .gp-display{font-family:var(--gift-font,Georgia,serif)!important;font-size:clamp(24px,calc(var(--gift-title)*1.55),68px)!important}
.gp-address{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:9px;margin:24px 0;font:15px/1.8 var(--gift-font,serif)}
.gp-address>span:first-child{font:italic 16px Georgia,serif}.gp-address strong{font-weight:400;max-width:100%}.gp-from{display:block;width:100%;text-align:center;opacity:.75}
.gp-edition{font:9px/1.7 var(--sans);text-align:center;letter-spacing:.18em;margin:28px 0 0!important}
.gp-open{text-align:center;padding:10px 9% 42px}.gp-open .ml36-open-button{width:100%;min-height:52px}
.gp-hero-sugar-note{border:15px solid transparent;border-image:repeating-linear-gradient(45deg,#c3556e55 0 8px,transparent 8px 16px) 15}
.gp-hero-sugar-note .gp-display{font-style:normal}.gp-hero-sugar-note .gp-address{background:#fffaf0;padding:24px 12px;border-radius:48% 48% 6px 6px}
.gp-hero-ribbon-mail:before{content:"";position:absolute;inset:22px;border:1px solid #b6698640;z-index:-1}.gp-hero-ribbon-mail .gp-motif{width:106px;height:106px}.gp-hero-ribbon-mail .gp-photo:first-child>div{border-radius:50% 50% 3px 3px}
.gp-hero-cloud-nine{background:radial-gradient(ellipse at 0 40%,#fff9 0 20%,transparent 21%),radial-gradient(ellipse at 100% 55%,#fff9 0 25%,transparent 26%)}
.gp-hero-cloud-nine .gp-display{text-align:left}.gp-hero-cloud-nine .gp-motif{margin-right:0;transform:rotate(-8deg)}
.gp-hero-mint-post .gp-running{border-bottom:2px dashed #5f8c6940}.gp-hero-mint-post .gp-motif{margin-left:0;border:1px solid #5f8c6960;padding:10px;transform:rotate(-12deg)}.gp-hero-mint-post .gp-display{margin-top:-20px!important;transform:rotate(-3deg)}
.gp-hero-pearl-paper{margin:18px;border:1px solid #a3937560;box-shadow:inset 0 0 0 6px #faf8f1,inset 0 0 0 7px #a3937530}.gp-hero-pearl-paper .gp-display{font-style:italic!important}.gp-hero-pearl-paper .gp-photo>div{border-radius:45% 45% 0 0}
.gp-hero-sage-press .gp-motif{width:112px;height:112px}.gp-hero-sage-press .gp-address{padding:20px;border-block:1px solid #72836260}.gp-hero-sage-press .gp-display{letter-spacing:.05em}
.gp-hero-blue-hour{background:radial-gradient(ellipse at 50% 30%,#bcc9df21,transparent 60%)}.gp-hero-blue-hour .gp-motif{margin:44px auto 30px;width:80px;height:80px}.gp-hero-blue-hour .gp-photo:first-child>div{border-radius:48% 48% 0 0}
.gp-hero-rose-atelier .gp-running{border:0}.gp-hero-rose-atelier .gp-motif{position:absolute;right:8%;top:70px;width:95px;height:95px;opacity:.6;z-index:-1}.gp-hero-rose-atelier .gp-display{text-align:left;margin-top:70px!important}.gp-hero-rose-atelier .gp-caption{text-align:left}
.gp-hero-muse-issue{padding-inline:6%}.gp-hero-muse-issue .gp-motif{display:none}.gp-hero-muse-issue .gp-display{font-weight:700!important;font-size:clamp(36px,calc(var(--gift-title)*1.9),92px)!important;letter-spacing:-.07em;margin:12px 0!important}.gp-hero-muse-issue .gp-caption{text-transform:uppercase;font:9px/1.5 var(--sans);letter-spacing:.18em}.gp-hero-muse-issue .gp-address{justify-content:flex-start;border-block:1px solid #202d4a40;padding:12px 0}.gp-hero-muse-issue .gp-from{width:auto;margin-left:auto;font-size:13px}
.gp-hero-coral-weekend .gp-motif{position:absolute;right:7%;top:65px;width:75px;height:75px;opacity:.7;z-index:-1}.gp-hero-coral-weekend .gp-display{text-align:left;margin-top:70px!important}.gp-hero-coral-weekend .gp-photo:nth-child(even){margin-top:40px}.gp-hero-coral-weekend .gp-caption{text-align:left}
.gp-hero-lilac-scene .gp-motif{width:45px;height:45px}.gp-hero-lilac-scene .gp-display{letter-spacing:.04em}.gp-hero-lilac-scene .gp-photo:first-child{width:85%}.gp-hero-lilac-scene .gp-photo:nth-child(even){width:85%;justify-self:end}
.gp-hero-ticket-to-us{border:1px solid #bb735140;margin:16px;padding:22px 7%}.gp-hero-ticket-to-us .gp-display{text-align:left;font-weight:700!important}.gp-hero-ticket-to-us .gp-address{justify-content:flex-start;border-block:1px dashed #3e4d6160;padding:16px 0}.gp-hero-ticket-to-us .gp-motif{margin-left:0}.gp-hero-ticket-to-us .gp-from{text-align:left}
.gp-hero-paper-memories{background:repeating-linear-gradient(0deg,transparent 0 29px,#9b785416 29px 30px)}.gp-hero-paper-memories .gp-display{transform:rotate(-5deg)}.gp-hero-paper-memories .gp-address{background:#fff9e9;padding:20px 10px;box-shadow:2px 3px 0 #534c3f10;transform:rotate(2deg)}
.gp-hero-pop-heart .gp-motif{fill:#f17469;stroke:#323a79;width:110px;height:110px;transform:rotate(-12deg)}.gp-hero-pop-heart .gp-display{font-weight:700!important;letter-spacing:-.06em}.gp-hero-pop-heart .gp-address{border:2px solid #323a79;border-radius:70px;padding:15px}.gp-hero-pop-heart .gp-album{gap:6px}
/* New gallery thumbnails are real layout previews, not recolored old thumbnails. */
.gp-mini{container-type:inline-size;display:flex;flex-direction:column;align-items:center;position:relative;aspect-ratio:3/4;background:var(--mini-paper);color:var(--mini-ink);padding:8%;overflow:hidden;gap:8px;width:100%;height:100%}
.gp-mini small{font:6px/1.5 var(--sans);letter-spacing:.1em}.gp-mini .gp-motif{width:27%;height:20%;margin:2px 0;color:var(--mini-accent)}.gp-mini b{font:400 clamp(20px,2.6vw,40px)/1 Georgia,serif;text-align:center;letter-spacing:-.04em}.gp-mini i{font:9px/1.4 serif}.gp-mini em{font:6px/1.5 var(--sans);letter-spacing:.08em;margin-top:auto}.gp-mini-photo{display:block;min-height:20%;width:75%;background:url('/assets/ml36/art/sunset.webp') center/cover}
.gp-mini-ribbon-mail .gp-mini-photo,.gp-mini-pearl-paper .gp-mini-photo,.gp-mini-blue-hour .gp-mini-photo{border-radius:70px 70px 0 0}
.gp-mini-sugar-note{border:6px double var(--mini-accent)}.gp-mini-sugar-note b{font-size:clamp(18px,2vw,28px)}.gp-mini-sugar-note .gp-motif{height:14%;width:20%}.gp-mini-mint-post{border:6px dashed #8dba93}.gp-mini-mint-post .gp-mini-photo,.gp-mini-paper-memories .gp-mini-photo{border:5px solid #fff;transform:rotate(-7deg);width:65%}.gp-mini-sage-press .gp-mini-photo{width:100%;height:25%;background-image:url('/assets/ml36/art/forest.webp')}.gp-mini-rose-atelier b,.gp-mini-coral-weekend b{text-align:left;align-self:flex-start}.gp-mini-muse-issue .gp-motif{display:none}.gp-mini-muse-issue b{font-size:clamp(35px,4vw,60px);font-weight:bold}.gp-mini-muse-issue .gp-mini-photo{height:45%;width:90%}.gp-mini-lilac-scene .gp-mini-photo{width:65%;align-self:flex-end}.gp-mini-ticket-to-us{border:7px dotted var(--mini-accent)}.gp-mini-ticket-to-us .gp-mini-photo{border-inline:6px solid #242529}.gp-mini-pop-heart .gp-motif{fill:var(--mini-accent)}.gp-mini-pop-heart .gp-mini-photo{border:3px solid var(--mini-ink)}
.gp-mini-ribbon-mail b,.gp-mini-paper-memories b{font-style:italic}.gp-mini-ribbon-mail b,.gp-mini-rose-atelier b{font-size:clamp(18px,2vw,28px)}.gp-mini-ribbon-mail .gp-motif{height:20%;width:32%}.gp-mini-ribbon-mail .gp-mini-photo{background-image:url('/assets/ml36/art/friends.webp');min-height:24%;width:65%}
.gp-mini-cloud-nine{align-items:flex-start;background:radial-gradient(ellipse at 100% 55%,#fff8 0 33%,transparent 34%),var(--mini-paper)}.gp-mini-cloud-nine .gp-motif{align-self:flex-end}.gp-mini-cloud-nine b{text-align:left;font-family:var(--sans);font-size:23px;letter-spacing:-.06em}.gp-mini-cloud-nine .gp-mini-photo{width:100%;min-height:28%}
.gp-mini-mint-post b{font-family:var(--sans);font-weight:400;transform:rotate(-5deg);font-size:23px}.gp-mini-mint-post .gp-motif{align-self:flex-start;width:18%;height:15%}
.gp-mini-pearl-paper{box-shadow:inset 0 0 0 10px #faf8f1,inset 0 0 0 11px #a3937560}.gp-mini-pearl-paper b{font-style:italic;font-size:28px}.gp-mini-pearl-paper .gp-mini-photo{min-height:30%;width:58%;background-image:url('/assets/ml36/art/lily.webp')}
.gp-mini-blue-hour .gp-mini-photo{height:33%;width:65%;background-image:url('/assets/ml36/art/night.webp')}.gp-mini-blue-hour .gp-motif{width:20%;height:15%}
.gp-mini-rose-atelier{align-items:flex-start}.gp-mini-rose-atelier .gp-motif{align-self:flex-end;margin-bottom:-12%;height:22%;opacity:.6}.gp-mini-rose-atelier .gp-mini-photo{width:68%;align-self:flex-end;min-height:32%;background-image:url('/assets/ml36/art/watercolor.webp')}
.gp-mini-coral-weekend .gp-motif{align-self:flex-end;margin-bottom:-6%;width:22%;height:17%}.gp-mini-coral-weekend b{font-family:var(--sans);font-weight:800;font-size:28px}.gp-mini-coral-weekend .gp-mini-photo{width:100%;min-height:28%;transform:rotate(3deg);border:4px solid #fff7e8}
.gp-mini-lilac-scene .gp-motif{height:13%;width:18%;align-self:flex-start}.gp-mini-lilac-scene b{align-self:flex-start;text-align:left;font-size:25px}.gp-mini-lilac-scene .gp-mini-photo{min-height:33%;background-image:url('/assets/ml36/art/friends.webp')}
.gp-mini-ticket-to-us{align-items:flex-start}.gp-mini-ticket-to-us b{font-family:monospace;font-size:25px;text-align:left}.gp-mini-ticket-to-us .gp-motif{height:15%;width:25%;align-self:flex-end}.gp-mini-ticket-to-us .gp-mini-photo{width:100%;background-image:url('/assets/ml36/art/city.webp')}
.gp-mini-paper-memories{background:repeating-linear-gradient(0deg,transparent 0 15px,#534c3f0c 15px 16px),var(--mini-paper)}.gp-mini-paper-memories .gp-motif{height:15%;align-self:flex-start}.gp-mini-paper-memories b{font-size:25px;transform:rotate(-5deg)}.gp-mini-paper-memories .gp-mini-photo{min-height:28%;box-shadow:12px 8px 0 -2px #fff9ec,-12px 12px 0 -3px #b3b8a1}
.gp-mini-pop-heart b{font-family:var(--sans);font-weight:800;font-size:30px;letter-spacing:-.06em}.gp-mini-pop-heart .gp-mini-photo{width:90%;min-height:22%}
/* Compact, accessible tools. The letter stays portrait on desktop. */
.gp-tools{background:#fffdf9;border:1px solid #e6dfd4;border-radius:18px;padding:22px;margin:18px 0;color:#34332e;box-shadow:0 8px 24px #3d342304}
.gp-tools summary{cursor:pointer;min-height:44px;font:600 16px/1.8 var(--sans);display:list-item}.gp-tools summary::marker{color:#908778}.gp-tool-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.gp-tool-heading span{font-size:10px;letter-spacing:.14em;color:#7e786c}.gp-tool-heading strong{font-size:13px}
.gp-upload{display:flex;position:relative;min-height:66px;align-items:center;justify-content:center;border:1px dashed #bab4a5;border-radius:12px;background:#f7f5ee;font-weight:600;cursor:pointer}.gp-upload input,.gp-replace input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
.gp-helper{font-size:12px;line-height:1.8;color:#777266;margin:12px 0}.gp-photo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.gp-photo-tile{min-width:0;border:1px solid #e6e0d7;border-radius:10px;padding:5px;background:#fff}.gp-photo-tile.is-active{border-color:#778b82;box-shadow:0 0 0 1px #778b82}.gp-photo-list button{border:0;background:none;padding:0;min-height:44px;width:100%;border-radius:6px}.gp-photo-list img{aspect-ratio:1;object-fit:cover;width:100%;border-radius:6px;display:block}.gp-photo-tile>span{display:block;font-size:11px;padding:6px 3px}.gp-photo-tile>div{display:flex}.gp-photo-tile>div button{font-size:18px;background:#f6f4ef;margin:1px}
.gp-crop{border-top:1px solid #e8e2d9;padding-top:18px}.gp-crop-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.gp-tools button,.gp-replace{min-height:44px;border:1px solid #ded8cd;border-radius:9px;padding:8px 12px;background:#fffdf9;color:#49463f;font:13px/1.5 var(--sans)}.gp-tools button[aria-pressed=true]{background:#edf2ed;border-color:#738a7a;color:#2e493b}.gp-tools button:disabled{opacity:.4}.gp-crop>label,.gp-size-list label{display:grid;grid-template-columns:85px minmax(0,1fr);align-items:center;gap:10px;min-height:48px;font-size:13px}.gp-tools input[type=range]{width:100%;min-width:0;min-height:44px;accent-color:#6d8675;padding:0;background:transparent;border:0}.gp-crop select{min-width:0;width:100%;min-height:44px;border:1px solid #ded8cd;border-radius:8px;background:#fff;padding:6px;font-size:13px}.gp-crop-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.gp-replace{position:relative;display:flex;align-items:center;cursor:pointer}
.gp-layout-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.gp-layout-list button{display:grid;gap:8px;justify-items:center;font-size:12px;padding:12px}.gp-layout-sample{width:70px;height:50px;display:grid;grid-template-columns:1fr 1fr;gap:3px;transform:none}.gp-layout-sample i{background:#b5c5bb;border-radius:2px;display:block}.gp-layout-hero{grid-template-columns:1fr}.gp-layout-hero i:not(:first-child),.gp-layout-horizontal i:nth-child(n+3),.gp-layout-vertical i:nth-child(n+3){display:none}.gp-layout-vertical{grid-template-columns:1fr}.gp-layout-main i:first-child{grid-column:1/-1}.gp-layout-main i:last-child{display:none}.gp-layout-polaroid i{border:3px solid #e5ddd0;transform:rotate(-5deg)}.gp-layout-polaroid i:nth-child(even){transform:rotate(5deg)}.gp-layout-magazine{grid-template-columns:1.4fr 1fr}.gp-layout-magazine i:first-child{grid-row:span 2}.gp-layout-magazine i:last-child{display:none}.gp-layout-scrapbook i:nth-child(odd){transform:rotate(8deg)}.gp-layout-scrapbook i:nth-child(even){transform:rotate(-9deg)}.gp-layout-filmstrip{background:#343a39;padding:4px 8px;grid-template-columns:1fr}.gp-layout-filmstrip i:nth-child(n+3){display:none}.gp-layout-slideshow{display:flex;overflow:hidden}.gp-layout-slideshow i{flex:0 0 58px}
.gp-text-field{display:block;font-size:13px;margin:16px 0}.gp-text-field small{font-size:11px;color:#81796e;margin-left:6px}.gp-text-field input{display:block;width:100%;min-height:48px;margin-top:8px;border:1px solid #ded8cd;border-radius:9px;padding:10px;background:#fff;font:15px/1.6 var(--sans)}
.gp-font-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gp-font-list button{min-height:58px;padding:8px 6px;font-size:20px;overflow-wrap:anywhere}.gp-font-pages{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:12px 0 20px;font-size:12px}.gp-size-list{border-top:1px solid #e8e2d9;padding-top:12px}.gp-tools details summary{font-size:13px}
.gp-editor-preview{position:sticky;top:20px;max-height:calc(100dvh - 40px);overflow:auto;border-radius:12px;box-shadow:0 12px 40px #302a2112}.gp-editor-preview .ml-work{margin:0;width:100%}
.gp-photo-screen .gift-layout{grid-template-columns:minmax(300px,420px) minmax(0,540px);gap:48px;align-items:start;justify-content:center}.gp-photo-screen .gift-preview-shell{min-width:0;padding:0;background:none;box-shadow:none}.gp-photo-screen .bottom-action{position:sticky;bottom:0;background:#f8f6f0ee;padding:16px 0;z-index:2;backdrop-filter:blur(10px)}
.gp-photo-screen .gp-live-link{display:none}.gp-review-tools{margin-top:24px}.ml36-pagination{flex-wrap:wrap}
.gp-crop-preview{max-width:230px;margin:0 auto 18px}.gp-crop-preview .gp-album{margin:0}.gp-crop-preview .gp-photo>div{max-height:320px}.gp-crop-preview .gp-photo figcaption{display:none}
@media(max-width:760px){.gp-photo-screen .gift-layout{grid-template-columns:1fr;gap:24px}.gp-photo-screen .gift-preview-shell{display:block}.gp-editor-preview{position:relative;max-height:none;overflow:visible}.gp-photo-screen .gp-live-link{display:inline-flex;min-height:44px;align-items:center;font-size:13px;color:#62766a}.gp-photo-screen h1{font-size:30px}.gp-tools{padding:18px}.gp-photo-screen .bottom-action{bottom:0;padding-bottom:calc(14px + env(safe-area-inset-bottom))}.gp-display{max-width:100%}.gp-designed .gp-display{font-size:clamp(24px,calc(var(--gift-title)*1.25),60px)!important}.gp-mini{gap:3px}.gp-mini b{font-size:16cqw}.gp-mini i{font-size:7px}.gp-mini small,.gp-mini em{font-size:5px}.gp-mini-muse-issue b{font-size:26cqw}.gp-hero{padding-inline:8%}.gp-premium .ml36-content{padding-inline:8%}.gp-photo-list{gap:8px}}
@media(max-width:360px){.gp-photo-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.gp-album-slideshow{scroll-behavior:auto}}

/* Simplified editor. Existing artwork IDs and legacy crop/size data are retained. */
.gp-letter-screen>.ml-back-row,.gp-photo-screen>.ml-back-row{max-width:1090px;margin-inline:auto;padding-inline:20px}
.ml36-builder .ml36-category-scroll{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;overflow:visible;gap:7px;margin-right:0;padding:4px 0 12px}
.ml36-builder .ml36-category-scroll button{min-width:0;min-height:44px;padding:9px 5px;white-space:normal;line-height:1.4;overflow-wrap:anywhere}
.gp-photo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:16px 0}
.gp-photo-actions>span{flex-basis:100%;font-size:13px;color:var(--muted)}
.gp-photo-actions button,.gp-photo-actions .gp-replace{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:13px}
.gp-photo-actions .gp-replace{position:relative;overflow:hidden;cursor:pointer}.gp-photo-actions .gp-replace input{position:absolute;inset:0;opacity:0;cursor:pointer}
.gp-name-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gp-name-fields .field{min-width:0}
.gp-letter-font{margin:12px 0 28px}.gp-letter-screen textarea{min-height:280px;line-height:1.9;resize:vertical}
.gp-body-size{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-block:1px solid var(--line);font-size:14px}
.gp-body-size>div{display:flex;align-items:center;gap:12px}.gp-body-size button{width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:20px}.gp-body-size output{min-width:20px;text-align:center}
.gp-photo.gp-photo-original>div{aspect-ratio:auto!important;max-height:none;height:auto}
.gp-photo.gp-photo-original img{position:static!important;display:block;width:100%;height:auto!important;max-height:none;object-fit:contain;transform:none!important}
.gp-album-horizontal:has(.gp-photo-original),.gp-album-grid:has(.gp-photo-original),.gp-album-polaroid:has(.gp-photo-original),.gp-album-magazine:has(.gp-photo-original),.gp-album-scrapbook:has(.gp-photo-original){display:block;columns:2;column-gap:14px}
.gp-album:has(.gp-photo-original) .gp-photo{break-inside:avoid;margin-bottom:14px}
.gp-album[data-count="1"]:has(.gp-photo-original){columns:1}
/* Explicit user font wins over every template's font shorthand, within artwork only. */
article.ml-work.gp-font-selected,article.ml-work.gp-font-selected *,section.ml-work.gp-font-selected,section.ml-work.gp-font-selected *,section.ml36-opening.gp-font-selected,section.ml36-opening.gp-font-selected *{font-family:var(--gift-font)!important}
.ml-recipient.gp-font-selected .ml-recipient-masthead *,.ml-recipient.gp-font-selected .ml-reader-foot{font-family:var(--gift-font)!important}
@media(max-width:760px){.ml36-builder .ml36-category-scroll{grid-template-columns:repeat(4,minmax(0,1fr))}.gp-name-fields{gap:12px}.gp-letter-screen .gift-form h1{font-size:30px}.gp-letter-screen .field input{width:100%;min-width:0}}
@media(max-width:360px){.ml36-builder .ml36-category-scroll{grid-template-columns:repeat(3,minmax(0,1fr))}.gp-name-fields{grid-template-columns:1fr;gap:0}.gp-photo-actions button,.gp-photo-actions .gp-replace{padding-inline:11px}}
.ml-review-edit-dock{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
.ml-review-edit-dock>.btn{min-width:155px;height:100%;min-height:56px}
@media(max-width:700px){.ml-review-edit-dock{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ml-review-edit-dock>.btn{width:100%;min-width:0;padding-left:10px;padding-right:10px}.ml-review-edit-dock>.ml-mobile-preview{justify-self:end}}
.ml-review-edit-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ml-review-edit-actions>.btn{width:100%;min-width:0;padding-left:12px;padding-right:12px}
@media(max-width:360px){.ml-review-edit-actions{grid-template-columns:minmax(0,1fr)}}

/* Gift reading sizes are independent of the customer's letter-body size.
   Applied to the shared artwork renderer: editor, review and public recipient. */
:is(.ml-work,.ml36-opening) :is(.ml36-brand,.ml36-brand span,.ml36-footer,.ml36-opening-label,.ml36-track-title>span,.ml36-edition,.gp-running,.gp-edition){font-size:14px;line-height:1.65;letter-spacing:.06em}
:is(.ml-work,.ml36-opening) :is(.ml36-brand,.ml36-footer,.ml36-edition,.gp-running){flex-wrap:wrap;column-gap:16px;row-gap:6px}
:is(.ml-work,.ml36-opening) :is(.ml36-brand>span,.ml36-footer>span,.ml36-edition>span,.gp-running>span){min-width:0;overflow-wrap:anywhere}
.ml-work .ml36-track-title>span{display:block}
.ml-work .ml36-note-number{color:inherit}
.ml-work .ml36-note-number:not(.ml36-theme-classic *):not(.ml36-theme-space *):not(.ml36-theme-vintage *):not(.ml36-theme-voyage *){font-size:14px;line-height:1.65;letter-spacing:.1em}
.ml36-opening .ml36-opening-copy{font-size:clamp(18px,4.3cqw,23px);line-height:1.9}
.ml36-opening .ml36-opening-sender{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.ml36-opening .ml36-opening-from{font-size:17px;line-height:1.8;overflow-wrap:anywhere}
:is(.ml-work,.ml36-opening) .gp-caption{font-size:18px;line-height:1.8;opacity:1;letter-spacing:normal}
:is(.ml-work,.ml36-opening) .gp-from{font-size:var(--gift-sender,18px);line-height:1.8;opacity:1;overflow-wrap:anywhere}
.ml-work .ml36-dedication>span{font-size:14px;line-height:1.6}
.ml-work .ml36-dedication>strong{font-size:var(--gift-recipient,22px);line-height:1.6}
.ml-work .ml36-dedication>small{font-size:16px;line-height:1.75}
.ml-work .ml36-dedication>:is(strong,small){display:block;-webkit-line-clamp:unset;overflow:visible;overflow-wrap:anywhere}
.ml-work .ml36-dedication{min-width:0}
.ml-work .ml36-signature{font-size:var(--gift-sender,18px);line-height:1.8}
.ml-work .gp-photo figcaption{font-size:14px;line-height:1.65;letter-spacing:.03em;overflow-wrap:anywhere}
.ml-work .gp-slide-hint{font-size:15px;line-height:1.8;opacity:1}
.ml-work :is(.time-row,.ml36-still small){font-size:14px;line-height:1.6}
.ml-work .audio-range{min-height:44px}
.ml-work .ml36-lyrics summary,.ml-work .ml36-download,:is(.ml-work,.ml36-opening) .ml36-open-button,:is(.ml-work,.ml36-opening) .ml36-open-label{font-size:17px;line-height:1.6;min-height:52px;white-space:normal;text-align:center}
.ml-work .ml36-download{flex-wrap:wrap;column-gap:10px;row-gap:4px}
.ml-work .ml36-download small{font-size:14px}
.ml-work :is(.ml36-download,.ml36-lyrics summary) svg,.ml36-opening .ml36-open-button svg{flex-shrink:0}
.ml36-recipient .ml-reader-foot{font-size:18px;line-height:1.85;padding:32px 24px 40px;text-wrap:balance}
.ml36-recipient .ml-owner-preview{flex-wrap:wrap;font-size:14px;line-height:1.6;gap:8px 16px}
.ml36-recipient .ml-owner-preview button{font-size:16px;min-height:44px}
/* Long saved names need content-sized rows at every reading width. */
.ml-work .ml36-hero{grid-template-rows:repeat(12,minmax(min-content,1fr));aspect-ratio:auto;min-height:100cqw;row-gap:10px}
.ml-work .ml36-picture,.ml-work .ml36-cover{min-height:0}
.ml-work .ml36-keepsake .ml36-dedication{grid-column-end:12}
.ml-work :is(.ml36-negative,.ml36-diptych) .ml36-edition{grid-row:13/14;padding-block:12px}
.ml-work .ml36-negative .ml36-dedication{flex-direction:column;align-items:flex-start}
@container(max-width:440px){
 .ml-work .ml36-hero{aspect-ratio:auto;min-height:420px;row-gap:10px}
 .ml-work .ml36-dedication{gap:6px}
 .ml-work .ml36-keepsake .ml36-dedication{transform:none}
 .ml36-opening .ml36-open-button{padding-inline:12px}
}
/* Gift editor affordances only; thumbnail artwork and other products stay unchanged. */
:is(.gp-letter-screen,.gp-photo-screen) :is(.gp-helper,.gp-photo-actions>span,.gp-photo-tile>span,.gp-font-pages,.gp-tool-heading>span){font-size:14px;line-height:1.75;color:#625d54}
:is(.gp-letter-screen,.gp-photo-screen) :is(.gp-tool-heading strong,.gp-body-size,.gp-crop-head){font-size:16px;line-height:1.7}
:is(.gp-letter-screen,.gp-photo-screen) :is(.gp-tools button:not(.gp-font-list button),.gp-replace,.gp-photo-actions button){font-size:16px;min-height:44px}
.gp-photo-screen .gp-photo-tile>div button,.gp-letter-screen .gp-body-size button{font-size:20px}
:is(.gp-letter-screen,.gp-photo-screen) .gp-layout-list button{font-size:15px}
.ml36-builder :is(.ml-template-label,.ml-template-note,.ml36-result-line,.ml-dock-note){font-size:14px;line-height:1.7}
.ml36-builder :is(.ml36-category-scroll button,.ml-preview-tabs button){font-size:15px;min-height:44px}
.ml36-builder .ml36-pagination button{min-width:44px;min-height:44px}
/* These bundled handwritten faces have small glyphs at the same CSS size.
   Optical compensation affects fixed UI/copy, never saved body/name sizes. */
:is(.ml-work,.ml36-opening,.ml36-recipient)[style*="Nanum Pen Script"],:is(.ml-work,.ml36-opening,.ml36-recipient)[style*="Nanum Brush Script"],:is(.ml-work,.ml36-opening,.ml36-recipient)[style*="Dongle"]{--gift-reading-scale:1.15}
:is(.ml-work,.ml36-opening) :is(.ml36-brand,.ml36-brand span,.ml36-footer,.ml36-opening-label,.ml36-track-title>span,.ml36-edition,.gp-running,.gp-edition,.gp-photo figcaption,.time-row,.ml36-still small,.ml36-download small){font-size:calc(14px * var(--gift-reading-scale,1))}
:is(.ml-work,.ml36-opening) :is(.ml36-lyrics summary,.ml36-download,.ml36-open-button,.ml36-open-label){font-size:calc(17px * var(--gift-reading-scale,1))}
.ml36-opening .ml36-opening-sender{font-size:calc(16px * var(--gift-reading-scale,1))}
.ml36-opening .ml36-opening-copy{font-size:clamp(calc(18px * var(--gift-reading-scale,1)),4.3cqw,calc(23px * var(--gift-reading-scale,1)))}
.ml36-opening .ml36-opening-from{font-size:calc(17px * var(--gift-reading-scale,1))}
:is(.ml-work,.ml36-opening) .gp-caption{font-size:calc(18px * var(--gift-reading-scale,1))}
.ml36-recipient .ml-reader-foot{font-size:calc(18px * var(--gift-reading-scale,1))}
.ml-review-info :is(.ml-summary,.ml-cover-proof p){font-size:15px;line-height:1.8}
.ml-review-info :is(.ml-kicker,.ml-cover-proof b){font-size:14px;line-height:1.7}
.ml-review-info .actions-stack .btn,.ml-review-info .ml-edit-links button,.ml-gift-done :is(.btn,.ml-download,.text-button){font-size:16px;line-height:1.6;min-height:48px;white-space:normal}
.ml-gift-done :is(.ml-prototype-note,.ml-retention,.ml-retention span,.ml-done-template,.ml-og-card p,.ml-og-card section>span){font-size:14px;line-height:1.8}
