.design-nuance { border-block: 1px solid var(--border); padding: 0; margin-bottom: 24px; }
.design-nuance summary { padding: 14px 0; font-size: .75rem; cursor: pointer; }
.design-nuance .field-pair { margin-top: 8px; }
.studio-app .design-nuance select, .media-edit-controls select { width: 100%; min-height: 46px; border: 1px solid var(--input-border); border-radius: 7px; padding: 10px; color: var(--ink); background: var(--surface); font-size: .8125rem; }
.letter-card[data-palette], .print-spread[data-palette] .print-cover { background: var(--card-paper); color: var(--card-ink); --letter-accent: var(--card-accent); --letter-muted: var(--card-muted); }
.letter-card[data-palette] .letter-brand, .print-spread[data-palette] .print-cover .print-flourish { color: var(--card-accent); }
.letter-card[data-palette]::before, .letter-card[data-palette]::after, .print-spread[data-palette] .print-cover::before { border-color: var(--card-accent); }
.letter-card[data-palette] .occasion-art { color: var(--card-accent); }
.letter-card[data-palette] h2, .letter-card[data-palette] .letter-message, .letter-card[data-palette] .letter-signature strong { color: var(--card-ink); }
.letter-card[data-palette] .letter-signature, .letter-card[data-palette] .letter-kicker, .letter-card[data-palette] .media-caption { color: var(--card-muted); }
.letter-card[data-palette] .letter-divider { background: var(--card-accent); }
.letter-card[data-palette] .letter-mark { color: var(--card-accent); }
.letter-card[data-palette] .letter-garden { background: transparent; }
.letter-card[data-material="linen"] { background-image: repeating-linear-gradient(0deg, #806f4c05 0, #806f4c05 1px, transparent 1px, transparent 4px), repeating-linear-gradient(90deg, #ffffff0a 0, #ffffff0a 1px, transparent 1px, transparent 3px); }
.letter-card[data-material="cotton"] { background-image: radial-gradient(ellipse at 15% 20%, #ffffff0c 0, transparent 70%), repeating-radial-gradient(circle at 0 0, #84775505 0, #84775505 .7px, transparent 1.3px, transparent 5px); }
.letter-card[data-material="vellum"]::after { inset: 18px 15px; border: 1px solid #ffffff50; background: #ffffff0d; box-shadow: 4px 6px 0 #2c221e05; z-index: -1; }
.letter-card .greeting-media { min-width: 0; }
.letter-card .media-frame { margin: 0 auto; min-width: 0; width: min(100%,calc(min(76svh,720px) * var(--media-aspect,1.333333))); }
.letter-card .media-frame img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: var(--media-ratio,auto); object-position: var(--focal-x, 50%) var(--focal-y, 50%); object-fit: contain; }
.letter-card .media-frame[data-fit="cover"] { width: 100%; }
.letter-card .media-frame[data-fit="cover"] img { object-fit: cover; }
.letter-card .media-frame[data-fit="cover"] img { aspect-ratio: 4 / 5; }
.letter-card.composition-cover .greeting-media[data-orientation="portrait"], .letter-card.composition-cinema .greeting-media[data-orientation="portrait"] { max-width: none; }
.letter-card .media-caption { font: 400 .75rem/1.65 var(--sans); color: var(--letter-muted); padding: 12px 5px 2px; white-space: pre-wrap; overflow-wrap: anywhere; }
.letter-card.composition-cover .greeting-media, .letter-card.composition-cinema .greeting-media { margin: 0 0 30px; }
.letter-card.composition-cover .letter-kicker, .letter-card.composition-cinema .letter-kicker { margin-bottom: 22px; }
.letter-card.composition-cover .letter-mark, .letter-card.composition-cinema .letter-mark { display: none; }
.letter-card .media-frame video { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: var(--media-ratio,auto); background: #181c19; object-fit: contain; }
.letter-card.composition-album .letter-message { margin-bottom: 30px; }
.letter-card[data-media-position] > [data-media-slot]:has(.greeting-media) { margin: 0 0 28px; }
.letter-card[data-media-position="bottom"] > [data-media-slot]:has(.greeting-media) { margin: 28px 0 0; }
.letter-card[data-media-position] > [data-media-slot] > .greeting-media { margin: 0; }
.letter-card[data-media-position="bottom"] > .letter-message { margin-bottom: 0; }
.letter-album { display: grid; gap: 30px; }
.letter-album .album-page { margin: 0; min-width: 0; }
.letter-album .album-photo { width: min(100%,calc(min(76svh,720px) * var(--media-aspect,1.333333))); margin-inline: auto; padding: 10px 10px 24px; background: #fffcf5; box-shadow: 0 4px 14px #2c221e0b; }
.letter-album .album-photo img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: var(--media-ratio,auto); object-fit: contain; object-position: var(--focal-x, 50%) var(--focal-y, 50%); }
.letter-album .album-photo[data-fit="cover"] { width: 100%; }
.letter-album .album-photo[data-fit="cover"] img { aspect-ratio: 4 / 5; object-fit: cover; }
.letter-album .album-number { display: block; padding-top: 10px; font: 400 .625rem/1.5 var(--sans); color: #766858; letter-spacing: .08em; }
.letter-card .greeting-media:has(.letter-album) { overflow: visible; background: transparent; border-radius: 0; }
.media-edit-card { padding-block: 18px; border-bottom: 1px solid var(--border); min-width: 0; }
.media-edit-card .media-item { border: 0; padding-top: 0; flex-wrap: wrap; }
.media-edit-card .media-actions { margin-left: auto; display: flex; }
.media-edit-card .media-actions .icon-button { min-width: 44px; min-height: 44px; }
.media-edit-card .media-actions [data-move="-1"] .icon { transform: rotate(-90deg); }
.media-edit-card .media-actions [data-move="1"] .icon { transform: rotate(90deg); }
.media-edit-settings { border: 1px solid var(--border); border-radius: 8px; padding: 0 14px; background: var(--bg); }
.media-edit-settings summary { font-size: .75rem; padding: 13px 0; cursor: pointer; }
.media-edit-controls { padding-bottom: 16px; min-width: 0; }
.media-edit-controls .field { margin-top: 14px; margin-bottom: 14px; }
.media-crop-frame { display: block; width: min(100%, 280px); aspect-ratio: var(--media-ratio,4 / 5); margin: 0 auto 16px; background: #ede6da; border: 1px solid var(--input-border); }
.media-crop-frame[data-fit="cover"] { aspect-ratio: 4 / 5; }
.media-crop-frame img { width: 100%; height: 100%; display: block; object-fit: var(--image-fit, contain); object-position: var(--focal-x, 50%) var(--focal-y, 50%); }
.media-edit-controls input[type="range"] { padding: 0; min-height: 44px; accent-color: var(--gold-dark); }
.media-edit-controls output { font: 400 .6875rem/1.5 var(--sans); color: var(--muted); }
.media-poster-picker { display: grid; gap: 10px; font-size: .75rem; }
.media-poster-picker input { max-width: 100%; font-size: .75rem; }
.media-poster-picker input::file-selector-button { border: 1px solid var(--input-border); padding: 12px; border-radius: 6px; background: var(--surface); color: var(--ink); cursor: pointer; margin-right: 10px; }
.print-spread .print-photo { display: block; width: 100%; height: auto; aspect-ratio: 71 / 56; object-fit: contain; object-position: var(--focal-x, 50%) var(--focal-y, 50%); margin-bottom: 12px; flex-shrink: 0; }
.print-spread .print-photo[data-fit="cover"] { object-fit: cover; }
.print-spread .print-safe-guide { display: none; position: absolute; inset: 6.7568% 9.5238%; border: 1px dashed #915a31; pointer-events: none; z-index: 2; }
.print-spread.show-print-guides .print-safe-guide { display: block; }
.print-guide-toggle { display: flex; align-items: center; gap: 9px; min-height: 44px; margin-top: 14px; font-size: .75rem; color: var(--muted); }
.print-guide-toggle input { width: 18px; height: 18px; accent-color: var(--gold-dark); }
.print-fit-note { margin-top: 10px; font-size: .6875rem; line-height: 1.6; color: var(--gold-dark); }
.letter-card[data-text-align="left"], .print-spread[data-text-align="left"] { --card-text-align: left; --card-divider-start: 0; }
.letter-card[data-text-align="center"], .print-spread[data-text-align="center"] { --card-text-align: center; --card-divider-start: auto; }
.letter-card[data-text-align] :is(h2, .letter-kicker, .letter-message, .letter-mark, .letter-signature, .letter-brand) { text-align: var(--card-text-align); }
.letter-card[data-text-align] .letter-divider { margin-inline-start: var(--card-divider-start); }
.letter-card[data-text-align] .media-caption { text-align: var(--card-text-align); }
.print-spread[data-text-align] .print-cover h3 { text-align: var(--card-text-align); width: 100%; }
.template-art[data-theme-palette], .letter-card[data-theme-palette], .print-spread[data-theme-palette] .print-cover { background-color: var(--card-paper); color: var(--card-ink); --letter-accent: var(--card-accent); --letter-muted: var(--card-muted); }
.template-art[data-theme-palette] .mini-heading, .letter-card[data-theme-palette] :is(h2, .letter-message, .letter-signature strong), .print-spread[data-theme-palette] .print-cover h3 { color: var(--card-ink); }
.letter-card[data-theme-palette] :is(.letter-kicker, .letter-signature, .letter-brand, .media-caption) { color: var(--card-muted); }
.design-nuance { margin-top: 24px; }
.design-nuance .field { margin-top: 16px; }
.design-nuance select { width: 100%; min-height: 46px; }
.design-nuance > .button { margin-block: 4px 18px; }
.design-settings-status { display: block; margin-top: 4px; color: var(--muted); font-size: .6875rem; }
.theme-override-note { font-size: .75rem; line-height: 1.7; margin-bottom: 18px; padding: 12px 14px; background: var(--surface-soft); border-radius: 6px; }
.theme-override-note button { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; min-height: 44px; }
@media (max-width: 480px) {
  .letter-card.composition-cover .media-frame img { max-height: none; }
}
@media print { .print-safe-guide { display: none !important; } }
