:root{
  --bg:#091321;--panel:#111f30;--panel2:#17283b;--field:#1c2d42;--border:#34475a;
  --text:#f7f4eb;--muted:#a8b7ca;--gold:#f6d9a7;--coral:#f37b91;--green:#119d7b;
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 10% -8%,#22375a 0,transparent 42%),radial-gradient(ellipse at 92% 65%,#123c43 0,transparent 37%),#081320;color:var(--text)}
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.4;background-image:radial-gradient(#fff 1px,transparent 1.2px),radial-gradient(#cdefff 1px,transparent 1.3px);background-size:139px 142px,231px 223px;background-position:0 0,39px 82px}
a{color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.53}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #7ee9c4;outline-offset:3px}
.shell{max-width:1390px;margin:auto;padding:23px 30px 46px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}
.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;font-size:15px;letter-spacing:.13em;font-weight:800}
.brand-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(140deg,#e86980,#a62c57);box-shadow:0 7px 25px #e4577c2e;font-size:24px;letter-spacing:normal}
.brand b{color:#ffcad7}
.site-header .small-info{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}
.tag{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:99px;border:1px solid #548477;background:#133a35;color:#a5f0cc;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero{margin:10px auto 33px;text-align:center;max-width:880px}
.hero .tag{margin-bottom:13px}
h1,h2,h3,p{margin-top:0}
h1,.display{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.035em}
h1{font-size:clamp(35px,4.2vw,64px);line-height:1.1;margin-bottom:13px}
h1 em{font-style:italic;color:#fb9cae}
.hero p{color:var(--muted);font-size:15px;line-height:1.7;margin:0 auto;max-width:680px}
.studio-grid{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(0,1.15fr);gap:22px;align-items:start}
.panel{background:linear-gradient(156deg,#122136f5,#101b2cef);border:1px solid #344455;border-radius:24px;box-shadow:0 16px 45px #020b1766;overflow:hidden}
.panel-head{padding:23px 26px 19px;border-bottom:1px solid #2f4255;display:flex;justify-content:space-between;align-items:center;gap:10px}
.panel-head h2{font-size:19px;margin:0;font-weight:800;letter-spacing:-.025em}
.panel-head p{font-size:12px;color:var(--muted);margin:5px 0 0}
.steps{font-size:12px;color:#f4daaf;font-weight:800;letter-spacing:.07em}
.form-content{padding:24px 26px 27px}
fieldset{border:0;margin:0 0 23px;padding:0;min-width:0}
fieldset:last-child{margin-bottom:0}
legend{display:block;font-size:11px;font-weight:800;text-transform:uppercase;color:#bdcfe2;letter-spacing:.08em;padding:0;margin:0 0 11px}
.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{min-width:0}
.field label{display:block;font-size:12px;font-weight:700;color:#c3d0df;margin-bottom:7px}
.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #3e5266;background:#1d2d42;border-radius:12px;color:#fcfaf6;padding:13px 14px;outline:none;box-shadow:none;transition:border-color .2s,background .2s}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#71ccb3;background:#223950}
.field input::placeholder,.field textarea::placeholder{color:#889cb0}
.field textarea{resize:vertical;min-height:113px;line-height:1.5}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23bed0d9' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.lang-switch{display:inline-flex;padding:4px;border-radius:99px;border:1px solid #394d60;background:#0d1b2e;gap:3px}
.lang-switch button{min-width:38px;border:0;background:transparent;color:#b4c6d4;font-size:11px;font-weight:800;border-radius:99px;padding:8px 9px}
.lang-switch button.active{background:#e9bd8c;color:#17243a}
.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.theme-btn{position:relative;min-height:83px;display:flex;align-items:center;text-align:left;gap:11px;padding:12px;border:1px solid #3b4b5d;border-radius:13px;background:#1a2a3d;color:#fff;transition:background .2s,border-color .2s,transform .2s}
.theme-btn:first-child{grid-column:span 2;background:linear-gradient(125deg,#1b394a,#20385a)}
.theme-btn:hover{background:#263c51;transform:translateY(-2px)}
.theme-btn[aria-pressed="true"]{border-color:#8ce9cb;box-shadow:inset 0 0 0 1px #8ce9cb55,0 0 0 2px #8ce9cb11;background:#243c4c}
.theme-emoji{flex:none;display:grid;place-items:center;width:41px;height:41px;border:1px solid #ffffff20;border-radius:12px;background:#ffffff12;font-size:24px}
.theme-copy strong{display:block;font-size:12.5px;line-height:1.4;margin-bottom:4px}
.theme-copy small{display:block;color:#aebdd0;font-size:10px;line-height:1.35}
.theme-check{display:none;position:absolute;top:7px;right:9px;color:#a6ffdb;font-size:12px}
.theme-btn[aria-pressed="true"] .theme-check{display:block}
.help{display:flex;align-items:center;justify-content:space-between;margin-top:9px;gap:12px;font-size:11px;color:#92a5b6}
.link-button{color:#aaf3d6;background:none;border:0;padding:0;font-size:11px;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:21px;border-top:1px solid #354658}
.btn{border-radius:12px;padding:14px 15px;border:1px solid transparent;color:white;font-size:12.5px;font-weight:800;transition:background .2s,transform .2s,box-shadow .2s}
.btn:hover:not(:disabled){transform:translateY(-1px)}
.btn-primary{background:#09966f;box-shadow:0 8px 22px #09966f25}
.btn-primary:hover{background:#0bab7e}
.btn-secondary{background:#30435b;border-color:#405368}
.btn-secondary:hover{background:#3a536f}
.btn-dark{background:#192b40;border-color:#3b5168}
.btn-dark:hover{background:#243951}
.btn-wide{width:100%}
.preview-panel{padding:22px;position:sticky;top:18px}
.preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 17px}
.preview-top h2{font-size:16px;margin:0}
.live{color:#95e5ca;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;white-space:nowrap}
.live::before{content:'●';font-size:9px;margin-right:7px}
.preview-border{padding:8px;border:1px solid #52617b;border-radius:21px;background:linear-gradient(135deg,#30445e,#14273b);box-shadow:0 16px 45px #04111fcc}
.card-visual{position:relative;aspect-ratio:16/10;isolation:isolate;overflow:hidden;border-radius:15px;background:#0b2440}
.card-visual.is-winter{background:linear-gradient(180deg,#07152f 0%,#123352 52%,#3d7289 100%)}
.sky-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 63% 28%,#447c9e8c,transparent 43%),radial-gradient(ellipse at 21% 30%,#086d7480,transparent 46%);z-index:0}
.aurora-svg{position:absolute;top:-10%;left:-9%;width:119%;height:72%;pointer-events:none;opacity:.95;z-index:1;mix-blend-mode:screen}
.aurora-wave{transform-origin:center;animation:aurora 14s ease-in-out infinite alternate}
.aurora-wave.two{animation-duration:19s;animation-delay:-8s}
.aurora-wave.three{animation-duration:24s;animation-delay:-4s}
@keyframes aurora{0%{transform:translate(-35px,24px) skewX(-6deg);opacity:.72}50%{opacity:1}100%{transform:translate(40px,-14px) skewX(5deg);opacity:.8}}
.moon{position:absolute;right:19%;top:17%;width:7%;aspect-ratio:1;border-radius:50%;background:#fbf1cc;box-shadow:0 0 18px #f8e5b6a6,0 0 55px #fff1bf6b;z-index:1;opacity:.9}
.starfield{position:absolute;inset:0;z-index:1}
.starfield span{position:absolute;width:var(--s);height:var(--s);left:var(--x);top:var(--y);border-radius:50%;background:#fff8e4;box-shadow:0 0 8px #ffffff70;animation:twinkle 4s ease-in-out infinite alternate;animation-delay:var(--d)}
@keyframes twinkle{0%{opacity:.13;transform:scale(.6)}100%{opacity:1;transform:scale(1.35)}}
.winter-landscape{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.snow-particles{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none}
.snow-particles i{position:absolute;top:-12%;left:var(--x);width:var(--size);height:var(--size);background:#fff;border-radius:50%;opacity:var(--opacity);filter:drop-shadow(0 0 2px #fff8);animation:snowDown var(--dur) linear infinite;animation-delay:var(--delay)}
@keyframes snowDown{from{transform:translate(0,0)}to{transform:translate(var(--drift),680px)}}
.message-frame{position:absolute;z-index:5;left:13%;right:13%;bottom:9%;padding:17px 26px 20px;text-align:center;background:linear-gradient(130deg,#0b2343dc,#092f48c9);border:1px solid #e8f5ef65;border-radius:19px;box-shadow:0 12px 44px #06121c7a, inset 0 1px #ffffff20;backdrop-filter:blur(11px)}
.message-kicker{display:block;font-size:9px;letter-spacing:.29em;color:#c4eedd;font-weight:800;margin-bottom:7px}
.message-salutation{font-family:'Playfair Display',Georgia,serif;font-size:clamp(17px,2.9vw,33px);line-height:1.18;color:#f6e3b7;font-style:italic;overflow-wrap:anywhere;text-shadow:0 2px 8px #031620}
.message-greeting{font-size:clamp(10px,1.14vw,14px);line-height:1.5;color:#f3f7f5;max-width:580px;margin:10px auto 9px;overflow-wrap:anywhere}
.message-sender{font-family:Georgia,serif;font-style:italic;font-size:clamp(11px,1.45vw,16px);color:#f8d9bd;overflow-wrap:anywhere}
.card-footer-brand{position:absolute;bottom:1.5%;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.28em;color:#264555ab;z-index:5}
.illustration-canvas{display:block;width:100%;height:100%;object-fit:cover}
.illustration-snow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(#fff8 1px,transparent 2px);background-size:56px 70px;opacity:.14;animation:twinkle 8s ease-in-out infinite alternate}
.preview-note{font-size:12px;line-height:1.65;color:#9fb2c5;margin:15px 5px 11px}
.quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.quick-actions .btn{flex:1;min-width:145px}
.preview-tip{font-size:11px;color:#97aabd;margin-top:16px;display:flex;gap:8px;align-items:start;line-height:1.5}
.preview-tip b{color:#f3d39e}
.page-footer{border-top:1px solid #2d3d50;margin-top:35px;padding-top:19px;font-size:11px;color:#8ca0b0;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,25px);padding:13px 20px;border:1px solid #8ee2c677;background:#123a3a;color:#e4fff3;box-shadow:0 18px 50px #0008;border-radius:13px;opacity:0;pointer-events:none;z-index:90;max-width:min(450px,calc(100vw - 32px));text-align:center;font-size:12px;font-weight:700;transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translate(-50%,0)}
/* Full-screen recipient preview */
body.viewer-body{min-height:100vh;background:radial-gradient(circle at 50% 18%,#2c5867 0,#0b1d31 60%,#08111e 100%)}
.viewer-shell{width:min(1140px,100%);margin:auto;padding:20px 24px 38px}
.viewer-header{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:19px}
.viewer-badge{font-size:11px;letter-spacing:.11em;color:#b6cbda;font-weight:800}
.viewer-stage{width:min(100%,1030px);margin:auto}
.viewer-stage .card-visual{box-shadow:0 23px 70px #0009;border:1px solid #82979e44}
.viewer-caption{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0 0}
.viewer-caption p{font-size:12px;color:#b4c9d8;margin:0 14px 0 0}
.viewer-error{padding:95px 20px;text-align:center}
.viewer-error h1{font-size:36px}
.viewer-error p{font-size:15px;color:#a8b8c8}
.close-btn{border:1px solid #42566c;background:#1b3044;color:#f2f4f6;border-radius:99px;padding:10px 14px;font-size:12px;font-weight:700}
.overlay-preview{position:fixed;inset:0;z-index:50;background:#071527ee;backdrop-filter:blur(18px);display:none;overflow:auto;padding:20px 24px}
.overlay-preview.open{display:block}
.overlay-preview .viewer-shell{padding:0}
.overlay-preview .viewer-stage{width:min(100%,1100px)}
.overlay-preview .viewer-stage .card-visual{max-height:calc(100vh - 112px)}
body.modal-open{overflow:hidden}
/* Landing / license activation */
.landing-main{width:min(1090px,100%);margin:47px auto 36px;display:grid;grid-template-columns:1fr 1.06fr;align-items:center;gap:35px}
.landing-hero .tag{margin-bottom:18px}
.landing-hero h1{font-size:clamp(43px,5.6vw,73px);line-height:1.04}
.landing-hero h1 em{color:#f7c6a3}
.landing-hero p{color:#bbc9da;line-height:1.7;font-size:15px;max-width:430px;margin-bottom:22px}
.landing-points{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.landing-points span{border:1px solid #3b5d61;background:#102f3b;border-radius:99px;color:#d5e5e5;font-size:11px;padding:9px 13px}
.license-panel{border:1px solid #3d5361;background:#102338bd;padding:22px;border-radius:19px;max-width:430px}
.license-panel h2{font-size:16px;margin-bottom:9px}
.license-panel p{font-size:12px;line-height:1.55;color:#afc2d4;margin-bottom:16px}
.license-panel .field{margin-bottom:12px}
.license-panel .btn{width:100%}
.license-hint{font-size:11px;color:#a9b4bd;margin:11px 0 0!important}
.license-hint.error{color:#ffb5ac}
.buy-cta{display:inline-block;text-decoration:none;margin-bottom:22px;padding:15px 24px}
.buy-cta[hidden]{display:none}
.landing-card{transform:rotate(2deg);box-shadow:0 24px 66px #0009;border-radius:18px;border:6px solid #53687833}
.landing-card .message-frame{left:13%;right:13%}
.landing-footer{text-align:center;font-size:11px;color:#91a4b8;margin:30px auto}
/* shared accessibility */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1060px){
 .shell{padding:20px 18px 35px}
 .studio-grid{grid-template-columns:minmax(310px,.86fr) minmax(0,1fr);gap:15px}
 .preview-panel{padding:15px}
 .form-content{padding:20px}
 .panel-head{padding:18px 20px}
 .message-frame{left:8%;right:8%;bottom:9%;padding:13px 13px 15px}
 .message-salutation{font-size:clamp(18px,2.7vw,26px)}
 .message-greeting{font-size:clamp(10px,1.25vw,12px);margin:8px auto}
}
@media(max-width:820px){
 .studio-grid{grid-template-columns:1fr}
 .preview-panel{position:static;order:-1;max-width:800px;margin:auto;width:100%}
 .panel.control-panel{max-width:800px;margin:auto;width:100%}
 .preview-panel .card-visual{aspect-ratio:16/10}
 .message-frame{left:12%;right:12%;bottom:9%}
 .message-salutation{font-size:clamp(20px,3.6vw,30px)}
 .message-greeting{font-size:clamp(11px,1.8vw,14px)}
 .landing-main{grid-template-columns:1fr;max-width:700px;margin:30px auto}
 .landing-card{max-width:620px;width:100%;margin:auto;transform:none}
 .landing-hero{text-align:center}
 .landing-hero p{margin-left:auto;margin-right:auto}
 .landing-points{justify-content:center}
 .license-panel{margin:auto}
}
@media(max-width:550px){
 .shell{padding:15px 11px 30px}
 .site-header{margin-bottom:23px;padding:0 4px}
 .site-header .small-info{display:none}
 .brand{font-size:12px;letter-spacing:.06em}
 .brand-icon{width:37px;height:37px;font-size:22px}
 .hero{margin:7px auto 25px}
 h1{font-size:38px}
 .hero p{font-size:13px;line-height:1.55;padding:0 12px}
 .panel{border-radius:19px}
 .preview-panel{padding:12px}
 .preview-top{padding:4px 4px 12px}
 .preview-panel .card-visual,.viewer-stage .card-visual,.landing-card .card-visual{aspect-ratio:4/5}
 .sky-glow{background:radial-gradient(ellipse at 45% 25%,#447c9e8c,transparent 43%),radial-gradient(ellipse at 21% 30%,#086d7480,transparent 46%)}
 .moon{right:14%;top:20%;width:13%}
 .aurora-svg{height:59%}
 .winter-landscape{height:100%}
 .message-frame{left:6%;right:6%;bottom:8%;padding:16px 15px 21px;border-radius:16px}
 .message-kicker{font-size:8px;letter-spacing:.20em}
 .message-salutation{font-size:clamp(22px,6.2vw,31px)}
 .message-greeting{font-size:clamp(12px,3.05vw,14px);line-height:1.5}
 .message-sender{font-size:13px}
 .card-footer-brand{font-size:6px}
 .theme-grid{gap:8px}
 .theme-btn{min-height:79px;padding:8px;gap:7px}
 .theme-emoji{width:31px;height:34px;font-size:20px}
 .theme-copy strong{font-size:11px}
 .theme-copy small{font-size:9px}
 .input-grid{gap:8px}
 .field input,.field textarea,.field select{padding:12px 11px;font-size:13px}
 .actions{grid-template-columns:1fr 1fr}
 .btn{font-size:11.5px;padding:13px 10px}
 .quick-actions .btn{min-width:110px}
 .viewer-shell{padding:11px 12px 25px}
 .viewer-header{margin-bottom:13px}
 .viewer-caption{margin:14px 0 0}
 .viewer-caption p{flex-basis:100%;text-align:center;margin:0}
 .overlay-preview{padding:12px}
 .overlay-preview .viewer-stage .card-visual{max-height:none}
 .landing-main{margin:20px auto;gap:22px}
 .landing-hero h1{font-size:42px}
 .landing-card{border-width:3px}
 .license-panel{padding:18px}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
 .snow-particles{display:none}
}

/* 2.0 PREMIUM VISUAL SYSTEM - high resolution scenes + editable DOM typography */
.theme-thumbnail{flex:none;display:block;width:66px;height:52px;border-radius:10px;object-fit:cover;border:1px solid #e1b97c55;box-shadow:0 4px 13px #0007}
.theme-btn{min-height:84px;gap:12px}
.theme-btn:first-child{background:linear-gradient(125deg,#152f45,#203551)}
.card-visual.is-premium{background:#091e36;border:1px solid rgba(235,207,161,.34);box-shadow:inset 0 0 20px #040e1877}
.photo-scene{position:absolute;inset:-2.6%;z-index:0;will-change:transform;animation:sceneBreath 30s ease-in-out infinite alternate}
.photo-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 51%;filter:saturate(1.09) contrast(1.05)}
@keyframes sceneBreath{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.055) translate(-.8%,.7%)}}
.photo-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#010c2008 0%,#00112519 33%,#000d2360 100%),radial-gradient(ellipse at 50% 42%,transparent 30%,#0615285b 100%)}
.card-visual[data-theme="sofa"] .photo-vignette{background:linear-gradient(180deg,#03132417,#051d2a20 48%,#050b1c88 100%)}
.card-visual[data-theme="reindeer"] .photo-vignette{background:linear-gradient(180deg,#03132409,#06172831 45%,#04132575 100%)}
.card-visual[data-theme="snowman"] .photo-vignette{background:linear-gradient(180deg,#0c133116,#22163336 42%,#16132d6c 100%)}
.card-visual[data-theme="elves"] .photo-vignette{background:linear-gradient(180deg,#140c1d11,#1a132529 42%,#06132477 100%)}
.aurora-shimmer{position:absolute;z-index:2;pointer-events:none;width:150%;height:50%;left:-17%;top:-25%;opacity:.45;filter:blur(29px);mix-blend-mode:screen;background:conic-gradient(from 145deg at 48% 46%,transparent 0deg,#24debf88 32deg,#98f9c72e 63deg,transparent 99deg,#bc88e252 142deg,#30f7ca85 168deg,transparent 210deg);transform-origin:45% 0%;animation:premiumAurora 17s ease-in-out infinite alternate}
@keyframes premiumAurora{0%{transform:translate(-6%,6%) rotate(-7deg) scaleX(.94);opacity:.24}50%{opacity:.54}100%{transform:translate(6%,-3%) rotate(6deg) scaleX(1.11);opacity:.4}}
.fine-sparkles{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.fine-sparkles i{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);background:#fff0c4;border-radius:50%;box-shadow:0 0 8px 2px #ffdd9b4a;animation:premiumTwinkle 5.5s ease-in-out infinite alternate;animation-delay:var(--delay)}
@keyframes premiumTwinkle{0%{opacity:.12;transform:scale(.7)}100%{opacity:.92;transform:scale(1.45)}}
.is-premium .snow-particles{z-index:4}
.is-premium .snow-particles i{animation-name:premiumSnow;filter:drop-shadow(0 0 3px #fff8)}
@keyframes premiumSnow{from{transform:translate3d(0,-30px,0)}to{transform:translate3d(var(--drift),800px,0)}}
.is-premium .message-frame{z-index:6;left:13.5%;right:13.5%;top:29%;bottom:auto;max-height:65%;overflow:auto;border:1.5px solid rgba(246,207,149,.84);border-radius:26px;padding:18px 30px 22px;background:linear-gradient(135deg,rgba(8,29,53,.91),rgba(9,35,60,.87) 57%,rgba(8,26,49,.91));backdrop-filter:blur(10px);box-shadow:0 0 0 4px #10365338,0 18px 62px #020b1bab,inset 0 1px 1px #ffffff35;text-align:center}
.is-premium .message-frame::before{content:'';position:absolute;inset:6px;border:1px solid #fcdb9b36;border-radius:21px;pointer-events:none}
.is-premium .message-kicker{position:relative;font-size:clamp(8px,.9vw,12px);font-weight:900;letter-spacing:.35em;color:#f4d9a4;margin-bottom:9px}
.is-premium .message-salutation{position:relative;font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,3.7vw,47px);font-weight:500;line-height:1.13;font-style:italic;color:#ffe0a3;text-shadow:0 3px 12px #001224aa;overflow-wrap:anywhere}
.is-premium .message-greeting{position:relative;font-size:clamp(11px,1.25vw,17px);font-weight:450;line-height:1.54;letter-spacing:.005em;color:#f6f3ea;max-width:600px;margin:15px auto 13px;overflow-wrap:anywhere}
.is-premium .message-sender{position:relative;display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(13px,1.75vw,21px);line-height:1.32;font-style:italic;color:#ffdcac;overflow-wrap:anywhere}
.is-premium .card-footer-brand{z-index:7;color:#f5ddb3ac;bottom:2%;font-size:clamp(5px,.75vw,10px);letter-spacing:.3em;text-shadow:0 2px 8px #06182e}
@media(max-width:1060px){
 .is-premium .message-frame{top:32%;left:9%;right:9%;padding:12px 18px 17px;max-height:63%}
 .is-premium .message-greeting{font-size:clamp(11px,1.35vw,15px);margin:9px auto}
 .is-premium .message-salutation{font-size:clamp(20px,3.5vw,37px)}
}
@media(max-width:820px){
 .is-premium .message-frame{top:32%;left:12%;right:12%;max-height:63%;padding:18px 22px 20px}
 .is-premium .message-greeting{font-size:clamp(12px,2vw,16px)}
 .is-premium .message-salutation{font-size:clamp(23px,4.4vw,40px)}
}
@media(max-width:550px){
 .theme-thumbnail{width:47px;height:46px;border-radius:8px}
 .theme-btn{min-height:77px;gap:8px}
 .theme-copy strong{font-size:10.5px}
 .theme-copy small{font-size:9px}
 .photo-scene img{object-position:center center}
 .is-premium .message-frame{left:5.4%;right:5.4%;top:37%;bottom:auto;max-height:58%;padding:15px 13px 19px;border-radius:18px;border-width:1.2px}
 .is-premium .message-frame::before{inset:4px;border-radius:14px}
 .is-premium .message-kicker{font-size:8px;letter-spacing:.25em;margin-bottom:6px}
 .is-premium .message-salutation{font-size:clamp(23px,6.2vw,32px);line-height:1.16}
 .is-premium .message-greeting{font-size:clamp(11px,3vw,14px);margin:10px auto 8px;line-height:1.48}
 .is-premium .message-sender{font-size:clamp(13px,3.6vw,17px)}
 .is-premium .card-footer-brand{bottom:1.7%;font-size:6px}
}
@media(prefers-reduced-motion:reduce){
 .is-premium .snow-particles{display:none}
 .photo-scene,.aurora-shimmer,.fine-sparkles i{animation:none!important}
}
/* Link sharing must be honest about the offline demo and accessible on mobile. */
.share-notice{margin-top:13px;border:1px solid #527265;border-radius:12px;background:#15352e;color:#d2f9e6;padding:12px 14px;line-height:1.55;font-size:12px;}
.share-notice[data-kind="warn"]{border-color:#8d744b;background:#362b20;color:#ffe3b3}
.share-notice[data-kind="error"]{border-color:#975560;background:#401f29;color:#ffd4d9}
.manual-link{margin-top:12px;padding:12px;background:#1a2f43;border:1px solid #5b7185;border-radius:12px;}
.manual-link label{display:block;margin-bottom:8px;font-size:12px;color:#dcecf7}
.manual-link-row{display:flex;gap:8px}
.manual-link-row input{min-width:0;flex:1;border-radius:9px;border:1px solid #637a8e;background:#102334;color:white;padding:10px;font-size:12px}
.manual-link-row .btn{white-space:nowrap}
@media (max-width:480px){.manual-link-row{flex-direction:column}.manual-link-row .btn{width:100%}}
