/* Styles are scoped to additive keepsake features. */
.ks-dialog{box-sizing:border-box;width:min(760px,94vw);max-height:90dvh;border:1px solid #947342;border-radius:18px;background:#221c14;color:#f3e4c4;padding:0;box-shadow:0 24px 90px #0009}
.ks-dialog::backdrop{background:#100c09bf}.ks-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid #ae87563d;position:sticky;top:0;background:#221c14;z-index:1}.ks-dialog h2{font-size:23px;margin:0}.ks-dialog-body{padding:20px 24px}.ks-status{padding:0 24px 18px;margin:0;line-height:1.5;color:#f1d9a6;overflow-wrap:anywhere}.ks-status:empty{padding-bottom:0}
.ks-field{display:flex;flex-direction:column;gap:7px;margin:14px 0;color:inherit}.ks-field input,.ks-field select,.ks-field textarea{box-sizing:border-box;width:100%;max-width:100%;padding:10px 12px;font:inherit;background:#fff9eb;color:#2a2318;border:1px solid #9d855f;border-radius:8px}.ks-field textarea{resize:vertical;line-height:1.6}.ks-hint{font-size:15px;line-height:1.55;color:inherit;opacity:.85}.ks-actions,.ks-recipients{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.ks-recipients h2,.ks-recipients p{width:100%}
.ks-list{display:grid;gap:12px;margin-top:18px}.ks-card{border:1px solid #98713f66;padding:16px;border-radius:12px;overflow-wrap:anywhere;background:#ffffff05}.ks-card button{margin:6px 8px 0 0}.ks-card img,.ks-card video{display:block;max-width:100%;max-height:55vh;margin-top:12px}.ks-download{display:block;color:#f5d397;margin:12px 0}.ks-source,.ks-nugget-body,.ks-letter-text{white-space:pre-wrap;overflow-wrap:anywhere}.ks-nugget-body{font-size:21px;line-height:1.65;margin:0 0 12px}.ks-nugget-action{color:#c7a34b}.ks-paper{background:#efca88 url('images/shared/ui/keepsake-letter-paper-app.png') center/100% 100% no-repeat;padding:clamp(25px,7vw,58px);color:#2a2318;border-radius:10px;margin:16px 0}.ks-paper .ks-field{margin:0}.ks-paper textarea{background:transparent;border-color:#75512355;font-size:24px;line-height:1.65;min-height:360px;color:#2a2318}.ks-letter-text{font-size:25px;line-height:1.8;min-height:250px}
.ks-nugget-art{display:block;width:min(190px,48vw);height:auto;margin:2px auto 12px;filter:drop-shadow(0 10px 18px #0007)}
html[data-theme="heirloom_light"] .ks-dialog,html[data-theme="heirloom_light"] .ks-dialog-head{background:#fffaf1;color:#493a2d;border-color:#a78b64}html[data-theme="heirloom_light"] .ks-dialog::backdrop{background:#594a3b66}html[data-theme="heirloom_light"] .ks-status,html[data-theme="heirloom_light"] .ks-download{color:#775a2f}html[data-theme="heirloom_light"] .ks-card{background:#fffdf8;border-color:#9b7c4d55}html[data-theme="heirloom_light"] .ks-nugget-art{filter:drop-shadow(0 10px 18px #72542133)}
.ks-letter-dialog{border:0;background:transparent;box-shadow:none;overflow:auto;scrollbar-color:#b78c51 #21170f}.ks-letter-dialog .ks-dialog-head{margin:0 auto 10px;width:min(620px,92%);box-sizing:border-box;border:1px solid #b98c4f80;border-radius:14px;background:linear-gradient(135deg,#271d13f2,#120e0bed);box-shadow:0 12px 34px #0008}.ks-letter-dialog .ks-dialog-body{padding:4px 12px 12px}.ks-letter-dialog .ks-hint:not(.ks-paper .ks-hint){width:min(620px,92%);box-sizing:border-box;margin:10px auto;padding:10px 14px;border-radius:10px;background:#21180fd9;color:#f5dfb5;opacity:1}.ks-letter-dialog .ks-paper{background:transparent url('images/shared/ui/keepsake-letter-paper-app.png') center/100% 100% no-repeat;border-radius:0;filter:drop-shadow(0 16px 24px #0009)}.ks-letter-dialog .ks-paper textarea{border:1px solid #6d471f38;border-radius:8px;box-shadow:inset 0 0 18px #8d5c2515}.ks-letter-dialog .ks-status:not(:empty){width:min(620px,92%);box-sizing:border-box;margin:10px auto;padding:10px 14px;border-radius:10px;background:#21180fed;color:#f5dfb5}.ks-letter-controls{display:flex;flex-wrap:wrap;align-items:end;justify-content:center;gap:10px;width:min(620px,92%);margin:12px auto;padding:12px 14px;box-sizing:border-box;border:1px solid #b98c4f66;border-radius:14px;background:linear-gradient(135deg,#2b2118ed,#16110ded);box-shadow:0 10px 28px #0007}.ks-letter-style{width:min(620px,92%);box-sizing:border-box;margin:12px auto;padding:12px 14px;color:#ecd29e;border:1px solid #b98c4f66;border-radius:14px;background:linear-gradient(135deg,#2b2118ed,#16110ded);box-shadow:0 10px 28px #0007}.ks-letter-style select{appearance:auto;background:linear-gradient(180deg,#3b2b1c,#21170f);color:#f4dfb5;border:1px solid #b78c51;box-shadow:inset 0 1px #fff2,0 2px 8px #0006}.ks-letter-style select:focus{outline:2px solid #e1ba70;outline-offset:2px}.ks-letter-style option{background:#2a1e14;color:#f4dfb5}.ks-letter-controls>button{margin-bottom:0}.ks-delete-message{color:#ffd1c5;border-color:#a65d4f!important}.ks-dialog[data-ks-suspended="true"]{display:none}
html[data-theme="heirloom_light"] .ks-letter-dialog{background:transparent;border:0;box-shadow:none;scrollbar-color:#b7a283 #f4ecd9}
html[data-theme="heirloom_light"] .ks-letter-dialog .ks-dialog-head,html[data-theme="heirloom_light"] .ks-letter-controls,html[data-theme="heirloom_light"] .ks-letter-style,html[data-theme="heirloom_light"] .ks-letter-dialog .ks-hint:not(.ks-paper .ks-hint),html[data-theme="heirloom_light"] .ks-letter-dialog .ks-status:not(:empty){background:#fffaf1;color:#58442d;border-color:#bba17d;box-shadow:0 8px 20px #72542122}
html[data-theme="heirloom_light"] .ks-letter-style select,html[data-theme="heirloom_light"] .ks-letter-style option{background:#f5eddf;color:#4e3a27;border-color:#b49b79;box-shadow:none}
/* The supplied envelope has a baked checkerboard. Crop only the display,
   leaving the original artwork unchanged. */
.ks-envelope{border:0;background:none;padding:0;width:170px;position:relative;cursor:pointer;box-shadow:none;display:block;margin:14px auto}.ks-envelope-crop{display:block;position:relative;overflow:hidden;aspect-ratio:1.57;border-radius:6px}.ks-envelope img{position:absolute;width:111.3%;max-width:none;height:116%;left:-5.4%;top:-8%;object-fit:fill}.ks-floating{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));z-index:300;width:90px;margin:0;filter:drop-shadow(0 4px 7px #0008)}.ks-floating[hidden]{display:none}.ks-count{position:absolute;right:-5px;bottom:-6px;min-width:24px;height:24px;padding:2px 5px;background:#a6241d;color:#fff;border:2px solid #f4dbac;border-radius:18px;font:700 14px/24px system-ui;text-align:center}.ks-envelope:focus-visible{outline:3px solid #e9ca79;outline-offset:5px}.ks-dialog button{min-height:42px}.ks-dialog button:disabled{opacity:.5;cursor:wait}
@media(max-width:480px){.ks-dialog-head{padding:14px}.ks-dialog-body{padding:14px}.ks-dialog h2{font-size:20px}.ks-paper{padding:24px 18px}.ks-paper textarea{font-size:22px}.ks-floating{width:72px}.ks-dialog .ks-actions button{flex:1 1 130px}.ks-letter-dialog .ks-dialog-body{padding:2px 0 10px}.ks-letter-dialog .ks-paper{padding:28px 19px}.ks-letter-dialog .ks-paper textarea{min-height:320px}.ks-letter-controls>button{flex:1 1 150px}}
