/* Lunar portrait: a quiet photographic stage and a compact editorial form. */
html body[data-tool="moonkeepsake"]{background:#f7f6f2;background-image:none;color:#303b3c}html body[data-tool="moonkeepsake"]:before,html body[data-tool="moonkeepsake"]:after{display:none}html body[data-tool="moonkeepsake"] .wrap{max-width:1320px;padding-left:48px;padding-right:48px}html body[data-tool="moonkeepsake"] .hero{grid-template-columns:1fr;min-height:0;background:none;border:0;box-shadow:none;padding:25px 0 30px;gap:0}html body[data-tool="moonkeepsake"] .hero:before,html body[data-tool="moonkeepsake"] .hero:after{display:none}html body[data-tool="moonkeepsake"] .hero .mark{display:none}html body[data-tool="moonkeepsake"] .hero h1{font-size:clamp(30px,3.5vw,46px);letter-spacing:.025em;line-height:1.3;margin-bottom:12px}html body[data-tool="moonkeepsake"] .hero .eyebrow{font-size:9px;letter-spacing:.22em;margin-bottom:18px;color:#8a8171}html body[data-tool="moonkeepsake"] .hero .intro{font-size:14px;line-height:1.9;max-width:690px;margin:0;color:#68716f}html body[data-tool="moonkeepsake"] .breadcrumbs{margin-top:22px;font-size:10px;opacity:.7}html body[data-tool="moonkeepsake"] .top{padding-top:25px;padding-bottom:23px}html body[data-tool="moonkeepsake"] .creative-example{display:none}html body[data-tool="moonkeepsake"] #method{margin-top:70px;max-width:840px}html body[data-tool="moonkeepsake"] #method h2{font-size:23px}
.moon-keepsake{--mk-ink:#263638;--mk-paper:#f7f6f2;--mk-muted:#748080;color:var(--mk-ink);font-family:Arial,"PingFang SC",sans-serif}.moon-keepsake *{box-sizing:border-box}.moon-keepsake [hidden]{display:none!important}.mk-studio{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);grid-template-areas:"portrait form";gap:52px;align-items:start}.mk-input{grid-area:form;padding:25px 0 0}.mk-output{grid-area:portrait;min-width:0}.mk-kicker{font-size:9px;letter-spacing:.23em;line-height:1.7;color:#928472;font-weight:400;margin:0 0 16px}.mk-input h2{font-family:Georgia,"Songti SC",serif;font-size:29px;font-weight:400;line-height:1.5;letter-spacing:.02em;margin:0 0 12px}.mk-input h2 br{display:none}.mk-intro{font-size:12px;line-height:1.8;color:#798381;margin:0 0 28px}.mk-fields{display:grid;grid-template-columns:1fr 1fr;gap:21px 18px;border:0;padding:0;margin:26px 0}.mk-fields legend{font-size:10px;color:#8e8b7e;letter-spacing:.14em;padding:0 0 19px}.mk-fields label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:400;min-width:0}.mk-fields label:first-of-type,.mk-fields label:nth-of-type(4),.mk-fields [data-fold]{grid-column:1/-1}.mk-fields input,.mk-fields select{appearance:auto;width:100%;height:41px;min-width:0;border:0;border-bottom:1px solid #c9ceca;background:transparent;border-radius:0;padding:7px 0;font:inherit;font-size:13px;color:#2f403f;transition:border-color .2s}.mk-fields input:focus,.mk-fields select:focus{border-color:#7e694b}.mk-fields small{font-size:10px;line-height:1.65;color:#8b9591;font-weight:400;max-width:35em}.moon-keepsake input:focus-visible,.moon-keepsake select:focus-visible,.moon-keepsake button:focus-visible,.mk-method summary:focus-visible{outline:2px solid #a58a62;outline-offset:5px}.mk-add{display:flex;gap:10px;align-items:center;font-size:11px;color:#64726b;cursor:pointer;margin:20px 0}.mk-add input{accent-color:#4d6260;width:15px;height:15px}.moon-keepsake button{font:inherit;cursor:pointer}.mk-create,.mk-save{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px!important;width:100%;min-height:48px;padding:13px 17px;background:#2a3c3d;color:#f2f1e9;border:1px solid #2a3c3d;border-radius:0;margin:26px 0 0;letter-spacing:.035em;transition:background .25s,transform .25s}.mk-create:hover{background:#405656}.mk-example{display:block;background:none;border:0;border-bottom:1px solid #bcb7aa;color:#8b7f6b;padding:9px 0;font-size:10px!important;min-height:35px;margin:10px auto 0}.mk-private{font-size:9px;color:#8e9791;line-height:1.8;margin:25px 0 0;max-width:32em}.mk-error{font-size:12px;line-height:1.8;color:#9b4d37;border-left:2px solid #ad654d;padding:10px;margin:15px 0;background:#f2e9e0}.mk-preview,.mk-print{position:relative;overflow:hidden;background:#11181c;color:#e7e8e3;border:0;outline:0;text-align:center;padding:32px 32px 23px;isolation:isolate}.mk-preview:before,.mk-print:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 38%,#52606812,transparent 62%);z-index:-1;pointer-events:none}.mk-preview:after,.mk-print:after{content:"";position:absolute;inset:20px;border:0;border-top:1px solid #c4c6bf24;pointer-events:none}.mk-preview{min-height:680px;display:flex;flex-direction:column;align-items:center;justify-content:center}.mk-preview .mk-kicker,.mk-print .mk-kicker{font-size:9px;font-weight:400;color:#9da7a8;letter-spacing:.28em;margin:3px 0 24px}.mk-preview .mk-moon{width:min(91%,390px);margin:4px 0 25px}.mk-preview-line{font-family:Georgia,"Songti SC",serif;font-size:21px;font-weight:400;line-height:1.8;letter-spacing:.08em;margin:8px 0 0;color:#cbd0cc}.mk-preview-note{font-size:9px;line-height:1.8;color:#75848a;margin:20px 0 0}.mk-print-line{font-family:Georgia,"Songti SC",serif;font-size:19px;font-weight:400;line-height:1.65;letter-spacing:.07em;color:#cbd1cf;margin:0 0 29px}.mk-persons{display:grid;gap:24px}.mk-persons.mk-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mk-person{min-width:0}.mk-name{font-size:10px;letter-spacing:.18em;color:#b8ae9d;margin:0 0 12px;overflow-wrap:anywhere}.mk-person-moon{width:min(90%,410px);margin:0 auto}.mk-pair .mk-person-moon{width:100%}.mk-moon{display:block;width:100%;overflow:visible;filter:drop-shadow(0 0 14px #c2d7df06);animation:moon-appear 1.2s cubic-bezier(.16,1,.3,1) both}.mk-person h3{font-family:Georgia,"Songti SC",serif;font-size:24px;font-weight:400;letter-spacing:.12em;margin:15px 0 12px;color:#dce0da}.mk-pair .mk-person h3{font-size:20px}.mk-date{font-size:10px;line-height:1.8;letter-spacing:.04em;color:#8e9ca0;margin:0}.mk-light{display:flex;justify-content:center;align-items:baseline;gap:5px 10px;flex-wrap:wrap;font-size:9px;line-height:1.9;color:#b1a896;margin:14px 0}.mk-light strong{font-size:15px;font-weight:400;letter-spacing:.06em}.mk-light span{font-size:9px;color:#7e8e95;border-left:1px solid #4f5b5f;padding-left:10px}.mk-time-note{font-size:9px;font-weight:400;line-height:1.8;color:#809196;margin:7px auto;max-width:37em;overflow-wrap:anywhere}.mk-print-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #afbcbb26;padding-top:15px;margin-top:31px;font-size:8px;letter-spacing:.1em;line-height:1.8;color:#7f8d92}.mk-print-footer span:first-child{letter-spacing:.22em}.mk-save{font-size:10px!important;background:transparent;border:0;border-bottom:1px solid #c9ceca;padding:12px 0;min-height:40px;margin:5px 0;color:#526965;letter-spacing:.08em}.mk-save:disabled{opacity:.45;cursor:default}.mk-save-status{font-size:10px;line-height:1.7;color:#8e8170;margin:8px 0}.mk-blend{border-top:1px solid #89949328;padding-top:21px;margin-top:27px}.mk-blend label{display:grid;gap:12px;font-size:10px;color:#a6ada7;max-width:310px;margin:auto}.mk-blend input{height:14px;accent-color:#aeb6ae;width:100%;cursor:ew-resize}.mk-blend-stage{height:146px;position:relative;width:min(100%,290px);margin:15px auto 0}.mk-blend-stage>div{position:absolute;top:0;width:140px;height:140px;left:calc(50% - 140px + var(--moon-blend)*.7px);opacity:.86;transition:left .15s ease-out}.mk-blend-stage>div+div{left:calc(50% - var(--moon-blend)*.7px)}.mk-blend p{font-size:9px;line-height:1.8;color:#74868c}.mk-method{padding:20px 0;margin-top:38px;border-top:1px solid #d4d8d1;color:#7c8881;font-size:11px;line-height:1.9}.mk-method summary{font-size:11px;color:#5e7069;cursor:pointer;letter-spacing:.06em}.mk-method a{color:#8d806d}.mk-method p{max-width:90em}
@keyframes moon-appear{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@media(min-width:1000px){.mk-input{position:sticky;top:25px}}
@media(max-width:900px){html body[data-tool="moonkeepsake"] .wrap{padding-left:25px;padding-right:25px}.mk-studio{gap:28px;grid-template-columns:minmax(0,1.3fr) minmax(265px,1fr)}.mk-preview{min-height:610px}.mk-print,.mk-preview{padding-left:23px;padding-right:23px}.mk-input h2{font-size:24px}.mk-person-moon{width:95%}.mk-fields{gap:18px 14px}}
@media(max-width:700px){html body[data-tool="moonkeepsake"] .wrap{padding-left:22px;padding-right:22px}html body[data-tool="moonkeepsake"] .hero{padding-top:25px;padding-bottom:27px}html body[data-tool="moonkeepsake"] .hero h1{font-size:31px}.mk-studio{grid-template-columns:1fr;grid-template-areas:"form" "portrait";gap:25px}.mk-input{padding:0}.mk-input h2,.mk-input>.mk-kicker,.mk-intro{display:none}.mk-fields{margin:0 0 19px;gap:18px 18px}.mk-fields legend{padding-bottom:15px}.mk-fields input,.mk-fields select{font-size:16px;min-height:42px}.mk-add{margin:20px 0 14px}.mk-create{margin-top:12px}.mk-example{margin-top:7px}.mk-private{margin-top:16px;max-width:none}.mk-preview{min-height:540px}.mk-preview .mk-moon{width:90%;max-width:340px}.mk-print{padding:28px 23px 22px}.mk-print-line{font-size:17px;margin-bottom:25px}.mk-person-moon{width:100%;max-width:365px}.mk-persons.mk-pair{gap:14px}.mk-pair .mk-person h3{font-size:17px}.mk-pair .mk-light{display:block}.mk-pair .mk-light strong{margin-left:3px}.mk-pair .mk-light span{display:block;border:0;padding:0}.mk-print-footer{font-size:7px}.mk-method{margin-top:25px}.mk-person h3{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.moon-keepsake *{animation:none!important;transition:none!important;scroll-behavior:auto}}

html body[data-tool="moonkeepsake"] .mk-create{background:#2a3c3d}html body[data-tool="moonkeepsake"] .mk-create:hover{background:#405656}

/* Keep shared calculator form spacing from expanding the portrait studio. */
.moon-keepsake .mk-fields label{margin:0;font-size:12px}.moon-keepsake .mk-fields input,.moon-keepsake .mk-fields select{margin:0;min-height:42px}.moon-keepsake .mk-fields small{font-size:11px}.mk-private{font-size:11px}.mk-name{font-size:12px}.mk-date{font-size:12px}.mk-time-note{font-size:11px}.mk-light{font-size:11px}.mk-light span{font-size:10px}.mk-preview-note{font-size:11px}.mk-example{font-size:12px!important}.mk-print-footer{font-size:9px}
html body[data-tool="moonkeepsake"] .moon-keepsake .mk-create{background:#2a3c3d;box-shadow:none;font-size:13px!important}html body[data-tool="moonkeepsake"] .moon-keepsake .mk-create:hover{background:#405656}
