.icon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex-shrink:0}.icon-button{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:inherit;flex-shrink:0}.brand-star{display:flex}.brand-star .icon{width:32px;height:32px}.occasion .icon{width:19px;height:19px}.text-button .icon{width:17px;height:17px;margin-right:7px}#inspire{display:flex;align-items:center;gap:6px}#inspire .icon{margin:0}.card-ornament{display:flex;justify-content:center;align-items:center;height:80px;animation:none}.card-ornament .icon{width:56px;height:56px;stroke-width:1.1}.success-symbol .icon{width:58px;height:58px}.background-label{font-size:14px;font-weight:600;margin:22px 0 10px}.backgrounds{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.background-choice{background:none;padding:0;color:inherit;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;font-size:12px}.background-swatch{width:100%;height:52px;border-radius:10px;border:1px solid #52664f20;display:grid;place-items:center}.background-swatch .icon{opacity:0;width:20px;height:20px;background:#fffef6;color:#234634;border-radius:50%;padding:2px}.background-choice[aria-pressed=true] .background-swatch{outline:2px solid #567957;outline-offset:3px}.background-choice[aria-pressed=true] .icon{opacity:1}.scene-aurora,[data-scene=aurora]{background:radial-gradient(ellipse at 18% 15%,#ddc9ed 0,transparent 55%),radial-gradient(ellipse at 90% 78%,#c5ddd7 0,transparent 55%),#f7ece7}.scene-sunset,[data-scene=sunset]{background:radial-gradient(ellipse at 80% 0,#f3ba99 0,transparent 60%),radial-gradient(ellipse at 10% 100%,#dab2c2 0,transparent 60%),#ffe7d7}.scene-midnight,[data-scene=midnight]{background:radial-gradient(ellipse at 70% 15%,#424d79 0,transparent 55%),radial-gradient(ellipse at 5% 90%,#34304e 0,transparent 60%),#101c31}.scene-garden,[data-scene=garden]{background:radial-gradient(ellipse at 5% 20%,#bbcdb1 0,transparent 55%),radial-gradient(ellipse at 90% 90%,#e5dda8 0,transparent 65%),#eef0d9}.scene-paper,[data-scene=paper]{background:radial-gradient(ellipse at 50% 0,#fff 0,transparent 85%),#e9e4da}.preview-area{transition:background .4s}.preview-area[data-scene=midnight] .preview-caption,.preview-area[data-scene=midnight] .preview-foot{color:#e5e7f0}.card-footer{display:none}
/* The received link is a full-window invitation, without editor branding. */
body.recipient-mode{min-height:100svh}body.recipient-mode>.header,body.recipient-mode>footer{display:none}body.recipient-mode #studio{display:none}body.recipient-mode #recipient-view{max-width:none;width:100%;min-height:100svh;padding:36px 20px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center}body.recipient-mode .reveal-cover{background:none!important;box-shadow:none;min-height:0;width:100%;padding:0;border:0;border-radius:0;perspective:1200px}body.recipient-mode .recipient-top,body.recipient-mode .recipient-actions{display:none}body.recipient-mode.is-open .recipient-top{display:flex;order:2;margin:22px 0 0;gap:12px;max-width:650px}body.recipient-mode.is-open .recipient-actions{display:flex;order:3;margin:18px 0 0}body.recipient-mode #card-track-label{display:none}body.recipient-mode #revealed-card{width:min(650px,100%)}body.recipient-mode #revealed-card .greeting{min-height:0;border-radius:12px;box-shadow:0 30px 100px #13203722}body.recipient-mode #revealed-card .greeting-inner{min-height:0;padding:48px 42px;gap:0}body.recipient-mode #revealed-card .card-ornament{height:65px;margin-bottom:16px}body.recipient-mode #revealed-card .card-ornament .icon{width:50px;height:50px}body.recipient-mode #revealed-card .card-title{font-size:clamp(30px,5vw,52px)}body.recipient-mode #revealed-card .card-message{font-size:clamp(16px,2.2vw,19px);line-height:1.85}body.recipient-mode #revealed-card .card-from{margin-bottom:0}body.recipient-mode[data-scene=midnight] .recipient-actions,body.recipient-mode[data-scene=midnight] .recipient-top{color:#e8ecfa}body.recipient-mode[data-scene=midnight] .recipient-actions button{color:inherit;border-color:#ffffff40}.envelope{--paper:#f1d8d3;--fold:#eac8c2;--flap:#f9e4df;--seal:#a9535c;--ink:#794850;position:relative;display:block;width:min(470px,82vw);aspect-ratio:1.53;margin:50px auto;border:0;padding:0;background:none;color:var(--ink);perspective:1200px;border-radius:8px;filter:drop-shadow(0 28px 27px #29182d25);transition:transform .4s}.envelope:hover{transform:translateY(-5px)}.theme-night .envelope{--paper:#35405b;--fold:#2d3851;--flap:#46526e;--seal:#cfad74;--ink:#f6e6c6}.theme-citrus .envelope{--paper:#d6dfb0;--fold:#c6d29f;--flap:#e5ebc9;--seal:#657b4c;--ink:#43563c}.theme-lilac .envelope{--paper:#d8cbea;--fold:#c8b8de;--flap:#e5daf2;--seal:#846394;--ink:#634778}.envelope-back{position:absolute;inset:0;background:var(--fold);border-radius:8px}.envelope-letter{position:absolute;inset:10px 18px 15px;background:#fffdf4;border-radius:6px;display:grid;place-items:center;transition:transform .8s .15s,opacity .3s .5s}.envelope-letter .icon{width:42px;height:42px;stroke:#bc6e78;stroke-width:1.1}.envelope-front{position:absolute;inset:0;background:var(--paper);clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);border-radius:8px}.envelope-front:after{content:'';position:absolute;inset:0;background:var(--fold);clip-path:polygon(0 100%,50% 47%,100% 100%)}.envelope-flap{position:absolute;inset:0;background:var(--flap);clip-path:polygon(0 0,100% 0,50% 56%);transform-origin:top;transition:transform .7s;backface-visibility:hidden;z-index:3;border-radius:8px}.envelope-seal{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);width:58px;height:58px;background:var(--seal);border:4px double #ffffff35;border-radius:50%;color:#fff6e7;display:grid;place-items:center;box-shadow:0 4px 8px #0002;z-index:4;transition:opacity .2s,transform .3s}.envelope-seal .icon{width:24px;height:24px;stroke-width:1.3}#cover-recipient{position:absolute;left:8%;right:8%;bottom:19%;font-family:'Playfair Display',Georgia,serif;font-size:clamp(16px,3vw,25px);z-index:2;overflow-wrap:anywhere;line-height:1.25}#envelope-hint{position:absolute;left:0;right:0;bottom:6%;font-size:11px;letter-spacing:1px;z-index:2;opacity:.7}.is-opening .envelope-flap{transform:rotateX(180deg)}.is-opening .envelope-seal{opacity:0;transform:translate(-50%,-50%) scale(.7)}.is-opening .envelope-letter{transform:translateY(-60%);opacity:0}.is-opening .envelope{pointer-events:none}.recipient-mode.is-open #replay{display:inline-flex;align-items:center;gap:6px}.recipient-mode #sound-toggle{background:#ffffff35;border-color:#ffffff60}.recipient-mode .text-button{color:inherit}
/* Editor appearance is separate from the recipient's chosen backdrop. */
html[data-appearance=dark]{color-scheme:dark;background:#161e24;color:#edf0ed;--line:#39454c;--muted:#a5b1b5}html[data-appearance=dark] body:not(.recipient-mode){background:#161e24}html[data-appearance=dark] body:not(.recipient-mode) input,html[data-appearance=dark] body:not(.recipient-mode) textarea{background:#202b33;border-color:#43515a;color:#edf1ed}html[data-appearance=dark] body:not(.recipient-mode) .occasion{color:#d9e4db;border-color:#43515a}html[data-appearance=dark] body:not(.recipient-mode) .occasion.selected{background:#334d41;color:#f3f5ed;border-color:#8dbd9a}html[data-appearance=dark] body:not(.recipient-mode) .text-button,html[data-appearance=dark] body:not(.recipient-mode) .secondary{color:#c5dbcc}html[data-appearance=dark] body:not(.recipient-mode) .theme-choice{color:#e1e7e1;border-color:#53645b}html[data-appearance=dark] body:not(.recipient-mode) .theme-choice.selected{border-color:#a2c99d;box-shadow:0 0 0 1px #a2c99d}html[data-appearance=dark] .music-selection{background:#253139;border-color:#43515a;color:#e3ece7}html[data-appearance=dark] .music-label,html[data-appearance=dark] .hint{color:#a8b4aa}html[data-appearance=dark] .languages button{color:#edf0ed}html[data-appearance=dark] .languages .active{background:#d5e8ce;color:#263c2a}html[data-appearance=dark] dialog{background:#202b33;color:#e3ece7}html[data-appearance=dark] dialog p,html[data-appearance=dark] .song-info span{color:#b8c4ba}html[data-appearance=dark] dialog input{background:#152128!important;color:#eef3ee!important}html[data-appearance=dark] .music-row{border-color:#43515a}html[data-appearance=dark] .small{color:#dde7df}html[data-appearance=dark] .brand-star{color:#ff8468}html[data-appearance=dark] .greeting{color-scheme:light}html[data-appearance=dark] .preview-button{color:#344631}
@media(max-width:760px){.header{gap:12px}.header .languages{margin-left:0}.header .icon-button{margin-left:auto;width:36px;height:36px}.backgrounds{gap:8px}.background-choice{font-size:11px}.background-swatch{height:43px}.brand-star .icon{width:26px;height:26px}body.recipient-mode #recipient-view{padding:24px 14px}body.recipient-mode #revealed-card .greeting-inner{padding:36px 25px}.envelope-seal{width:46px;height:46px}#envelope-hint{font-size:10px}.envelope{margin:50px auto}}@media(prefers-reduced-motion:reduce){.envelope,.envelope *{transition:none!important}}
.envelope:disabled{opacity:1;cursor:default}#cover-recipient.long{bottom:7%;font-size:14px}#cover-recipient.long+#envelope-hint{display:none}.song-listen .icon{width:17px;height:17px}.card-title:focus{outline:none}
