@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.\[smoke\:http\]{smoke:http}.\[verify\:fast\]{verify:fast}}:root{--night:#191020;--night-soft:#26182f;--plum:#38213f;--plum-light:#735b7b;--lavender:#b8a5cb;--cream:#fff8ee;--cream-deep:#f4eadc;--paper:#fffdf8;--coral:#f37967;--coral-deep:#c65354;--rose:#e9a4b8;--gold:#e6bc66;--ink:#302337;--muted:#776b78;--line:#47304c29;--white-line:#fff8ee24;--shadow:0 24px 70px #140a1b33;--serif:"Songti SC", "STSong", "SimSun", serif;--sans:"PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--night)}body{background:var(--night);min-width:320px;min-height:100vh;color:var(--cream);font-family:var(--sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}button,textarea,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}::selection{color:#fff;background:#f3796759}.site-shell{min-height:100vh;position:relative;overflow:hidden}.skip-link{z-index:1000;background:var(--cream);color:var(--night);border-radius:8px;padding:10px 14px;transition:transform .2s;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sky-backdrop{z-index:-2;background:radial-gradient(circle at 12% 10%,#7b4e8042,#0000 32%),radial-gradient(circle at 82% 84%,#a1485826,#0000 34%),linear-gradient(145deg,#120c18 0%,#211428 45%,#18101f 100%);position:fixed;inset:0;overflow:hidden}.aurora{filter:blur(80px);opacity:.15;border-radius:50%;width:42vw;height:42vw;animation:14s ease-in-out infinite alternate aurora-drift;position:absolute}.aurora-one{background:#be7186;top:-18vw;right:-8vw}.aurora-two{background:#8b76ba;animation-delay:-6s;bottom:-24vw;left:-13vw}.sky-star{top:var(--star-top);left:var(--star-left);width:var(--star-size);height:var(--star-size);opacity:.35;animation:star-twinkle 3.2s ease-in-out var(--star-delay) infinite;background:#ffe9b0;border-radius:50%;position:absolute;box-shadow:0 0 8px #ffde93cc}.site-header{z-index:30;border-bottom:1px solid var(--white-line);justify-content:space-between;align-items:center;width:min(1320px,100% - 64px);min-height:92px;margin:0 auto;display:flex;position:relative}.brand{align-items:center;gap:12px;min-height:48px;display:inline-flex}.brand-mark{width:38px;height:38px;color:var(--gold);border:1px solid #fff4de52;border-radius:50%;place-items:center;display:grid}.brand>span:last-child{flex-direction:column;display:flex}.brand small{color:#fff8ee80;letter-spacing:.2em;font-size:8px;font-weight:600}.brand strong{color:var(--cream);font-family:var(--serif);letter-spacing:.12em;margin-top:2px;font-size:20px;font-weight:500}.desktop-nav{align-items:center;gap:2px;display:flex}.chapter-link{color:#fff8ee94;align-items:center;gap:7px;min-height:44px;padding:0 13px;font-size:13px;transition:color .2s,background .2s;display:inline-flex;position:relative}.chapter-link span{color:#ffe2a661;letter-spacing:.08em;font-family:Georgia,serif;font-size:9px}.chapter-link:after{background:var(--coral);content:"";opacity:0;height:1px;transition:opacity .2s,transform .2s;position:absolute;bottom:1px;left:13px;right:13px;transform:scaleX(.3)}.chapter-link:hover,.chapter-link.active{color:var(--cream)}.chapter-link:hover{background:#ffffff09}.chapter-link.active:after{opacity:1;transform:scaleX(1)}main{z-index:2;position:relative}.page{width:min(1200px,100% - 64px);min-height:calc(100vh - 172px);margin:0 auto;padding:76px 0 90px}.chapter-page{padding-top:32px}.eyebrow{color:#ffebca8a;letter-spacing:.23em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 20px;font-family:Georgia,Times New Roman,serif;font-size:10px;font-weight:600;display:flex}.eyebrow>span{background:var(--coral);width:34px;height:1px;display:block}.page h1,.home-copy h1{font-family:var(--serif);letter-spacing:.015em;margin:0;font-weight:500}.page h1 em,.home-copy h1 em{color:var(--coral);font-style:normal;display:block}.page h1{max-width:780px;font-size:clamp(22px,2.5vw,34px);line-height:1.2}.page-heading{border-bottom:1px solid var(--white-line);justify-content:space-between;align-items:flex-end;gap:40px;padding-bottom:34px;display:flex}.page-intro{color:#fff8eea3;max-width:720px;margin:26px 0 36px;font-size:15px;line-height:1.9}.chapter-counter,.chapter-badge,.candle-counter,.letter-progress{color:#fff8ee99;flex:none;margin-bottom:7px}.chapter-counter{align-items:baseline;gap:6px;display:flex}.chapter-counter strong{color:var(--coral);font-family:Georgia,serif;font-size:48px;font-weight:400}.chapter-counter span{letter-spacing:.08em;font-size:12px}.chapter-badge,.candle-counter,.letter-progress{border:1px solid var(--white-line);letter-spacing:.04em;border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:12px;display:inline-flex}.candle-counter{color:var(--gold)}.primary-button,.secondary-button,.quiet-button,.seal-button{cursor:pointer;letter-spacing:.02em;border-radius:12px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-weight:650;transition:transform .2s,box-shadow .2s,background .2s,opacity .2s;display:inline-flex}.primary-button{background:var(--coral);color:#fff;border:1px solid #ffffff2e;padding:0 22px;box-shadow:0 14px 34px #f3796738}.primary-button:hover:not(:disabled),.secondary-button:hover,.quiet-button:hover,.seal-button:hover{transform:translateY(-2px)}.primary-button:disabled{cursor:default;opacity:.62}.secondary-button{background:var(--ink);color:var(--cream);border:1px solid #4b314f33;padding:0 20px}.quiet-button{color:var(--cream);background:0 0;border:1px solid #fff8ee33;padding:0 16px}.text-link{color:var(--coral-deep);border-bottom:1px solid #51304f47;align-items:center;gap:7px;margin-top:18px;font-size:13px;font-weight:650;line-height:2;display:inline-flex}.site-footer{z-index:3;border-top:1px solid var(--white-line);color:#fff8ee61;letter-spacing:.04em;justify-content:space-between;width:min(1200px,100% - 64px);margin:0 auto;padding:26px 0 34px;font-size:11px;display:flex;position:relative}.site-footer span:first-child{color:#ffccc68c;align-items:center;gap:7px;display:inline-flex}.mobile-nav{display:none}.confetti-layer{z-index:80;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-layer span{top:-22px;left:var(--confetti-left);background:var(--confetti-color);opacity:0;width:8px;height:13px;transform:rotate(var(--confetti-rotate));animation:confetti-fall var(--confetti-duration) ease-out var(--confetti-delay) both;border-radius:2px;position:absolute}.home-page{grid-template-columns:minmax(0,.92fr) minmax(450px,1.08fr);align-items:center;gap:clamp(30px,6vw,90px);padding-top:22px;display:grid}.home-copy{z-index:3;position:relative}.home-copy h1{font-size:clamp(24px,2.2vw,29px);line-height:1.08}.home-copy h1 em{margin-top:0;display:inline}.home-lead{color:#fff8eeab;max-width:590px;margin:28px 0 0;font-size:clamp(15px,1.4vw,17px);line-height:2}.home-actions{align-items:center;gap:18px;margin-top:34px;display:flex}.quiet-note{color:#fff8ee61;max-width:180px;font-size:11px;line-height:1.6}.chapter-preview{color:#fff8ee6b;letter-spacing:.1em;align-items:center;gap:9px;margin-top:39px;font-size:10px;display:flex}.chapter-preview i{background:#fff8ee26;width:18px;height:1px}.invitation-wrap{isolation:isolate;place-items:center;min-height:620px;display:grid;position:relative}.orbit{border:1px solid #ffeed221;border-radius:50%;animation:28s linear infinite orbit-spin;position:absolute}.orbit:after{background:var(--gold);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:11%;left:13%;box-shadow:0 0 13px #e7be68cc}.orbit-large{width:570px;height:570px}.orbit-small{width:440px;height:440px;animation-duration:20s;animation-direction:reverse}.orbit-small:after{background:var(--rose);width:5px;height:5px;top:74%;left:86%}.floating-star{z-index:2;color:var(--gold);text-shadow:0 0 18px #e6bc66b3;animation:4s ease-in-out infinite float-soft;position:absolute}.star-a{font-size:28px;top:12%;right:13%}.star-b{color:var(--rose);font-size:21px;animation-delay:-1.2s;bottom:18%;left:7%}.invitation-envelope{filter:drop-shadow(0 30px 40px #05020842);width:min(500px,92%);height:344px;margin-top:86px;position:relative}.envelope-back{z-index:1;background:#d8c3cf;border-radius:12px;position:absolute;inset:0}.invitation-card{z-index:2;min-height:390px;color:var(--ink);text-align:center;background:linear-gradient(#fffdf8f5,#fffaf1f5),repeating-linear-gradient(0deg,#0000,#0000 12px,#5b3a5606 13px);border:1px solid #5d3e5d1f;border-radius:6px;padding:44px 45px 36px;transition:transform .9s cubic-bezier(.22,1,.36,1);position:absolute;bottom:24px;left:24px;right:24px;transform:translateY(22px)rotate(-1.2deg);box-shadow:0 8px 32px #2d143029}.opened .invitation-card{transform:translateY(-150px)rotate(1deg)}.card-kicker{color:#9a8797;letter-spacing:.23em;font-family:Georgia,serif;font-size:9px}.card-heart{color:var(--coral);margin:24px auto 17px;display:block}.invitation-card h2{font-family:var(--serif);margin:0;font-size:clamp(24px,3vw,34px);font-weight:500;line-height:1.4}.invitation-card p{color:#746775;max-width:350px;margin:16px auto 0;font-size:13px;line-height:1.85}.card-signature{color:#a0919e;letter-spacing:.16em;margin-top:25px;font-family:Georgia,serif;font-size:8px}.envelope-front{z-index:3;pointer-events:none;background-color:#0000;background-image:linear-gradient(30deg,#e7d6dc 49.5%,#0000 50%),linear-gradient(-30deg,#eadde1 49.5%,#0000 50%);background-position:0 100%,100% 100%;background-repeat:no-repeat;background-size:51% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:12px;position:absolute;inset:0;overflow:hidden}.envelope-front:after{clip-path:polygon(0 0,100% 0,50% 58%);content:"";background:linear-gradient(150deg,#0000 49.6%,#704f6b14 50%);position:absolute;inset:0}.wax-seal{z-index:4;color:#f7c8bc;background:#a94e59;border:4px double #ffd8bc4d;border-radius:50%;place-items:center;width:58px;height:58px;transition:opacity .45s,transform .45s;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 7px 14px #5b262f3d}.opened .wax-seal{opacity:0;transform:translate(-50%,-50%)scale(1.5)}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.memory-card{cursor:pointer;perspective:1100px;text-align:left;background:0 0;border:0;border-radius:18px;height:340px;padding:0}.memory-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.memory-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.memory-card.flipped .memory-card-inner{transform:rotateY(180deg)}.memory-face{backface-visibility:hidden;border:1px solid #fff3;border-radius:18px;flex-direction:column;padding:31px;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 17px 40px #0a050e24}.memory-front:before,.memory-back:before{content:"";border:1px solid #52334f1f;border-radius:50%;width:190px;height:190px;position:absolute;bottom:-75px;right:-65px}.memory-card.peach{--card-color:#f2c1ae;--card-ink:#55383e}.memory-card.lavender{--card-color:#b6a3c4;--card-ink:#3f3149}.memory-card.gold{--card-color:#e4c47d;--card-ink:#514127}.memory-card.rose{--card-color:#e5a7b8;--card-ink:#593542}.memory-card.blue{--card-color:#91abbc;--card-ink:#263e4b}.memory-card.plum{--card-color:#735b7b;--card-ink:#fff8ee}.memory-front{background:var(--card-color);color:var(--card-ink)}.memory-back{background:var(--cream);color:var(--ink);justify-content:center;align-items:flex-start;transform:rotateY(180deg)}.memory-number{color:currentColor;opacity:.13;font-family:Georgia,serif;font-size:62px;position:absolute;top:20px;right:25px}.memory-chapter{letter-spacing:.19em;opacity:.65;margin-bottom:auto;font-family:Georgia,serif;font-size:9px;font-weight:600}.memory-face strong{z-index:1;font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.35;position:relative}.memory-hint,.memory-back>span:not(.flip-prompt){z-index:1;opacity:.74;margin-top:13px;font-size:13px;line-height:1.75;position:relative}.memory-back>svg{color:var(--coral);margin-bottom:20px}.memory-back>span:not(.flip-prompt){color:var(--muted);opacity:1}.flip-prompt{letter-spacing:.08em;opacity:.55;align-items:center;gap:6px;margin-top:24px;font-size:10px;display:inline-flex}.unlock-panel,.secret-gift,.finale-panel{background:var(--cream);box-shadow:var(--shadow);color:var(--ink);border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;margin-top:32px;padding:25px 28px;display:grid}.unlock-panel{opacity:.38;transition:opacity .5s,transform .5s;transform:translateY(8px)}.unlock-panel.visible{opacity:1;transform:translateY(0)}.unlock-icon,.secret-icon{background:var(--ink);width:52px;height:52px;color:var(--gold);border-radius:50%;place-items:center;font-size:22px;display:grid}.unlock-panel small,.secret-gift small,.finale-panel small,.wish-form-panel>small,.ceremony-copy>small{color:#a28e9f;letter-spacing:.18em;font-family:Georgia,serif;font-size:8px;font-weight:600}.unlock-panel h2,.secret-gift h2,.finale-panel h2{font-family:var(--serif);margin:5px 0 4px;font-size:22px;font-weight:500}.unlock-panel p,.secret-gift p,.finale-panel p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.wish-layout,.cake-layout{grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);gap:24px;margin-top:34px;display:grid}.wish-form-panel,.ceremony-copy{background:var(--cream);box-shadow:var(--shadow);color:var(--ink);border-radius:20px;padding:42px;position:relative;overflow:hidden}.panel-number{color:#40294212;font-family:Georgia,serif;font-size:134px;line-height:1;position:absolute;top:-23px;right:21px}.wish-form-panel h2,.ceremony-copy h2{font-family:var(--serif);margin:9px 0 13px;font-size:30px;font-weight:500;position:relative}.wish-form-panel>p,.ceremony-copy>p{color:var(--muted);margin:0;font-size:13px;line-height:1.8;position:relative}.wish-form-panel form{margin-top:30px;position:relative}.wish-form-panel label{color:#5b4b5d;margin-bottom:8px;font-size:12px;font-weight:650;display:block}.wish-input-wrap{position:relative}.wish-input-wrap textarea{resize:vertical;width:100%;min-height:112px;color:var(--ink);background:#ffffff8f;border:1px solid #4d344e2e;border-radius:12px;outline:none;padding:15px 16px 28px;font-size:14px;line-height:1.7;transition:border .2s,box-shadow .2s;display:block}.wish-input-wrap textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px #f379671f}.wish-input-wrap textarea::placeholder{color:#aa9ca7}.wish-input-wrap>span{color:#aa9ca7;font-size:10px;position:absolute;bottom:8px;right:11px}.suggestion-row{flex-wrap:wrap;gap:7px;margin:12px 0 20px;display:flex}.suggestion-row button{color:#806f80;cursor:pointer;background:0 0;border:1px solid #4c344e1f;border-radius:8px;min-height:34px;padding:0 10px;font-size:10px}.suggestion-row button:hover{border-color:var(--coral);color:var(--coral-deep)}.garden{min-height:570px;box-shadow:var(--shadow);background:radial-gradient(circle at 82% 18%,#f0c87a30,#0000 13%),linear-gradient(175deg,#302039 0%,#1f1829 62%,#2a252c 100%);border:1px solid #ffffff1a;border-radius:20px;position:relative;overflow:hidden}.garden-moon{background:#f7e6b5;border-radius:50%;width:64px;height:64px;position:absolute;top:52px;right:58px;box-shadow:0 0 45px #f9da9047}.garden-moon:after{content:"";background:#302039;border-radius:50%;width:67px;height:67px;position:absolute;top:-5px;left:-10px}.garden-stars{color:#ffe6ac85;justify-content:space-between;font-size:15px;display:flex;position:absolute;inset:30px 30px auto}.wish-cloud{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff8ee14;border:1px solid #ffffff1a;border-radius:13px;max-width:430px;padding:19px 21px;position:absolute;top:50px;left:43px;right:140px}.wish-cloud small{color:#fff8ee6b;letter-spacing:.08em;font-size:9px}.wish-cloud p{color:#fff8eee0;font-family:var(--serif);margin:8px 0 0;font-size:16px;line-height:1.7}.flower-bed{z-index:3;position:absolute;inset:190px 18px 48px}.wish-flower{bottom:0;left:var(--flower-left);width:58px;height:var(--flower-height);cursor:pointer;transform-origin:bottom;animation:flower-grow .8s cubic-bezier(.2, .8, .2, 1) var(--flower-delay) both;background:0 0;border:0;outline:none;padding:0;transition:filter .2s,transform .2s;position:absolute;transform:translate(-50%)}.wish-flower:hover,.wish-flower:focus-visible,.wish-flower.selected{filter:drop-shadow(0 0 11px #ffdda47a);transform:translate(-50%)scale(1.08)}.flower-head{width:42px;height:42px;animation:3.4s ease-in-out infinite alternate flower-sway;position:absolute;top:0;left:50%;transform:translate(-50%)}.flower-head i{background:var(--petal,#f28475);transform-origin:50% 17px;border-radius:70% 70% 48% 48%;width:14px;height:20px;position:absolute;top:4px;left:14px}.flower-head i:nth-child(2){transform:rotate(90deg)}.flower-head i:nth-child(3){transform:rotate(180deg)}.flower-head i:nth-child(4){transform:rotate(270deg)}.flower-head b{background:#f4cc74;border-radius:50%;width:14px;height:14px;position:absolute;top:14px;left:14px}.wish-flower.lavender{--petal:#b49ac8}.wish-flower.gold{--petal:#e5be66}.wish-flower.rose{--petal:#df8eaa}.wish-flower.cream{--petal:#f4e3cc}.flower-stem{background:#64856e;width:2px;position:absolute;top:38px;bottom:0;left:50%}.flower-leaf{background:#71977b;border-radius:100% 0;width:18px;height:9px;position:absolute;top:64%;left:50%;transform:rotate(-18deg)}.garden-ground{background:#1d2b25;border-radius:50% 50% 0 0;height:150px;position:absolute;bottom:-58px;left:-6%;right:-6%}.garden.blooming .garden-ground{animation:1.2s ground-glow}.chapter-next{border-top:1px solid var(--white-line);justify-content:space-between;align-items:center;gap:24px;margin-top:27px;padding:21px 0 0;display:flex}.chapter-next p{color:#fff8ee94;margin:0;font-size:13px;line-height:1.7}.ceremony-copy{min-height:540px}.candle-progress{gap:8px;margin-top:31px;display:flex}.candle-progress span{background:#e2d8d6;border-radius:4px;flex:8px;width:auto;max-width:38px;height:4px;transition:background .35s;display:block}.candle-progress span.done{background:var(--coral)}.ceremony-status{border-top:1px solid #4d334d1c;border-bottom:1px solid #4d334d1c;flex-direction:column;gap:5px;margin-top:25px;padding:18px 0;display:flex}.ceremony-status strong{font-family:var(--serif);font-size:19px;font-weight:500}.ceremony-status span{color:var(--muted);font-size:11px}.candle-group-note{color:#856f80;background:#f379670f;border:1px solid #c6535421;border-radius:11px;margin:18px 0 0;padding:11px 13px;font-size:10px;line-height:1.65}.ceremony-copy .quiet-button{color:var(--ink);border-color:#4d334d33;margin-top:20px}.cake-stage{min-height:540px;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 34%,#fcd07d33,#0000 27%),linear-gradient(160deg,#35223e,#1b1422);border:1px solid #ffffff1c;border-radius:20px;position:relative;overflow:hidden}.cake-glow{filter:blur(35px);background:#f7c2621f;border-radius:50%;width:360px;height:260px;transition:opacity .6s;position:absolute;top:80px;left:50%;transform:translate(-50%)}.wish-made .cake-glow{opacity:.1}.birthday-cake{width:420px;height:300px;margin:auto;position:absolute;bottom:88px;left:0;right:0}.birthday-dynamic-candles{z-index:6;width:306px;height:137px;position:absolute;top:-95px;left:50%;transform:translate(-50%)}.classic-candle-row{pointer-events:none;position:absolute;inset:0}.classic-candle-row.row-1{z-index:1}.classic-candle-row.row-2{z-index:2}.classic-candle-row.row-3{z-index:3}.classic-candle,.number-candle{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;outline:none;flex:none;padding:0;position:relative}.classic-candle{bottom:var(--candle-bottom,0);left:var(--candle-x,50%);pointer-events:auto;width:24px;height:104px;position:absolute;transform:translate(-50%)}.classic-candle:focus-visible,.number-candle:focus-visible{outline-offset:2px;outline:2px solid #fff8ee}.classic-candle:disabled,.number-candle:disabled{cursor:default}.classic-candle:disabled{pointer-events:none}.classic-candle .candle-body{background:var(--candle-color,#f17d70);border-radius:4px 4px 2px 2px;width:15px;height:58px;position:absolute;bottom:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:inset -4px 0 #4b25301c}.classic-candle .candle-body:after{content:"";background:repeating-linear-gradient(-40deg,#0000,#0000 7px,#ffffff73 8px 11px);position:absolute;inset:0}.classic-candle.lavender,.number-candle.lavender{--candle-color:#a88cbd}.classic-candle.gold,.number-candle.gold{--candle-color:#d9ae54}.classic-candle.rose,.number-candle.rose{--candle-color:#dd91aa}.classic-candle.blue,.number-candle.blue{--candle-color:#7e9eaf}.classic-candle .wick,.number-candle .wick{background:#4a3a3b;width:2px;height:8px;position:absolute;bottom:57px;left:50%;transform:translate(-50%)}.classic-candle .flame,.number-candle .flame{z-index:2;transform-origin:bottom;background:#ffc85d;border-radius:55% 45% 60% 40%;width:14px;height:26px;transition:opacity .25s,transform .25s;animation:.75s ease-in-out infinite alternate flame-flicker;position:absolute;bottom:68px;left:50%;transform:translate(-50%)rotate(6deg);box-shadow:0 0 11px #ffc85d,0 0 24px #ffb03fbf}.classic-candle.out .flame,.number-candle.out .flame{opacity:0;animation:none;transform:translate(-50%)translateY(8px)scale(0)}.classic-candle .smoke,.number-candle .smoke{color:#ffffff73;font-family:Georgia,serif;font-size:28px;animation:1.8s ease-out both smoke-rise;position:absolute;bottom:66px;left:50%;transform:translate(-50%)}.number-candles{justify-content:center;align-items:flex-end;gap:4px;height:155px;display:flex;top:-113px}.number-candle{width:82px;height:145px}.number-candle-body{background:repeating-linear-gradient(-38deg, var(--candle-color,#f17d70) 0 11px, var(--candle-color,#f17d70) 11px 16px);place-items:end center;height:94px;display:grid;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab, red, red)){.number-candle-body{background:repeating-linear-gradient(-38deg, var(--candle-color,#f17d70) 0 11px, color-mix(in srgb, var(--candle-color,#f17d70), white 24%) 11px 16px)}}.number-candle-body{color:#0000;font-family:"Arial Rounded MT Bold", "Trebuchet MS", var(--serif);text-align:center;filter:drop-shadow(0 5px #2b1c3033)drop-shadow(0 0 1px #fff8eecc);-webkit-text-stroke:2px #fff8eec7;-webkit-background-clip:text;background-clip:text;font-size:92px;font-weight:900;line-height:.94}.number-candle .wick{height:10px;bottom:90px}.number-candle .flame{bottom:103px}.number-candle .smoke{bottom:101px}.cake-top{z-index:5;background:#fff0dc;border-radius:50%;width:306px;height:68px;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:inset 0 -10px #dca4911f}.cake-layer{position:absolute;left:50%;transform:translate(-50%)}.layer-top{z-index:4;background:#efb4a7;border-radius:0 0 30px 30px;width:305px;height:115px;top:49px;box-shadow:inset 0 -12px #994c4f14}.layer-bottom{z-index:3;background:#f7ddc6;border-radius:15px 15px 34px 34px;place-items:center;width:370px;height:125px;display:grid;top:145px;box-shadow:inset 0 -14px #a45f5617}.cake-message{color:#6a4151b3;letter-spacing:.34em;font-family:Georgia,serif;font-size:12px}.icing-drop{background:#fff0dc;border-radius:0 0 50% 50%;width:35px;height:31px;position:absolute;top:-3px}.drop-one{left:40px}.drop-two{height:44px;left:130px}.drop-three{height:36px;right:42px}.berry{z-index:6;background:#ad4359;border-radius:50%;width:18px;height:18px;position:absolute;box-shadow:inset -4px -4px #49192b24}.berry-one{top:9px;left:84px}.berry-two{top:16px;right:82px}.berry-three{top:4px;left:48%}.cream-swirl{border:5px solid #fff8ed;border-radius:50%;width:35px;height:22px;position:absolute;top:17px}.swirl-one{left:112px}.swirl-two{right:108px}.cake-plate{z-index:2;background:#b9a5c3;border-radius:50%;width:420px;height:45px;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 18px 26px #07030a47}.cake-instruction{color:#fff8ee6b;letter-spacing:.18em;text-align:center;margin:0;font-family:Georgia,serif;font-size:10px;position:absolute;bottom:28px;left:0;right:0}.chapter-next.locked{opacity:.42;pointer-events:none}.gift-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.gift-card{cursor:pointer;text-align:left;background:#2c1c33;border:1px solid #ffffff24;border-radius:20px;flex-direction:column;min-height:500px;padding:0;transition:transform .25s,border .25s;display:flex;position:relative;overflow:hidden}.gift-card:hover{border-color:#ffe5bc5c;transform:translateY(-5px)}.gift-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.gift-visual{background:radial-gradient(circle at 50% 42%,#ffe8b821,#0000 35%),#ffffff06;flex:none;height:250px;display:block;position:relative}.gift-box,.gift-lid{background:var(--gift-color,#d2766b);border-radius:6px;transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;left:50%;transform:translate(-50%);box-shadow:0 18px 28px #08040a38}.gift-box{width:158px;height:125px;bottom:31px}.gift-lid{z-index:2;width:178px;height:42px;bottom:145px}.gift-box i,.gift-lid i{background:#e7bd64;width:27px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.gift-lid i:before,.gift-lid i:after{content:"";border:9px solid #e7bd64;border-radius:50% 50% 12px;width:45px;height:32px;position:absolute;bottom:28px}.gift-lid i:before{right:5px;transform:rotate(15deg)}.gift-lid i:after{left:5px;transform:rotate(-15deg)scaleX(-1)}.gift-card.lavender{--gift-color:#8d73a0}.gift-card.gold{--gift-color:#c39d50}.gift-card.opened .gift-lid{transform:translate(-76%,-12px)rotate(-18deg)}.gift-card.opened .gift-box{transform:translate(-50%)scale(1.03)}.gift-spark{color:var(--gold);opacity:0;transition:opacity .4s .3s,transform .5s .25s;position:absolute}.spark-one{top:58px;left:24%}.spark-two{top:82px;right:23%}.gift-card.opened .gift-spark{opacity:1;transform:translateY(-8px)rotate(15deg)}.gift-content{border-top:1px solid var(--white-line);flex-direction:column;flex:1;padding:28px;display:flex}.gift-content small{color:#ffe5b875;letter-spacing:.19em;font-family:Georgia,serif;font-size:9px}.gift-content strong{font-family:var(--serif);margin-top:10px;font-size:23px;font-weight:500;line-height:1.45}.gift-copy{color:#fff8ee94;margin-top:13px;font-size:12px;line-height:1.8}.gift-note{color:var(--gold);letter-spacing:.05em;align-items:center;gap:6px;margin-top:auto;padding-top:20px;font-size:10px;display:inline-flex}.secret-gift{opacity:.45;background:#d7c1d7;transition:opacity .5s,transform .5s,background .5s}.secret-gift.unlocked{background:var(--cream);opacity:1;transform:translateY(-3px)}.letter-scene{grid-template-columns:150px minmax(0,760px) 150px;justify-content:center;align-items:center;gap:25px;margin-top:42px;display:grid}.letter-sheet{min-height:680px;color:var(--ink);background:linear-gradient(#fffdf8f7,#fffaf1f7),repeating-linear-gradient(0deg,#0000,#0000 28px,#53354d0a 29px);border:1px solid #4f324e1f;border-radius:4px;padding:clamp(42px,6vw,72px) clamp(34px,7vw,88px);position:relative;transform:rotate(-.4deg);box-shadow:0 30px 70px #05020847}.letter-sheet:before,.letter-sheet:after{content:"";border-color:#86596938;width:70px;height:70px;position:absolute}.letter-sheet:before{border-top:1px solid;border-left:1px solid;top:19px;left:19px}.letter-sheet:after{border-bottom:1px solid;border-right:1px solid;bottom:19px;right:19px}.letter-date{color:#a18e9e;letter-spacing:.22em;text-align:right;margin-bottom:42px;font-family:Georgia,serif;font-size:9px}.letter-greeting{font-family:var(--serif);margin:0 0 25px;font-size:24px}.letter-body{min-height:360px}.letter-paragraph{color:#5e505f;font-family:var(--serif);text-align:justify;margin:0 0 18px;font-size:16px;line-height:2;animation:.75s both letter-reveal}.letter-more{min-height:48px;color:var(--coral-deep);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #4e324e3d;align-items:center;gap:7px;margin:30px auto 0;padding:0 16px;font-size:12px;font-weight:650;display:flex}.letter-more svg{animation:1.3s ease-in-out infinite arrow-bob}.letter-signoff{color:var(--ink);font-family:var(--serif);flex-direction:column;align-items:flex-end;gap:5px;margin-top:35px;font-size:18px;display:flex}.letter-signoff small{color:#a18e9e;letter-spacing:.18em;font-family:Georgia,serif;font-size:8px}.seal-button{color:#fff4ea;background:#a9505b;border:1px solid #8a444d2e;margin:34px auto 0;padding:0 18px}.letter-seal{color:#f7cbbf;background:#aa505c;border:5px double #ffe4cb4d;border-radius:50%;place-items:center;width:76px;height:76px;animation:.65s cubic-bezier(.2,1.4,.5,1) both seal-stamp;display:grid;position:absolute;bottom:42px;right:50px;box-shadow:0 9px 18px #52232c33}.letter-decoration{color:#ffeed273;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:400px;display:flex}.letter-decoration i{background:linear-gradient(#0000,#ffeed24d,#0000);width:1px;height:150px;display:block}.letter-decoration small{letter-spacing:.18em;writing-mode:vertical-rl;font-family:Georgia,serif;font-size:8px}.letter-decoration span{color:var(--gold);font-size:27px}.decoration-right{flex-direction:column-reverse}.finale-panel{opacity:0;pointer-events:none;transition:opacity .6s,transform .6s;transform:translateY(15px)}.finale-panel.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.finale-panel>svg{color:var(--coral)}.finale-actions{align-items:center;gap:9px;display:flex}.finale-actions .quiet-button{color:var(--ink);border-color:#4d334d29}@keyframes aurora-drift{0%{transform:translate(-3%,-2%)scale(.94)}to{transform:translate(6%,4%)scale(1.08)}}@keyframes star-twinkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:.9;transform:scale(1.45)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes float-soft{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-12px)rotate(8deg)}}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0, -20px, 0) rotate(var(--confetti-rotate))}10%{opacity:1}to{opacity:.8;transform:translate3d(35px, 105vh, 0) rotate(calc(var(--confetti-rotate) + 540deg))}}@keyframes flower-grow{0%{opacity:0;transform:translate(-50%)scaleY(0)}to{opacity:1;transform:translate(-50%)scaleY(1)}}@keyframes flower-sway{0%{transform:translate(-50%)rotate(-4deg)}to{transform:translate(-50%)rotate(5deg)}}@keyframes ground-glow{50%{box-shadow:0 -20px 60px #e5bc6633}}@keyframes flame-flicker{0%{transform:translate(-50%)rotate(-5deg)scaleY(.9)}to{transform:translate(-50%)rotate(7deg)scaleY(1.08)}}@keyframes smoke-rise{0%{opacity:.7;transform:translate(-50%)translateY(0)scale(.8)}to{opacity:0;transform:translate(calc(9px - 50%))translateY(-38px)scale(1.3)}}@keyframes letter-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes arrow-bob{50%{transform:translateY(4px)}}@keyframes seal-stamp{0%{opacity:0;transform:scale(2.2)rotate(-15deg)}to{opacity:1;transform:scale(1)rotate(3deg)}}@media (max-width:1120px){.site-header{width:min(1200px,100% - 40px)}.chapter-link{padding:0 9px;font-size:12px}.chapter-link span{display:none}.home-page{grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:20px}.orbit-large{width:500px;height:500px}.orbit-small{width:390px;height:390px}.memory-face{padding:25px}.letter-scene{grid-template-columns:70px minmax(0,760px) 70px;gap:16px}}@media (max-width:900px){.site-header{min-height:76px}.desktop-nav{display:none}.mobile-nav{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1f1426eb;border:1px solid #ffffff21;border-radius:18px;grid-template-columns:repeat(6,1fr);min-height:66px;padding:6px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 14px 40px #05020859}.mobile-link{color:#fff8ee75;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:52px;font-size:9px;display:flex;position:relative}.mobile-link.active{color:var(--coral);background:#ffffff12}.site-footer{margin-bottom:86px}.home-page{grid-template-columns:1fr;padding-top:28px}.home-copy{max-width:720px}.invitation-wrap{min-height:670px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wish-layout,.cake-layout{grid-template-columns:1fr}.wish-form-panel,.ceremony-copy{min-height:auto}.gift-grid{grid-template-columns:1fr}.gift-card{flex-direction:row;min-height:0}.gift-visual{width:42%;height:330px}.gift-content{border-top:0;border-left:1px solid var(--white-line);width:58%}.letter-scene{grid-template-columns:minmax(0,760px)}.letter-decoration{display:none}}@media (max-width:700px){.site-header,.page,.site-footer{width:calc(100% - 32px)}.site-header{min-height:70px}.brand-mark{width:34px;height:34px}.brand strong{font-size:18px}.brand small{font-size:7px}.page{min-height:calc(100vh - 140px);padding:48px 0 72px}.chapter-page,.home-page{padding-top:24px}.page-heading{flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:26px}.page h1{font-size:clamp(22px,5.25vw,28px)}.chapter-counter,.chapter-badge,.candle-counter,.letter-progress{margin-bottom:0}.home-copy h1{font-size:clamp(24px,7vw,36px)}.home-lead{font-size:15px}.home-actions{flex-direction:column;align-items:flex-start}.chapter-preview{white-space:nowrap;gap:6px;overflow:hidden}.chapter-preview i{width:9px}.invitation-wrap{min-height:590px;margin-top:10px}.orbit-large{width:118vw;height:118vw}.orbit-small{width:91vw;height:91vw}.invitation-envelope{height:280px;margin-top:95px}.invitation-card{min-height:340px;padding:34px 25px 28px;bottom:17px;left:17px;right:17px}.opened .invitation-card{transform:translateY(-125px)rotate(1deg)}.memory-grid{grid-template-columns:1fr}.memory-card{height:315px}.unlock-panel,.secret-gift,.finale-panel{grid-template-columns:auto 1fr;gap:15px;padding:22px}.unlock-panel .secondary-button,.secret-gift .secondary-button,.finale-actions{grid-column:1/-1;width:100%}.unlock-panel .secondary-button,.secret-gift .secondary-button{margin-top:3px}.wish-form-panel,.ceremony-copy{padding:32px 24px}.garden{min-height:530px}.garden-moon{top:40px;right:32px}.wish-cloud{padding:15px;top:42px;left:25px;right:100px}.flower-bed{inset:205px 7px 45px}.chapter-next{flex-direction:column;align-items:flex-start}.chapter-next .secondary-button{width:100%}.cake-stage{min-height:500px}.birthday-cake{transform-origin:bottom;width:340px;bottom:73px;transform:scale(.86)}.gift-card{flex-direction:column}.gift-visual,.gift-content{width:100%}.gift-visual{height:260px}.gift-content{border-top:1px solid var(--white-line);border-left:0;min-height:250px}.letter-sheet{min-height:650px;padding:45px 29px 90px;transform:none}.letter-date{margin-bottom:34px;font-size:8px}.letter-paragraph{text-align:left;font-size:15px;line-height:1.95}.letter-seal{bottom:31px;right:29px}.finale-actions{grid-template-columns:1fr;display:grid}.site-footer{flex-direction:column;gap:8px;padding-bottom:26px}}@media (max-width:450px){.mobile-nav{border-radius:15px;min-height:62px;padding:4px;bottom:6px;left:6px;right:6px}.mobile-link{gap:3px;min-height:52px;font-size:8px}.mobile-link svg{width:17px}.page,.site-header,.site-footer{width:calc(100% - 24px)}.home-copy h1{font-size:clamp(22px,6.5vw,29px)}.home-copy h1 em{margin-top:4px}.invitation-wrap{min-height:535px}.invitation-envelope{width:100%;height:245px}.opened .invitation-card{transform:translateY(-118px)rotate(.5deg)}.invitation-card{min-height:315px}.invitation-card h2{font-size:23px}.memory-card{height:300px}.garden{min-height:500px}.wish-cloud p{font-size:14px}.wish-flower{width:45px}.birthday-cake{width:420px;margin-left:-210px;left:50%;transform:scale(.72)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.header-navigation{align-items:center;gap:14px;display:flex}.account-nav{border-left:1px solid var(--white-line);align-items:center;gap:3px;padding-left:13px;display:flex}.account-link{color:#fff8ee94;border-radius:10px;align-items:center;gap:6px;min-height:42px;padding:0 10px;font-size:12px;transition:color .2s,background .2s;display:inline-flex}.account-link:hover,.account-link.active{color:var(--cream);background:#ffffff0f}.account-link.active{color:var(--coral)}.gateway-header-note{color:#fff8ee7a;align-items:center;gap:8px;font-size:12px;display:inline-flex}.shell-auth-loading{color:#fff8ee94;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:calc(100vh - 180px);display:flex}.shell-auth-loading svg{color:var(--gold);animation:1.7s ease-in-out infinite star-twinkle}.paper-panel{background:linear-gradient(145deg, #ffffffb8, transparent 38%), var(--paper);box-shadow:var(--shadow);color:var(--ink);border:1px solid #ffffffa8;border-radius:24px}.panel-kicker{color:var(--coral-deep);letter-spacing:.2em;font-family:Georgia,Times New Roman,serif;font-size:9px;font-weight:700}.gateway-page{grid-template-columns:minmax(0,.92fr) minmax(430px,.72fr);align-items:center;gap:clamp(44px,7vw,108px);width:min(1180px,100% - 64px);min-height:calc(100vh - 172px);margin:0 auto;padding:28px 0 84px;display:grid}.gateway-intro{max-width:620px;position:relative}.gateway-orbit{width:54px;height:54px;color:var(--gold);border:1px solid #ffecc642;border-radius:50%;place-items:center;margin-bottom:28px;display:grid;box-shadow:0 0 0 12px #ffffff06,0 0 70px #e6bc6621}.gateway-intro h1{font-family:var(--serif);margin:0;font-size:clamp(22px,2.6vw,35px);font-weight:500;line-height:1.18}.gateway-intro h1 em{color:var(--coral);margin-top:8px;font-style:normal;display:block}.gateway-intro>p:not(.eyebrow){color:#fff8eea3;max-width:570px;margin:28px 0 0;font-size:15px;line-height:1.95}.gateway-proof{flex-direction:column;align-items:flex-start;gap:11px;margin-top:28px;display:flex}.gateway-proof span{color:#fff8ee8c;align-items:center;gap:9px;font-size:12px;display:inline-flex}.gateway-proof svg{color:var(--gold)}.gateway-card{background:radial-gradient(circle at 100% 0, #e9a4b840, transparent 34%), var(--paper);color:var(--ink);border:1px solid #ffffffb3;border-radius:27px;overflow:hidden;box-shadow:0 30px 90px #08040c57}.gateway-tabs{border-bottom:1px solid var(--line);background:#38213f0a;grid-template-columns:1fr 1fr;padding:9px;display:grid}.gateway-tabs button{min-height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;font-weight:650;display:inline-flex}.gateway-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 8px 24px #25152a17}.gateway-form{flex-direction:column;gap:17px;padding:34px 38px 40px;display:flex}.gateway-heading{align-items:center;gap:14px;margin-bottom:3px;display:flex}.gateway-heading>div{min-width:0}.gateway-heading p{color:var(--coral-deep);letter-spacing:.17em;margin:0 0 4px;font-family:Georgia,serif;font-size:8px;font-weight:700}.gateway-heading h2{font-family:var(--serif);margin:0;font-size:25px;font-weight:600;line-height:1.3}.gateway-symbol{width:46px;height:46px;color:var(--plum);background:#38213f14;border-radius:15px;flex:none;place-items:center;display:grid}.gift-symbol{color:var(--coral-deep);background:#f3796721}.gateway-form label,.blessing-form label,.password-panel label{color:#4f4054;flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:650;display:flex}.gateway-form input,.gateway-form select,.blessing-form input,.blessing-form select,.blessing-form textarea,.password-panel input{width:100%;color:var(--ink);background:#ffffffd1;border:1px solid #46304b2b;border-radius:12px;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.gateway-form input,.gateway-form select,.blessing-form input,.blessing-form select,.password-panel input{min-height:49px;padding:0 14px}.blessing-form textarea{resize:vertical;min-height:142px;padding:13px 14px;line-height:1.7}.gateway-form input:focus,.gateway-form select:focus,.blessing-form input:focus,.blessing-form select:focus,.blessing-form textarea:focus,.password-panel input:focus{background:#fff;border-color:#c6535494;box-shadow:0 0 0 4px #f379671a}.gateway-form input:disabled,.gateway-form input:read-only,.blessing-form input:read-only{color:var(--muted);background:#38213f0e}.gateway-form label>small,.blessing-form label>small{color:#8a7e8a;font-size:10px;font-weight:400;line-height:1.55}.password-field,.input-with-icon{display:block;position:relative}.password-field input{padding-right:48px}.password-field button{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-field button:hover{color:var(--ink);background:#38213f0f}.input-with-icon>svg{color:var(--coral-deep);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.input-with-icon input{padding-left:41px}.gateway-field-row,.blessing-field-row{grid-template-columns:minmax(0,1.45fr) minmax(105px,.55fr);gap:13px;display:grid}.gateway-loading,.gateway-message,.gateway-info,.form-message,.inbox-message,.profile-message{border-radius:11px;margin:0;font-size:12px;line-height:1.65}.gateway-loading{color:var(--muted);background:#38213f0d;padding:12px 14px}.gateway-message,.form-message,.inbox-message,.profile-message{color:#944b4c;background:#f3796717;border:1px solid #c6535426;padding:12px 14px}.gateway-info{color:var(--plum-light);background:#735b7b14;padding:12px 14px}.password-hint{color:#8a7e8a;margin-top:-8px;font-size:10px;line-height:1.55}.gateway-submit{width:100%;margin-top:3px}.sealed-match{text-align:center;background:radial-gradient(circle at 90% 12%,#e6bc6630,#0000 30%),#f3796712;border:1px solid #c6535429;border-radius:17px;flex-direction:column;align-items:center;padding:23px 20px 21px;display:flex;position:relative;overflow:hidden}.sealed-match-icon{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:51px;height:51px;margin-bottom:12px;display:grid;box-shadow:0 10px 28px #f3796740}.sealed-match>span{color:var(--coral-deep);letter-spacing:.13em;font-family:Georgia,serif;font-size:9px;font-weight:700}.sealed-match strong{font-family:var(--serif);margin-top:7px;font-size:19px}.sealed-match p{color:var(--plum-light);margin:6px 0 0;font-size:12px}.sealed-match small{color:#8a7e8a;margin-top:12px;font-size:10px}.account-choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.account-choice>button{border:1px solid var(--line);min-width:0;min-height:76px;color:var(--muted);cursor:pointer;text-align:left;background:#38213f08;border-radius:13px;align-items:flex-start;gap:10px;padding:13px;display:flex}.account-choice>button.active{color:var(--coral-deep);background:#f3796717;border-color:#c6535461;box-shadow:0 7px 20px #f3796714}.account-choice button>span{flex-direction:column;gap:4px;min-width:0;display:flex}.account-choice strong{color:var(--ink);font-size:12px}.account-choice small{color:var(--muted);font-size:9px;font-weight:400;line-height:1.4}.current-account{color:#4d7655;background:#5f92691a;border-radius:11px;align-items:center;gap:8px;padding:12px 14px;font-size:12px;display:flex}.gateway-complete-page{justify-content:center;display:flex}.gateway-complete-card{text-align:center;width:min(600px,100%);padding:48px}.gateway-complete-card .gateway-symbol{margin:0 auto 21px}.gateway-complete-card .eyebrow{color:var(--coral-deep);justify-content:center}.gateway-complete-card h1{font-family:var(--serif);margin:0;font-size:clamp(20px,2.5vw,24px);font-weight:600;line-height:1.3}.gateway-complete-card>p:not(.eyebrow){color:var(--muted);margin:20px auto 0;line-height:1.8}.star-code-card,.profile-star-code{background:#f3796712;border:1px dashed #c6535452;border-radius:16px;flex-direction:column;align-items:center;gap:8px;margin:25px 0;padding:21px;display:flex;position:relative}.star-code-card>span,.profile-star-code>span{color:var(--coral-deep);letter-spacing:.12em;font-size:10px;font-weight:700}.star-code-card>strong,.profile-star-code>strong{letter-spacing:.08em;font-family:Georgia,monospace;font-size:28px}.star-code-card button,.profile-star-code button{color:var(--ink);cursor:pointer;background:#38213f14;border:0;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:inline-flex}.blessing-layout{grid-template-columns:minmax(0,.9fr) minmax(380px,.75fr);align-items:start;gap:30px;margin-top:38px;display:grid}.blessing-form{flex-direction:column;gap:19px;padding:38px;display:flex}.blessing-form h2,.history-heading h2,.profile-layout h2{font-family:var(--serif);margin:7px 0 0;font-size:27px;font-weight:600}.blessing-form>p:not(.form-message){color:var(--muted);margin:-5px 0 3px;font-size:13px;line-height:1.8}.blessing-submit{width:100%}.blessing-form-actions{grid-template-columns:minmax(145px,.42fr) minmax(220px,1fr);gap:11px;display:grid}.blessing-preview-button{min-height:50px;color:var(--plum);cursor:pointer;background:#4d334d0b;border:1px solid #4d334d2e;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:12px;font-weight:700;transition:border-color .2s,background .2s,transform .2s;display:inline-flex}.blessing-preview-button:hover{background:#f3796714;border-color:#c6535457;transform:translateY(-1px)}.blessing-preview-button:focus-visible{outline:2px solid var(--coral-deep);outline-offset:3px}.blessing-form .blessing-template-select{background:radial-gradient(circle at 100% 0,#e6bc661a,#0000 42%),#f3796709;border:1px solid #c653542e;border-radius:14px;gap:7px;padding:13px 14px}.blessing-template-select>span{color:var(--ink);font-size:11px;font-weight:700}.blessing-template-select select{min-height:44px}.blessing-form .blessing-template-select>small{color:var(--muted);font-size:9px;line-height:1.6}.blessing-template-select small strong{color:var(--coral-deep);font-weight:700}.blessing-draft-preview{z-index:1000;background:radial-gradient(circle at 82% 14%, #f3796714, transparent 30%), radial-gradient(circle at 12% 70%, #e6bc660f, transparent 34%), var(--night);height:100dvh;color:var(--cream);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.blessing-draft-preview-toolbar{z-index:80;background:#170e1df5;border-bottom:1px solid #fff8ee1f;flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:10px clamp(18px,3vw,42px);display:flex;position:relative;box-shadow:0 12px 35px #05020838}.blessing-draft-preview-toolbar>div{grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;min-width:0;display:grid}.blessing-draft-preview-toolbar span{color:var(--coral);letter-spacing:.08em;background:#f3796717;border:1px solid #f3796733;border-radius:999px;grid-row:1/3;align-items:center;gap:6px;padding:6px 9px;font-size:9px;font-weight:700;display:inline-flex}.blessing-draft-preview-toolbar strong{color:var(--cream);font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:500;overflow:hidden}.blessing-draft-preview-toolbar small{color:#fff8ee6b;font-size:9px}.blessing-draft-preview-toolbar>button{min-height:40px;color:var(--cream);cursor:pointer;background:#ffffff0b;border:1px solid #fff8ee24;border-radius:11px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:11px;display:inline-flex}.blessing-draft-preview-toolbar>button:hover,.blessing-draft-preview-toolbar>button:focus-visible{background:#f379671a;border-color:#f379676b}.blessing-draft-preview-stage{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;min-height:0;overflow:hidden auto}.birthday-draft-experience{min-height:100%;padding-bottom:50px}.birthday-draft-experience .birthday-experience-context{margin-top:18px}.birthday-draft-badge{color:var(--gold);background:#e6bc6612;border:1px solid #e6bc662e;border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 11px;font-size:9px;display:inline-flex}.blessing-draft-letter-page{min-height:auto}.blessing-draft-letter-wrap{width:min(680px,100%);margin:34px auto 0;display:grid}.blessing-draft-letter-wrap .blessing-memory-card{min-height:390px;padding:clamp(25px,4vw,42px)}.blessing-draft-letter-heading{color:var(--coral-deep);text-align:center;flex-direction:column;align-items:center;gap:7px;margin-top:33px;display:flex}.blessing-draft-letter-heading h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:25px;font-weight:500}.blessing-draft-letter-heading small{color:var(--muted);font-size:9px}.blessing-draft-letter-wrap .blessing-memory-card blockquote{text-align:center;margin-top:28px}.birthday-template-editor{background:radial-gradient(circle at 100% 0,#e6bc661f,#0000 28%),#f3796709;border:1px solid #c653542e;border-radius:20px;flex-direction:column;gap:13px;min-width:0;padding:clamp(18px,3vw,25px);display:flex}.birthday-template-editor-heading{justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:3px;display:flex}.birthday-template-editor-heading h3{color:var(--ink);font-family:var(--serif);margin:5px 0 0;font-size:22px;font-weight:600}.birthday-template-editor-heading>p{max-width:260px;color:var(--muted);margin:0;font-size:10px;line-height:1.7}.birthday-template-section{background:#ffffff85;border:1px solid #38213f1c;border-radius:15px;overflow:clip}.birthday-template-section>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:13px 43px 13px 16px;list-style:none;display:flex;position:relative}.birthday-template-section>summary::-webkit-details-marker{display:none}.birthday-template-section>summary:after{color:var(--coral-deep);content:"＋";font-size:17px;position:absolute;top:50%;right:17px;transform:translateY(-50%)}.birthday-template-section[open]>summary:after{content:"−"}.birthday-template-section>summary:hover{background:#f379670b}.birthday-template-section>summary:focus-visible{outline:2px solid var(--coral-deep);outline-offset:-3px}.birthday-template-section>summary strong{color:var(--ink);font-family:var(--serif);font-size:16px;font-weight:600}.birthday-template-section>summary span{color:var(--muted);text-align:right;font-size:9px;line-height:1.5}.birthday-template-section-fields{background:#ffffff94;border-top:1px solid #38213f17;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:18px;display:grid}.birthday-template-field{flex-direction:column;gap:7px;min-width:0;display:flex}.birthday-template-section-fields>.birthday-template-field:has(textarea){grid-column:1/-1}.birthday-template-field>span{color:var(--ink);font-size:10px;font-weight:700;line-height:1.45}.birthday-template-field input,.birthday-template-field textarea{background:#ffffffd1;border-color:#38213f26;width:100%;min-height:44px}.birthday-template-field textarea{resize:vertical;min-height:96px}.birthday-template-field input:focus,.birthday-template-field textarea:focus{border-color:#c653548f;box-shadow:0 0 0 3px #f379671a}.birthday-template-field input:disabled,.birthday-template-field textarea:disabled{cursor:not-allowed;opacity:.56}.birthday-template-field>small{color:#a0949e;align-self:flex-end;font-size:8px}.birthday-candle-style-picker{border:1px dashed #c6535438;border-radius:14px;grid-column:1/-1;min-width:0;margin:2px 0;padding:15px}.birthday-candle-style-picker>legend{color:var(--coral-deep);padding:0 7px;font-size:10px;font-weight:700}.birthday-candle-style-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.birthday-candle-style-picker label{cursor:pointer;background:#ffffffad;border:1px solid #38213f21;border-radius:12px;align-items:flex-start;gap:10px;min-height:76px;padding:13px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.birthday-candle-style-picker label.selected{background:#f3796714;border-color:#f3796794;box-shadow:0 0 0 3px #f3796712}.birthday-candle-style-picker input{width:17px;height:17px;accent-color:var(--coral-deep);flex:none;margin:2px 0 0}.birthday-candle-style-picker label>span{flex-direction:column;gap:4px;min-width:0;display:flex}.birthday-candle-style-picker strong{color:var(--ink);font-size:11px}.birthday-candle-style-picker small{color:var(--muted);font-size:9px;line-height:1.55}.birthday-template-repeat-group{border:1px dashed #c6535438;border-radius:14px;flex-direction:column;grid-column:1/-1;gap:12px;min-width:0;margin:2px 0;padding:15px;display:flex}.birthday-template-repeat-group>legend{color:var(--coral-deep);padding:0 7px;font-size:10px;font-weight:700}.birthday-template-repeat-item{background:#ffffffbd;border:1px solid #38213f17;border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px;display:grid}.birthday-template-repeat-item>h4{color:var(--coral-deep);font-family:var(--serif);grid-column:1/-1;margin:0;font-size:14px}:is(.birthday-template-repeat-item>.birthday-template-field:has(textarea),.birthday-template-repeat-item>.birthday-template-remove){grid-column:1/-1}.birthday-template-inline-item{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.birthday-template-add,.birthday-template-remove{cursor:pointer;border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:0 14px;font-size:10px;font-weight:700;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.birthday-template-add{color:var(--coral-deep);background:#f3796714;border:1px solid #c653543d;align-self:flex-start}.birthday-template-remove{color:#866f80;background:#7354690b;border:1px solid #7354692b;justify-self:start}.birthday-template-add:hover:not(:disabled),.birthday-template-remove:hover:not(:disabled){color:var(--coral-deep);background:#f3796721;border-color:#c6535475}.birthday-template-add:focus-visible,.birthday-template-remove:focus-visible,.birthday-template-checkbox:focus-within{outline:2px solid var(--coral-deep);outline-offset:2px}.birthday-template-add:disabled,.birthday-template-remove:disabled{cursor:not-allowed;opacity:.42}.blessing-form .birthday-template-checkbox{min-height:44px;color:var(--ink);cursor:pointer;background:#ffffff9e;border:1px solid #38213f1a;border-radius:11px;grid-column:1/-1;align-items:center;gap:10px;padding:10px 12px;font-size:10px;font-weight:700;display:flex}.birthday-template-checkbox input{width:17px;height:17px;min-height:0;accent-color:var(--coral-deep);margin:0;padding:0}.surprise-result{background:var(--plum);color:var(--cream);border-radius:16px;flex-direction:column;align-items:flex-start;gap:11px;margin-top:3px;padding:19px;display:flex}.surprise-result>span{color:var(--gold);align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.surprise-result>p{overflow-wrap:anywhere;color:#fff8eebf;width:100%;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.6}.surprise-result .quiet-button{min-height:40px;font-size:11px}.surprise-result>small{color:#fff8ee75;font-size:9px;line-height:1.55}.sent-history{min-width:0;position:sticky;top:24px}.history-heading{border-bottom:1px solid var(--white-line);justify-content:space-between;align-items:flex-end;padding:4px 3px 20px;display:flex}.history-heading svg{color:var(--gold)}.sent-list{flex-direction:column;gap:13px;margin-top:17px;display:flex}.sent-card{border:1px solid var(--white-line);background:#ffffff0b;border-radius:16px;padding:19px}.sent-card>header,.sent-card>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.sent-card header>div{flex-direction:column;gap:4px;min-width:0;display:flex}.sent-card header strong{font-family:var(--serif);font-size:19px}.sent-card header div>span{color:#fff8ee6b;font-size:10px}.sent-card>p{color:#fff8eea6;white-space:pre-wrap;margin:15px 0;font-size:12px;line-height:1.75}.sent-card>footer{color:#fff8ee61;font-size:9px}.sent-card footer span{align-items:center;gap:5px;display:inline-flex}.sent-card .opened-mark{color:#ffd99ba6}.sent-card-actions{border-top:1px solid #ffffff12;gap:8px;margin-top:14px;padding-top:12px;display:flex}.sent-card-actions button{color:#ffecc9b8;background:#e6bc660f;border:1px solid #e6bc662e;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;display:inline-flex}.sent-card-actions button:hover:not(:disabled){color:var(--paper);border-color:#e6bc666b}.sent-card-actions .revoke-action{color:#ffb8b8ad;background:#ff8b8b0d;border-color:#ff8b8b29}.sent-card-actions .delete-action{color:#ffcacadb;background:#ff56561a;border-color:#ff707047}.sent-card-actions .delete-action:hover:not(:disabled){background:#ff56562b;border-color:#ff8b8b94}.sent-card-actions button:disabled{cursor:wait;opacity:.45}.status-pill{color:var(--gold);background:#e6bc6614;border:1px solid #e6bc6633;border-radius:999px;flex:none;align-items:center;padding:5px 8px;font-size:9px;display:inline-flex}.status-pill.delivered,.status-pill.accepted{color:#a8d6b1;background:#7dbe8b1a;border-color:#7dbe8b38}.status-pill.opened{color:#ffaaa0;background:#f3796721;border-color:#f379674d}.status-pill.expired,.status-pill.revoked{color:#fff8ee66;background:#ffffff0a;border-color:#ffffff1a}.empty-state{color:#fff8ee8a;text-align:center;border:1px dashed #fff8ee2e;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;padding:52px 28px;display:flex}.empty-state svg{color:var(--gold)}.empty-state h2,.empty-state h3{color:var(--cream);font-family:var(--serif);margin:17px 0 0;font-size:21px;font-weight:500}.empty-state p{margin:9px 0 0;font-size:11px;line-height:1.7}.sent-empty{margin-top:17px}.blessing-shelf-tabs{border:1px solid var(--white-line);background:#ffffff09;border-radius:16px;gap:6px;margin:0 0 30px;padding:5px;display:inline-flex}.blessing-shelf-tabs button{color:#fff8ee85;background:0 0;border:0;border-radius:12px;align-items:center;gap:8px;min-height:43px;padding:0 15px;font-size:11px;display:inline-flex}.blessing-shelf-tabs button>span{background:#ffffff12;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:9px;display:grid}.blessing-shelf-tabs button.active{color:var(--cream);background:#e6bc6621;box-shadow:inset 0 0 0 1px #e6bc6630}.inbox-message{color:#ffd7d0;background:#f379671f;border-color:#f3796738;margin-bottom:20px}.inbox-loading{color:#fff8ee85;flex-direction:column;justify-content:center;align-items:center;gap:13px;min-height:260px;display:flex}.inbox-loading svg{color:var(--gold)}.inbox-empty{min-height:340px}.memory-years{flex-direction:column;gap:48px;display:flex}.memory-year>header{color:var(--gold);align-items:center;gap:10px;margin-bottom:19px;display:flex}.memory-year>header strong{font-family:Georgia,serif;font-size:28px;font-weight:400}.memory-year>header span{color:#fff8ee6e;font-size:11px}.occasion-groups{flex-direction:column;gap:27px;display:flex}.occasion-group{border:1px solid var(--white-line);background:#ffffff09;border-radius:22px;padding:25px}.occasion-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.occasion-heading>span{width:38px;height:38px;color:var(--coral);background:#f3796721;border-radius:12px;place-items:center;display:grid}.occasion-heading h2{font-family:var(--serif);margin:0;font-size:22px;font-weight:500}.occasion-heading small{color:#fff8ee63;font-size:9px}.blessing-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.blessing-memory-card{border-radius:18px;min-height:290px;padding:23px;position:relative;overflow:hidden}.blessing-memory-card.opened{background:linear-gradient(140deg, #ffffffc7, transparent 42%), var(--paper);color:var(--ink);border:1px solid #ffffffb8;padding-bottom:52px;box-shadow:0 18px 50px #0a050e2e}.blessing-memory-card.sealed{background:radial-gradient(circle at 50% 32%, #e6bc661a, transparent 35%), var(--night-soft);text-align:center;border:1px solid #e6bc662e;flex-direction:column;align-items:center;display:flex}.memory-card-topline{width:100%;color:var(--coral-deep);letter-spacing:.11em;justify-content:space-between;align-items:center;gap:12px;font-family:Georgia,serif;font-size:9px;font-weight:700;display:flex}.sealed .memory-card-topline{color:#ffe1adb3}.blessing-memory-card blockquote{color:#554259;min-height:150px;font-family:var(--serif);text-align:center;white-space:pre-wrap;place-items:center;margin:18px 4px 20px;font-size:17px;line-height:2;display:grid}.blessing-memory-card .memory-opened-at{color:#988b98;text-align:right;font-size:9px;position:absolute;bottom:20px;right:23px}.blessing-memory-card .memory-sound-action{min-height:40px;color:var(--ink);border-color:#4d334d33;margin:16px 0 12px;font-size:11px}.sealed-envelope{width:62px;height:62px;color:var(--gold);border:1px solid #ffeecf2b;border-radius:50%;place-items:center;margin:31px 0 17px;display:grid;box-shadow:0 0 35px #e6bc6614}.blessing-memory-card.sealed h3{font-family:var(--serif);margin:0;font-size:19px;font-weight:500}.blessing-memory-card.sealed p{color:#fff8ee6b;margin:8px 0 18px;font-size:10px;line-height:1.6}.blessing-memory-card.sealed .primary-button{min-height:42px;padding:0 16px;font-size:11px}.sent-memory-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.sent-memory-card{border:1px solid var(--white-line);background:linear-gradient(145deg,#ffffff0d,#0000 55%),#ffffff06;border-radius:19px;padding:24px}.sent-memory-card>header,.sent-memory-card>footer{justify-content:space-between;align-items:center;gap:14px;display:flex}.sent-memory-card>header>div{min-width:0}.sent-memory-card header span:first-child{color:#ffdda58f;letter-spacing:.11em;font-family:Georgia,serif;font-size:9px}.sent-memory-card h2{font-family:var(--serif);margin:5px 0 0;font-size:21px;font-weight:500}.sent-memory-card blockquote{color:#fff8eeab;min-height:92px;font-family:var(--serif);white-space:pre-wrap;margin:24px 0;font-size:14px;line-height:1.9}.sent-memory-card>footer{color:#fff8ee5e;justify-content:flex-start;font-size:9px}.sent-memory-card>footer span{align-items:center;gap:5px;display:inline-flex}.profile-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.05fr);gap:28px;margin-top:38px;display:grid}.profile-identity,.password-panel{padding:38px}.profile-avatar{background:var(--plum);width:68px;height:68px;color:var(--gold);border-radius:22px;place-items:center;margin-bottom:23px;display:grid;box-shadow:0 14px 35px #38213f36}.profile-identity>p:not(.panel-kicker),.password-panel>p:not(.panel-kicker,.profile-message){color:var(--muted);margin:15px 0 0;font-size:12px;line-height:1.75}.profile-star-code{align-items:flex-start;margin:26px 0 20px}.profile-star-code button{position:absolute;bottom:14px;right:14px}.profile-facts{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;align-items:flex-start;gap:9px;padding-top:18px;font-size:10px;display:flex}.profile-facts span{align-items:center;gap:7px;display:inline-flex}.profile-facts svg{color:var(--coral-deep)}.profile-logout{border-color:var(--line);width:100%;color:var(--plum);margin-top:28px}.planet-plaza-empty{text-align:center;background:radial-gradient(circle at 50% 45%,#e6bc6614,#0000 31%),#ffffff05;border:1px dashed #fff8ee29;border-radius:24px;align-content:center;place-items:center;min-height:390px;margin-top:38px;padding:56px 28px;display:grid}.planet-plaza-mark{width:104px;height:104px;color:var(--gold);border:1px solid #e6bc6633;border-radius:50%;place-items:center;margin-bottom:24px;display:grid;position:relative}.planet-plaza-mark span{border:1px solid #ffccc633;border-radius:50%;position:absolute;inset:12px -9px;transform:rotate(-20deg)}.planet-plaza-mark svg:last-child{color:var(--coral);position:absolute;top:3px;right:5px}.planet-plaza-empty h2{color:var(--cream);font-family:var(--serif);margin:13px 0 0;font-size:clamp(22px,2.4vw,32px);font-weight:500}.planet-plaza-empty>p:last-child{color:#fff8ee7a;max-width:520px;margin:14px 0 0;font-size:12px;line-height:1.8}.profile-key-icon{width:49px;height:49px;color:var(--coral-deep);background:#f379671f;border-radius:15px;place-items:center;margin-bottom:18px;display:grid}.password-panel{flex-direction:column;gap:17px;display:flex}.password-panel>p:not(.panel-kicker,.profile-message){margin:-5px 0 4px}.show-passwords-button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:7px;padding:0;font-size:10px;display:inline-flex}.profile-message.success{color:#4d7655;background:#5f92691a;border-color:#4b81572e}.password-submit{width:100%}.admin-badge{color:var(--gold)}.admin-super-note{color:var(--gold);background:#e6bc6612;border:1px solid #e6bc662e;border-radius:15px;align-items:center;gap:13px;margin-top:30px;padding:15px 18px;display:flex}.admin-super-note>svg{flex:none}.admin-super-note p{color:#fff8ee91;margin:0;font-size:10px;line-height:1.7}.admin-super-note strong{color:var(--gold);font-size:11px;font-weight:600;display:block}.admin-action-feedback{color:#a9d5ae;background:#5f92691a;border:1px solid #5f92692e;border-radius:12px;margin:14px 0 0;padding:11px 14px;font-size:10px}.admin-action-feedback.error{color:#ffb0a5;background:#f3796717;border-color:#f3796733}.admin-loading,.admin-denied{text-align:center;margin-top:38px;padding:48px}.admin-denied h2{font-family:var(--serif);margin:15px 0 8px}.admin-denied p{color:var(--muted)}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:38px 0 26px;display:grid}.admin-stat{border:1px solid var(--white-line);background:#ffffff0b;border-radius:17px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:5px 14px;min-height:130px;padding:22px;display:grid}.admin-stat>span{width:42px;height:42px;color:var(--coral);background:#f379671f;border-radius:13px;grid-row:1/3;place-items:center;display:grid}.admin-stat strong{align-self:end;font-family:Georgia,serif;font-size:29px;font-weight:400}.admin-stat small{color:#fff8ee6e;align-self:start;font-size:10px}.admin-section{border:1px solid var(--white-line);background:#ffffff09;border-radius:20px;margin-top:22px;overflow:hidden}.admin-section>header{border-bottom:1px solid var(--white-line);align-items:center;gap:10px;min-height:66px;padding:0 21px;display:flex}.admin-section>header>span{color:var(--coral)}.admin-section>header h2{font-family:var(--serif);margin:0;font-size:19px;font-weight:500}.admin-section>header small{color:#fff8ee8a;background:#ffffff12;border-radius:999px;place-items:center;min-width:24px;height:24px;margin-left:auto;font-size:9px;display:grid}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:960px;font-size:11px}.admin-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #fff8ee14;padding:15px 18px}.admin-table th{color:#fff8ee5e;letter-spacing:.06em;font-size:9px;font-weight:500}.admin-table td{color:#fff8eea1}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td:first-child{position:relative}.admin-table td strong{color:var(--cream);font-size:12px}.admin-star-code{color:#ffe2a673;margin-top:4px;font-family:ui-monospace,monospace;font-size:8px;display:block}.admin-role-mark{color:#fff8ee94;white-space:nowrap;background:#ffffff0f;border-radius:999px;align-items:center;gap:5px;padding:4px 7px;display:inline-flex}.admin-role-mark.administrator{color:#f5a092;background:#f379671a}.admin-role-mark.super{color:var(--gold);background:#e6bc661f}.admin-account-status{color:#fff8ee59;margin-top:5px;font-size:8px;display:block}.admin-promote-button,.admin-demote-button{min-height:44px;color:var(--gold);cursor:pointer;white-space:nowrap;background:#e6bc6614;border:1px solid #e6bc6638;border-radius:9px;align-items:center;gap:6px;padding:0 10px;font-size:9px;display:inline-flex}.admin-promote-button:hover:not(:disabled),.admin-demote-button:hover:not(:disabled){background:#e6bc6624;border-color:#e6bc666b}.admin-promote-button:focus-visible,.admin-demote-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.admin-promote-button:disabled,.admin-demote-button:disabled{cursor:wait;opacity:.48}.admin-demote-button{color:#ffb6ae;background:#ff8b8b14;border-color:#ff8b8b3d}.admin-demote-button:hover:not(:disabled){background:#ff8b8b24;border-color:#ff8b8b7a}.admin-demote-button:focus-visible{outline-color:#ffaaa0}.admin-no-action{color:#fff8ee33}.first-user-mark{color:var(--gold);background:#e6bc661c;border-radius:5px;margin-left:7px;padding:2px 5px;font-size:7px}.admin-blessing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:17px;display:grid}.admin-blessing-card{background:#00000014;border:1px solid #fff8ee17;border-radius:14px;padding:18px}.admin-blessing-card>header{justify-content:space-between;gap:12px;display:flex}.admin-blessing-card header>div{flex-direction:column;gap:4px;display:flex}.admin-blessing-card header strong{font-family:var(--serif);font-size:17px}.admin-blessing-card header small,.admin-blessing-card>footer{color:#fff8ee59;font-size:8px}.admin-blessing-card>p{color:#ffe2a68c;margin:14px 0 8px;font-size:9px}.admin-blessing-card blockquote{color:#fff8ee99;margin:0;font-size:11px;line-height:1.75}.admin-blessing-card>footer{margin-top:13px}.audit-list{padding:7px 18px}.audit-row{border-bottom:1px solid #fff8ee12;align-items:center;gap:12px;padding:12px 0;display:flex}.audit-row:last-child{border-bottom:0}.audit-row>span{width:34px;height:34px;color:var(--gold);font-family:var(--serif);background:#ffffff0f;border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.audit-row>div{flex-direction:column;gap:3px;display:flex}.audit-row strong{color:#fff8eead;font-size:10px;font-weight:500}.audit-row small{color:#fff8ee4f;font-size:8px}@media (max-width:1260px){.site-header{width:min(1320px,100% - 38px)}.header-navigation{gap:7px}.chapter-link{padding:0 7px;font-size:11px}.chapter-link span,.account-link span{display:none}.account-link{padding:0 9px}}@media (max-width:1000px){.gateway-page{grid-template-columns:minmax(0,.72fr) minmax(390px,.8fr);gap:36px}.gateway-intro h1{font-size:clamp(22px,2.75vw,29px)}.blessing-layout{grid-template-columns:1fr}.sent-history{position:static}.profile-layout{grid-template-columns:1fr 1.05fr}}@media (max-width:900px){.account-nav{display:none}.gateway-page{grid-template-columns:1fr;align-items:start;gap:42px;width:min(720px,100% - 40px);padding-top:28px}.gateway-intro{text-align:center}.gateway-orbit{margin-left:auto;margin-right:auto}.gateway-intro .eyebrow{justify-content:center}.gateway-intro>p:not(.eyebrow){margin-left:auto;margin-right:auto}.gateway-proof{grid-template-columns:repeat(3,1fr);max-width:560px;margin-left:auto;margin-right:auto;display:grid}.gateway-proof span{text-align:center;flex-direction:column;justify-content:center;line-height:1.5}.mobile-nav{grid-template-columns:repeat(5,1fr)}.profile-layout{grid-template-columns:1fr}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.gateway-header-note{display:none}.gateway-page{gap:32px;width:calc(100% - 28px);padding:24px 0 72px}.gateway-intro h1{font-size:clamp(22px,5.5vw,28px)}.gateway-intro>p:not(.eyebrow){margin-top:21px;font-size:13px}.gateway-proof{gap:9px}.gateway-proof span{font-size:9px}.gateway-form{padding:28px 23px 31px}.gateway-heading h2{font-size:22px}.gateway-field-row,.blessing-field-row,.account-choice{grid-template-columns:1fr}.gateway-complete-card{padding:36px 24px}.blessing-layout,.profile-layout{margin-top:28px}.blessing-form,.profile-identity,.password-panel{padding:27px 23px}.blessing-memory-grid,.sent-memory-list,.admin-blessing-grid{grid-template-columns:1fr}.admin-super-note{align-items:flex-start;margin-top:24px}.occasion-group{padding:17px}.blessing-memory-card{min-height:270px}.blessing-shelf-tabs{grid-template-columns:1fr 1fr;width:100%;display:grid}.blessing-shelf-tabs button{justify-content:center;padding:0 10px}.admin-stat{min-height:112px;padding:16px}}@media (max-width:460px){.gateway-page{width:calc(100% - 20px)}.gateway-intro{padding:0 6px}.gateway-proof{grid-template-columns:1fr}.gateway-proof span{flex-direction:row}.gateway-form{padding:24px 18px 27px}.gateway-symbol{width:42px;height:42px}.gateway-heading h2{font-size:20px}.star-code-card>strong,.profile-star-code>strong{font-size:23px}.admin-stats{grid-template-columns:1fr 1fr;gap:9px}.admin-stat{flex-direction:column;align-items:flex-start;gap:7px;min-height:118px;display:flex}.admin-stat>span{width:35px;height:35px}.admin-stat strong{font-size:24px}}.birthday-experience{min-height:calc(100vh - 172px)}.birthday-experience-context,.birthday-chapter-nav{width:min(1200px,100% - 64px);margin-left:auto;margin-right:auto}.birthday-experience-context{background:#ffffff09;border:1px solid #ffffff1c;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-top:28px;padding:15px 18px;display:flex}.birthday-experience-context>div{grid-template-columns:auto 1fr;align-items:center;gap:2px 11px;display:grid}.experience-context-mark{width:36px;height:36px;color:var(--coral);background:#ff7e7d21;border-radius:50%;grid-row:1/3;place-items:center;display:grid}.birthday-experience-context p,.birthday-experience-context small{margin:0}.birthday-experience-context p{color:#fff8eeb8;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;display:flex}.birthday-experience-context p strong{color:var(--cream);font-weight:600}.birthday-experience-context small{color:#fff8ee66;letter-spacing:.07em;font-size:10px}.birthday-chapter-nav{z-index:45;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1f1426e0;border:1px solid #ffffff1f;border-radius:16px;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-top:12px;padding:6px;display:grid;position:sticky;top:8px;box-shadow:0 12px 35px #05020833}.birthday-chapter-nav a{color:#fff8ee80;border-radius:11px;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;min-width:0;min-height:50px;padding:8px 11px;font-size:11px;transition:background .2s,color .2s,transform .2s;display:grid}.birthday-chapter-nav a:hover{color:#fff8eed1;background:#ffffff0e;transform:translateY(-1px)}.birthday-chapter-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.birthday-chapter-nav a.active{color:var(--cream);background:linear-gradient(135deg,#ff7e7d2e,#ffd38917)}.birthday-chapter-nav a>span{color:#fff8ee47;font-family:Georgia,Times New Roman,serif;font-size:9px}.birthday-chapter-nav a.active>span,.birthday-chapter-nav a.active svg{color:var(--coral)}.birthday-experience>.page{min-height:auto;padding-top:26px}.experience-byline{color:#ffdfbc8f;letter-spacing:.08em;margin:15px 0 0;font-size:11px}.birthday-dynamic-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.birthday-dynamic-candles{width:306px}.experience-state-page,.legacy-experience-page{place-items:center;display:grid}.experience-state-card,.legacy-experience-card{width:min(620px,100%);box-shadow:var(--shadow);text-align:center;background:radial-gradient(circle at 50% 0,#ffaa8921,#0000 42%),#ffffff09;border:1px solid #ffffff1f;border-radius:24px;flex-direction:column;align-items:center;padding:clamp(34px,6vw,62px);display:flex}.experience-state-card>span,.legacy-experience-icon{width:64px;height:64px;color:var(--coral);background:#ff7e7d21;border-radius:50%;place-items:center;margin-bottom:22px;display:grid}.experience-state-card h1,.legacy-experience-card h1{text-align:center;max-width:540px;font-size:clamp(20px,2.5vw,24px)}.experience-state-card p,.legacy-experience-card>p:not(.eyebrow){color:#fff8ee9e;max-width:510px;margin:20px 0 28px;font-size:14px;line-height:1.9}.legacy-experience-card .eyebrow{justify-content:center;margin-bottom:17px}.experience-spinner{animation:1s linear infinite experience-spin}.journey-memory-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:11px;min-height:220px;display:flex}.journey-memory-content>svg{color:var(--gold)}.journey-memory-content h3,.journey-memory-content p,.journey-memory-content small{margin:0}.journey-memory-content h3{color:var(--cream);font-family:var(--serif);font-size:23px;font-weight:500}.journey-memory-content p{color:#fff8ee8f;max-width:310px;font-size:12px;line-height:1.7}.journey-revisit-button{margin:7px 0 3px}@keyframes experience-spin{to{transform:rotate(360deg)}}@media (max-width:900px){.mobile-nav{grid-template-columns:repeat(4,1fr)}.birthday-dynamic-grid{grid-template-columns:1fr}.birthday-experience-context,.birthday-chapter-nav{width:min(720px,100% - 40px)}}@media (max-width:700px){.blessing-form-actions{grid-template-columns:1fr}.blessing-draft-preview-toolbar{gap:12px;min-height:66px;padding:9px 14px}.blessing-draft-preview-toolbar strong{font-size:15px}.blessing-draft-preview-toolbar small{display:none}.blessing-draft-preview-stage{scrollbar-gutter:auto}.birthday-draft-badge{justify-content:center}.blessing-draft-letter-wrap{margin-top:24px}.birthday-template-section-fields,.birthday-template-repeat-item,.birthday-candle-style-picker>div{grid-template-columns:1fr}.birthday-template-editor{padding:15px}.birthday-template-editor-heading{flex-direction:column;gap:9px}.birthday-template-editor-heading>p{max-width:none}.birthday-template-section-fields>.birthday-template-field,.birthday-template-repeat-item>.birthday-template-field,.birthday-template-repeat-item>.birthday-template-remove{grid-column:1}.birthday-template-inline-item{grid-template-columns:1fr}.birthday-template-inline-item .birthday-template-remove{width:100%}.birthday-experience-context{flex-direction:column;align-items:stretch;margin-top:18px}.birthday-experience-context .quiet-button{justify-content:center}.birthday-chapter-nav{grid-template-columns:repeat(3,minmax(0,1fr));position:static}.birthday-chapter-nav a{grid-template-columns:auto auto 1fr}}@media (max-width:460px){.blessing-draft-preview-toolbar>div{grid-template-columns:1fr}.blessing-draft-preview-toolbar span{display:none}.blessing-draft-preview-toolbar strong{font-size:14px}.blessing-draft-preview-toolbar>button{min-height:39px;padding:0 10px;font-size:10px}.blessing-draft-letter-wrap .blessing-memory-card{min-height:340px;padding:22px}.blessing-draft-letter-heading h2{font-size:21px}.birthday-template-editor{border-radius:16px;margin-inline:-8px}.birthday-template-section>summary{flex-direction:column;align-items:flex-start;gap:4px;padding-block:12px}.birthday-template-section>summary span{text-align:left}.birthday-template-section-fields,.birthday-template-repeat-group,.birthday-template-repeat-item{padding:12px}.birthday-experience-context,.birthday-chapter-nav{width:calc(100% - 20px)}.birthday-experience-context{padding:13px}.birthday-chapter-nav a{gap:5px;min-height:46px;padding:7px;font-size:10px}.birthday-chapter-nav a>span{display:none}.birthday-experience>.page{padding-top:20px}.experience-state-card,.legacy-experience-card{padding:32px 20px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
