@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#27372f;font-synthesis:none;--ink:#27372f;--muted:#687269;--cream:#f6f4eb;--spotify-lines:#fff;--glass:rgba(230,240,228,.22);--shadow:0 10px 35px #152e2320,0 1px 2px #fff6 inset;--round:32px}*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow-x:hidden;background:#aab9a7}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}a{text-decoration:none}button{border:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:3px solid #faffc6;outline-offset:5px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #567354;outline-offset:2px}[hidden]{display:none!important}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.landscape,.landscape-shade{position:fixed;inset:0;pointer-events:none;z-index:-2}.landscape{background:url('/assets/meadow.jpg') center 60%/cover no-repeat;transform:scale(1.035);transition:filter 1s,transform 1.3s}.landscape-shade{z-index:-1;background:linear-gradient(180deg,#d7e2df12 0%,#12241905 45%,#0e251b22 100%);transition:background 1s}.evening .landscape{filter:none}.evening .landscape-shade{background:linear-gradient(180deg,#1c264c75,#2f275320 60%,#0b20253d)}.glass{background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(145%);backdrop-filter:blur(22px) saturate(145%);border:1px solid #ffffff50;box-shadow:var(--shadow)}.topbar{height:102px;padding:25px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.identity{display:flex;align-items:center;gap:12px}.brand-orb{height:43px;width:43px;display:grid;place-content:center;background:linear-gradient(130deg,#ffe6b4,#b4bb98 60%,#879e7d);border:1.5px solid #ffffff9c;border-radius:50%;font-family:'Instrument Serif',Georgia,serif;font-size:25px;font-style:italic;box-shadow:0 3px 9px #40523b22;letter-spacing:-3px;padding-right:4px}.brand-orb span{display:inline}.identity-text{font-size:13px;font-weight:650;letter-spacing:-.2px}.identity-text>span{display:block;font-size:10px;font-weight:400;opacity:.64;margin-top:3px;letter-spacing:.4px}.today-pill{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:40px;font-size:11px;background:#f8fcf678}.status-dot,.connection-state i{width:6px;height:6px;border-radius:50%;background:#789363;box-shadow:0 0 0 3px #72975912}.tiny-heart{margin-left:9px;font-size:15px;opacity:.65}.top-actions{display:flex;align-items:center;gap:12px}.segmented{padding:4px;display:flex;border-radius:30px;gap:2px;background:#98aeaa30}.segmented a{padding:10px 17px;border-radius:25px;font-size:10px;font-weight:500;opacity:.63}.segmented .selected{background:#ffffffeb;box-shadow:0 2px 6px #243e3220;opacity:1}.round-button{display:grid;place-content:center;width:37px;height:37px;border-radius:50%;background:#edf6ef25}.round-button svg{width:16px;height:16px}.dashboard-main{max-width:1100px;margin:0 auto;padding:22px 26px 155px}.welcome{text-align:center;margin:5px 0 35px;color:#263d33}.welcome>p{font-size:9px;letter-spacing:2.4px;font-weight:500;opacity:.7;margin:0 0 8px}.welcome h1{font-family:'Instrument Serif',Georgia,serif;font-size:60px;line-height:1.04;font-weight:400;letter-spacing:-1.7px;margin:0 0 10px}.welcome>div{font-size:12px;letter-spacing:.1px;opacity:.74}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;perspective:1600px}.life-card{position:relative;min-width:0;min-height:246px;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:23px 21px 17px;border-radius:var(--round);isolation:isolate;overflow:hidden;will-change:transform;transform:translateY(0) rotateX(0) rotateY(0);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s;--mx:50%;--my:10%}.life-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--mx) var(--my),#ffffff51,transparent 67%);opacity:0;transition:opacity .35s}.life-card:hover:before{opacity:1}.life-card:hover{box-shadow:0 18px 42px #0c2a2930,0 1px 0 #fff9 inset;border-color:#ffffffa6}.life-card:active{transform:scale(.985)!important}.paper-card{background:linear-gradient(135deg,#fffffff5,#fffffff0);box-shadow:0 7px 22px #18332616,0 1px 0 #fff inset;border:1px solid #ffffff8a}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:16px}.card-label{font-size:8px;font-weight:550;letter-spacing:1.05px;line-height:1.3;opacity:.7}.card-heading>svg{width:14px;height:14px;opacity:.55}.card-heading>.spotify{color:#426e46;opacity:1;stroke:none}.card-heading>.spotify use{stroke:none}.life-card h2{font-size:23px;line-height:1.09;font-weight:450;letter-spacing:-.75px;margin:14px 0 0}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:9px;font-size:9px;color:#697169;line-height:1.4;min-height:29px}.little-circle{width:26px;height:26px;display:grid;place-content:center;border-radius:50%;background:#e7e9e650;font-size:11px;flex-shrink:0}.glass .card-bottom{color:#263e31ba}.glass .little-circle{background:#eff6e629}.alphabet-art{display:flex;align-items:center;margin:21px 0 15px;position:relative;padding-left:4px}.alphabet-art>span{position:relative;display:grid;place-content:center;flex-shrink:0;width:49px;height:55px;border-radius:7px;font:32px 'Instrument Serif',Georgia,serif;border:1px solid #d7ddce;box-shadow:0 4px 6px #4c51461c;background:#ecebdc;transform:rotate(-10deg)}.alphabet-art>span:nth-child(2){background:#e8bfa2;transform:rotate(5deg);margin-left:-3px}.alphabet-art>span:nth-child(3){background:#c2ccba;transform:rotate(-6deg);margin-left:-3px}.alphabet-art>span>span{position:absolute;font:12px 'DM Sans',sans-serif;right:6px;bottom:4px}.alphabet-art>i{position:absolute;right:4px;top:14px;font:25px 'Instrument Serif',serif;color:#9aa48e}.music-card{background:#eff7eb44}.vinyl-scene{height:122px;position:relative;margin:13px 0 3px;display:flex;align-items:center;justify-content:center}.record-sleeve{position:relative;width:94px;height:108px;background:#cecea9;transform:rotate(-8deg);padding:9px 13px;z-index:2;box-shadow:3px 5px 10px #233b2829}.record-sleeve>span{font-size:15px;font-weight:650;letter-spacing:-.65px;line-height:.98;display:block}.record-sleeve i{font-family:'Instrument Serif',serif;font-weight:400;font-size:20px}.record-sleeve b{position:absolute;bottom:8px;right:12px;font-size:20px;font-weight:400}.vinyl{border-radius:50%;height:106px;width:106px;background:repeating-radial-gradient(circle,#1e2823 0 1px,#313c34 1px 2px,#1d2921 3px 4px);position:relative;margin-left:-35px;box-shadow:2px 4px 8px #12332620;transform:rotate(12deg)}.vinyl:after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent,#fff2,transparent 24%,transparent 47%,#fff2,transparent 68%)}.vinyl>span{position:absolute;left:34px;top:34px;width:38px;height:38px;background:#d4a797;border-radius:50%;border:15px solid #d9b0a0;box-shadow:inset 0 0 0 1px #17281a}.music-title{font-size:15px;letter-spacing:-.4px;margin-top:4px}.music-card .card-bottom{font-size:7px;padding-top:2px}.connection-state{display:flex;align-items:center;gap:6px}.connection-state i{width:4px;height:4px;background:#76917d}.music-card .little-circle{width:23px;height:23px}.travel-card{background:#2f5c3c23}.travel-card h2{font-family:'Instrument Serif',Georgia,serif;font-size:31px;line-height:.95;font-weight:400;letter-spacing:-.8px}.journey-art{margin-top:10px;position:relative;flex:1;min-height:65px}.journey-art svg{width:100%;height:70px;stroke:#e9eed0;stroke-width:1.4;fill:none;stroke-dasharray:4 4}.journey-art circle{fill:#f7f4dd;stroke:none}.ticket-label{position:absolute;left:24px;bottom:10px;transform:rotate(-6deg);font-size:6px;letter-spacing:1px;padding:5px 8px;border:1px solid #d9e3bb99;color:#ecf1d9;border-radius:3px;background:#35533a55}.note-card{background:linear-gradient(135deg,#fffdf0f5,#f6f1dff2)}.note-star{position:absolute;right:27px;top:54px;color:#ba884f;font-size:27px;transform:rotate(12deg)}.note-card>p{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:27px;letter-spacing:-.5px;line-height:1.13;margin:34px 0 16px;max-height:95px;overflow:hidden}.note-card .card-bottom{font-size:8px}.playlist-layout{display:flex;align-items:center;gap:14px;flex:1;margin-top:16px}.playlist-cover{position:relative;flex-shrink:0;width:85px;height:91px;background:#364833;color:#e8e8c9;border:1px solid #dce0cd;box-shadow:0 4px 10px #18251c25;transform:rotate(-5deg);padding:12px 9px}.playlist-cover span{font-size:11px;letter-spacing:-.4px;line-height:1.1;font-weight:500;display:block}.playlist-cover i{font-family:'Instrument Serif',serif;font-size:20px;font-weight:400}.playlist-cover b{position:absolute;bottom:7px;right:9px;color:#e3ba6f;font-size:24px;font-weight:400}.playlist-name h2{font-size:17px;word-break:break-word;margin:0 0 7px;letter-spacing:-.5px}.playlist-name>span{font-size:8px;color:#7c847a;line-height:1.6;display:block}.playlist-card .card-bottom{margin-top:8px}.play-circle{display:grid;place-content:center;border-radius:50%;width:28px;height:28px;background:#eef0eb;font-size:10px;padding-left:2px}.together-card{background:#365c2d26}.together-number{font-family:'Instrument Serif',Georgia,serif;font-size:43px;letter-spacing:-2px;margin:30px 0 7px;text-align:center;line-height:1}.together-number span{font-style:italic;font-size:37px;opacity:.65}.together-number.has-days{font-family:'DM Sans',sans-serif;font-size:54px;letter-spacing:-3px;font-weight:450;margin:26px 0 0}.together-card>p{font-size:10px;line-height:1.6;margin:2px 0 17px;text-align:center;opacity:.72}.together-card .card-bottom{font-size:8px}.mini-film{display:flex;align-items:center;justify-content:center;gap:5px;margin:25px -29px 17px;padding:8px 0;background:#303b30;transform:rotate(-6deg);border-top:5px dashed #f8f7ed;border-bottom:5px dashed #f8f7ed;min-height:93px;box-shadow:0 3px 8px #273a3029;overflow:hidden}.mini-film img{height:76px;width:66px;object-fit:cover;flex-shrink:0;border:2px solid #e6e8d5}.mini-film>span{color:#f0eddd;font-family:'Instrument Serif',serif;font-style:italic;font-size:20px;text-align:center}.memories-card .card-bottom{font-size:8px}.wishes-card{background:#49633f24}.wishes-card h2{font-family:'Instrument Serif',Georgia,serif;font-size:28px;font-weight:400;line-height:1.02;letter-spacing:-.6px}.wishes-preview{margin:20px 0 12px;font-size:9px;line-height:1.4}.wishes-preview>span{display:flex;align-items:center;gap:7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.wishes-preview i{display:block;width:11px;height:11px;flex-shrink:0;border-radius:50%;border:1px solid #dae6c699}.wish-line{height:1px;background:#e6edd041;margin:12px 0 0 18px;width:74%}.wish-line.short{width:55%}.under-grid{display:flex;align-items:center;justify-content:space-between;color:#f5f9e5bf;padding:22px 6px;font-size:9px;letter-spacing:.1px}.under-grid>span{display:flex;align-items:center;gap:7px}.under-grid i{width:4px;height:4px;background:#ecf5ce;border-radius:50%}.customize{background:transparent;color:inherit;display:flex;gap:6px;align-items:center;padding:3px;font-size:9px}.customize svg{width:12px;height:12px}.world-footer{position:fixed;bottom:30px;left:42px;right:34px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;font-size:9px;color:#f7f9eb9c;letter-spacing:.1px}.footer-controls{display:flex;align-items:center;gap:9px;pointer-events:auto}.login-pill{border-radius:24px;display:flex;align-items:center;gap:16px;padding:11px 16px;font-size:10px;color:#f8faec;background:#a9c19b30;letter-spacing:0}.world-footer .round-button{width:34px;height:34px;color:#f1f6da}.dock{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:8px;border-radius:26px;background:#c5d1b43d;box-shadow:0 8px 32px #122e3230,0 1px 0 #ffffff70 inset;z-index:10}.dock>a,.dock>button{display:grid;place-content:center;position:relative;width:41px;height:41px;border-radius:17px;background:transparent;color:#f7faebcf;transition:transform .25s,background .25s}.dock .active{background:#f7fae9e8;color:#476045;box-shadow:0 3px 7px #1a301921}.dock button:hover,.dock a:hover{background:#eff5db4f;transform:translateY(-5px)}.dock svg{width:20px;height:20px}.dock-alphabet{font:22px 'Instrument Serif',Georgia,serif}.dock-divider{height:21px;width:1px;background:#f5f8e332;margin:0 3px}.dock [data-tip]:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(4px);background:#f4f5eaf2;box-shadow:0 3px 10px #1d372a20;border:1px solid #fff8;border-radius:9px;color:#344435;padding:7px 10px;font:10px 'DM Sans',sans-serif;white-space:nowrap;opacity:0;pointer-events:none;transition:.2s}.dock [data-tip]:hover:after,.dock [data-tip]:focus-visible:after{opacity:1;transform:translateX(-50%) translateY(0)}.world-panel{border:1px solid #ffffffad;border-radius:34px;padding:35px;max-width:700px;width:calc(100% - 32px);max-height:83svh;background:#f9faf1e8;backdrop-filter:blur(35px) saturate(130%);-webkit-backdrop-filter:blur(35px) saturate(130%);color:var(--ink);box-shadow:0 30px 120px #0b292a50;overscroll-behavior:contain}.world-panel[open]{animation:panel-in .35s cubic-bezier(.2,.8,.2,1)}.world-panel::backdrop{background:#18352940;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes panel-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.panel-close{position:absolute;top:19px;right:19px;width:31px;height:31px;border-radius:50%;background:#dbe4d961;font-size:23px;line-height:1;color:#61705d}.panel-eyebrow{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;opacity:.6;margin:0 35px 11px 0}.world-panel h2{font-family:'Instrument Serif',Georgia,serif;font-size:39px;line-height:1.1;font-weight:400;letter-spacing:-.7px;margin:0 25px 12px 0}.panel-intro{font-size:12px;color:#7b8478;line-height:1.8;margin:0 0 22px}.world-panel h3{font-size:14px;font-weight:500;margin:25px 0 12px}.world-panel label{display:block;font-size:11px;margin:16px 0;color:#5c6c59}.world-panel input,.world-panel select,.world-panel textarea{display:block;width:100%;padding:12px 13px;border-radius:12px;border:1px solid #c8d2c4;background:#ffffffa8;color:#263e2b;margin-top:7px;min-height:43px;font-size:13px}.world-panel textarea{resize:vertical;min-height:110px;line-height:1.7}.world-panel input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;accent-color:#6f8764}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.primary-button,.soft-button{border-radius:14px;padding:12px 18px;font-size:11px;display:inline-flex;align-items:center;gap:9px;background:#4c6648;color:#fff;margin-top:6px;transition:background .2s}.primary-button:hover{background:#365131}.primary-button svg,.soft-button svg{width:14px;height:14px}.soft-button{background:#dde4d8;color:#3d5638}.world-panel button:disabled{opacity:.55;cursor:wait}.form-message{font-size:11px;line-height:1.6;margin-top:12px}.panel-empty{border:1px dashed #c4cebf;border-radius:18px;padding:30px 23px;text-align:center;margin:15px 0;background:#e9eee344}.panel-empty>svg{width:28px;height:28px;color:#7c9375;margin-bottom:12px}.panel-empty h3{font-family:'Instrument Serif',serif;font-size:25px;font-weight:400;margin:0 0 10px}.panel-empty p{font-size:12px;line-height:1.7;color:#84907c;margin:0}.spotify-frame{border:0;width:100%;height:352px;border-radius:17px;margin:8px 0 15px;background:#26382e}.connection-note{display:flex;align-items:center;gap:12px;border-radius:14px;background:#e8ecdf8c;padding:13px 15px;margin:17px 0;font-size:11px;line-height:1.7;color:#75826c}.connection-note strong{display:block;color:#4b5b45;font-weight:500}.panel-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.content-item{border-top:1px solid #ccd5c26b;padding:18px 0;display:flex;align-items:flex-start;gap:12px}.content-item h3{margin:0 0 5px;font-size:15px}.content-item p{margin:0;font-size:12px;color:#7c8775;line-height:1.7;white-space:pre-wrap}.content-item .item-detail{flex:1;min-width:0}.item-tag{font-size:9px;border:1px solid #c9d5be;padding:4px 8px;border-radius:20px;display:inline-block;margin:8px 0 0}.remove-item{font-size:10px;padding:6px 9px;background:#e4e8df;color:#6a7761;border-radius:8px;flex-shrink:0}.wish-item{align-items:center}.wish-item.done p{text-decoration:line-through;opacity:.55}.wish-item input{margin-top:0}.note-full{font-family:'Instrument Serif',Georgia,serif;font-size:29px;line-height:1.5;white-space:pre-wrap;background:#fff9e7a8;padding:25px;border-radius:18px;position:relative;margin-bottom:22px}.note-full:before{content:'✳';display:block;font-size:23px;color:#b99a66;margin-bottom:10px}.memory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:20px}.memory-grid figure{margin:0;background:#fff;padding:8px 8px 12px;box-shadow:0 4px 12px #1b2b1d13;border-radius:4px;transform:rotate(-1deg)}.memory-grid figure:nth-child(even){transform:rotate(1deg)}.memory-grid img{width:100%;height:210px;object-fit:cover;display:block}.memory-grid figcaption{padding:10px 4px 0;font-size:10px;line-height:1.5;color:#6e7969}.search-list{display:grid;gap:7px;margin-top:15px}.search-result{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:#e7ecdf8c;border-radius:12px;text-align:left;font-size:12px;color:#3f563b}.search-result span:last-child{font-size:10px;opacity:.6}.since-summary{font:55px 'Instrument Serif',serif;margin:15px 0;color:#5a7351}.guest-hint{font-size:11px;line-height:1.7;color:#829078;margin:20px 0 0}.guest-hint a{color:#45613d;text-decoration:underline;text-underline-offset:3px}#page-error{font-size:11px;text-align:center;color:#fff9e7}.noscript{margin:20px auto;max-width:500px;padding:20px;border-radius:15px;background:#fff9;color:#243e31}.welcome,.card-grid,.under-grid{animation:arrive .8s both}.card-grid{animation-delay:.12s}.under-grid{animation-delay:.25s}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.dashboard-main{padding-top:45px}.welcome{margin-bottom:45px}.welcome h1{font-size:70px}.life-card{min-height:267px;padding:25px}.card-grid{gap:20px}.vinyl-scene{margin-top:22px}.alphabet-art{margin-top:28px}.mini-film{margin-top:32px}.note-card>p{margin-top:37px}.world-footer{bottom:35px}.dock{bottom:30px}}
@media(max-width:1050px){.topbar{padding:22px 27px}.identity-text{display:none}.dashboard-main{padding-left:24px;padding-right:24px;max-width:950px}.card-grid{gap:14px}.life-card{padding:20px 16px 15px;min-height:234px;border-radius:27px}.card-label{font-size:7px;letter-spacing:.8px}.life-card h2{font-size:21px}.travel-card h2{font-size:28px}.note-card>p{font-size:24px}.playlist-layout{gap:10px}.playlist-cover{width:69px;height:84px;padding:10px 7px}.playlist-name h2{font-size:15px}.playlist-name>span{font-size:7px}.alphabet-art>span{width:44px;height:51px}.card-bottom{font-size:8px}.world-footer>span{display:none}.world-footer{left:auto;right:24px;bottom:29px}.dock{left:24px;transform:none}.together-number{font-size:39px}.together-number span{font-size:31px}.wishes-card h2{font-size:26px}.music-title{font-size:14px}}
@media(max-width:760px){.topbar{height:85px;padding:20px 22px}.today-pill{display:none}.identity-text{display:block}.top-actions{gap:9px}.segmented a{font-size:9px;padding:9px 12px}.top-actions>.round-button{display:none}.dashboard-main{max-width:580px;padding:10px 22px 140px}.welcome{margin:12px 0 28px}.welcome h1{font-size:54px}.welcome>p{font-size:8px;letter-spacing:2px}.welcome>div{font-size:11px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.life-card{min-height:235px;padding:21px 18px 16px;border-radius:28px}.card-label{font-size:7px}.life-card h2{font-size:23px}.travel-card h2{font-size:32px}.note-card>p{font-size:27px}.playlist-cover{width:74px;height:91px}.playlist-name h2{font-size:16px}.playlist-name>span{font-size:8px}.alphabet-art>span{width:48px;height:54px}.under-grid{font-size:8px;gap:15px;align-items:flex-start}.customize{font-size:8px}.dock{left:50%;transform:translateX(-50%);bottom:18px;gap:4px;padding:7px;border-radius:24px}.dock>a,.dock>button{width:38px;height:38px}.world-footer{position:static;padding:0 22px 105px;display:flex;justify-content:center;margin-top:-110px}.world-footer>span{display:none}.footer-controls{gap:7px}.login-pill{font-size:9px;padding:9px 13px}.world-footer .round-button{height:31px;width:31px}.world-panel{padding:28px 22px;border-radius:28px;max-height:87svh}.world-panel h2{font-size:34px}.memory-grid{gap:10px}.memory-grid img{height:180px}.mini-film{margin-top:28px}}
@media(max-width:390px){.identity-text{display:none}.dashboard-main{padding-left:15px;padding-right:15px}.topbar{padding-left:20px;padding-right:20px}.life-card{padding:18px 14px 14px;min-height:224px}.card-grid{gap:11px}.card-label{font-size:6.5px;letter-spacing:.6px}.life-card h2{font-size:21px}.travel-card h2{font-size:28px}.note-card>p{font-size:24px}.playlist-layout{gap:7px;flex-direction:column;align-items:flex-start;margin-top:15px}.playlist-cover{width:66px;height:67px;padding:7px}.playlist-cover span{font-size:9px}.playlist-cover i{font-size:15px}.playlist-cover b{font-size:18px;right:7px;bottom:4px}.playlist-name h2{font-size:15px;margin:0 0 3px}.playlist-name>span{display:none}.playlist-card .card-bottom{font-size:8px}.together-number{font-size:35px}.together-number span{font-size:28px}.together-card .card-bottom{font-size:7px}.wishes-card h2{font-size:24px}.alphabet-art>span{width:40px;height:48px}.alphabet-art>i{display:none}.record-sleeve{width:80px;height:100px;padding:8px 10px}.vinyl{width:96px;height:96px;margin-left:-38px}.vinyl>span{left:30px;top:30px;width:36px;height:36px}.music-title{font-size:12px}.music-card .card-bottom{font-size:6px}.card-bottom{font-size:7px}.form-row{grid-template-columns:1fr;gap:0}.memory-grid img{height:150px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.life-card{transform:none!important}}
@supports not (backdrop-filter:blur(1px)){.glass{background:#c5d3b3c9}.world-panel{background:#f9faf1}.today-pill{background:#f1f4e5e6}}
@media(min-width:761px) and (max-height:800px){.topbar{height:77px;padding-top:16px;padding-bottom:16px}.dashboard-main{padding-top:0;max-width:1010px}.welcome{margin:0 0 24px}.welcome h1{font-size:49px;margin-bottom:7px}.welcome>p{margin-bottom:6px;font-size:8px}.welcome>div{font-size:10px}.card-grid{gap:14px}.life-card{min-height:207px;padding:18px 19px 13px;border-radius:28px}.life-card h2{font-size:21px;margin-top:11px}.alphabet-art{margin:14px 0 8px}.alphabet-art>span{height:48px;width:44px;font-size:29px}.vinyl-scene{height:98px;margin:8px 0 0}.record-sleeve{width:80px;height:90px;padding:7px 10px}.record-sleeve>span{font-size:13px}.record-sleeve i{font-size:18px}.vinyl{width:91px;height:91px}.vinyl>span{top:29px;left:29px;width:33px;height:33px;border-width:13px}.music-title{font-size:13px}.travel-card h2{font-size:28px}.journey-art{min-height:52px;margin-top:5px}.journey-art svg{height:58px}.note-card>p{font-size:24px;margin-top:25px;margin-bottom:10px;max-height:80px}.note-star{top:49px;font-size:23px}.playlist-layout{margin-top:12px}.playlist-cover{height:82px;width:76px}.playlist-name h2{font-size:16px}.together-number{font-size:37px;margin-top:21px}.together-number.has-days{font-size:47px;margin-top:17px}.together-card>p{font-size:9px;margin-bottom:10px}.mini-film{margin-top:20px;margin-bottom:12px;min-height:80px}.mini-film img{height:65px;width:58px}.wishes-card h2{font-size:25px}.wishes-preview{margin-top:16px;margin-bottom:7px}.under-grid{padding-top:16px}.world-footer{bottom:24px}.dock{bottom:18px}}
.travel-card{background:#e9f2d94f}.together-card{background:#e0edcd52}.wishes-card{background:#e7edce56}.brand-orb{color:#31442b}.evening .welcome,.evening .topbar{color:#eef2de}.evening .segmented .selected,.evening .today-pill{color:#304432}
.brand-orb{display:flex;align-items:center;justify-content:center;gap:1px}
@media(min-width:761px) and (max-width:1050px){.playlist-layout{gap:8px}.playlist-cover{width:60px;height:81px;padding:10px 7px}.playlist-name h2{font-size:12px;line-height:1.2;word-break:normal;overflow-wrap:normal}.playlist-name>span{font-size:7px}.playlist-cover span{font-size:9px}.playlist-cover i{font-size:17px}}
.card-grid{perspective:none;animation-fill-mode:backwards}.life-card{isolation:auto}
@media(max-width:760px){.card-label{font-size:8px;letter-spacing:.6px}.card-bottom,.playlist-card .card-bottom{font-size:9px}.music-card .card-bottom,.together-card .card-bottom,.memories-card .card-bottom,.note-card .card-bottom{font-size:8.5px}.wishes-preview{font-size:10px}.music-title{font-size:13px}}

/* Clear glass: a transparent lens, rounded bevel and moving specular light. */
:root{--glass:rgba(236,247,240,.12);--glass-rim:rgba(255,255,255,.74);--glass-shadow:0 12px 32px #163a3026,inset 0 2px 2px #ffffffb0,inset 0 -2px 3px #203b312b;--glass-focus:rgba(255,255,255,.42)}
.glass{background:linear-gradient(145deg,#ffffff30,#ffffff06 43%,#d2e8cf15);border:1px solid var(--glass-rim);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(7px) saturate(150%);backdrop-filter:blur(7px) saturate(150%)}
.life-card.glass{background:linear-gradient(145deg,#f4fff52b,#dcebd30d 55%,#eefbdc30);color:#203c2c;transform:none;will-change:auto}
.life-card.glass:before{inset:0;z-index:0;opacity:.55;background:radial-gradient(ellipse at var(--mx) var(--my),var(--glass-focus),transparent 62%);mix-blend-mode:screen}
.life-card.glass:after{content:'';position:absolute;inset:0;padding:5px;border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffffb8 0%,#ffffff17 23%,#fff0 43%,#eaffdc70 73%,#ffffffb0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;opacity:.65;box-shadow:inset 0 0 9px #ffffffa6}
.life-card.glass>*{position:relative;z-index:1}.life-card.glass:hover:before{opacity:1}.life-card.glass:hover{box-shadow:0 18px 42px #142e2d33,inset 0 2px 3px #ffffffcf,inset 0 -2px 4px #26453633}
.glass .card-bottom{color:#284530}.glass .card-label{opacity:.85}.glass .little-circle{background:#f8fff540;box-shadow:inset 0 1px 1px #fff6}.ticket-label{background:#304b386b;color:#fffce3}.journey-art svg{stroke:#f8ffe7}.wishes-preview i{border-color:#5873469c}.wish-line{background:#365d3038}
.dock{position:fixed;background:linear-gradient(175deg,#fff5,#ffffff12 45%,#c1d6b33b);border:1px solid #ffffffba;border-radius:30px;padding:9px;gap:7px;box-shadow:0 10px 30px #172b303d,inset 0 3px 4px #ffffffa8,inset 0 -3px 4px #2e483155;backdrop-filter:blur(9px) saturate(165%);-webkit-backdrop-filter:blur(9px) saturate(165%)}
.dock>a,.dock>button{color:#fffef0;text-shadow:0 1px 4px #162c2770}.dock .active{background:#24382b96;color:#fffef0;box-shadow:inset 0 1px 2px #fff5,0 2px 5px #142a2b26}.dock a:hover,.dock button:hover{background:#ffffff40;transform:translateY(-3px) scale(1.05)}
.today-pill,.segmented,.round-button{background-color:#f4fff518;box-shadow:inset 0 1px 2px #ffffffa0,0 4px 14px #243e2812}.login-pill{background:#e4f5d828}.world-footer .round-button{position:relative}.segmented .selected{background:#ffffffe0}
.landscape{transition:opacity 1s;filter:none}.landscape:after{content:'';position:absolute;inset:0;background:url('/assets/night-garden.jpg') center 58%/cover no-repeat;opacity:0;transition:opacity 1.2s ease}.evening .landscape:after{opacity:1}.evening .landscape-shade{background:linear-gradient(180deg,#07141c25,#05101700 45%,#030e133d)}
.evening{--ink:#edf4ee;--muted:#c1cec9;--glass-rim:#dbf0f27a;--glass-focus:#ccf3ff36;background:#07131b;color:#edf4ee;color-scheme:dark}
.evening .welcome,.evening .topbar{color:#f2f8f4}.evening .welcome>p,.evening .welcome>div{opacity:.85}.evening .brand-orb{background:linear-gradient(135deg,#adc5c3,#506c72 65%,#233f4b);color:#f4f8e7;border-color:#d8e9e48a}.evening .today-pill{color:#eef7f3;background:#152e3740}.evening .status-dot{background:#bcdbb4}.evening .segmented .selected{background:#f4f8f0d9;color:#243d35}.evening .life-card.glass{color:#f2f8ed;background:linear-gradient(145deg,#b9d9e01f,#0d242829 55%,#7bafa61c)}
.evening .glass .card-bottom,.evening .card-bottom{color:#d0dfd3}.evening .glass .card-heading>.spotify{color:#c2e5b7}.evening .life-card.glass:after{opacity:.65}.evening .life-card.glass:before{opacity:.3}.evening .paper-card{color:#eff5e8;background:linear-gradient(140deg,#1d3438eb,#13282ee8);border-color:#b8d4cd65;box-shadow:0 10px 24px #0003,inset 0 1px 1px #effffb35}.evening .note-card{background:linear-gradient(135deg,#293735ed,#172d2fe8)}.evening .playlist-name>span{color:#c6d2c1}.evening .note-star{color:#d5b88d}.evening .play-circle{background:#bed3c322;color:#eef6e5}.evening .connection-state i{background:#bdd9b5}.evening .wishes-preview i{border-color:#d4e9c780}.evening .wish-line{background:#d0e6cb38}.evening .ticket-label{background:#dcebb21a;color:#ecf4da}.evening .dock{background:linear-gradient(170deg,#d2edee2e,#0a242e3d 50%,#9cbdb626);border-color:#e1f7ed7d;box-shadow:0 10px 30px #0005,inset 0 3px 4px #e9fffa65,inset 0 -3px 5px #081c236b}.evening .dock .active{background:#eaf5e2cf;color:#25463d}.evening .under-grid{color:#edf7e4dc}
.evening .world-panel{background:#10272fe8;border-color:#d8eeea6b;color:#edf4ee}.evening .world-panel::backdrop{background:#030f1b66}.evening .panel-intro,.evening .guest-hint,.evening .content-item p,.evening .world-panel label{color:#b9ccc6}.evening .panel-close,.evening .soft-button,.evening .remove-item{background:#d5eade1f;color:#e3f1e7}.evening .world-panel input,.evening .world-panel select,.evening .world-panel textarea{background:#081a2580;color:#edf4ee;border-color:#a9c9bb59}.evening .panel-empty,.evening .connection-note,.evening .search-result{background:#d5eade0f;color:#d6e5d7;border-color:#a7c7b33d}.evening .connection-note strong,.evening .panel-empty p{color:#cbdcc9}.evening .note-full{background:#f4ecc912;color:#fff5d9}.evening .since-summary{color:#d0e5ba}.evening .guest-hint a{color:#d4eec4}.evening .memory-grid figcaption{color:#40513f}.evening .primary-button{background:#bdd6ae;color:#1a3528}
@media(max-width:760px){.dock{gap:4px;padding:8px}.life-card.glass{backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%)}}
@supports not (backdrop-filter:blur(1px)){.life-card.glass{background:#deead4dc}.evening .life-card.glass{background:#163039e8}}

.evening .record-sleeve,.evening .alphabet-art>span{color:#27372f}
/* Clip backdrop compositing to the rounded lens, including on Chromium. */
.life-card.glass{clip-path:inset(0 round var(--round));isolation:isolate}
/* Cards stay in the grid flow while their play positions float above it. */
.card-grid{position:relative}.life-card{cursor:grab;user-select:none;-webkit-user-select:none;transition:translate .32s cubic-bezier(.22,.8,.25,1),rotate .3s,transform .35s,box-shadow .35s}.life-card img{-webkit-user-drag:none}.life-card.dragging{cursor:grabbing;transition:none!important;transform:scale(1.045)!important;filter:drop-shadow(0 15px 15px #071b2840)}.card-grid.arranging .life-card{touch-action:none;outline:1px dashed #e6f4d959;outline-offset:4px}.card-play-tools{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;color:#f5f8ed;font-size:10px;margin:0 auto 10px;text-shadow:0 1px 4px #123a28}.card-play-tools button{padding:9px 13px;border-radius:20px;background:#193a324d;border:1px solid #f5ffec66;color:#fff;font-size:10px;backdrop-filter:blur(8px)}.card-play-tools button[aria-pressed=true]{background:#f4f8e2de;color:#294738;text-shadow:none}.card-play-tools span{flex-basis:100%;text-align:center;font-size:9px;line-height:1.5;opacity:.9}.life-card:focus-visible{z-index:50!important}.life-card.dragging:active{transform:scale(1.045)!important}
@media(pointer:coarse){.life-card{cursor:pointer}.card-grid.arranging .life-card{cursor:grab}}
@media(prefers-reduced-motion:reduce){.life-card{transition:none!important}.life-card.dragging,.life-card.dragging:active{transform:none!important;rotate:0deg!important}}
/* The starting grid is not a play boundary. Let cards roam over the page. */
.card-grid,.dashboard-main{overflow:visible}.card-play-tools{position:relative;z-index:20000}
@view-transition{navigation:auto}.landscape{view-transition-name:world-landscape}.topbar{view-transition-name:world-navigation}.dock{view-transition-name:world-dock}

/* Blush petals, warm milk and living grass — shared by home and chapters. */
:root{--ink:#343e30;--muted:#64705b;--cream:#fff5ef;--glass-rim:#fff5efb8;--glass-focus:#ffe1e966;--glass-shadow:0 12px 32px #5b473b24,inset 0 2px 2px #fff8f0c7,inset 0 -2px 3px #82514b20}
body{background:#e9e5d9;color:var(--ink)}
.landscape{background-image:url('/assets/flower-meadow.jpg');background-position:center 60%}
.landscape-shade{background:linear-gradient(180deg,#fff6ef19,#fff0f400 45%,#3d55200d)}
.welcome,.topbar{color:#34432e}.welcome>div{opacity:.85}
.brand-orb{background:linear-gradient(135deg,#fff0e3,#f0bac6 60%,#c6d1a5);color:#6e3947;border-color:#fff4e9}
.glass{background:linear-gradient(145deg,#fff4ec40,#ffe8ed0e 43%,#f0b9c51a)}
.life-card.glass{background:linear-gradient(145deg,#fff3ed3d,#f1c5cd12 55%,#e7efcc24);color:var(--ink)}
.life-card.glass:after{background:linear-gradient(135deg,#fff4e2c9,#fbd2dc26 23%,#fff0 43%,#ffd5e488 73%,#fff5e9c2)}
.paper-card{background:linear-gradient(135deg,#fff8f3ed,#fff0f2e3);border-color:#fff9f0b3}
.note-card{background:linear-gradient(135deg,#fff1e6f0,#f8d8dfdc)}
.note-star{color:#b9657a}.card-bottom,.glass .card-bottom{color:#4d5e40}.playlist-name>span{color:#667258}
.alphabet-art>span{background:#ffe7e9;border-color:#efd1d0}.alphabet-art>span:nth-child(2){background:#edb3c1}.alphabet-art>span:nth-child(3){background:#d5dfb5}
.record-sleeve{background:#edbdc8;color:#503a39}.vinyl>span{background:#d6dda9;border-color:#d6dda9}
.playlist-cover{background:#57683f;color:#fff1e2;border-color:#d2dcae}.playlist-cover b{color:#f0b8ca}
.status-dot{background:#899b57}.today-pill{background:#fff3eb40}
.segmented{background:#eebecf22}.segmented .selected{background:#fff7efeb;color:#633d49}
.under-grid{color:#354c2fe8;text-shadow:0 1px 7px #fff9}.under-grid i{background:#8a5064}
.dock{background:linear-gradient(175deg,#fff0e969,#f9cede21 45%,#f1b8ca3b);border-color:#fff4eccc}
.dock>a,.dock>button{color:#34452f;text-shadow:0 1px 3px #fff8}.dock .active{background:#92516be0;color:#fff6ec}
.login-pill{background:#fff1e78a;color:#5f3c48}.world-footer .round-button{color:#435636;background:#fff4e459}
.world-panel{background:#fff5f0eb;color:var(--ink);border-color:#fff8ecbd}.world-panel::backdrop{background:#5e3e4842}
.panel-close,.soft-button,.remove-item{background:#f1d9de82;color:#684552}.world-panel label,.panel-intro,.guest-hint{color:#626e56}
.primary-button{background:#87516a;color:#fff8ef}.primary-button:hover{background:#734257}
.note-full{background:#f4d9df70}.note-full:before{color:#a8647d}.guest-hint a{color:#805068}
.evening{--ink:#fcf0ef;--muted:#d4c2cb;--glass-rim:#f6d9e78a;--glass-focus:#ffd2e638;--glass-shadow:0 12px 32px #0c101e4d,inset 0 2px 2px #ffe4f16b,inset 0 -2px 3px #25203755;background:#131b25;color:var(--ink)}
.evening .landscape-shade{background:linear-gradient(180deg,#291d3829,#2d1c310b 45%,#19232b38)}
.evening .welcome,.evening .topbar{color:#fff0ef}.evening .brand-orb{background:linear-gradient(135deg,#e6bbca,#88738a 65%,#3d4e48);color:#fff4e4;border-color:#e7ced887}
.evening .life-card.glass{background:linear-gradient(145deg,#f4bdd21f,#25263238 55%,#b7c5a518);color:#fff1ed}
.evening .paper-card{background:linear-gradient(140deg,#372d3cd9,#202d34dd);border-color:#e9c6d66b;color:#fff1ed}
.evening .note-card{background:linear-gradient(135deg,#5b3a48b8,#2d303ddd)}
.evening .card-bottom,.evening .glass .card-bottom{color:#e4d6d9}.evening .playlist-name>span{color:#dac4cf}
.evening .today-pill{background:#66465330}.evening .segmented .selected{background:#f5dbe5df;color:#573b4a}
.evening .dock{background:linear-gradient(170deg,#efd1e336,#2825373d 50%,#bad0ba26);border-color:#ffe4ed87}
.evening .dock>a,.evening .dock>button{color:#f4e7e6}.evening .dock .active{background:#f3c7d8df;color:#583e4d}
.evening .login-pill{background:#b88b9b30;color:#fff0ef}.evening .world-footer .round-button{background:#c9aabb20;color:#f8e7e9}
.evening .world-panel{background:#282633ed;color:#fff0ef;border-color:#e2c5d36b}.evening .world-panel::backdrop{background:#17101e66}
.evening .world-panel input,.evening .world-panel textarea,.evening .world-panel select{background:#171d2780;color:#fff0ef;border-color:#d8b7cb59}
.evening .primary-button{background:#e6b8cd;color:#442b3a}.evening .guest-hint a{color:#f1c8da}
.evening .panel-intro,.evening .guest-hint,.evening .world-panel label{color:#dbc8d0}
@supports not (backdrop-filter:blur(1px)){.life-card.glass{background:#f4dfdeeb}.evening .life-card.glass{background:#302d3aef}}
/* Blur only the rounded dock surface; keep its outside labels unclipped. */
.dock{--dock-fill:linear-gradient(175deg,#fff0e969,#f9cede21 45%,#f1b8ca3b);background:none;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate}
.dock:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;clip-path:inset(0 round 30px);background:var(--dock-fill);backdrop-filter:blur(9px) saturate(165%);-webkit-backdrop-filter:blur(9px) saturate(165%);pointer-events:none}
.evening .dock{--dock-fill:linear-gradient(170deg,#efd1e336,#2825373d 50%,#bad0ba26);background:none}
