@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display:ital@0;1&display=swap";
.header-envelope{filter:drop-shadow(0 3px 2px #29262b18);flex-shrink:0;width:65px;height:44px;transition:rotate .25s,transform .25s;display:block;position:relative;rotate:-7deg}.header-envelope:hover{transform:translateY(-3px)}.header-envelope-back{background:#29262b;border:1px solid #514550;border-radius:5px;position:absolute;inset:0}.header-envelope-fold{clip-path:polygon(0 0,100% 0,50% 64%);background:linear-gradient(145deg,#0000 49%,#66535f 50%,#0000 51%),linear-gradient(215deg,#0000 49%,#66535f 50%,#0000 51%);border-radius:5px;position:absolute;inset:0}.header-envelope-heart{color:#ff5e73;place-items:center;padding-top:5px;display:grid;position:absolute;inset:0}.header-envelope-spark{color:#ff5e73;font-size:22px;position:absolute;top:-15px;right:-11px}.header-envelope:focus-visible{outline:2px solid var(--pink);outline-offset:7px;border-radius:5px}@media (max-width:620px){.header-envelope{width:49px;height:34px;margin-right:7px}.header-envelope-spark{font-size:18px;top:-12px;right:-10px}}:root{--pink:#ff5e73;--pink-light:#ff9ead;--cream:#fff8f6;--surface:#fffcfb;--soft:#ffe4e9;--rose:var(--pink);--rose-hover:#f34765;--ink:#29262b;--text:#59525d;--charcoal-soft:#403a43;--muted:#807985;--line:#eadde2;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--hand:"Caveat","Segoe Print",cursive}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}body:has(dialog[open]){overflow:hidden}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button{color:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rose);outline-offset:5px}::selection{background:var(--soft)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);font-weight:400}h1,h2,h3,blockquote{font-family:var(--serif)}.content-width{width:min(1120px,100% - 96px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);background:var(--cream);height:92px}.header-inner{justify-content:space-between;align-items:center;gap:25px;max-width:1392px;height:100%;margin:auto;padding:0 48px;display:flex}.brand{white-space:nowrap;font-family:var(--serif);letter-spacing:-.7px;align-items:center;gap:11px;font-size:23px;display:flex}.brand i{font-weight:400}.brand-mark{color:var(--pink);background:var(--ink);border-radius:13px 13px 17px 17px;place-items:center;width:39px;height:42px;display:grid;transform:rotate(-8deg)}nav{align-items:center;gap:29px;display:flex}.nav-link{color:var(--ink);white-space:nowrap;align-items:center;gap:7px;height:91px;font-size:12px;display:flex;position:relative}.nav-link.active{color:var(--ink)}.nav-link.active:after{content:"";background:var(--pink);border-radius:2px;height:3px;position:absolute;bottom:17px;left:22px;right:0}.nav-link:hover{color:var(--rose)}.music-pill{background:var(--ink);border:1px solid var(--ink);color:var(--pink);white-space:nowrap;border-radius:30px;align-items:center;gap:10px;padding:10px 14px;font-size:11px;display:flex}.equalizer{align-items:center;gap:2px;height:13px;display:flex}.equalizer i{background:var(--rose);border-radius:2px;width:2px;height:6px}.equalizer i:nth-child(2){height:12px}.equalizer i:nth-child(3){height:8px}.is-playing .equalizer i{animation:.9s ease-in-out infinite alternate equalize}.is-playing .equalizer i:nth-child(2){animation-delay:.3s}.is-playing .equalizer i:nth-child(3){animation-delay:.6s}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:30px;min-height:591px;padding-top:25px;padding-bottom:35px;display:grid}.hero-copy{padding-bottom:10px}.eyebrow{letter-spacing:2.05px;color:var(--text);align-items:center;gap:8px;font-size:9px;font-weight:650;display:flex}.eyebrow>span{background:var(--pink);border-radius:50%;width:5px;height:5px}.hero h1{letter-spacing:-2.7px;color:var(--text);margin:25px 0 23px;font-size:76px;line-height:1.1;position:relative}.hero h1 em{color:var(--rose);font-weight:400}.heading-heart{font-family:var(--hand);color:var(--pink);margin-left:13px;font-size:59px;font-weight:400;display:inline-block;position:absolute;bottom:-3px;transform:rotate(13deg)}.hero-copy>p{max-width:364px;color:var(--muted);margin-bottom:28px;font-size:13px;line-height:1.95}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:43px;padding:12px 21px;font-size:12px;font-weight:550;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--pink);color:var(--ink);box-shadow:0 4px #29262b16}.button.primary:hover{background:var(--rose-hover);box-shadow:0 6px 15px #29262b20}.button.subtle{border-color:var(--line);color:var(--ink);background:0 0}.hero-footnote{color:var(--muted);align-items:center;gap:8px;margin-top:20px;font-size:11px;display:flex}.tiny-stars{color:var(--pink);font-size:24px}.hero-art{isolation:isolate;height:470px;position:relative}.gingham-arch{background-color:var(--soft);background-image:linear-gradient(90deg,#fffcfb60 50%,#0000 50%),linear-gradient(#fffcfb60 50%,#0000 50%);background-size:23px 23px;border-radius:49% 49% 12px 12px;width:365px;height:384px;position:absolute;top:46px;left:58px;transform:rotate(4deg);box-shadow:0 0 0 8px #29262b80,0 0 0 9px #29262b75}.hero-penguin{z-index:4;filter:drop-shadow(0 12px 12px #29262b15);width:279px;height:317px;animation:6s ease-in-out infinite bob;position:absolute;top:143px;left:108px;transform:rotate(-5deg)}.hero-polaroid{background:var(--surface);z-index:2;width:172px;padding:10px 10px 26px;position:absolute;box-shadow:0 7px 17px #29262b21}.hero-polaroid img{object-fit:cover;width:100%;height:155px}.hero-polaroid>span:last-child{font-family:var(--hand);text-align:center;white-space:nowrap;width:calc(100% - 20px);font-size:17px;display:block;position:absolute;bottom:7px}.photo-one{top:93px;left:0;transform:rotate(-13deg)}.photo-two{top:43px;right:-5px;transform:rotate(12deg)}.photo-two img{object-position:center 40%}.tape{z-index:2;clip-path:polygon(3% 0,98% 2%,96% 17%,100% 36%,97% 57%,100% 81%,96% 100%,1% 96%,4% 78%,0 56%,4% 27%);background:#ff9ead5e;width:60px;height:24px;position:absolute;top:-10px;left:calc(50% - 30px);transform:rotate(-6deg)}.photo-two .tape{background:#ff9ead78;transform:rotate(2deg)}.art-note{font-family:var(--hand);color:var(--muted);font-size:24px;position:absolute;top:3px;left:73px;transform:rotate(-8deg)}.art-note>span{font-size:42px;display:inline-block;position:absolute;top:5px;left:127px;transform:rotate(-10deg)}.butterfly{z-index:5;animation:5s ease-in-out infinite flutter;position:absolute}.butterfly-one{width:65px;top:266px;right:4px;transform:rotate(23deg)}.butterfly-two{width:39px;animation-delay:2s;bottom:17px;left:44px;transform:rotate(-14deg)}.floating-heart{z-index:5;color:var(--pink);animation:4s ease-in-out infinite float;position:absolute}.heart-one{font-size:24px;top:35px;left:25px;transform:rotate(-20deg)}.heart-two{font-size:47px;animation-delay:1s;bottom:47px;right:53px;transform:rotate(17deg)}.art-sparkle{color:var(--pink);font-size:39px;position:absolute}.sparkle-one{top:-4px;right:52px}.sparkle-two{font-size:29px;bottom:89px;left:10px}.plush-note{font-family:var(--hand);color:var(--muted);font-size:19px;position:absolute;bottom:-4px;left:115px;transform:rotate(-3deg)}.love-ribbon{background:var(--soft);border-block:1px solid var(--line);white-space:nowrap;height:46px;color:var(--muted);align-items:center;display:flex;overflow:hidden}.love-ribbon-track{flex-shrink:0;width:max-content;animation:38s linear infinite ribbon-drift-right;display:flex}.love-ribbon-group{flex-shrink:0;justify-content:space-around;align-items:center;gap:40px;min-width:100vw;padding-inline:20px;display:flex}.love-ribbon-group>span{font-family:var(--hand);align-items:center;gap:40px;font-size:20px;display:flex}.love-ribbon-group svg{width:11px;height:11px;fill:var(--pink);stroke-width:1px;flex-shrink:0}@keyframes ribbon-drift-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.corners{padding-top:62px;padding-bottom:58px}.section-top{justify-content:space-between;align-items:center;margin-bottom:27px;display:flex}.section-top .eyebrow{letter-spacing:1.6px;font-size:8px}.section-top h2{letter-spacing:-.8px;margin:10px 0 0;font-size:33px}.section-top h2>span{font-family:var(--sans);color:var(--muted);margin-left:13px;font-size:25px}.handwritten{font-family:var(--hand);color:var(--muted);font-size:24px;font-weight:400}.section-top>.handwritten{align-items:center;gap:10px;padding-top:21px;font-size:21px;display:flex;transform:rotate(-5deg)}.corner-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.corner-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:transform .3s,box-shadow .3s;overflow:hidden}.corner-card:hover{transform:translateY(-7px);box-shadow:0 16px 30px #29262b12}.card-art{height:183px;position:relative;overflow:hidden}.vinyl-art,.paper-art,.polaroid-art{background:var(--soft)}.card-copy{padding:23px 23px 24px}.card-title{color:var(--rose);justify-content:space-between;align-items:center;display:flex}.card-title h3{color:var(--text);align-items:center;gap:9px;margin:0;font-size:21px;display:flex}.card-title h3 svg{color:var(--ink)}.card-copy p{color:var(--muted);margin:10px 0 19px;font-size:10.5px;line-height:1.7}.card-tag{letter-spacing:1.3px;color:var(--muted);font-size:7.5px;font-weight:600}.record{background:repeating-radial-gradient(circle,#30312f 0 2px,#41413c 3px,#2c2e2c 4px);border-radius:50%;flex-shrink:0;place-items:center;width:270px;height:270px;animation:18s linear infinite paused spin;display:grid;position:relative;box-shadow:4px 5px 12px #29262b28}.record:before{content:"";background:conic-gradient(from 15deg,#0000 0deg,#ffffff17 28deg,#0000 53deg 160deg,#ffffff15 196deg,#0000 228deg);border-radius:50%;position:absolute;inset:0}.record.spinning{animation-play-state:running}.record-label{background:var(--pink);width:35%;height:35%;color:var(--ink);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.record-label>span:first-child{font-family:var(--hand);font-size:24px}.record-heart{font-size:21px}.record-label:after{content:"";background:var(--ink);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.vinyl-art .record{width:148px;height:148px;position:absolute;top:21px;left:42%;transform:rotate(12deg);box-shadow:6px 5px 10px #29262b1a}.vinyl-art .record-label>span:first-child,.vinyl-art .record-heart{font-size:13px}.record-sleeve{background:var(--ink);z-index:1;border:5px solid var(--charcoal-soft);outline:1px solid var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:10px;width:135px;height:139px;display:flex;position:absolute;top:28px;left:58px;transform:rotate(-9deg);box-shadow:3px 4px 10px #29262b22}.record-sleeve>span{font-family:var(--serif);text-align:center;color:var(--soft);font-size:18px;line-height:1.2}.record-sleeve>svg{color:var(--pink)}.music-note{color:var(--muted);font-family:var(--serif);position:absolute}.note-one{font-size:29px;top:27px;right:35px;transform:rotate(14deg)}.note-two{font-size:25px;bottom:27px;left:24px;transform:rotate(-13deg)}.little-letter{width:209px;height:147px;color:var(--muted);font-family:var(--hand);background:repeating-linear-gradient(#fffaf1 0 23px,#ff9ead 24px);flex-direction:column;gap:9px;padding:15px 22px;font-size:18px;display:flex;position:absolute;top:22px;left:calc(50% - 104px);transform:rotate(-7deg);box-shadow:4px 5px 12px #29262b1a}.little-letter i{font-size:17px;font-style:normal;line-height:1.3}.little-letter>span:last-child{align-self:flex-end;font-size:16px}.letter-heart{color:var(--pink);text-shadow:2px 3px #29262b;font-size:39px;position:absolute;bottom:19px;right:44px;transform:rotate(15deg)}.paper-sparkle{color:var(--pink);font-size:28px;position:absolute;top:15px;left:28px}.mini-polaroid{background:var(--surface);width:117px;padding:7px 7px 23px;position:absolute;box-shadow:3px 6px 10px #29262b20}.mini-polaroid img{object-fit:cover;width:100%;height:112px}.mini-polaroid>span:last-child{font-family:var(--hand);text-align:center;width:100%;font-size:12px;position:absolute;bottom:5px;left:0}.mini-polaroid.back{top:17px;left:62px;transform:rotate(-13deg)}.mini-polaroid.front{top:29px;left:155px;transform:rotate(12deg)}.mini-polaroid .tape{width:43px;height:16px;top:-6px;left:calc(50% - 21px)}.camera-sparkle{color:var(--pink);font-size:25px;position:absolute;top:16px;right:30px}.love-note{border-top:1px solid var(--line);text-align:center;padding:40px 0 26px}.note-kicker{letter-spacing:1.8px;color:var(--muted);justify-content:center;align-items:center;gap:7px;font-size:8px;display:flex}.love-note blockquote{color:var(--text);margin:18px 0 13px;font-size:30px;line-height:1.45}.love-note blockquote em{color:var(--rose)}.note-signoff{font-family:var(--hand);color:var(--muted);font-size:21px}.animal-parade{justify-content:center;gap:18px;margin-top:24px;display:flex}.animal-parade span{filter:saturate(.65);font-size:22px;transition:transform .25s;display:inline-block}.animal-parade span:hover{filter:none;transform:translateY(-8px)rotate(10deg)}.site-footer{border-top:1px solid var(--line);max-width:1120px;color:var(--muted);justify-content:space-between;align-items:center;margin:0 auto;padding:27px 0 122px;font-size:9px;display:flex}.footer-brand{font-family:var(--serif);color:var(--ink);font-size:19px}.site-footer>span{align-items:center;gap:7px;display:flex}.footer-note{font-family:var(--hand);font-size:18px}.mini-player{border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#fffcfbf5;border-radius:13px;align-items:center;gap:14px;width:540px;max-width:calc(100% - 32px);padding:12px 17px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 6px 32px #29262b17}.record.record-small{width:39px;height:39px}.record-small .record-label{width:38%;height:38%}.record-small .record-label span{display:none}.record-small .record-label:after{width:3px;height:3px}.mini-track{flex-direction:column;gap:5px;min-width:116px;display:flex}.micro-label{letter-spacing:1.25px;color:var(--muted);font-size:7px;font-weight:600}.mini-track>a{font-size:11px;font-weight:550}.mini-hint{font-family:var(--hand);color:var(--muted);white-space:nowrap;flex:1;font-size:15px}.icon-button{color:var(--ink);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:background .2s;display:inline-flex}.icon-button:hover{background:var(--soft)}.player-toggle{background:var(--ink);color:var(--pink)}.player-toggle:hover{background:var(--charcoal-soft)}.player-divider{background:var(--line);width:1px;height:19px;margin:0 1px}.volume-slider{width:47px}.mini-player>svg{color:var(--muted);flex-shrink:0}.player-heart{display:none}.mini-player .icon-button{padding:6px}.mini-player{gap:10px}input[type=range]{accent-color:var(--rose);cursor:pointer;height:4px}.music-error{text-align:center;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:10px;font-size:12px;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.skip-link{z-index:100;background:var(--rose);color:#fff;padding:15px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.inner-page{min-height:calc(100vh - 230px);padding:60px 0 70px}.page-heading{text-align:center;margin-bottom:46px}.page-heading .eyebrow{justify-content:center}.page-heading h1{letter-spacing:-1.5px;margin:17px 0 15px;font-size:49px;line-height:1.15}.page-heading h1 em{color:var(--rose);font-weight:400}.page-heading>p{color:var(--muted);font-size:12px;line-height:1.8}.jukebox-layout{grid-template-columns:1fr 1fr;gap:75px;max-width:960px;margin:auto;display:grid}.turntable-panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:24px}.turntable{border:1px solid var(--charcoal-soft);background:var(--ink);height:340px;box-shadow:inset 0 0 0 6px var(--charcoal-soft),inset 0 0 0 7px #5a515d,0 5px 0 #29262b33;border-radius:10px;padding:38px 22px;position:relative}.turntable>.record{width:260px;height:260px}.turntable-label{letter-spacing:1.5px;color:var(--pink-light);font-size:7px;position:absolute;top:17px;left:25px}.tonearm{transform-origin:top;background:linear-gradient(90deg,#8d8790,#e6e0e5,#aca5af);border-radius:9px;width:14px;height:174px;transition:transform 1s;position:absolute;top:43px;right:26px;transform:rotate(6deg);box-shadow:3px 2px 5px #29262b28}.tonearm:before{content:"";border:5px solid var(--pink);background:#ff9ead;border-radius:50%;width:31px;height:31px;position:absolute;top:-8px;left:-9px;box-shadow:0 2px 4px #29262b30}.tonearm>span{background:#726965;border-radius:4px;width:24px;height:31px;position:absolute;bottom:-9px;left:-5px;transform:rotate(18deg)}.tonearm.on{transform:rotate(25deg)}.turntable-light{background:var(--rose);border-radius:50%;width:5px;height:5px;position:absolute;bottom:19px;right:24px;box-shadow:0 0 0 4px #29262b20}.now-playing{text-align:center;padding-top:27px}.now-playing h2{margin:8px 0 5px;font-size:27px}.now-playing p{color:var(--muted);font-size:11px}.seek-row{color:var(--muted);align-items:center;gap:10px;margin-top:24px;font-size:10px;display:flex}.seek-row input{flex:1;min-width:0}.playback-controls{justify-content:center;align-items:center;gap:20px;margin:24px 0 2px;display:flex}.big-play{background:var(--ink);width:57px;height:57px;color:var(--pink);border:0;border-radius:50%;place-items:center;display:grid;box-shadow:0 5px 14px #29262b21}.tracklist-panel{padding-top:20px}.tracklist-heading{justify-content:space-between;align-items:center;display:flex}.tracklist-heading h2{margin-bottom:10px;font-size:31px}.tracklist-heading svg{color:var(--muted)}.muted{color:var(--muted);font-size:11px;line-height:1.8}.tracklist{flex-direction:column;gap:9px;margin-top:29px;display:flex}.track-row{border:1px solid #0000;border-bottom-color:var(--line);text-align:left;background:0 0;border-radius:8px;align-items:center;gap:17px;width:100%;padding:20px 15px;display:flex}.track-row.selected{background:var(--soft);border-color:var(--line)}.track-row:hover{background:var(--soft)}.track-number{color:var(--muted);width:21px;font-size:11px}.track-text{flex-direction:column;flex:1;gap:7px;display:flex}.track-text strong{color:var(--text);font-size:13px;font-weight:550}.track-text small{color:var(--muted);font-size:10px}.track-row>svg{color:var(--rose)}.song-dedication{background:var(--soft);border:1px solid var(--line);text-align:center;margin-top:35px;padding:24px 25px;position:relative;transform:rotate(-2deg)}.song-dedication:before{content:"";background:#ff9ead54;width:52px;height:22px;position:absolute;top:-10px;left:calc(50% - 26px);transform:rotate(4deg)}.song-dedication p{font-family:var(--serif);margin:12px 0;font-size:21px;line-height:1.6}.song-dedication>svg{color:var(--muted)}.small-note{color:var(--muted);font-size:11px;line-height:1.8}.tracklist-panel>.small-note{text-align:center;margin-top:26px;padding:0 25px}.journal-toolbar,.gallery-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.toolbar-actions{align-items:center;gap:10px;display:flex}.journal-list{flex-direction:column;gap:23px;display:flex}.journal-entry{background:var(--surface);border:1px solid var(--line);border-radius:10px;gap:31px;padding:33px 35px;display:flex;position:relative;box-shadow:0 4px #29262b30}.entry-index{min-width:70px;color:var(--muted);flex-direction:column;align-items:center;gap:17px;padding-top:6px;display:flex}.entry-index>span{letter-spacing:2px;font-size:8px}.entry-content{flex:1;min-width:0}.occasion-tag{color:var(--ink);background:var(--soft);border-radius:20px;padding:5px 11px;font-size:9px;display:inline-block}.entry-content h2{overflow-wrap:anywhere;margin:13px 0 11px;font-size:28px}.text-button{text-align:left;font:inherit;background:0 0;border:0;padding:0}.entry-date{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:10px;display:flex}.entry-excerpt{white-space:pre-line;-webkit-line-clamp:3;color:var(--muted);-webkit-box-orient:vertical;max-width:690px;margin:20px 0;font-size:12px;line-height:1.9;display:-webkit-box;overflow:hidden}.read-note{color:var(--ink);background:0 0;border:0;align-items:center;gap:15px;padding:0;font-size:11px;display:flex}.read-note span{font-size:20px}.entry-actions{align-items:flex-start;gap:3px;display:flex}.storage-note{text-align:center;color:var(--muted);margin-top:32px;font-size:10px;line-height:1.9}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:10px;padding:70px 20px}.empty-state>svg{margin:auto auto 20px}.empty-state h2{font-size:28px}.empty-state p{font-size:12px}.modal{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:15px;width:540px;max-width:calc(100vw - 32px);max-height:85dvh;padding:30px;box-shadow:0 25px 100px #29262b29}.modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#29262b64}.modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.modal-header h2{overflow-wrap:anywhere;margin:0;font-size:28px}.modal-header .icon-button{margin-top:-3px;margin-right:-8px}.modal>p{font-size:13px;line-height:1.8}.keepsake-form{flex-direction:column;gap:18px;display:flex}.keepsake-form label{color:var(--muted);flex-direction:column;gap:8px;font-size:11px;display:flex}.keepsake-form input:not([type=file]),.keepsake-form textarea,.keepsake-form select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffdf9;border-radius:6px;padding:12px;font-size:12px;line-height:1.6}.keepsake-form textarea{resize:vertical}.keepsake-form .small-note{margin:0}.form-error{color:var(--ink);background:var(--soft);border-left:3px solid var(--pink);border-radius:6px;padding:12px;font-size:12px;line-height:1.7}.modal-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.full-note{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);margin:25px 0 30px;font-size:14px;line-height:2}.filter-tabs{flex-wrap:wrap;gap:7px;display:flex}.filter-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:20px;padding:9px 15px;font-size:11px}.filter-tabs button.selected{background:var(--soft);border-color:var(--line);color:var(--ink)}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:36px;padding:18px 14px 30px;display:grid}.gallery-polaroid{background:#fffdf8;align-self:start;transition:transform .3s;position:relative;box-shadow:3px 8px 17px #29262b16}.gallery-polaroid:hover{z-index:2;transform:rotate(0)translateY(-7px)}.tilt-0{transform:rotate(-3deg)}.tilt-1{margin-top:14px;transform:rotate(2deg)}.tilt-2{transform:rotate(-2deg)}.photo-open{background:0 0;border:0;width:100%;padding:14px 14px 23px;display:block}.photo-open>img{aspect-ratio:1/1.05;object-fit:cover;filter:saturate(.8);width:100%}.photo-caption{font-family:var(--hand);text-align:center;overflow-wrap:anywhere;margin:15px 0 4px;font-size:25px;display:block}.photo-date{color:var(--muted);text-align:center;font-size:9px;display:block}.photo-delete{opacity:0;background:#fffcfbe0;transition:opacity .2s;position:absolute;top:10px;right:10px}.gallery-polaroid:hover .photo-delete,.gallery-polaroid:focus-within .photo-delete{opacity:1}.sample-tag{text-align:center;letter-spacing:1.5px;color:var(--muted);margin-top:11px;font-size:6px;display:block}.gallery-bottom{text-align:center;padding-top:24px}.gallery-bottom>svg{color:var(--muted);margin:0 auto 13px;display:block}.gallery-bottom .storage-note{margin-top:14px}.upload-area{border:1px dashed var(--line);text-align:center;background:var(--soft);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;min-height:150px;padding:25px;position:relative}.upload-area input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.upload-area:focus-within{outline:3px solid var(--rose);outline-offset:3px}.upload-area>img{object-fit:contain;max-height:180px}.upload-area small{color:var(--muted);font-size:9px}.lightbox-image{object-fit:contain;border-radius:4px;width:100%;max-height:55vh}.modal .lightbox-caption{text-align:center;margin:16px 0 0;font-size:25px}.modal>.small-note{text-align:center}.page-enter{animation:.6s ease-out page-in}.hero-copy{animation:.8s ease-out page-in}.hero-art{animation:1s ease-out page-in}@keyframes page-in{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes spin{to{rotate:360deg}}@keyframes bob{0%,to{translate:0}50%{translate:0 -7px}}@keyframes float{0%,to{translate:0}50%{translate:0 -10px}}@keyframes flutter{0%,to{translate:0;rotate:none}50%{translate:3px -7px;rotate:7deg}}@keyframes equalize{0%{scale:1 .45}to{scale:1}}@media (min-width:1450px){.hero{min-height:630px}.hero h1{color:var(--text);font-size:82px}.hero-art{scale:1.04}.corners{padding-top:68px}.card-art{height:195px}}@media (max-width:1150px){.header-inner{gap:20px;padding:0 30px}nav{gap:20px}.brand{font-size:21px}.music-pill{background:var(--ink);color:var(--pink);border:1px solid var(--ink);padding:10px}.music-pill>span:nth-child(2){display:none}.hero h1{color:var(--text);font-size:67px}.hero-art{transform-origin:100%;margin-left:-35px;scale:.9}.hero{gap:0;min-height:550px}.content-width{width:calc(100% - 72px)}.site-footer{margin-inline:36px}.card-copy{padding:20px 17px}.card-tag{font-size:6.5px}.card-copy p{font-size:10px}.record-sleeve{background:var(--ink);border:5px solid var(--charcoal-soft);outline:1px solid var(--ink);left:35px}.mini-polaroid.back{left:36px}.mini-polaroid.front{left:122px}.jukebox-layout{gap:40px}.turntable>.record{width:230px;height:230px}.turntable{background:var(--ink);border:1px solid var(--charcoal-soft);height:310px;box-shadow:inset 0 0 0 6px var(--charcoal-soft),inset 0 0 0 7px #5a515d,0 5px 0 #29262b33}.tonearm{right:22px}.gallery-grid{gap:26px}.photo-caption{font-size:22px}}@media (max-width:850px){.header-inner{flex-wrap:wrap;row-gap:11px;height:auto;padding:17px 28px 0}.site-header{height:117px}.brand{font-size:23px}.music-pill>span:nth-child(2){display:inline}.music-pill{background:var(--ink);color:var(--pink);border:1px solid var(--ink);margin-left:auto}.header-inner nav{order:3;justify-content:center;gap:32px;width:100%}.nav-link{height:43px;font-size:11px}.nav-link.active:after{bottom:0;left:0}.hero h1{color:var(--text);font-size:59px}.hero{grid-template-columns:1.05fr 1fr;min-height:500px}.hero-copy>p{max-width:300px;font-size:12px}.hero-art{transform-origin:0;width:435px;margin-left:-65px;scale:.75}.hero-copy .eyebrow{letter-spacing:1.2px;font-size:7px}.hero-footnote{font-size:9px}.heading-heart{font-size:40px}.corner-grid{gap:15px}.card-art{height:160px}.card-title h3{gap:6px;font-size:18px}.card-title h3 svg{width:16px}.card-title>svg{width:17px}.card-copy p{min-height:32px}.card-tag{letter-spacing:.8px;font-size:6px}.vinyl-art .record{width:126px;height:126px;top:20px;left:39%}.record-sleeve{background:var(--ink);border:5px solid var(--charcoal-soft);outline:1px solid var(--ink);width:107px;height:115px;top:26px;left:24px}.record-sleeve>span{color:var(--soft);font-size:15px}.record-sleeve>svg{width:18px;color:var(--pink)}.note-one{right:13px}.note-two{left:10px}.little-letter{width:155px;height:126px;padding:12px;font-size:15px;top:19px;left:calc(50% - 77px)}.little-letter i{font-size:14px}.little-letter>span:last-child{font-size:13px}.letter-heart{font-size:31px;right:16px}.mini-polaroid{width:95px;padding:5px 5px 22px}.mini-polaroid img{height:90px}.mini-polaroid.back{top:16px;left:22px}.mini-polaroid.front{top:27px;left:90px}.mini-polaroid>span:last-child{font-size:10px}.section-top h2{font-size:28px}.section-top>.handwritten{font-size:18px}.section-top .eyebrow{letter-spacing:1px;font-size:7px}.footer-note{display:none!important}.love-ribbon{gap:27px}.page-heading h1{font-size:40px}.jukebox-layout{gap:26px}.turntable-panel{padding:17px}.turntable{background:var(--ink);border:1px solid var(--charcoal-soft);height:266px;box-shadow:inset 0 0 0 6px var(--charcoal-soft),inset 0 0 0 7px #5a515d,0 5px 0 #29262b33;padding:39px 15px}.turntable>.record{width:190px;height:190px}.tonearm{height:134px;right:18px}.record-label>span:first-child{font-size:18px}.tracklist-heading h2{font-size:26px}.track-row{gap:11px;padding:17px 10px}.song-dedication{padding:22px 15px}.song-dedication p{font-size:19px}.journal-toolbar>.handwritten{font-size:21px}.journal-entry{gap:15px;padding:25px}.entry-index{min-width:45px}.entry-content h2{font-size:25px}.gallery-toolbar{flex-wrap:wrap}.gallery-grid{gap:20px}.photo-open{padding:10px 10px 20px}.photo-caption{font-size:19px}.photo-delete{opacity:1}.gallery-grid{padding-inline:5px}.photo-date{font-size:8px}}@media (max-width:620px){.content-width{width:calc(100% - 40px)}.header-inner{padding:16px 20px 0}.brand{font-size:21px}.brand-mark{background:var(--ink);width:31px;height:34px;color:var(--pink);border-radius:10px}.brand-mark svg{width:18px}.music-pill{background:var(--ink);color:var(--pink);border:1px solid var(--ink);gap:6px;padding:8px 10px;font-size:9px}.header-inner nav{justify-content:space-between;gap:0}.nav-link{gap:5px;font-size:10px}.nav-link svg{width:13px}.site-header{height:110px}.hero{text-align:center;grid-template-columns:1fr;gap:8px;min-height:0;padding-top:42px;padding-bottom:21px;overflow:hidden}.hero-copy>.eyebrow{letter-spacing:1.6px;justify-content:center;font-size:8px}.hero h1{color:var(--text);margin:22px 0;font-size:64px;line-height:1.06}.hero-copy>p{max-width:325px;margin:0 auto 22px;font-size:12px;line-height:1.9}.hero-footnote{justify-content:center;margin-top:13px;font-size:10px}.hero .button{padding:12px 24px}.heading-heart{vertical-align:middle;margin-left:7px;font-size:41px;position:relative;bottom:0}.hero-art{transform-origin:top;justify-self:center;width:440px;height:435px;margin:10px 0 -62px;scale:.82}.gingham-arch{left:43px}.hero-penguin{left:91px}.photo-one{left:-2px}.photo-two{right:-3px}.plush-note{bottom:-23px;left:98px}.hero-art .heart-two{bottom:15px}.butterfly-two{bottom:-12px}.art-note{left:61px}.love-ribbon{gap:25px;height:40px}.love-ribbon-group>span{font-size:18px}.corners{padding-top:38px;padding-bottom:35px}.section-top{margin-bottom:22px}.section-top>.handwritten{display:none}.section-top .eyebrow{letter-spacing:1px;font-size:6.5px}.section-top h2{letter-spacing:-.8px;margin-top:9px;font-size:29px}.section-top h2>span{margin-left:6px;font-size:20px}.corner-grid{grid-template-columns:1fr;gap:18px}.corner-card{grid-template-columns:135px 1fr;align-items:stretch;min-height:156px;display:grid}.card-art{height:100%;min-height:156px}.card-copy{flex-direction:column;justify-content:center;padding:22px 14px;display:flex}.card-title h3{gap:7px;font-size:21px}.card-title h3 svg{width:17px}.card-copy p{min-height:0;margin:9px 0 11px;font-size:10px;line-height:1.7}.card-tag{letter-spacing:.7px;font-size:6px;line-height:1.7}.card-title>svg{flex-shrink:0;width:15px}.vinyl-art .record{width:105px;height:105px;top:28px;left:44px}.record-sleeve{background:var(--ink);border:5px solid var(--charcoal-soft);outline:1px solid var(--ink);width:95px;height:105px;top:30px;left:10px}.record-sleeve>span{color:var(--soft);font-size:15px}.note-one{font-size:20px;top:10px;right:4px}.note-two{font-size:20px;bottom:8px;left:7px}.little-letter{width:130px;height:119px;padding:12px;font-size:14px;top:21px;left:10px}.little-letter i{font-size:13px}.little-letter>span:last-child{font-size:12px}.letter-heart{font-size:30px;bottom:9px;right:4px}.paper-sparkle{font-size:20px;top:5px;left:3px}.mini-polaroid{width:83px}.mini-polaroid img{height:82px}.mini-polaroid.back{top:15px;left:6px}.mini-polaroid.front{top:36px;left:55px}.mini-polaroid>span:last-child{font-size:9px}.camera-sparkle{font-size:20px;top:6px;right:9px}.love-note{padding:31px 0 24px}.love-note blockquote{margin:16px 0 11px;font-size:24px}.note-signoff{font-size:19px}.animal-parade{gap:17px;margin-top:20px}.animal-parade span{font-size:20px}.site-footer{flex-direction:column;gap:13px;margin-inline:20px;padding:24px 0 117px}.footer-brand{font-size:19px}.site-footer>span{font-size:9px}.mini-player{border-radius:12px;gap:10px;max-width:calc(100% - 24px);padding:11px 12px;bottom:12px}.mini-hint{display:none}.mini-track{flex:1;min-width:0}.mini-track>a{font-size:11px}.mini-player>svg:not(.player-heart){display:none}.volume-slider{width:44px}.player-divider{display:none}.record.record-small{width:35px;height:35px}.micro-label{letter-spacing:1px;font-size:6px}.inner-page{padding:40px 0 50px}.page-heading{margin-bottom:31px}.page-heading .eyebrow{letter-spacing:1.4px;font-size:7px}.page-heading h1{margin-top:16px;font-size:41px;line-height:1.15}.page-heading h1 em{display:block}.page-heading>p{max-width:320px;margin-inline:auto;font-size:11px}.jukebox-layout{grid-template-columns:1fr;gap:21px;max-width:400px}.turntable-panel{padding:20px}.turntable{background:var(--ink);border:1px solid var(--charcoal-soft);height:300px;box-shadow:inset 0 0 0 6px var(--charcoal-soft),inset 0 0 0 7px #5a515d,0 5px 0 #29262b33;padding:37px 20px}.turntable>.record{width:230px;height:230px}.tonearm{height:155px;right:24px}.tracklist-panel{padding-top:15px}.tracklist-heading h2{font-size:30px}.track-row{padding:19px 15px}.track-text strong{font-size:13px}.track-text small{font-size:10px}.song-dedication p{font-size:23px}.journal-toolbar{flex-wrap:wrap;margin-bottom:22px}.journal-toolbar>.handwritten{text-align:center;width:100%;font-size:22px}.journal-toolbar>.toolbar-actions{justify-content:center;width:100%}.toolbar-actions .button{gap:8px;padding:10px 14px;font-size:10px}.journal-entry{gap:0;padding:23px 19px}.entry-index{display:none}.entry-content h2{padding-right:31px;font-size:26px}.entry-date{gap:5px;font-size:8px}.entry-excerpt{font-size:11px}.entry-actions{position:absolute;top:15px;right:11px}.entry-actions .icon-button{padding:7px}.entry-actions svg{width:13px}.occasion-tag{color:var(--ink);font-size:8px}.storage-note{font-size:9px}.gallery-toolbar{justify-content:center;gap:15px}.filter-tabs{justify-content:center;gap:2px;width:100%}.filter-tabs button{padding:8px 13px;font-size:10px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:24px 17px;padding:15px 4px 20px}.photo-open{padding:8px 8px 16px}.photo-caption{margin-top:11px;font-size:18px;line-height:1.1}.photo-date{margin-top:7px;font-size:7px}.sample-tag{letter-spacing:1px;font-size:5px}.gallery-polaroid .tape{width:43px;height:18px;top:-8px;left:calc(50% - 21px)}.photo-delete{padding:5px;top:7px;right:7px}.photo-delete svg{width:12px;height:12px}.gallery-bottom .handwritten{font-size:23px}.modal{padding:23px}.modal-header h2{font-size:26px}.keepsake-form input:not([type=file]),.keepsake-form textarea,.keepsake-form select{font-size:16px}.full-note{font-size:13px}.lightbox-caption{font-size:23px!important}}@media (max-width:370px){.hero h1{color:var(--text);font-size:56px}.hero-art{margin-bottom:-110px;scale:.72}.brand{font-size:19px}.music-pill>span:nth-child(2){display:none}.nav-link{font-size:9px}.corner-card{grid-template-columns:115px 1fr}.card-title h3{font-size:19px}.card-tag{font-size:5.5px}.card-copy{padding:18px 12px}.turntable>.record{width:200px;height:200px}.turntable{background:var(--ink);border:1px solid var(--charcoal-soft);height:269px;box-shadow:inset 0 0 0 6px var(--charcoal-soft),inset 0 0 0 7px #5a515d,0 5px 0 #29262b33}.hero-copy>.eyebrow{font-size:7px}.gallery-grid{gap:23px 12px}.photo-caption{font-size:16px}}@media (max-width:620px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-width:0}.hero h1{color:var(--text);font-size:clamp(49px,15.3vw,64px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.record.spinning{animation:none!important}.love-ribbon{white-space:normal;height:auto;min-height:46px;padding-block:10px}.love-ribbon-track{width:100%;animation:none;transform:none}.love-ribbon-group{flex-wrap:wrap;justify-content:center;gap:10px 20px;width:100%;min-width:0}.love-ribbon-group>span{gap:20px}.love-ribbon-group[aria-hidden=true]{display:none}}.record-label{background:var(--pink);color:var(--ink);gap:12px}.record-label>span:first-child{line-height:1}.record-label>.record-heart{font-size:24px;line-height:1}.vinyl-art .record-label{gap:7px}.vinyl-art .record-label>.record-heart{font-size:12px;line-height:1}.vinyl-art .record-label>span:first-child{font-size:11px}.vinyl-stickers{pointer-events:none;position:absolute;inset:0}.vinyl-sticker{filter:drop-shadow(1px 3px 2px #29262b24);position:absolute}.sticker-cat{width:51px;bottom:40px;right:18px;transform:rotate(11deg)}.sticker-duck{width:51px;bottom:10px;left:28px;transform:rotate(-13deg)}.sticker-butterfly{width:39px;bottom:16px;right:80px;transform:rotate(-17deg)}@media (max-width:850px){.sticker-cat{width:43px;bottom:34px;right:12px}.sticker-duck{width:44px;bottom:8px;left:21px}.sticker-butterfly{width:33px;bottom:13px;right:63px}.turntable .record-label{gap:10px}.turntable .record-label>.record-heart{font-size:22px}}.connection-recovery{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;max-width:560px;min-height:100svh;margin:auto;padding:80px 24px;display:flex}.connection-recovery h1{margin:8px 0;font-size:40px}.connection-recovery p{color:var(--muted);margin:0;line-height:1.8}.connection-recovery .button{margin-top:8px}
.login-page{background:radial-gradient(ellipse at 15% 60%,#ffe4e966,transparent 50%),var(--cream);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:37px 24px;display:flex}.login-brand{font-family:var(--serif);color:var(--ink);letter-spacing:-.8px;margin-bottom:35px;font-size:27px}.login-brand i{color:var(--rose)}.login-keepsake{border:1px solid var(--line);background:var(--surface);border-radius:18px;grid-template-columns:.95fr 1fr;width:min(890px,100%);display:grid;overflow:hidden;box-shadow:0 20px 65px #29262b12}.login-illustration{background:var(--soft);flex-direction:column;align-items:center;min-height:550px;padding:32px 25px;display:flex;position:relative;overflow:hidden}.login-gingham{opacity:.65;background-image:linear-gradient(90deg,#fffcfb55 50%,#0000 50%),linear-gradient(#fffcfb55 50%,#0000 50%);background-size:28px 28px;position:absolute;inset:0}.login-illustration>.handwritten{z-index:1;margin-top:10px;font-size:27px;transform:rotate(-5deg)}.login-penguin{z-index:1;width:266px;margin:10px auto -2px;animation:6s ease-in-out infinite bob;position:relative}.login-butterfly{width:48px;animation:5s infinite flutter;position:absolute;top:164px;right:25px;transform:rotate(22deg)}.login-floating-heart{color:var(--pink);font-size:50px;position:absolute;top:177px;left:28px;transform:rotate(-13deg)}.login-illustration>p{font-family:var(--serif);text-align:center;color:var(--text);margin:0;font-size:32px;line-height:1.15;position:relative}.login-illustration>p em{color:var(--rose)}.login-form-side{padding:45px 47px}.login-lock{background:var(--soft);width:43px;height:43px;color:var(--rose);border-radius:50%;place-items:center;margin-bottom:22px;display:grid}.login-form-side .eyebrow{letter-spacing:1.6px;font-size:7px}.login-form-side h1{letter-spacing:-1.5px;margin:14px 0;font-size:57px}.login-form-side h1 em{color:var(--rose)}.login-form-side>p{color:var(--muted);margin-bottom:24px;font-size:11px;line-height:1.9}.login-form-side .keepsake-form{gap:17px}.login-form-side .keepsake-form label{font-size:11px}.password-field{display:block;position:relative}.password-field>svg{color:var(--muted);position:absolute;top:15px;right:13px}.password-field>input{padding-right:40px!important}.login-form-side .button{justify-content:space-between;width:100%;margin-top:4px}.login-signoff{color:var(--muted);justify-content:center;align-items:center;gap:6px;margin-top:24px;font-size:9px;display:flex}.login-bottom{margin-top:27px;font-size:22px;transform:rotate(-2deg)}.signed-in-row{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:17px;margin:5px 20px 27px;font-size:10px;display:flex}.signed-in-row>span{align-items:center;gap:6px;display:flex}.signed-in-row strong{font-weight:600}.logout-button{border:0;border-left:1px solid var(--line);color:var(--rose);background:0 0;align-items:center;gap:6px;padding:2px 0 2px 17px;font-size:10px;display:flex}.entry-labels{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.entry-author{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.author-avatar{border:1px solid var(--line);background:var(--soft);width:23px;height:23px;font-family:var(--serif);color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.entry-bottom-row{justify-content:space-between;align-items:center;gap:20px;margin-top:17px;display:flex}.writing-as{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.writing-as strong{font-weight:600}.note-reactions{border-top:1px solid var(--line);flex-direction:column;gap:11px;padding-top:21px;display:flex}.reaction-kicker{font-family:var(--hand);color:var(--muted);font-size:21px}.reaction-buttons{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.reaction-button{border:1px solid var(--line);background:#fffcfb80;border-radius:22px;align-items:center;gap:6px;padding:7px 10px;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.reaction-button>span{font-size:19px;line-height:1.1}.reaction-button>small{color:var(--muted);font-size:9px}.reaction-button:hover{background:var(--soft);transform:translateY(-3px)}.reaction-button.chosen{border-color:var(--pink);background:var(--soft);box-shadow:0 2px 5px #29262b11}.reaction-button.chosen>span{animation:.3s ease-out reaction-pop}.reaction-confirmation{color:var(--muted);font-size:9px}.received-reaction{border:1px solid var(--line);background:#ffe4e98c;border-radius:22px;align-items:center;gap:8px;padding:7px 12px;display:inline-flex}.received-reaction>span{font-size:19px}.received-reaction>small{color:var(--muted);font-size:10px}.reaction-empty{font-family:var(--hand);color:var(--muted);font-size:19px}.note-reactions.compact{border:0;padding:0}.compact .reaction-button{padding:6px 8px}.compact .reaction-button>span{font-size:16px}.compact .reaction-empty{font-size:17px}.compact .received-reaction{padding:6px 9px}.compact .received-reaction>span{font-size:16px}.compact .received-reaction>small{font-size:9px}.shared-journal-note{justify-content:center;align-items:center;gap:7px;display:flex}.legacy-notes{background:var(--soft);border:1px solid var(--line);border-radius:9px;align-items:center;gap:17px;margin-bottom:24px;padding:19px 23px;display:flex}.legacy-notes>svg{color:var(--muted);flex-shrink:0}.legacy-notes>div{flex:1}.legacy-notes strong{font-family:var(--serif);font-size:19px;font-weight:400}.legacy-notes p{color:var(--muted);margin:6px 0 0;font-size:10px;line-height:1.7}.legacy-notes .button{flex-shrink:0;font-size:10px}.journal-loading{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:70px;display:flex}.journal-loading svg{animation:2s infinite bob}.journal-dialog{width:1080px;max-width:calc(100vw - 30px);max-height:96dvh;color:var(--ink);background:0 0;border:0;outline:0;padding:0 14px 8px;overflow:auto}.journal-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3b24377d}.journal-reader-top{color:#fffcfb;justify-content:space-between;align-items:center;padding:0 5px 12px;display:flex}.journal-reader-top>span{letter-spacing:2px;align-items:center;gap:9px;font-size:9px;display:flex}.book-close{border:1px solid var(--line);color:#fffcfb;background:#ffe4e910;border-radius:50%;place-items:center;width:33px;height:33px;display:grid}.book-close:hover{background:#ffe4e930}.journal-book{background:var(--ink);border:1px solid var(--charcoal-soft);isolation:isolate;border-radius:10px 18px 18px 10px;grid-template-columns:.84fr 1fr;height:min(680px,100dvh - 180px);min-height:380px;padding:12px 13px 15px;display:grid;position:relative;box-shadow:0 8px 0 -3px #403a43,0 12px 0 -5px #211e24,0 25px 50px #29262b45}.journal-book:before{content:"";border:1px dashed var(--line);pointer-events:none;border-radius:7px 13px 13px 7px;position:absolute;inset:4px}.journal-book:after{content:"";background:repeating-linear-gradient(to bottom,#ff9ead 0,#ff9ead 1px,var(--soft) 1px,var(--soft) 3px);z-index:-1;border-radius:0 0 6px 3px;height:9px;position:absolute;bottom:9px;left:12px;right:12px}.book-left-page,.book-right-page{background:#fff8eb;min-width:0;position:relative}.book-left-page{text-align:center;background:radial-gradient(ellipse at 40% 60%,#ffe4e940,transparent 60%),linear-gradient(to right,#eadde255,transparent 8%,transparent 88%,#29262b12 100%),var(--soft);border-radius:4px 0 0 4px;flex-direction:column;justify-content:space-between;align-items:center;padding:39px 25px 22px;display:flex;box-shadow:inset 1px 0 4px #29262b38}.book-edition{letter-spacing:1.7px;color:var(--muted);font-size:7px}.book-left-center{flex-direction:column;align-items:center;padding:15px 0;display:flex}.book-left-center>svg{color:var(--muted);margin-bottom:22px}.book-left-center>.handwritten{color:var(--muted);font-size:25px;transform:rotate(-4deg)}.book-left-center h2{color:var(--text);letter-spacing:-.7px;margin:14px 0 22px;font-size:52px;line-height:1.15}.book-left-center h2 em{color:var(--pink)}.book-flourish{color:var(--pink);letter-spacing:8px;font-size:16px}.book-inscription{flex-direction:column;gap:7px;display:flex}.book-inscription>.handwritten{color:var(--muted);font-size:29px}.book-inscription>small{letter-spacing:1px;color:var(--muted);font-size:8px}.left-page-number{font-family:var(--hand);color:var(--muted);margin-top:19px;font-size:18px}.book-right-page{background:linear-gradient(90deg,#29262b12,#0000 7% 96%,#eadde255),#fff9ed;border-radius:0 6px 7px 0;flex-direction:column;display:flex;overflow:hidden;box-shadow:inset -1px 0 2px #29262b33}.book-page-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ff9ead transparent;perspective:1000px;flex:1;min-height:0;overflow-y:auto}.book-page-content{transform-origin:0;backface-visibility:hidden;min-height:100%;padding:33px 34px 22px 38px}.book-note-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.book-note-number{letter-spacing:1.8px;color:var(--muted);font-size:7px}.book-note-top .occasion-tag{font-size:8px}.book-page-content>h2{letter-spacing:-.4px;color:var(--text);overflow-wrap:anywhere;margin:0 0 18px;font-size:32px;line-height:1.2}.book-byline{color:var(--muted);align-items:center;gap:8px;margin-bottom:23px;font-size:10px;display:flex}.book-byline strong{color:var(--muted);font-weight:550}.book-byline .author-avatar{width:28px;height:28px;font-size:15px}.book-byline time{color:var(--muted);margin-top:5px;font-size:8px;line-height:1.6;display:block}.book-written-words{font-family:var(--hand);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);background:repeating-linear-gradient(#0000 0 31px,#eadde280 31px 32px);padding-bottom:8px;font-size:24px;line-height:32px}.book-signature{font-family:var(--hand);color:var(--muted);align-items:center;gap:8px;padding:26px 0 22px;font-size:25px;display:flex}.book-page-number{color:var(--muted);font-family:var(--serif);text-align:center;background:#fff8ebd9;flex-shrink:0;padding:11px;font-size:12px}.book-binding{z-index:3;pointer-events:none;background:linear-gradient(90deg,#0000,#29262b16 45%,#29262b24 52%,#0000);flex-direction:column;justify-content:space-evenly;width:23px;display:flex;position:absolute;top:14px;bottom:16px;left:calc(45.65% - 10px)}.book-binding i{border:1px solid var(--pink);border-left-color:#0000;border-right-color:#0000;border-radius:50%;width:19px;height:8px;transform:rotate(-15deg);box-shadow:0 1px 1px #fff8eb}.book-ribbon{z-index:4;background:linear-gradient(90deg,var(--pink),var(--pink-light) 50%,var(--pink));clip-path:polygon(0 0,100% 0,100% 100%,50% 84%,0 100%);filter:drop-shadow(3px 4px 3px #29262b25);width:20px;height:74px;position:absolute;top:-1px;left:calc(45.65% - 40px)}.book-navigation{color:#fffcfb;justify-content:space-between;align-items:center;gap:10px;margin:23px 4px 9px;display:flex}.book-navigation>button{border:1px solid var(--line);color:#fffcfb;background:#ffe4e911;border-radius:30px;align-items:center;gap:9px;padding:9px 15px;font-size:10px;transition:background .2s;display:flex}.book-navigation>button:hover:not(:disabled){background:#ffe4e92a}.book-navigation>button:disabled{opacity:.35;cursor:default}.book-counter{font-family:var(--hand);color:var(--muted);font-size:22px}.book-keyboard-hint{text-align:center;letter-spacing:.6px;color:var(--muted);margin:12px 0 0;font-size:8px;display:block}.book-removed{text-align:center;background:var(--cream);border-radius:12px;padding:60px}.book-removed h2{margin:20px 0;font-size:29px}.book-removed p{font-size:13px}.turn-forward{animation:.48s cubic-bezier(.2,.6,.3,1) page-turn-forward}.turn-back{animation:.48s cubic-bezier(.2,.6,.3,1) page-turn-back}@keyframes page-turn-forward{0%{opacity:.2;filter:brightness(.91);transform:rotateY(-18deg)translate(12px)}to{opacity:1;filter:brightness();transform:rotateY(0)translate(0)}}@keyframes page-turn-back{0%{opacity:.2;filter:brightness(.91);transform:rotateY(16deg)translate(-10px)}to{opacity:1;filter:brightness();transform:rotateY(0)translate(0)}}@keyframes reaction-pop{0%{transform:scale(.7)}60%{transform:scale(1.25)}to{transform:scale(1)}}@media (max-width:850px){.login-form-side{padding:39px 31px}.login-illustration{padding-inline:15px}.login-illustration>.handwritten{font-size:24px}.login-penguin{width:235px;margin-top:23px}.login-illustration>p{font-size:29px}.login-form-side h1{font-size:49px}.book-left-center h2{font-size:43px}.book-edition{letter-spacing:1px;font-size:6px}.book-left-page{padding:34px 15px 20px}.book-page-content{padding:27px 25px 18px 28px}.book-page-content>h2{font-size:29px}.book-written-words{font-size:23px}.book-note-number{letter-spacing:1px;font-size:6px}.reaction-button{padding:6px 8px}.reaction-button>small{font-size:8px}.reaction-button>span{font-size:17px}.reaction-buttons{gap:5px}.book-left-center>.handwritten{font-size:23px}.book-inscription>.handwritten{font-size:26px}.legacy-notes{flex-wrap:wrap}.legacy-notes .button{margin-left:40px}.entry-bottom-row{flex-wrap:wrap;gap:15px}.entry-labels{padding-right:10px}}@media (max-width:620px){.login-page{padding:25px 18px}.login-brand{margin-bottom:23px;font-size:25px}.login-keepsake{border-radius:15px;grid-template-columns:1fr;max-width:400px}.login-illustration{height:168px;min-height:0;padding:0;display:block}.login-penguin{width:155px;margin:0;position:absolute;top:5px;right:9px}.login-illustration>.handwritten{z-index:2;width:170px;margin:0;font-size:18px;position:absolute;top:22px;left:25px}.login-illustration>p{text-align:left;font-size:23px;line-height:1.15;position:absolute;top:67px;left:27px}.login-butterfly{z-index:3;width:28px;top:25px;right:11px}.login-floating-heart{display:none}.login-form-side{padding:28px}.login-lock{display:none}.login-form-side h1{margin:12px 0;font-size:48px}.login-form-side>p{margin-bottom:21px;font-size:11px}.login-form-side .keepsake-form label{font-size:11px}.login-form-side .keepsake-form input{font-size:16px}.login-signoff{margin-top:21px;font-size:9px}.login-bottom{text-align:center;margin-top:23px;font-size:18px}.signed-in-row{margin:8px 20px 23px;font-size:10px}.entry-author{gap:5px;font-size:9px}.entry-labels{gap:9px;padding-right:50px}.entry-labels .author-avatar{width:19px;height:19px;font-size:10px}.entry-bottom-row{gap:13px;margin-top:18px}.compact .reaction-button{padding:6px 9px}.compact .reaction-button>span{font-size:17px}.compact .reaction-empty{font-size:16px}.shared-journal-note{font-size:9px;display:block}.shared-journal-note>svg{vertical-align:middle;margin-right:5px;display:inline}.legacy-notes{gap:12px;padding:17px 18px}.legacy-notes strong{font-size:18px}.legacy-notes p{font-size:10px}.legacy-notes .button{margin-left:0}.journal-dialog{max-width:calc(100vw - 16px);max-height:97dvh;padding:0 5px 7px}.journal-reader-top{padding:0 3px 10px}.journal-reader-top>span{letter-spacing:1.5px;gap:7px;font-size:7px}.book-close{width:30px;height:30px}.journal-book{background:var(--ink);border:1px solid var(--charcoal-soft);border-radius:8px 13px 13px 8px;grid-template-columns:minmax(0,1fr);height:calc(100dvh - 166px);min-height:260px;max-height:760px;padding:9px 9px 12px 16px;box-shadow:0 8px 0 -3px #403a43,0 12px 0 -5px #211e24,0 25px 50px #29262b45}.book-left-page{display:none}.book-binding{width:16px;top:12px;bottom:13px;left:9px}.book-binding i{border-color:var(--pink);border-left-color:#0000;border-right-color:#0000;width:15px}.book-ribbon{background:linear-gradient(90deg,var(--pink),var(--pink-light) 50%,var(--pink));width:17px;height:46px;left:auto;right:30px}.book-right-page{border-radius:2px 5px 5px 2px}.book-page-content{padding:28px 22px 17px 26px}.book-note-top{margin-bottom:16px;padding-right:23px}.book-page-content>h2{margin-bottom:17px;font-size:29px;line-height:1.2}.book-byline{margin-bottom:21px;font-size:10px}.book-byline time{font-size:8px;line-height:1.6}.book-written-words{background:repeating-linear-gradient(#0000 0 30px,#eadde280 30px 31px);font-size:23px;line-height:31px}.book-signature{padding:24px 0 21px;font-size:23px}.book-page-number{padding:9px;font-size:11px}.book-navigation{gap:6px;margin:19px 1px 6px}.book-navigation>button{gap:6px;padding:8px 10px;font-size:9px}.book-navigation>button>svg{width:14px}.book-counter{white-space:nowrap;font-size:19px}.book-keyboard-hint{letter-spacing:.2px;margin-top:9px;font-size:7px}.note-reactions:not(.compact) .reaction-buttons{gap:6px}.note-reactions:not(.compact) .reaction-button{padding:7px 9px}.note-reactions:not(.compact) .reaction-button small{font-size:9px}.reaction-kicker{font-size:20px}.reaction-confirmation{font-size:8px}}@media (max-width:370px){.login-form-side{padding:25px 22px}.login-illustration>p{font-size:20px;left:22px}.login-illustration>.handwritten{font-size:16px;left:20px}.login-penguin{width:137px;top:21px}.book-page-content{padding-inline:18px}.book-page-content>h2{font-size:26px}.book-written-words{font-size:22px}.book-counter{font-size:17px}.book-navigation>button{gap:4px;padding:8px;font-size:8px}.book-note-number{font-size:6px}.reaction-button>small{display:none}}.photo-credit{color:var(--muted);font-family:var(--sans);justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:10px;font-weight:400;display:flex}.photo-credit .author-avatar{width:21px;height:21px;font-size:11px}.modal>.photo-credit{margin-top:13px;margin-bottom:5px}.gallery-polaroid .photo-credit{font-size:9px}.gallery-polaroid .photo-credit .author-avatar{width:18px;height:18px;font-size:10px}@media (max-width:620px){.gallery-polaroid .photo-credit{gap:4px;margin-top:10px;font-size:8px}.gallery-polaroid .photo-credit .author-avatar{width:16px;height:16px;font-size:9px}}.login-animals{z-index:1;gap:15px;margin:3px 0 17px;position:relative}.login-animals span{font-size:21px}.login-form-side h1{margin-bottom:26px}.login-form-side select{cursor:pointer}@media (max-width:620px){.login-illustration{height:220px}.login-animals{gap:17px;margin:0;position:absolute;bottom:12px;left:0;right:0}.login-animals span{font-size:20px}.login-form-side .keepsake-form select{font-size:16px}.login-form-side h1{margin-bottom:23px}}@media (prefers-reduced-motion:reduce){.turn-forward,.turn-back,.reaction-button.chosen>span,.login-penguin,.login-butterfly,.journal-loading svg{animation:none}.reaction-button,.book-navigation>button{transition:none}}.site-footer .signed-in-row{margin:0}.entry-footer-details{flex-direction:column;align-items:flex-end;gap:12px;max-width:100%;margin-left:auto;display:flex}.entry-footer-details .entry-date{justify-content:flex-end}.journal-entry .entry-open:after{content:"";z-index:1;cursor:pointer;border-radius:10px;position:absolute;inset:0}.journal-entry .entry-open:focus-visible{outline:none}.journal-entry .entry-open:focus-visible:after{outline:3px solid var(--rose);outline-offset:4px}.journal-entry .entry-actions,.journal-entry .note-reactions{z-index:2;position:relative}@media (max-width:620px){.journal-entry .entry-actions{position:absolute}}
.origami{--paper-highlight:var(--soft);--paper-light:var(--pink-light);--paper-mid:var(--pink);--paper-shadow:#e94c68;--paper-crease:#ffe4e980;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(2px 5px 3px #29262b19);flex-shrink:0;display:block;overflow:visible}.paper-crane-float{transform-origin:100px 100px;animation:7s ease-in-out infinite paper-drift}.paper-wing-near{transform-origin:103px 110px;animation:7s ease-in-out infinite paper-wing-near}.paper-wing-far{transform-origin:105px 108px;animation:7s ease-in-out infinite paper-wing-far}.paper-heart-float{transform-origin:50px 55px;animation:8s ease-in-out infinite paper-heart-sway}.paper-boat-rock{transform-origin:80px 89px;animation:7s ease-in-out infinite paper-boat-rock}.hero-paper-crane{z-index:5;width:100px;position:absolute;top:-14px;left:-9px;rotate:-12deg}.hero-paper-crane .paper-crane-float{animation-delay:-2s}.card-paper-heart{filter:drop-shadow(3px 4px 2px #ff5e7320);width:49px;position:absolute;bottom:17px;right:37px;rotate:14deg}.home-page .love-note{position:relative}.quote-paper-crane{opacity:.8;width:99px;position:absolute;top:80px;left:65px;rotate:9deg}.quote-paper-crane .paper-crane-float,.quote-paper-crane .paper-wing-near,.quote-paper-crane .paper-wing-far{animation-delay:-3s}.quote-paper-heart{opacity:.7;width:44px;position:absolute;top:100px;right:84px;rotate:-14deg}.login-paper-crane{z-index:2;width:77px;position:absolute;top:177px;left:26px;rotate:-15deg}.login-paper-crane .paper-crane-float,.login-paper-crane .paper-wing-near,.login-paper-crane .paper-wing-far{animation-delay:-1s}.book-left-center>.book-paper-crane{opacity:.85;width:99px;margin:0 0 12px;rotate:-4deg}.song-dedication>.dedication-paper-heart{width:28px;margin:0 auto}.gallery-bottom>.gallery-paper-boat{--paper-highlight:#fff9ec;--paper-light:#ff9ead;--paper-mid:#ff9ead;--paper-shadow:#29262b;width:71px;margin:0 auto 6px}.page-heading>.heading-paper-crane{width:65px;margin:-15px auto 15px;rotate:-5deg}.heading-paper-crane .paper-crane-float,.heading-paper-crane .paper-wing-near,.heading-paper-crane .paper-wing-far{animation-delay:-4s}.page-heading>.heading-paper-decoration{width:65px;height:57px;margin:-15px auto 15px}.paper-butterfly-float{transform-origin:60px 55px;animation:7s ease-in-out infinite paper-drift}.paper-butterfly-left,.paper-butterfly-right{transform-origin:60px 52px;animation:5s ease-in-out infinite paper-butterfly-flutter}.paper-tulip-sway{transform-origin:51px 98px;animation:7s ease-in-out infinite paper-heart-sway}@keyframes paper-butterfly-flutter{0%,to{transform:scaleX(1)}50%{transform:scaleX(.83)}}@media (max-width:620px){.page-heading>.heading-paper-decoration{width:57px;height:51px;margin:-7px auto 13px}}@keyframes paper-drift{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-5px)rotate(1.5deg)}}@keyframes paper-wing-near{0%,to{transform:rotate(0)scaleY(1)}50%{transform:rotate(-3deg)scaleY(.94)}}@keyframes paper-wing-far{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes paper-heart-sway{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-2px)rotate(2deg)}}@keyframes paper-boat-rock{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-3px)rotate(2deg)}}@media (max-width:850px){.quote-paper-crane{width:77px;top:87px;left:15px}.quote-paper-heart{width:35px;right:24px}.card-paper-heart{width:40px;bottom:17px;right:11px}.login-paper-crane{width:65px;top:177px;left:14px}.book-left-center>.book-paper-crane{width:79px;margin-bottom:10px}}@media (max-width:620px){.hero-paper-crane{width:85px;top:-15px;left:0}.login-paper-crane{display:none}.quote-paper-crane{width:65px;margin:0 auto 17px;position:relative;top:auto;left:auto;rotate:-7deg}.quote-paper-heart{display:none}.card-paper-heart{width:37px;bottom:9px;right:3px}.page-heading>.heading-paper-crane{width:57px;margin:-7px auto 13px}.gallery-bottom>.gallery-paper-boat{width:62px;margin-bottom:9px}}@media (prefers-reduced-motion:reduce){.origami *{transition:none!important;animation:none!important}}
.origami-garden{isolation:isolate;align-self:center;width:calc(100% + 74px);margin:0 -37px;animation:1s ease-out page-in;position:relative}.garden-scene{width:100%;height:auto;display:block;overflow:visible}.origami-garden figcaption{font-family:var(--hand);text-align:center;color:var(--muted);margin:-14px 0 12px;font-size:23px;transform:rotate(-3deg)}.origami-garden figcaption span{color:var(--muted);margin-left:4px;display:inline-block}.garden-sun-rays{animation:100s linear infinite garden-sun-turn}.garden-glow{animation:7s ease-in-out infinite garden-glow}.garden-cloud{animation:14s ease-in-out infinite garden-cloud-drift}.garden-cloud-small{animation-duration:18s;animation-delay:-7s}.garden-flower{transform-box:fill-box;transform-origin:50% 100%;animation:6s ease-in-out infinite garden-flower-sway}.garden-waterfall{animation:1.5s linear infinite garden-water-flow}.garden-ripple{transform-box:fill-box;transform-origin:50%;animation:3.4s ease-out infinite garden-ripple}.garden-ripple-late{animation-delay:-1.7s}.garden-butterfly{animation:8s ease-in-out infinite garden-butterfly-drift}.garden-butterfly-blue{animation-duration:11s;animation-delay:-3s}.garden-wings{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite garden-wing-flutter}.garden-duck{animation:9s ease-in-out infinite garden-duck-drift}.garden-parrot,.garden-penguin,.garden-chicken{transform-box:fill-box;transform-origin:bottom;animation:7s ease-in-out infinite garden-friend-sway}.garden-penguin{animation-delay:-3s}.garden-chicken{animation-delay:-5s}.garden-dog-tail{transform-box:fill-box;transform-origin:100% 100%;animation:2.4s ease-in-out infinite garden-tail-wag}.garden-cat-tail{transform-box:fill-box;transform-origin:0 100%;animation:5s ease-in-out infinite reverse garden-tail-wag}.garden-petals{animation:9s ease-in-out infinite garden-petals-drift}.garden-sparkles{animation:5s ease-in-out infinite reverse garden-glow}@keyframes garden-sun-turn{to{transform:rotate(360deg)}}@keyframes garden-glow{0%,to{opacity:.55}50%{opacity:1}}@keyframes garden-cloud-drift{0%,to{transform:translate(-5px)}50%{transform:translate(8px)}}@keyframes garden-flower-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)}}@keyframes garden-water-flow{to{stroke-dashoffset:-48px}}@keyframes garden-ripple{0%{opacity:0;transform:scale(.4)}25%{opacity:.8}to{opacity:0;transform:scale(1.8)}}@keyframes garden-butterfly-drift{0%,to{transform:translate(0)rotate(-8deg)}35%{transform:translate(10px,-10px)rotate(7deg)}70%{transform:translate(-5px,-16px)rotate(-3deg)}}@keyframes garden-wing-flutter{0%,to{transform:scaleX(1)}50%{transform:scaleX(.62)}}@keyframes garden-duck-drift{0%,to{transform:translate(-6px)rotate(-2deg)}50%{transform:translate(7px,2px)rotate(2deg)}}@keyframes garden-friend-sway{0%,75%,to{transform:rotate(0)}83%{transform:rotate(-3deg)}92%{transform:rotate(2deg)}}@keyframes garden-tail-wag{0%,to{transform:rotate(-6deg)}50%{transform:rotate(9deg)}}@keyframes garden-petals-drift{0%,to{opacity:.45;transform:translate(0)}50%{opacity:.8;transform:translate(9px,14px)}}@media (max-width:850px){.origami-garden{width:calc(100% + 40px);margin-inline:-20px}.origami-garden figcaption{margin-top:-5px;font-size:20px}}@media (max-width:620px){.origami-garden{justify-self:center;width:calc(100% + 24px);max-width:490px;margin:6px -12px 0}.origami-garden figcaption{margin:-3px 0 14px;font-size:21px}.hero:has(.origami-garden){overflow:visible}}@media (prefers-reduced-motion:reduce){.origami-garden,.origami-garden *{animation:none!important}.garden-ripple{opacity:.55}}
.song-library-toolbar{align-items:stretch;gap:9px;margin:22px 0 12px;display:flex}.song-search-field{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--muted);border-radius:8px;flex:1;align-items:center;gap:9px;padding:10px 12px;display:flex}.song-search-field:focus-within{outline:2px solid var(--rose);outline-offset:2px}.song-search-field svg{flex-shrink:0}.song-search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:none;font-size:12px}.song-search-field input::placeholder{color:var(--muted)}.song-search-field input:focus-visible{outline:none}.song-library-toolbar>.button{white-space:nowrap;padding-inline:13px;font-size:11px}.song-library-count{color:var(--muted);margin:0 0 12px 3px;font-size:10px}.tracklist-panel{min-width:0}.tracklist{scrollbar-width:thin;scrollbar-color:#ff9ead transparent;max-height:480px;overflow-y:auto}.library-track{border-bottom:1px solid var(--line);border-radius:7px;align-items:center;display:flex}.library-track.selected{background:var(--soft)}.library-track .track-row{background:0 0;border-bottom:0;flex:1;min-width:0}.library-track .track-text{min-width:0}.library-track .track-text strong,.library-track .track-text small{overflow-wrap:anywhere}.library-track .track-row>svg{flex-shrink:0}.remove-song{color:var(--muted);flex-shrink:0;margin-right:7px}.song-library-empty{text-align:center;color:var(--muted);padding:32px 15px}.song-library-empty>svg{margin:0 auto 12px}.song-library-empty p{font-size:12px;line-height:1.7}.song-add-tabs{gap:8px;margin:0 0 22px;display:flex}.song-add-tabs button{border:1px solid var(--line);color:var(--rose);background:0 0;border-radius:20px;align-items:center;gap:7px;padding:9px 13px;font-size:11px;display:flex}.song-add-tabs button[aria-pressed=true]{background:var(--soft);border-color:var(--line)}.song-search-form{gap:10px;display:flex}.song-search-results{max-height:340px;margin-top:16px;overflow-y:auto}.song-search-result{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 0;display:flex}.song-search-result>div{flex:1;min-width:0}.song-search-result strong{overflow-wrap:anywhere;font-size:13px;display:block}.song-search-result span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.song-search-result .button{flex-shrink:0;padding:8px 11px;font-size:11px}.song-save-message{color:var(--rose);align-items:center;gap:7px;margin:19px 0 0;font-size:12px;line-height:1.7;display:flex}.song-save-message svg{flex-shrink:0}.song-lyrics .lyrics-status{font-family:var(--sans);color:var(--muted);margin:15px 0 22px;font-size:12px;line-height:1.8}.song-source-link{text-align:center;color:var(--rose);margin:15px 0 0;font-size:11px;display:block}.remove-song-description{color:var(--muted);font-size:13px;line-height:1.8}@media (max-width:850px){.song-library-toolbar{flex-wrap:wrap}.song-library-toolbar>.song-search-field{flex-basis:100%}.song-library-toolbar>.button{margin-left:auto}}@media (max-width:620px){.song-library-toolbar>.song-search-field{flex-basis:0}.song-library-toolbar{flex-wrap:nowrap}.song-library-toolbar .button{gap:5px;padding-inline:10px;font-size:10px}.song-search-field{gap:7px;padding:10px}.song-search-field input{font-size:16px}.song-search-field input::placeholder{font-size:11px}.song-search-form{flex-wrap:wrap}.song-search-form .song-search-field{flex-basis:100%}.song-search-form>.button{margin-left:auto}.library-track .track-row{gap:10px;padding:17px 10px}.tracklist{max-height:420px}.song-lyrics .lyrics-status{font-size:11px}}.youtube-audio-host{clip-path:inset(50%);opacity:0;pointer-events:none;z-index:-1;width:200px;height:200px;position:fixed;bottom:0;left:0;overflow:hidden}.youtube-audio-host iframe{border:0;width:200px;height:200px}.youtube-audio-host.needs-interaction{clip-path:none;opacity:1;pointer-events:auto;z-index:50;background:var(--cream);border:1px solid var(--line);border-radius:12px;width:min(360px,100vw - 32px);height:auto;padding:12px;bottom:110px;left:auto;right:16px;box-shadow:0 8px 30px #29262b26}.youtube-audio-host.needs-interaction iframe{width:100%;height:200px}.youtube-player-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:12px;display:flex}.youtube-player-heading span{overflow-wrap:anywhere}.youtube-player-heading button{background:var(--soft);border:0;border-radius:50%;min-width:32px;height:32px;font-size:22px}.youtube-audio-host.needs-interaction .song-source-link{margin:10px 0 0}.jukebox-layout>.turntable-panel{align-self:start}.playlist-sync-row{flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 15px;display:flex}.playlist-sync.button{flex-shrink:0;gap:7px;padding:8px 12px;font-size:11px}.playlist-sync-message{color:var(--rose);flex:1;min-width:140px;font-size:11px;line-height:1.6}.sync-spinning{animation:1.6s linear infinite playlist-spin}@keyframes playlist-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.sync-spinning{animation:none}}.lyrics-retry{margin:0 auto 20px;font-size:11px}.tracklist-heading{gap:12px}.tracklist-heading h2{margin-bottom:0}.playlist-sync-message:empty{display:none}.playlist-sync-message:not(:empty){margin:0 0 15px}.tracklist-panel>.song-lyrics{margin:30px 0 0;padding:18px 20px}.song-lyrics .live-lyric-stage{scrollbar-width:none;flex-direction:column;height:82px;margin:5px 0 8px;display:flex;overflow-y:auto}.live-lyric-stage::-webkit-scrollbar{display:none}.song-lyrics .live-lyric{font-family:var(--sans);color:var(--rose);overflow-wrap:anywhere;white-space:pre-line;margin:auto 0;font-size:17px;font-weight:500;line-height:1.5;animation:.22s ease-out lyric-appear}.song-lyrics .live-lyric>span{color:var(--muted);font-size:27px}.song-lyrics>.dedication-paper-heart{width:21px}@keyframes lyric-appear{0%{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@media (max-width:620px){.tracklist-panel>.song-lyrics{margin-top:28px;padding:16px 18px}.song-lyrics .live-lyric{font-size:16px}.song-lyrics .live-lyric-stage{height:74px}}@media (prefers-reduced-motion:reduce){.song-lyrics .live-lyric{animation:none}}
.modal.camera-modal{border:1px solid var(--pink);scrollbar-width:none;background:#ff9ead;border-radius:35px 35px 24px 24px;width:690px;max-width:calc(100vw - 28px);max-height:92dvh;padding:0;overflow-y:auto;box-shadow:0 28px 90px #29262b45,inset 0 2px #fff6}.camera-modal>.modal-header{align-items:center;margin:0;padding:24px 29px 8px}.camera-modal>.modal-header h2{letter-spacing:-.4px;font-size:24px}.camera-modal>.modal-header .icon-button{color:var(--ink);background:#fff3;border-radius:50%;margin:0;padding:8px}.camera-form{margin:0}.instant-camera{background:linear-gradient(125deg,var(--soft),#ff9ead 70%,#ff9ead);border-bottom:1px solid var(--pink);padding:10px 30px 22px;position:relative;box-shadow:inset 0 -8px #29262b1f}.camera-topline{justify-content:space-between;align-items:center;gap:15px;display:flex}.camera-viewfinder{background:var(--charcoal-soft);border-radius:10px;width:57px;height:39px;padding:6px;display:block;box-shadow:inset 0 2px 3px #29262b40,0 1px #fff7}.camera-viewfinder i{background:linear-gradient(135deg,#869b9f,#424b53 60%,#a7a7a0);border:3px solid #554e53;border-radius:5px;height:100%;display:block}.camera-brand{letter-spacing:2px;color:var(--muted);text-transform:uppercase;align-items:center;gap:7px;font-size:9px;font-weight:600;display:flex}.camera-flash{border:1px solid var(--pink);background:#ff9ead;border-radius:8px;width:78px;height:39px;padding:5px;display:block;box-shadow:inset 0 2px 4px #29262b30}.camera-flash i{background:repeating-linear-gradient(90deg,#fff8e6 0 3px,#ded5c5 3px 5px);border-radius:3px;width:100%;height:100%;display:block;box-shadow:inset 0 0 6px #a4998490}.camera-face{justify-content:center;align-items:center;min-height:219px;display:flex;position:relative}.camera-rainbow{opacity:.7;border-radius:3px;width:33px;display:flex;position:absolute;top:35px;bottom:16px;left:29px;overflow:hidden;rotate:-9deg}.camera-rainbow i{background:var(--soft);flex:1}.camera-rainbow i:nth-child(2){background:#ff9ead}.camera-rainbow i:nth-child(3){background:var(--pink)}.camera-lens{border:7px solid var(--line);cursor:pointer;color:#fffcfb;background:repeating-radial-gradient(circle,#29262b 0 2px,#29262b 3px 4px);border-radius:50%;place-items:center;width:196px;height:196px;display:grid;position:relative;box-shadow:0 8px 12px #29262b40,0 0 0 2px #fff5,inset 0 0 0 2px #29262b}.camera-lens-rim{letter-spacing:1.7px;color:var(--muted);font-size:6px;position:absolute;top:15px}.camera-lens-glass{background:radial-gradient(at 30% 22%,#afb5bc9c,#0000 34%),radial-gradient(at 68% 80%,#a9779e60,#0000 38%),linear-gradient(145deg,#4b6570,#292733 65%);border:8px solid #3c3942;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:9px;width:127px;height:127px;display:flex;position:relative;box-shadow:0 0 0 2px #29262b,inset 0 0 12px #16151d}.camera-lens-glass>span{color:#fffcfb;font-size:9px}.camera-lens-glass>svg{color:#fffcfb;stroke-width:1.4px}.camera-lens input{opacity:0;cursor:pointer;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.camera-lens:focus-within{outline:3px solid var(--rose);outline-offset:5px}.camera-lens:hover .camera-lens-glass{filter:brightness(1.15)}.camera-shutter-area{flex-direction:column;align-items:center;gap:13px;display:flex;position:absolute;top:68px;right:7px}.camera-shutter{border:5px solid var(--line);background:var(--ink);width:58px;height:58px;color:var(--pink);border-radius:50%;place-items:center;display:grid;box-shadow:0 3px #29262b,0 5px 9px #29262b45}.camera-shutter:hover{filter:brightness(1.06)}.camera-shutter:active{transform:translateY(2px);box-shadow:0 1px #29262b}.camera-shutter-area>span{font-family:var(--hand);color:var(--ink);font-size:16px;rotate:-5deg}.camera-base{justify-content:space-between;align-items:center;gap:10px;margin:0 0 17px;display:flex}.camera-base .writing-as{color:var(--ink);font-size:10px}.camera-status-light{background:var(--pink);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #ffffff30}.has-photo .camera-status-light{background:#7b956d}.camera-print-slot{background:var(--ink);border:3px solid var(--pink);border-radius:6px;max-width:560px;height:13px;margin:auto;box-shadow:inset 0 3px 4px #29262b80,0 1px #fff7}.camera-print{border:1px solid var(--line);transform-origin:top;background:#fffcf6;border-top:0;grid-template-columns:180px minmax(0,1fr);gap:22px;width:calc(100% - 68px);margin:-6px auto 25px;padding:21px 21px 23px;display:grid;position:relative;box-shadow:0 8px 15px #29262b30}.camera-print-photo{min-width:0}.camera-photo-window{aspect-ratio:1;background:var(--soft);border:1px solid var(--line);overflow:hidden}.camera-photo-window>img{object-fit:contain;background:var(--soft);width:100%;height:100%;animation:1.2s ease-out photo-develop}.camera-photo-empty{text-align:center;height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:12px;display:flex}.camera-photo-empty .handwritten{font-size:20px;line-height:1.15}.camera-photo-empty small{color:var(--muted);font-size:8px;line-height:1.6}.camera-print-caption{text-align:center;color:var(--muted);overflow-wrap:anywhere;margin:13px 0 0;font-size:21px;line-height:1.2;display:block}.camera-details{justify-content:center;gap:14px}.camera-detail-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.camera-details label{min-width:0;font-size:10px}.camera-details input:not([type=file]),.camera-details select{min-width:0;padding:9px 8px;font-size:11px}.camera-details .button{gap:9px;padding:10px;font-size:11px}.camera-details .form-error{margin:0;font-size:11px}.has-photo .camera-print{animation:.75s ease-out photo-print}.camera-flash.photo-ready i{animation:.65s ease-out camera-flash}@keyframes photo-print{0%{opacity:.55;transform:translateY(-17px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-develop{0%{filter:brightness(1.65)saturate(.3)}to{filter:brightness()saturate()}}@keyframes camera-flash{0%{background:#fff;box-shadow:0 0 20px 7px #fffa}to{box-shadow:inset 0 0 6px #a4998490}}@media (max-width:620px){.modal.camera-modal{border-radius:26px 26px 19px 19px;max-width:calc(100vw - 20px)}.camera-modal>.modal-header{gap:12px;padding:19px 17px 7px}.camera-modal>.modal-header h2{max-width:230px;font-size:20px}.camera-modal>.modal-header .icon-button{padding:6px}.instant-camera{padding:8px 18px 17px}.camera-brand{letter-spacing:1.2px;gap:4px;font-size:6px}.camera-brand svg{width:9px}.camera-viewfinder{background:var(--charcoal-soft);width:45px;height:32px;padding:5px}.camera-flash{width:59px;height:31px;padding:4px}.camera-face{min-height:179px}.camera-lens{border-width:6px;width:158px;height:158px}.camera-lens-rim{letter-spacing:1.1px;font-size:5px;top:11px}.camera-lens-glass{border-width:6px;gap:7px;width:104px;height:104px}.camera-lens-glass>svg{width:23px}.camera-lens-glass>span{font-size:8px}.camera-shutter-area{top:63px;right:0}.camera-shutter{background:var(--ink);width:40px;height:40px;color:var(--pink);border-width:4px}.camera-shutter svg{width:15px}.camera-shutter-area>span{display:none}.camera-rainbow{width:20px;top:26px;bottom:24px;left:7px}.camera-base .writing-as{gap:5px;font-size:9px}.camera-base{margin-bottom:13px}.camera-print{grid-template-columns:1fr;gap:18px;width:calc(100% - 42px);margin-bottom:19px;padding:17px 16px 21px}.camera-print-photo{width:100%;max-width:220px;margin:auto}.camera-photo-window{aspect-ratio:1.35}.camera-photo-empty{gap:9px}.camera-photo-empty>svg{width:30px}.camera-print-caption{margin-top:10px;font-size:22px}.camera-details{gap:13px}.camera-details input:not([type=file]),.camera-details select{padding:10px 8px;font-size:16px}.camera-detail-pair{grid-template-columns:1fr;gap:13px}.camera-details .button{font-size:12px}.camera-details label{font-size:11px}}@media (prefers-reduced-motion:reduce){.camera-print,.camera-photo-window>img,.camera-flash.photo-ready i{animation:none!important}}.modal.camera-modal::-webkit-scrollbar{display:none}.modal.photo-viewer{scrollbar-width:none}.modal.photo-viewer::-webkit-scrollbar{display:none}.instant-camera-card-art{background:var(--soft);justify-content:center;align-items:center;display:flex}.instant-camera-art{filter:drop-shadow(3px 6px 4px #29262b20);width:100%;max-width:300px;height:100%;overflow:visible}.home-camera-float{transform-origin:160px 120px;animation:7s ease-in-out infinite home-camera-float}.home-camera-print{transform-origin:160px 159px;animation:7s ease-in-out infinite home-camera-print}@keyframes home-camera-float{0%,to{transform:translateY(1px)rotate(-1deg)}50%{transform:translateY(-3px)rotate(1deg)}}@keyframes home-camera-print{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (max-width:620px){.instant-camera-art{flex-shrink:0;width:160px;max-width:none;height:140px}}@media (prefers-reduced-motion:reduce){.home-camera-float,.home-camera-print{animation:none}}
.modal.journal-editor{border:10px solid var(--ink);border-left:25px solid var(--charcoal-soft);scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior:contain;background:linear-gradient(90deg,#29262b0d,#0000 22px),#fffaf0;border-radius:12px 18px 18px 12px;width:680px;max-width:calc(100vw - 28px);max-height:90dvh;padding:34px 32px 30px 38px;overflow:auto;box-shadow:inset 2px 0 6px #29262b16,0 3px #29262b,0 6px #29262b,0 10px #29262b,0 28px 75px #29262b4a}.journal-editor::-webkit-scrollbar{width:0;height:0;display:none}.journal-editor textarea::-webkit-scrollbar{width:0;height:0;display:none}.journal-editor .modal-header{gap:16px;margin-bottom:10px;padding-right:4px}.journal-editor .modal-header h2{max-width:410px;font-size:30px;line-height:1.2}.journal-editor .modal-header .icon-button{flex-shrink:0;margin:-5px -12px 0 0}.editor-ribbon{background:linear-gradient(90deg,var(--pink),var(--pink) 55%,var(--pink));clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%);filter:drop-shadow(2px 3px 2px #29262b22);pointer-events:none;width:21px;height:28px;position:absolute;top:0;right:64px}.diary-form{gap:23px}.diary-byline{justify-content:space-between;align-items:center;gap:14px;min-height:56px;display:flex}.diary-byline .writing-as{gap:7px;font-size:11px}.diary-byline .author-avatar{width:25px;height:25px;font-size:14px}.diary-crane{flex-shrink:0;width:57px;height:48px;transform:rotate(-8deg)}.diary-details{grid-template-columns:minmax(0,1fr) 155px;gap:22px;display:grid}.diary-form label{color:var(--muted);gap:8px;font-size:10px}.diary-form input:not([type=file]),.diary-form select{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:7px 0 10px}.diary-form input:not([type=file]){font-family:var(--serif);font-size:20px;line-height:1.3}.diary-form select{cursor:pointer;height:44px;font-size:12px}.diary-form input::placeholder{color:var(--muted);opacity:1}.diary-form .diary-writing{gap:12px}.diary-form textarea{font-family:var(--hand);color:var(--text);resize:none;scrollbar-width:none;min-height:256px;box-shadow:none;background:repeating-linear-gradient(#0000 0 31px,#eadde280 31px 32px);border:0;border-radius:0;padding:0 7px;font-size:25px;line-height:32px;overflow:hidden}.diary-form textarea::placeholder{color:var(--muted);opacity:1}.diary-form input:focus-visible,.diary-form select:focus-visible,.diary-form textarea:focus-visible{outline:1px solid var(--pink);outline-offset:5px}.diary-signature{color:var(--muted);font-family:var(--hand);justify-content:flex-end;align-items:center;gap:9px;margin-top:-10px;font-size:27px;display:flex}.diary-save{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.diary-save>span{color:var(--muted);max-width:140px;font-size:9px;line-height:1.6}.diary-save .button{white-space:nowrap}@media (max-width:620px){.modal.journal-editor{border-width:7px 7px 7px 16px;border-radius:9px 14px 14px 9px;max-height:91dvh;padding:28px 20px 24px 24px}.journal-editor .modal-header h2{font-size:27px}.journal-editor .modal-header .icon-button{margin-right:-8px}.editor-ribbon{width:17px;height:23px;right:48px}.diary-form{gap:20px}.diary-details{grid-template-columns:minmax(0,1fr);gap:16px}.diary-form input:not([type=file]){font-size:21px}.diary-form select{height:42px;font-size:16px}.diary-form textarea{font-size:24px}.diary-save{flex-direction:column;gap:12px}.diary-save>span{order:1;max-width:none}.diary-save .button{justify-content:center;width:100%}}
.letter-entrance{z-index:10000;cursor:wait;isolation:isolate;position:fixed;inset:0;overflow:hidden}.entrance-announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.entrance-veil{background:#211923;animation:1.2s both entrance-dim;position:absolute;inset:0}.entrance-flight{aspect-ratio:4/3;width:clamp(145px,19vw,240px);margin-top:clamp(-90px,-7.125vw,-54.375px);margin-left:clamp(-120px,-9.5vw,-72.5px);animation:1.1s cubic-bezier(.22,.65,.3,1) both entrance-flight;position:absolute;top:50%;left:50%}.entrance-butterfly{filter:drop-shadow(0 12px 16px #10081555)drop-shadow(0 0 22px #ff5e7340);width:100%;height:100%}.entrance-butterfly svg{width:100%;display:block;overflow:visible}.entrance-wing{transform-origin:120px 90px;animation:.32s ease-in-out infinite alternate entrance-wingbeat}.entrance-wing-right{animation-delay:-.08s}.entrance-bloom{opacity:0;background:radial-gradient(circle,#49303d 0%,#29212b 37%,#1c1920 68%);border-radius:50%;width:160vmax;height:160vmax;margin:-80vmax;position:absolute;top:50%;left:50%;transform:scale(0);box-shadow:0 0 80px 25px #ff8baa55}.letter-entrance[data-stage=blooming] .entrance-bloom,.letter-entrance[data-stage=revealing] .entrance-bloom{animation:.65s cubic-bezier(.55,0,.3,1) both entrance-bloom}.letter-entrance[data-stage=blooming] .entrance-butterfly,.letter-entrance[data-stage=revealing] .entrance-butterfly{animation:.65s ease-in both entrance-unfold}.letter-entrance[data-stage=blooming] .entrance-wing,.letter-entrance[data-stage=revealing] .entrance-wing{animation:none;transform:scaleX(1)}.letter-entrance[data-stage=revealing]{pointer-events:none;animation:.8s ease-out 50ms both entrance-reveal}@keyframes entrance-flight{0%{transform:translate(var(--flight-x),var(--flight-y)) rotate(-26deg) scale(.24)}45%{transform:translate(calc(var(--flight-x)*.4),calc(var(--flight-y)*.35 - 65px)) rotate(-12deg) scale(.65)}78%{transform:translate(-12px,12px)rotate(8deg)scale(.96)}to{transform:translate(0)rotate(0)scale(1)}}@keyframes entrance-wingbeat{0%{transform:scaleX(.38)}to{transform:scaleX(1)}}@keyframes entrance-dim{0%{opacity:0}to{opacity:.55}}@keyframes entrance-bloom{0%{opacity:0;transform:scale(0)}12%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes entrance-unfold{0%{opacity:1;transform:scale(1)}40%{opacity:1}to{opacity:0;transform:scale(8)}}@keyframes entrance-reveal{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.letter-entrance{display:none}.letter-entrance *{animation:none!important}}
