@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap";:root{color:#72142e;font-synthesis:none;--pink:#ef547d;--cream:#fffaf3;background:#f9d2db;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background-image:linear-gradient(90deg,#ffffff40 50%,#0000 50%),linear-gradient(#ffffff40 50%,#0000 50%);background-size:14px 14px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a,label.import-button{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;transition:background .15s,transform .15s;display:inline-flex}button:hover{background:#f9dbe3}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #b52652}a{color:inherit}header{background:#fffaf3ed;border:1px solid #fff9;border-radius:15px;align-items:center;gap:20px;width:calc(100% - 48px);max-width:1440px;min-height:62px;margin:10px auto 16px;padding:8px 22px;display:flex;box-shadow:0 4px 12px #ad426015}.brand{white-space:nowrap;align-items:center;gap:12px;font:700 clamp(21px,2.2vw,32px) Caveat,cursive;text-decoration:none;display:flex}.brand-heart{color:#f53d73;font:48px/1 Caveat}nav{gap:20px;margin:auto;display:flex}nav button{white-space:nowrap;border-bottom:2px solid #0000;padding:12px 0;font-size:12px}nav .active{color:#e73667;border-color:#ef547d}.primary{background:var(--pink);color:#fff;white-space:nowrap;border-radius:10px;padding:12px 18px;font-size:13px;box-shadow:0 3px 6px #e4486b18}.primary:hover{background:#d63f68;transform:translateY(-1px)}.avatars{padding-left:5px;display:flex}.avatar{object-fit:contain;background:#fff5f2;border:1px solid #ad5265;border-radius:50%;width:38px;height:38px}.avatars .avatar+.avatar{background:#f6b6c5;margin-left:-8px}.placeholder{border-style:dashed;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}main{width:calc(100% - 48px);max-width:1440px;margin:auto}.hero{isolation:isolate;background:radial-gradient(at 62% 45%,#ffe3e1 0,#0000 50%),linear-gradient(105deg,#fffaf3,#fff1ed 52%,#fff9f1);border:1px solid #fff;border-radius:13px;align-items:center;height:250px;padding:20px 6%;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 7px #bd697128}.hero:after{content:"";opacity:.25;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.17' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-copy{z-index:2;min-width:350px}h1{letter-spacing:-1px;margin:0 0 14px;font:700 clamp(40px,4.9vw,67px)/.88 Caveat,cursive}h1 span,h2 span,.player h3 span{color:#f24778}h1 span{font-size:53px}.hero-copy p{letter-spacing:1px;margin:0 0 14px;font:18px Georgia,serif}.birthday{background:#ffdae0;border-radius:30px;padding:6px 18px;font:18px Caveat;display:inline-block}.bow{filter:drop-shadow(1px 3px 2px #ad607548);font-size:39px}.top-bow{z-index:3;font-size:63px;position:absolute;top:-4px;left:-3px;transform:rotate(-28deg)}.web{color:#a3787a;opacity:.35;font-size:80px;position:absolute;top:-30px;left:40%}.paper-note{z-index:2;background:#fff7e7;border:1px solid #e9d8c5;padding:24px 15px 12px;font-size:18px;line-height:1.5;position:absolute;top:55px;left:39%;transform:rotate(-8deg);box-shadow:0 3px 8px #ab78733b}.paper-note:before{content:"";background:#efd9cb88;width:50px;height:22px;position:absolute;top:-9px;left:45px;transform:rotate(8deg)}.hand{font-family:Caveat,cursive}.couple{object-fit:contain;z-index:2;width:31%;height:250px;position:absolute;bottom:0;left:53%}.couple-placeholder{background:#fff5f167;border:2px dashed #e9a4b6;border-radius:50% 50% 40% 40%;flex-direction:column;justify-content:center;align-items:center;width:27%;height:210px;display:flex;position:absolute;bottom:12px;left:56%;transform:rotate(3deg)}.pair-names{color:#96233e;align-items:center;gap:8px;font:16px Caveat;display:flex}.pair-names span{text-align:center;width:57px}.couple-placeholder>.hand{font-size:45px}.couple-placeholder small{color:#985b6c;font-size:10px}.love-note{text-align:center;z-index:1;background:#fff9ef;padding:10px 20px;font-size:18px;position:absolute;top:20px;right:7%;transform:rotate(9deg);box-shadow:0 2px 5px #c7a09155}.filmstrip{background:#3c3035;border:5px dashed #f5ded9;flex-direction:column;gap:5px;width:80px;padding:5px;display:flex;position:absolute;top:6px;bottom:-25px;right:6px;transform:rotate(9deg)}.filmstrip .landscape{min-height:65px}.filmstrip>span{text-align:center;background:#f9c6d0;height:58px;font:45px Caveat}.skyline{letter-spacing:4px;color:#b6818c;opacity:.35;white-space:nowrap;width:65%;font-size:48px;position:absolute;bottom:-6px;left:28%}.floating-heart{color:#f4789b;font-size:29px;position:absolute}.h1{top:16px;left:53%;transform:rotate(-20deg)}.h2{bottom:22px;left:2%}.layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;margin-top:16px;display:grid}.panel{background:#fffaf4ed;border:1px solid #fff;border-radius:15px;box-shadow:0 4px 14px #b9687514}.diary{min-height:465px;padding:16px 18px 13px;scroll-margin-top:15px}.section-heading{justify-content:space-between;align-items:center;min-height:44px;display:flex}h2{margin:0 0 12px;font:700 28px Playfair Display,Georgia,serif}.section-heading h2{margin:0;font-size:clamp(22px,2.3vw,31px)}.gratitude{color:#d95078;padding:0 8px;font-size:17px;line-height:.95;transform:rotate(-9deg)}.filters{flex-wrap:wrap;gap:8px;margin:12px 0 17px;display:flex}.filters button{background:#f7f1ec;border:1px solid #f5e9e5;border-radius:12px;min-height:31px;padding:7px 15px;font-size:11px}.filters .selected{background:var(--pink);color:#fff;border-color:var(--pink);box-shadow:0 3px 6px #ee5c7a25}.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.memory{background:#fffaf5;border:1px solid #f1e8de;border-radius:12px;min-width:0;padding:12px 11px;position:relative;box-shadow:0 4px 9px #9c6f6610}.card-top{justify-content:space-between;align-items:center;gap:3px;margin-bottom:10px;display:flex}.date{color:#dd3768;text-transform:uppercase;white-space:nowrap;background:#ffe3e9;border-radius:13px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;display:inline-flex}.icon{border-radius:50%;flex-shrink:0;padding:5px}.card-open{text-align:left;border-radius:4px;width:100%;padding:0;display:block}.card-open:hover{background:#fff5f0}.polaroid{background:#fffdf6;margin:5px 2px 15px;padding:8px 8px 15px;position:relative;transform:rotate(-5deg);box-shadow:0 3px 4px #80615f44}.polaroid:before{content:"";background:repeating-linear-gradient(90deg,#f4b1c080 0 4px,#fff8 4px 7px),repeating-linear-gradient(#f5b4c5 0 4px,#fff8 4px 7px);width:45px;height:20px;position:absolute;top:-12px;left:60%;transform:rotate(-9deg)}.landscape{background:radial-gradient(circle at 65% 45%,#fff7c2 0 5%,#ffcc80 6%,#0000 20%),linear-gradient(#827292 0%,#e3a18d 35%,#f5b573 49%,#a67480 50%,#737789 64%,#e6a26b 65%,#7a6b78 69%,#d19a7a 74%,#644d54 75%);height:164px;position:relative;overflow:hidden}.landscape:before{content:"";background:#3d3547;border-radius:60%;width:150%;height:40%;position:absolute;bottom:-10%;left:-20%;transform:rotate(-13deg)}.landscape:after{content:"";opacity:.2;background:repeating-linear-gradient(0deg,#0000 0 4px,#fff7 5px 6px);position:absolute;inset:50% 0 0}.landscape span{color:#fff;z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sea{background:radial-gradient(circle at 57% 46%,#ffe8a7 0 4%,#0000 5%),linear-gradient(#988a9c,#e6a57b 40%,#f3b96f 49%,#637782 50%,#536470 60%,#a79d92 62%,#617383 65%,#ddc2a4 80%,#9b7870)}.straight{box-shadow:none;background:0 0;margin:10px 0 15px;padding:0;transform:none}.straight .landscape{border-radius:7px;height:178px}.letter{background:repeating-linear-gradient(0deg,#0000 0 23px,#bd7c7e38 24px 25px),linear-gradient(110deg,#ffdee1,#fac0c9);border:1px solid #f1b4c0;justify-content:center;align-items:center;height:193px;margin:7px 2px 15px;display:flex;position:relative;transform:rotate(-2deg);box-shadow:0 3px 5px #9a676748}.letter>.hand{text-align:center;margin-top:20px;font-size:33px;line-height:.95;transform:rotate(-6deg)}.letter .bow{font-size:43px;position:absolute;top:-22px;right:0;transform:rotate(14deg)}h3{margin:6px 0 10px;font:700 17px Playfair Display,Georgia,serif}.excerpt{color:#6d3c4e;align-items:start;gap:10px;margin:6px 0 8px;font-size:20px;line-height:1.1;display:flex}.excerpt>span{color:#f4517e;font-family:serif;font-size:22px}.example{color:#9c6976;margin-top:8px;font-size:9px;display:block}.card-media{border-radius:6px;height:193px;margin-bottom:14px;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%}.media-symbol{background:#f7dce3;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;display:flex}.media-symbol span{word-break:break-word;padding:5px;font-size:12px}.calendar{margin-bottom:12px;padding:17px 15px 8px;position:relative}.calendar-heading{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.calendar-heading h3{text-transform:capitalize;margin:0;font-size:16px}.calendar-bow{pointer-events:none;font-size:47px;position:absolute;top:-18px;right:-8px;transform:rotate(25deg)}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-grid>button{border-radius:50%;width:31px;height:31px;margin:auto;font-size:11px;position:relative}.weekday{border-bottom:1px solid #f5e7e3;padding:6px 0 10px;font-size:10px}.muted{opacity:.35}.calendar-grid .has-memory{color:#e83d6d;border:1.5px solid #f05d84}.calendar-grid .has-memory:after{content:"♡";color:#f05d84;font-size:14px;position:absolute;top:-6px;right:-5px}.calendar-grid .chosen{color:#fff;background:#ef547d;border-color:#ef547d}.calendar-caption{text-align:center;color:#b65f77;margin-top:8px;font:15px Caveat}.calendar-characters{pointer-events:none;justify-content:space-between;height:15px;display:flex;position:relative;bottom:-9px}.calendar-characters .avatar{background:#fff8f4;width:31px;height:31px}.player{padding:14px 17px}.player h3{margin:0 0 14px;font:600 14px DM Sans}.record-row{align-items:center;gap:18px;display:flex}.vinyl{background:repeating-radial-gradient(circle,#29272c 0 1px,#17171b 2px 3px);border-radius:50%;flex-shrink:0;place-items:center;width:91px;height:91px;display:grid;position:relative;box-shadow:3px 4px 4px #937e7955}.vinyl:after{content:"";background:conic-gradient(#0000,#fff3,#0000,#fff2,#0000);border-radius:50%;position:absolute;inset:0}.vinyl>div{color:#79213c;background:#f6bccc;border:5px solid #eab0bd;border-radius:50%;place-items:center;width:38px;height:38px;font-size:24px;display:grid}.song-meta{flex-direction:column;flex:1;gap:5px;font-size:11px;display:flex}.song-meta strong{font-size:13px}.song-meta>span{color:#8f6570;font-size:10px}.song-meta .hand{font-size:16px}.track-line{background:linear-gradient(90deg,#f36086 45%,#f2d4da 45%);height:3px;margin:4px 0}.add-song{border:1px dashed #ecc2cc;border-radius:10px;width:100%;margin-top:7px;padding:12px;font-size:12px;display:flex}.player audio{width:100%;height:35px;margin-top:10px}.song-select{margin:10px 0 5px!important;font-size:10px!important}.song-select select{padding:6px;font-size:12px}.player iframe{height:160px}.player>p{font-size:12px}.empty{text-align:center;color:#a14c67;flex-direction:column;align-items:center;padding:45px 20px;display:flex}.empty p{max-width:350px;font-size:13px}.empty h3{margin-top:15px}.date-filter{border:1px solid #f0b9c8;border-radius:10px;margin-bottom:12px;padding:7px 10px;font-size:12px}footer{color:#bc345c;background:#f8c0ceb0;border:1px dashed #fff9;justify-content:space-around;align-items:center;height:49px;margin:16px 0 9px;display:flex;box-shadow:0 2px 4px #ad6e7a22}footer>span:first-child{font-size:37px;transform:rotate(-20deg)}footer .bow{font-size:48px;transform:rotate(10deg)}footer p{margin:0;font-size:24px}footer>span:last-child{font-size:24px}.storage{color:#8e5265;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:10px;display:flex}.storage>div{gap:8px;display:flex}.storage button,.import-button{cursor:pointer;background:#fff7f0b0;border-radius:6px;align-items:center;gap:5px;padding:7px;font-size:11px;display:inline-flex}.import-button input{display:none}.asset-note{color:#8c5669;max-width:680px;margin:8px 0 16px;font-size:10px}.asset-note summary{cursor:pointer}.asset-note p{line-height:1.6}dialog{color:#72142e;background:#fffaf5;border:1px solid #fff;border-radius:19px;width:560px;max-width:calc(100vw - 28px);max-height:90vh;padding:32px;overflow:auto;box-shadow:0 20px 100px #631a4055}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#54213666}.close{position:absolute;top:12px;right:12px}dialog h2{margin-top:15px;padding-right:15px;font-size:28px}.form-intro{color:#a95470;margin:0 0 17px;font:22px Caveat}form label,.song-select{flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}input,textarea,select{color:#692137;background:#fffefb;border:1px solid #e5bbc7;border-radius:8px;width:100%;padding:10px 11px}input[type=file]{font-size:12px}textarea{resize:vertical;line-height:1.5}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.small{color:#996577;font-size:11px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.modal-actions>button{border:1px solid #e6c5ce;border-radius:8px;padding:10px 15px;font-size:12px}.modal-actions .primary{border:0}.danger{color:#bb254e}.full-story{white-space:pre-wrap;font-size:15px;line-height:1.7}.full-media{flex-direction:column;gap:15px;display:flex}.full-media img,.full-media video{object-fit:contain;border-radius:9px;max-width:100%;max-height:500px}.full-media audio{width:100%}iframe{border:0;border-radius:12px;width:100%;height:280px;margin-top:15px}.attached{background:#fae9ed;border-radius:6px;justify-content:space-between;align-items:center;margin:5px 0;padding:8px;font-size:12px;display:flex}.attached span{overflow-wrap:anywhere}.delete-confirm{background:#fce1e7;border:1px solid #f4b7c8;border-radius:12px;margin-top:15px;padding:15px;font-size:13px}.delete-confirm button{margin-right:7px;padding:10px}.toast{color:#fff;z-index:10;background:#782b46;border-radius:12px;align-items:center;gap:15px;max-width:90%;padding:14px 20px;font-size:13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #6f224839}.toast button{color:#fff;font-size:22px}@media (width>=1400px){.hero{height:290px}.couple-placeholder{height:245px}.landscape{height:210px}.straight .landscape{height:225px}.letter,.card-media{height:240px}.diary{min-height:510px}}@media (width<=1100px){header{gap:12px;padding:8px 15px}nav{gap:12px}nav button{font-size:10px}.brand{font-size:25px}.brand-heart{font-size:36px}.avatars{display:none}.layout{grid-template-columns:minmax(0,1fr) 290px}.hero{height:240px;padding-left:5%}.hero-copy{min-width:290px}.paper-note{padding:18px 10px;font-size:15px;left:38%}.couple-placeholder{width:27%;height:185px;left:56%}.pair-names{gap:0;font-size:14px}.pair-names span{width:47px}.couple-placeholder small{font-size:9px}.gratitude{display:none}.diary{padding:16px 12px}.cards{gap:9px}.memory{padding:10px 8px}.date{padding:6px;font-size:8px}.filters{gap:5px}.filters button{padding:6px 11px}.landscape{height:140px}.straight .landscape{height:155px}.letter,.card-media{height:170px}.letter>.hand{font-size:29px}h3{font-size:15px}.excerpt{font-size:18px}.calendar-grid>button{width:29px;height:29px}}@media (width<=800px){header{flex-wrap:wrap;gap:8px;width:calc(100% - 24px);margin-bottom:12px}.brand{margin-right:auto;font-size:26px}header>.primary{padding:10px 12px;font-size:11px}nav{order:3;justify-content:center;gap:30px;width:100%}nav button{padding:8px 0;font-size:12px}main{width:calc(100% - 24px)}.layout{grid-template-columns:1fr}.hero{height:260px;padding:20px 30px}.hero-copy{align-self:flex-start;padding-top:13px}h1{font-size:49px}.hero-copy p{font-size:14px}.birthday{font-size:16px}.paper-note{display:none}.couple-placeholder{width:190px;height:155px;bottom:12px;left:auto;right:40px}.couple-placeholder>.hand{font-size:32px}.pair-names svg{width:35px}.love-note{padding:8px;font-size:13px;top:15px;right:11px}.filmstrip{display:none}.couple{width:45%;height:210px;left:auto;right:0}.skyline{width:90%;left:5%}.hero-copy{z-index:3}.h1{left:60%}.web{left:55%}.cards{gap:12px}.landscape{height:180px}.straight .landscape{height:195px}.letter,.card-media{height:210px}.letter>.hand{font-size:34px}aside{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.calendar{margin:0}.calendar-bow{font-size:35px;right:0}.calendar-grid>button{width:29px;height:29px}.calendar-caption{font-size:13px}.record-row{gap:10px}.vinyl{width:70px;height:70px}.player{padding:15px 12px}.player h3{font-size:12px}.storage{flex-direction:column}.section-heading h2{font-size:27px}.gratitude{display:block}.filters button{padding:7px 14px;font-size:11px}footer .bow{font-size:36px}footer p{font-size:21px}footer>span:last-child{display:none}}@media (width<=540px){.brand{gap:5px;font-size:23px}.brand-heart{font-size:30px}header{padding:8px 10px}header>.primary{padding:9px;font-size:10px}nav{gap:23px}nav button{font-size:10px}.hero{height:305px;padding:15px 22px}.hero-copy{padding-top:15px}h1{font-size:45px}.top-bow{font-size:43px;left:-8px}.hero-copy p{letter-spacing:.5px;font-size:14px}.birthday{padding:5px 12px;font-size:15px}.couple-placeholder{width:178px;height:125px;bottom:9px;right:22px;transform:rotate(-4deg)}.couple-placeholder>.hand{font-size:28px}.couple-placeholder small{font-size:8px}.pair-names{font-size:13px}.pair-names svg{height:30px}.couple{width:53%;height:160px;bottom:0}.love-note{font-size:14px;inset:auto auto 13px 20px;transform:rotate(-8deg)}.skyline{font-size:35px;bottom:0}.h1{top:30px;left:88%}.web{font-size:65px;top:-15px;left:69%}.cards{grid-template-columns:1fr}.memory{padding:15px 17px}.card-open{grid-template-columns:44% 1fr;align-items:start;column-gap:19px;display:grid}.polaroid,.letter,.card-media{grid-row:1/3;width:100%;margin:7px 0 5px}.landscape{height:145px}.straight .landscape{height:155px}.letter,.card-media{height:165px}.letter>.hand{font-size:29px}.card-open h3{margin-top:20px;font-size:18px}.excerpt{font-size:20px}.example{text-align:right}.section-heading h2{font-size:23px}.gratitude{display:none}.filters{gap:5px}.filters button{gap:4px;padding:7px 10px;font-size:10px}.diary{padding:15px 12px}.layout{gap:14px}aside{grid-template-columns:1fr}.calendar{padding:18px 22px 13px}.calendar-grid>button{width:34px;height:34px;font-size:12px}.calendar-caption{font-size:16px}.calendar-heading h3{font-size:17px}.player{padding:20px}.player h3{font-size:15px}.vinyl{width:87px;height:87px}.song-meta strong{font-size:14px}.song-meta>span{font-size:12px}footer p{text-align:center;font-size:19px}footer>.bow{font-size:31px}footer>span:first-child{font-size:25px}dialog{padding:26px 20px}dialog h2{font-size:24px}.form-row{gap:10px}.modal-actions{flex-wrap:wrap}.toast{width:90%;font-size:12px}.full-story{font-size:14px}}.import-button{position:relative;overflow:hidden}.import-button input{opacity:0;cursor:pointer;width:100%;height:100%;display:block;position:absolute;inset:0}.import-button:focus-within{outline-offset:3px;outline:3px solid #b52652}:root{--ink:#72142e;--background:#f9d2db}body{background-color:var(--background);color:var(--ink)}.panel,header{background:var(--cream)}.hero-copy h1,.paper-note,.love-note,.gratitude,.letter>.hand{white-space:pre-line}.filmstrip img{object-fit:cover;width:100%;height:65px}.personalize-button{background:#fce3ea;border-radius:9px;padding:9px 11px;font-size:11px}.logout-button{padding:5px;font-size:10px;text-decoration:underline}.access-wrap{justify-content:center;align-items:center;min-height:100vh;padding:25px;display:flex}.access-card{text-align:center;max-width:440px;padding:35px}.access-heart{color:var(--pink);font:65px Caveat}.access-card h1{font-size:52px;line-height:1}.access-card>.hand{font-size:25px}.access-card h2{font-size:22px}.access-card form{text-align:left;margin:25px 0}.access-card .primary{width:100%}.access-card .small{line-height:1.7}.color-fields{grid-template-columns:1fr 1fr;gap:15px;display:grid}.color-fields input{height:42px;padding:4px}fieldset{border:1px solid #efd4de;border-radius:12px;margin:20px 0;padding:16px}legend{font:600 22px Caveat}.custom-image-row{align-items:center;gap:15px;margin:6px 0;display:flex}.custom-image-row img{object-fit:contain;width:75px;height:75px}.custom-image-row button{font-size:11px;text-decoration:underline}button:disabled{opacity:.55;cursor:wait}header{flex-wrap:wrap}header .brand{white-space:normal;max-width:100%}.hero-copy{max-width:42%}.hero-copy h1,.hero-copy p{overflow-wrap:anywhere}.paper-note{overflow-wrap:anywhere;max-width:18%}.love-note{overflow-wrap:anywhere;max-width:12%}.section-heading h2{overflow-wrap:anywhere}footer{gap:10px;height:auto;min-height:49px;padding:7px}footer p{overflow-wrap:anywhere;max-width:70%}.card-open h3{overflow-wrap:anywhere}@media (width<=800px){header .personalize-button{margin-left:auto}header nav{order:4}.hero-copy{max-width:75%}.love-note{max-width:25%}.access-card{padding:25px}}.admin-eyebrow{letter-spacing:2px;color:#ba5878;margin:6px 0 12px;font-size:9px;font-weight:700;display:block}.admin-layout{grid-template-columns:235px minmax(0,1fr);align-items:start;gap:20px;margin-top:25px;margin-bottom:35px;display:grid}.admin-sidebar{padding:22px 15px;position:sticky;top:20px}.admin-sidebar-title{border-bottom:1px solid #f0d9df;flex-wrap:wrap;align-items:center;gap:10px;padding:0 8px 20px;display:flex}.admin-sidebar-title strong{font-size:13px}.admin-sidebar-title>span{color:#a86579;width:100%;font:19px Caveat}.admin-sidebar nav{flex-direction:column;gap:6px;margin:18px 0;display:flex}.admin-sidebar nav button{white-space:normal;text-align:left;border:0;border-radius:9px;justify-content:flex-start;padding:12px 10px;font-size:12px}.admin-sidebar nav .admin-selected{color:#a32951;background:#fbe1e9;font-weight:700}.admin-preview{border:1px solid #e6c7d2;border-radius:8px;width:100%;padding:11px;font-size:12px}.admin-sidebar>.small{margin-bottom:0;padding:8px;line-height:1.7}.admin-content{min-width:0;min-height:650px;padding:30px}.admin-heading{border-bottom:1px solid #f0dbe1;justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px;padding-bottom:20px;display:flex}.admin-heading h1{letter-spacing:0;margin:0 0 8px;font:700 45px/1.1 Caveat}.admin-heading h1 span{font-size:40px}.admin-heading p{color:#976376;max-width:450px;margin:0;font-size:12px;line-height:1.6}.admin-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:25px;display:grid}.admin-stats span{background:#fdf0f1;border:1px solid #f3dce4;border-radius:12px;align-items:center;gap:10px;padding:18px;font-size:12px;display:flex}.admin-stats strong{font:700 28px Playfair Display}.admin-search{align-items:center;margin-bottom:20px;display:flex;position:relative}.admin-search>svg{color:#a57384;position:absolute;left:13px}.admin-search input{background:#fffdf9;padding-left:40px;font-size:12px}.admin-records{flex-direction:column;gap:12px;display:flex}.admin-record{background:#fffdf9;border:1px solid #efdde0;border-radius:12px;align-items:center;gap:15px;padding:17px;display:flex}.admin-record-icon{color:#c74d77;background:#fbe2ea;border-radius:12px;flex-shrink:0;place-items:center;width:45px;height:45px;display:grid}.admin-record-copy{flex:1;min-width:0}.admin-record-copy h2{overflow-wrap:anywhere;margin:0 0 6px;font:700 17px Playfair Display}.admin-record-copy>span{color:#a06c7d;font-size:10px}.admin-record-copy p{white-space:nowrap;text-overflow:ellipsis;color:#916277;margin:8px 0 0;font-size:11px;overflow:hidden}.admin-record-actions{flex-shrink:0;gap:4px;display:flex}.admin-record-actions button{border-radius:7px;flex-direction:column;gap:5px;padding:7px;font-size:9px}.admin-content .form-intro{margin-bottom:20px}.admin-content>h2{font-size:23px}.admin-content fieldset{max-width:800px}.backup-cards{grid-template-columns:1fr 1fr;gap:18px;display:grid}.backup-cards article{background:#fff6f5;border:1px solid #eed3de;border-radius:14px;padding:25px}.backup-cards h2{margin:18px 0 12px;font-size:21px}.backup-cards p{color:#906073;min-height:85px;font-size:12px;line-height:1.8}.backup-cards .import-button{border:1px solid #e5bccb;padding:12px 16px}.account-form{max-width:440px}.account-form>label,.favorite-admin{flex-direction:column;gap:7px;margin:17px 0;font-size:12px;font-weight:600;display:flex}.account-form>.small{line-height:1.8}.favorite-admin select{max-width:400px}.access-card h1{font-size:48px}.access-card .admin-eyebrow{margin-bottom:20px}select:disabled{opacity:1;appearance:none;color:inherit;background:0 0;border:0;padding-left:0}@media (width<=1050px){.admin-layout{grid-template-columns:200px minmax(0,1fr);gap:14px}.admin-content{padding:22px 18px}.admin-record-actions{flex-direction:column}.admin-record-actions button{flex-direction:row;padding:4px}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:38px}.admin-heading>.primary{padding:10px;font-size:11px}.admin-stats span{gap:6px;padding:12px;font-size:10px}}@media (width<=740px){.admin-layout{grid-template-columns:1fr;margin-top:15px}.admin-sidebar{padding:15px;position:static}.admin-sidebar-title{border:0;padding-bottom:5px}.admin-sidebar-title>span,.admin-sidebar>.small{display:none}.admin-sidebar nav{flex-flow:wrap;gap:6px;margin:10px 0}.admin-sidebar nav button{gap:5px;padding:9px;font-size:10px}.admin-sidebar nav button svg{width:15px}.admin-preview{width:auto;padding:9px;font-size:11px}.admin-content{min-height:450px;padding:23px 16px}.admin-heading{flex-wrap:wrap;gap:12px}.admin-heading h1{font-size:37px}.admin-heading .admin-eyebrow{letter-spacing:1px;font-size:8px}.admin-record{flex-wrap:wrap;gap:10px;padding:13px 10px}.admin-record-icon{width:34px;height:34px}.admin-record-copy h2{font-size:16px}.admin-record-actions{flex-direction:row;gap:9px;margin-left:auto}.admin-record-actions button{padding:6px;font-size:10px}.admin-stats{gap:7px}.admin-stats span{flex-direction:column;gap:3px;font-size:11px}.admin-stats strong{font-size:26px}.backup-cards{grid-template-columns:1fr}.backup-cards p{min-height:0}.admin-content fieldset{padding:13px}.access-wrap{padding:15px}.access-card h1{font-size:43px}}.album-count{color:#b13c65;margin:6px 0;font-size:10px;display:block}.album-editor-files{flex-direction:column;gap:10px;margin:15px 0;display:flex}.album-editor-file{background:#fff2f3;border:1px solid #eed6de;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.album-file-preview{background:#f5dfe5;border-radius:6px;flex-shrink:0;place-items:center;width:80px;height:65px;display:grid;overflow:hidden}.album-file-preview img,.album-file-preview video{object-fit:cover;width:100%;height:100%}.album-file-preview audio{width:80px;height:35px}.album-file-info{overflow-wrap:anywhere;flex:1;min-width:0;font-size:11px}.album-file-info strong{font-weight:500;line-height:1.5;display:block}.album-file-info span{color:#9c667a;margin-top:5px;font-size:10px;display:block}.album-file-actions{gap:2px;display:flex}.album-file-actions button{border-radius:5px;padding:5px}.album-file-actions button:disabled,.album-navigation button:disabled{cursor:default;opacity:.3}.album-stage{background:#f8e9ed;border-radius:12px;justify-content:center;align-items:center;min-height:180px;display:flex;overflow:hidden}.album-stage img,.album-stage video{object-fit:contain;width:100%;max-height:55vh;display:block}.album-stage audio{width:95%}.album-navigation{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.album-navigation span{font-size:11px}.album-navigation button{border:1px solid #e9c7d4;border-radius:50%;padding:7px}.album-thumbnails{flex-wrap:wrap;gap:8px;padding-bottom:8px;display:flex}.album-thumbnails button{background:#fff8f4;border:1px solid #e9c7d4;border-radius:8px;padding:9px;font-size:10px}.album-thumbnails .album-current{background:#f8d4e1;border-color:#c4507a}.album-file-actions button:disabled:hover,.album-navigation button:disabled:hover{background:0 0}@media (width<=540px){.album-file-preview{width:58px;height:55px}.album-file-actions{flex-direction:column}.album-file-actions button{padding:3px}.album-stage{min-height:130px}}.music-collection{min-width:0}.music-collection>h3{align-items:center;gap:8px;margin:8px 0 18px;font:600 17px DM Sans;display:flex}.music-collection>h3>span{color:#ef547d}.youtube-stage{background:#f7e6eb;border-radius:12px;min-width:200px;overflow:hidden}.youtube-stage iframe{aspect-ratio:16/9;border-radius:0;width:100%;height:auto;min-height:200px;margin:0;display:block}.youtube-cover{aspect-ratio:16/9;background:#f4dae4;width:100%;min-height:200px;padding:0;display:block;position:relative;overflow:hidden}.youtube-cover>img{object-fit:cover;width:100%;height:100%;display:block}.youtube-play{color:#fff;background:#df3865eb;border:2px solid #fff8;border-radius:50%;place-items:center;width:60px;height:60px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #41213355}.youtube-cover-label{color:#fff;background:linear-gradient(#0000,#321929bb);padding:14px 7px;font-size:12px;position:absolute;bottom:0;left:0;right:0}.song-placeholder{color:#b4456b;background:linear-gradient(130deg,#fbd7e3,#f2b4c9);place-items:center;width:100%;height:100%;min-height:50px;display:grid}.collection-current{justify-content:space-between;align-items:center;gap:10px;margin:13px 0;font-size:14px;display:flex}.collection-current strong{overflow-wrap:anywhere}.collection-current>span{white-space:nowrap;color:#9b5c73;font-size:11px}.collection-controls{justify-content:space-between;align-items:center;gap:5px;padding:0 0 9px;display:flex}.collection-controls button{background:#f9e3eb;border:1px solid #f0cdda;border-radius:9px;padding:10px 11px;font-size:11px}.collection-controls button:disabled{cursor:default;opacity:.4}.youtube-fallback{color:#916178;margin:5px 0 13px;line-height:1.7;font-size:10px!important}.youtube-fallback a{text-decoration:underline}.collection-list{flex-direction:column;gap:7px;max-height:330px;margin:12px 0 20px;padding:2px;display:flex;overflow:auto}.collection-song{text-align:left;background:#fffaf5;border:1px solid #efdae1;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px;display:flex}.collection-song.current-song{background:#fbe3ec;border-color:#df91af}.collection-thumb{background:#f8dce7;border-radius:6px;flex-shrink:0;width:74px;height:48px;position:relative;overflow:hidden}.collection-thumb img{object-fit:cover;width:100%;height:100%}.collection-thumb>svg{color:#fff;filter:drop-shadow(0 1px 2px #3c2537);fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.collection-song>span:not(.song-number){flex:1;min-width:0}.collection-song strong{overflow-wrap:anywhere;font-size:12px;font-weight:600;line-height:1.4;display:block}.collection-song small{color:#9d6078;margin-top:4px;font-size:9px;display:block}.song-number{color:#b76286;font:20px Caveat}.compact .music-collection>h3{font-size:13px}.compact>h3{margin:0 0 13px;font-size:13px}.compact .collection-controls button{gap:4px;padding:7px;font-size:9px}.compact .collection-controls button:nth-child(2):not(:last-child){gap:0;font-size:0}.compact .collection-controls button:nth-child(2):not(:last-child) svg{width:16px}.compact .collection-current{font-size:12px}.compact .collection-thumb{width:53px;height:38px}.compact .collection-song{gap:8px;padding:6px}.compact .collection-song strong{font-size:10px}.compact .collection-list{max-height:200px;margin-bottom:0}.compact .youtube-cover,.compact .youtube-stage iframe{aspect-ratio:auto;height:200px}.collection-empty{text-align:center;color:#a45675;padding:25px 10px}.collection-empty p{margin:12px 0;font:23px Caveat}.collection-empty button{border:1px dashed #dba5ba;border-radius:10px;padding:12px;font-size:12px}.local-song{flex-direction:column;align-items:center;gap:15px;padding:18px;display:flex}.local-song p{font-size:12px}.local-song audio{width:100%}.song-link-preview{background:#fbe9ee;border:1px solid #f2ccd9;border-radius:10px;align-items:center;gap:14px;margin:14px 0;padding:10px;display:flex}.song-link-preview img{object-fit:cover;border-radius:7px;width:95px;height:65px}.song-link-preview>span{font-size:12px}.song-link-preview small{color:#9c657a;margin-top:5px;font-size:10px;display:block}.song-card-thumb{position:relative}.song-card-thumb>img{object-fit:cover;width:100%;height:100%}.song-card-thumb>svg{color:#fff;background:#e34472;border-radius:50%;width:48px;height:48px;padding:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.admin-content .music-collection{background:#fff8f5;border:1px solid #efd5df;border-radius:14px;max-width:760px;margin:20px 0 30px;padding:20px}@media (width<=540px){.collection-controls button{padding:9px 8px;font-size:10px}.collection-controls button:nth-child(2):not(:last-child){gap:0;font-size:0}.collection-controls button:nth-child(2):not(:last-child) svg{width:16px}.music-collection>h3{font-size:15px}.admin-content .music-collection{padding:12px}.youtube-stage iframe,.youtube-cover{min-height:200px}.collection-list{max-height:280px}}.youtube-status{color:#8e536e;background:#fff1f5;margin:0;padding:8px 12px;font-size:10px;line-height:1.6}.youtube-frame-failed{display:none}.youtube-error{background:#fff1f5;border:1px solid #ecc2d3;border-radius:12px;flex-direction:column;justify-content:center;min-height:200px;padding:22px 16px;display:flex}.youtube-error strong{font-size:14px}.youtube-error p{line-height:1.7;font-size:12px!important}.youtube-error small{color:#9e607a;font-size:10px}.youtube-error>div{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.youtube-error button,.youtube-error a{background:#fff9f6;border:1px solid #dfabc1;border-radius:7px;padding:9px;font-size:10px;text-decoration:none}.youtube-start{margin:10px}.compact .youtube-error{padding:17px 12px}.compact .youtube-error p{font-size:11px!important}.mp3-stage{background:linear-gradient(135deg,#ffeaf1,#f6d1df);border-radius:13px;flex-direction:column;align-items:center;gap:18px;padding:24px 18px;display:flex}.mp3-stage>.hand{text-align:center;font-size:24px}.mp3-stage audio{width:100%;height:42px}.mp3-stage>p,.mp3-missing p{text-align:center;font-size:12px;line-height:1.7}.mp3-missing button{background:#fff6f7;border:1px solid #dca7bb;border-radius:9px;padding:10px;font-size:12px}.mp3-upload-label{color:#8e3054;background:#fff0f5;border:1px dashed #d18da8;border-radius:12px;padding:18px}.mp3-upload-label>input{background:#fffaf7;margin-top:8px}.compact .mp3-stage{padding:20px 12px}.compact .mp3-stage>.hand{font-size:21px}:root{--diary-wallpaper:url(/backgrounds/hello-kitty-spiderman.jpg)}body.romantic-wallpaper{isolation:isolate}body.romantic-wallpaper:before{content:"";pointer-events:none;z-index:-1;background-image:linear-gradient(#ffe9f04d,#ffe9f04d),var(--diary-wallpaper);opacity:.4;background-position:50%,top;background-size:auto,370px 370px;position:fixed;inset:0}.romantic-wallpaper .hero{background-image:linear-gradient(90deg,var(--cream) 0%,#fff3ede8 35%,#fff0ed75 49%,transparent 63%),var(--diary-wallpaper);background-position:50%,right 12% center;background-repeat:no-repeat;background-size:100% 100%,auto 135%}.romantic-wallpaper .hero .couple-placeholder{display:none}.romantic-wallpaper .hero .love-note{z-index:2;max-width:9%;padding:9px;font-size:15px;top:24px;right:8px}.romantic-wallpaper .hero .filmstrip{display:none}.wallpaper-toggle{background:#fce8ee;border-radius:9px;align-items:center;padding:12px;line-height:1.6;flex-direction:row!important;gap:9px!important;display:flex!important}.wallpaper-toggle input{flex-shrink:0;width:18px;height:18px}@media (width<=800px){body.romantic-wallpaper:before{opacity:.3;background-size:auto,290px 290px}.romantic-wallpaper .hero{background-position:50%,right -10px center;background-size:100% 100%,auto 105%;background-image:linear-gradient(90deg,var(--cream) 0%,#fff3edef 35%,#fff0ed40 62%,transparent 80%),var(--diary-wallpaper)}.romantic-wallpaper .hero .love-note{display:none}}@media (width<=540px){.romantic-wallpaper .hero{background-image:linear-gradient(180deg,var(--cream) 0%,#fff6f0f5 32%,#fff0ed00 55%),var(--diary-wallpaper);background-position:50%,bottom;background-size:100% 100%,275px 275px;height:390px}.romantic-wallpaper .hero-copy{max-width:100%;padding-top:5px}.romantic-wallpaper .hero-copy h1{font-size:41px}.romantic-wallpaper .hero-copy .birthday{font-size:14px}.romantic-wallpaper .hero-copy p{margin-bottom:8px;font-size:13px}.romantic-wallpaper .hero .skyline{display:none}}.album-art{background:#f5ccdd;border-radius:6px;width:100%;height:100%;position:relative;overflow:hidden}.album-art>img{object-fit:cover;width:100%;height:100%;display:block}.album-art-large{border:5px solid #fff7f9;border-radius:14px;width:230px;height:230px;animation:.35s ease-out cover-appear;box-shadow:0 12px 25px #96375033}.album-art-large .song-placeholder{height:100%}.album-art-source{color:#fff;text-align:center;background:linear-gradient(#0000,#311a2bbb);padding:15px 8px 7px;font-size:9px;line-height:1.4;text-decoration:none;position:absolute;bottom:0;left:0;right:0}.playing-song-meta{text-align:center;overflow-wrap:anywhere;flex-direction:column;align-items:center;gap:6px;max-width:100%;display:flex}.playing-song-meta strong{font:700 22px/1.1 Caveat}.playing-song-meta>span{color:#96536e;font-size:11px}.mp3-stage>.hand{margin-top:-5px;font-size:18px}.compact .album-art-large{aspect-ratio:1;width:min(100%,210px);height:auto}.compact .playing-song-meta strong{font-size:23px}.artwork-picker{background:#fff0f5;border:1px solid #edc6d6;border-radius:12px;margin:17px 0;padding:15px}.artwork-picker>strong{font-size:13px}.artwork-picker>p{line-height:1.6}.artwork-picker>button{background:#fff9f5;border:1px solid #dba5bc;border-radius:7px;padding:8px;font-size:11px}.artwork-selected{align-items:center;gap:12px;margin:12px 0;display:flex}.artwork-selected>img{object-fit:cover;border-radius:9px;width:82px;height:82px;box-shadow:0 4px 12px #99324e22}.artwork-selected>span{font-size:12px;line-height:1.5}.artwork-selected small{color:#985c75;margin-top:4px;font-size:10px;display:block}.artwork-options{gap:7px;margin:12px 0;display:flex;overflow:auto}.artwork-options>button{border:1px solid #e8bdd0;border-radius:9px;flex-direction:column;justify-content:flex-start;width:95px;min-width:95px;padding:6px;display:flex}.artwork-options>button[aria-pressed=true]{background:#f4c5d9;border-color:#c25080}.artwork-options img{object-fit:cover;border-radius:6px;width:80px;height:80px}.artwork-options span{font-size:9px;line-height:1.4}.collection-thumb>.album-art{position:absolute;inset:0}@keyframes cover-appear{0%{opacity:.3;transform:translateY(5px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
