@layer base,components,responsive;@layer base{:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#33405a;background:#f9f5ee;font-synthesis:none;font-weight:400;--ink:#33405a;--muted:#85818c;--paper:#fffaf2;--paper-solid:#fffaf2;--line:#d9cfc49c;--accent:#916b55;--primary:#334963;--soft:#f0e8df;--gold:#b89764;--shadow:0 20px 65px #5643660c;--serif:"Noto Serif SC","Songti SC","SimSun",Georgia,serif;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #a87a52;outline-offset:5px}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{letter-spacing:.045em}p{line-height:1.85}svg{flex-shrink:0}::selection{background:#e7c8b7;color:#293950}[data-theme=starlight]{color-scheme:dark;--ink:#e7e3ee;--muted:#aaa6bf;--paper:#252940;--paper-solid:#252940;--line:#a7a1be36;--accent:#d9bb99;--primary:#dcc6a5;--soft:#2e304a;--gold:#d2bb86;--shadow:0 20px 65px #05091433;background:#181e34;color:var(--ink)}[data-motion=reduced] *,[data-hidden=true] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}}@layer components{.app-world{min-height:100vh;overflow:hidden;background:radial-gradient(ellipse at 95% 0,#ece0ec80,transparent 35%),radial-gradient(ellipse at 0 10%,#f4dfcf66,transparent 40%)}[data-theme=starlight] .app-world{background:radial-gradient(ellipse at 90% 10%,#61537b35,transparent 40%)}.site-header{height:108px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:35px;position:relative;z-index:20}.brand{display:flex;gap:12px;align-items:center;font-family:var(--serif);font-size:23px;letter-spacing:.17em;flex-shrink:0}.brand-mark{display:grid;place-items:center;border:1px solid var(--line);width:43px;height:43px;border-radius:50%;color:var(--accent)}.brand small{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:.19em;margin-top:6px}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:12px;letter-spacing:.08em}.desktop-nav a{padding:15px 0;position:relative;color:var(--muted);white-space:nowrap}.desktop-nav a.router-link-active{color:var(--ink)}.desktop-nav a.router-link-active:after{content:"";position:absolute;bottom:3px;left:50%;width:3px;height:3px;border-radius:50%;background:var(--accent)}.more-nav{display:flex;align-items:center;gap:8px;border:0;background:none;font-size:12px}.header-actions{display:flex;gap:18px;align-items:center}.icon-button{background:transparent;border:0;display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;border-radius:50%;padding:8px}.icon-button:hover{background:var(--soft)}.user-avatar,.mini-avatar{width:35px;height:35px;display:inline-grid;place-items:center;background:#d8c8b7;color:#61584f;border:2px solid var(--paper);border-radius:50%;font-family:var(--serif);font-size:13px}.mini-avatar.second{background:#c7c8d8;color:#545770}.mobile-menu{display:none}.navigation-drawer{position:absolute;z-index:40;right:5%;top:94px;width:320px;background:var(--paper-solid);box-shadow:0 20px 70px #29263b22;border:1px solid var(--line);padding:20px;border-radius:10px}.drawer-title{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:10px}.navigation-drawer nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:14px}.navigation-drawer nav a,.navigation-drawer nav>button{display:flex;align-items:center;gap:9px;padding:13px 8px;font-size:12px;border:0;background:none;text-align:left;border-radius:5px}.navigation-drawer nav a:hover,.navigation-drawer nav a.router-link-active{background:var(--soft)}.site-footer{max-width:1320px;margin:65px auto 0;padding:27px 4%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;letter-spacing:.1em;color:var(--muted)}.site-footer>span:last-child{font-family:Georgia,serif;font-size:12px;letter-spacing:.06em}.footer-star{padding-left:18px;color:var(--gold)}.mobile-bottom{display:none}.entrance-link{font-size:11px;letter-spacing:.08em;display:flex;gap:18px;align-items:center}.entrance-link span{font-size:20px;color:var(--accent)}.global-error{position:fixed;bottom:30px;left:50%;transform:translate(-50%);z-index:100;background:var(--paper);padding:16px 24px;box-shadow:var(--shadow);border:1px solid #b57575;border-radius:8px;max-width:90vw}.eyebrow{font-size:9px;letter-spacing:.21em;font-family:Georgia,Microsoft YaHei,serif;color:var(--accent);margin-bottom:18px;font-weight:400;line-height:1.7;text-transform:uppercase}.tiny-line{display:inline-block;width:30px;height:1px;vertical-align:middle;background:var(--gold);margin-right:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:43px;padding:12px 22px;font-size:11px;letter-spacing:.08em;border:1px solid transparent;border-radius:4px;transition:transform .2s,background .2s}.button:hover:not(:disabled){transform:translateY(-2px)}.button.primary{color:#fffaf2;background:#334963;box-shadow:0 5px 12px #33496313}.button.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.button.light{background:#e9dcc9;color:#303c59}.button.full{width:100%}[data-theme=starlight] .button.primary{background:#d5bea0;color:#252b40}.text-link{display:inline-flex;align-items:center;gap:11px;font-size:11px;line-height:1.6;color:var(--accent);background:none;border:0;padding:0;letter-spacing:.04em}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.muted{color:var(--muted)}.small{font-size:11px}.gold-icon{color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.prose{font-family:var(--serif);line-height:2.3;font-size:15px;word-break:break-word}.spin{animation:spin 1.6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.landing{max-width:1440px;min-height:650px;padding:35px 5% 50px;position:relative;display:grid;grid-template-columns:36% 64%;align-items:center}.landing-copy{padding-left:5%;z-index:2}.landing-copy h1{font-size:clamp(34px,3.7vw,56px);line-height:1.6;margin-bottom:23px}.landing-copy h1 em{color:#9c7563;font-style:normal}.landing-description{font-size:12px;color:var(--muted);line-height:2.2;margin-bottom:28px}.landing-copy .button{min-width:200px}.private-note{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted);margin-top:19px}.landing-scene{position:relative;margin-left:-50px;margin-right:-5%;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-height:560px}.landing-scene .island-scene{width:100%;min-height:450px}.scene-caption{display:flex;justify-content:space-between;gap:15px;font-size:8px;letter-spacing:.12em;color:var(--muted);padding:0 12%}.scene-caption span:first-child{font-family:Georgia,serif;font-size:8px}.landing-coordinate{position:absolute;left:6%;bottom:9px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:Georgia,serif;font-size:7px;letter-spacing:.17em;color:#b4a99b}.landing-after{margin:50px auto 0;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;color:var(--gold)}.landing-after p{font-family:var(--serif);font-size:13px;color:var(--muted);line-height:2.2}.landing-after strong{font-weight:400;color:var(--ink)}.landing-after .tiny-line{margin:0;width:45px}.auth-layout{max-width:1250px;margin:30px auto 50px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:6%;padding:0 5%}.auth-illustration{min-width:0}.auth-illustration>p{text-align:center;font-family:var(--serif);font-size:12px;color:var(--muted)}.auth-paper{padding:38px 40px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:5px}.auth-paper>.gold-icon{margin-bottom:18px}.auth-paper h1{font-size:25px;line-height:1.65;margin-bottom:15px}.auth-paper>.muted{font-size:11px;margin-bottom:28px}.auth-paper .eyebrow{margin-bottom:12px}.auth-footnote{font-size:10px;color:var(--muted);line-height:1.8;margin:22px 0 0}.auth-paper>.text-link{margin-top:20px}form label,.settings-fields>label{display:flex;flex-direction:column;gap:9px;font-size:11px;letter-spacing:.03em;margin-bottom:20px;line-height:1.6}input,textarea,select{color:var(--ink);border:1px solid var(--line);background:transparent;border-radius:3px;min-height:43px;width:100%;padding:11px 13px;font-size:12px;letter-spacing:.02em}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}textarea{resize:vertical;line-height:1.9}select{cursor:pointer}select option{background:var(--paper-solid)}label small{color:var(--muted);font-size:10px;line-height:1.7}input[type=checkbox],input[type=radio]{width:16px;min-height:16px;height:16px;accent-color:#8b775d;flex-shrink:0}.check-label{flex-direction:row!important;align-items:center;gap:10px!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px;align-items:center}.form-error{border:1px solid #b9847e77;color:#a15755;background:#b76f6b0a;padding:12px 15px;font-size:12px;line-height:1.7;border-radius:4px;overflow-wrap:anywhere}.success-note{font-size:12px;color:#67806d;background:#88a58a0b;border:1px solid #8aa18b55;padding:12px 16px;border-radius:4px;display:flex;gap:10px;align-items:center}.back-link{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;margin:0 0 36px}.danger{color:#ac6c65}.page-container{max-width:1210px;margin:0 auto;padding:40px 4% 35px}.page-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:44px}.page-heading h1{font-size:34px;line-height:1.4;margin-bottom:16px}.page-heading .eyebrow{margin-bottom:15px}.lede{font-size:12px;color:var(--muted);margin:0;letter-spacing:.03em;line-height:1.9}.heading-action{flex-shrink:0}.section-line{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.section-line h2{font-size:22px;margin:0}.section-line .eyebrow{margin-bottom:12px}.state-message{padding:70px 25px;text-align:center;display:flex;flex-direction:column;align-items:center;color:var(--muted);gap:17px;min-height:260px}.state-message h2{font-size:21px;color:var(--ink);margin:0;line-height:1.7}.state-message p{font-size:12px;margin:0;max-width:430px}.state-message>.button{margin-top:7px}.quiet-empty{text-align:center;padding:55px 25px;color:var(--muted)}.quiet-empty>svg{margin:0 auto 20px;color:var(--gold)}.quiet-empty h3{color:var(--ink);font-size:20px}.quiet-empty p{font-size:12px}.quiet-empty .text-link{margin-top:12px}.home-hero{max-width:1440px;display:grid;grid-template-columns:36% 64%;padding:40px 5% 30px;margin:0 auto;min-height:610px;align-items:center;position:relative}.home-copy{z-index:2;padding-left:4%;padding-bottom:25px}.home-copy h1{font-size:39px;line-height:1.5;margin-bottom:20px}.serif-italic{display:block;font-size:22px;letter-spacing:0;line-height:1.4;font-style:italic;color:var(--accent);margin-top:13px;font-family:Georgia,serif}.home-welcome{font-size:11px;color:var(--muted);white-space:pre-line;max-width:290px;line-height:2.1;margin-bottom:20px}.together-count{margin:25px 0;display:flex;flex-direction:column;gap:5px}.together-count>span{font-size:9px;color:var(--muted);letter-spacing:.06em}.together-count strong{font-family:Georgia,serif;font-size:61px;line-height:1.2;font-weight:400;color:var(--accent);letter-spacing:.02em}.together-count small{font-family:var(--serif);font-size:14px;margin-left:12px}.home-date-invite{margin:24px 0}.home-date-invite p{font-size:12px}.home-residents{display:flex;align-items:center;margin-top:25px}.home-residents .second{margin-left:-9px}.home-residents p{font-size:9px;margin:0 0 0 10px;line-height:1.6;color:var(--accent)}.home-residents small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.home-residents .mini-avatar{width:29px;height:29px;font-size:10px}.home-scene{margin-left:-50px;margin-right:-5%;min-width:0}.home-scene .scene-caption{padding:0 8%;margin-top:0}.home-under{max-width:1210px;margin:0 auto;padding:0 4%}.home-overview{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:55px}.home-overview a{display:flex;align-items:center;justify-content:center;gap:13px;border-right:1px solid var(--line);min-height:34px}.home-overview a:last-child{border:0}.home-overview strong{font-family:Georgia,serif;font-size:29px;font-weight:400;color:var(--accent)}.home-overview span{font-size:10px;color:var(--muted)}.home-overview svg{color:var(--accent)}.filter-bar{display:flex;align-items:center;gap:14px;padding:18px 0;border-block:1px solid var(--line)}.filter-bar>label{margin:0}.filter-bar .search-field{display:flex;flex-direction:row;align-items:center;gap:9px;flex:1;margin:0}.search-field input{border:0;min-width:0;padding-left:0}.search-field svg{color:var(--muted)}.filter-bar select{min-width:125px}.filter-bar .year-filter{width:90px}.filter-bar .button{min-height:39px;padding:9px 20px}.collection-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.04em;margin:25px 0 30px}.collection-meta>span:last-child{font-family:Georgia,serif;font-size:8px;letter-spacing:.16em}.memory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 30px;padding:5px 0 20px}.memory-card{min-width:0;display:block;background:var(--paper-solid);padding:12px 12px 0;box-shadow:0 10px 25px #57475d0c;border:1px solid #d9cfc447;transform:rotate(var(--card-turn));transition:transform .3s,box-shadow .3s}.memory-card:hover{transform:rotate(0) translateY(-5px);box-shadow:0 15px 35px #57475d16}.memory-photo{height:auto;aspect-ratio:1.47;position:relative;background:linear-gradient(130deg,#e8e0df,#ded8d0);overflow:hidden}.memory-photo>img{width:100%;height:100%;object-fit:cover}.photo-category{position:absolute;top:12px;left:12px;background:#fff9efdf;color:#736a66;padding:5px 10px;font-size:8px;letter-spacing:.12em;border-radius:2px}.memory-no-photo{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 60% 20%,#f4e4d1,transparent 60%),linear-gradient(130deg,#e2dce3,#dbd9ce);color:#a68f80}.memory-no-photo svg{width:105px;height:83px}.memory-no-photo span{font-family:var(--serif);font-size:10px;letter-spacing:.08em;margin-top:7px}.memory-card-text{padding:20px 8px 17px}.memory-card time{font-size:8px;letter-spacing:.13em;color:var(--accent);font-family:Georgia,serif}.memory-card h2{font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:15px;line-height:1.6;margin:10px 0}.memory-card h2 svg{color:var(--muted);min-width:18px}.memory-card-text p{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:5px;margin:0}.entry-count{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.pagination{display:flex;align-items:center;justify-content:center;gap:23px;margin:40px 0;font-size:11px}.dialog-backdrop{position:fixed;inset:0;background:#20213770;z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.dialog-panel{width:min(100%,530px);max-height:calc(100dvh - 50px);overflow:auto;background:var(--paper-solid);padding:28px 32px 32px;border:1px solid var(--line);border-radius:6px;box-shadow:0 30px 100px #151e3933}.dialog-panel.wide{width:min(100%,760px)}.dialog-panel>header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;border-bottom:1px solid var(--line);padding-bottom:15px}.dialog-panel>header h2{font-size:22px;line-height:1.7;margin:0}.dialog-panel>header>.icon-button{margin-right:-9px}.dialog-panel .form-actions{margin-top:20px}.lightbox{position:fixed;inset:0;z-index:300;background:#0c1325eb;display:grid;place-items:center;padding:60px}.lightbox img{max-height:85vh;max-width:95vw;object-fit:contain}.lightbox-close{position:absolute;right:25px;top:20px;color:#fff}.memory-detail-heading{position:relative;padding-right:180px;margin-bottom:30px}.memory-detail-heading h1{font-size:35px;line-height:1.5;margin-bottom:18px}.memory-detail-heading>p:last-of-type{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}.memory-detail-heading>p>span{display:inline-flex;gap:5px;align-items:center}.memory-tags{font-size:9px}.detail-controls{position:absolute;right:0;top:45px;display:flex;gap:10px;align-items:center}.detail-controls .button{padding:10px 15px}.photo-album{background:var(--paper);border:1px solid var(--line);padding:22px;margin:30px 0 60px;display:flex;flex-direction:column;gap:20px;align-items:center}.photo-empty{height:185px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:12px;text-align:center}.photo-empty svg{color:var(--gold)}.photo-empty p{font-family:var(--serif);margin:0;font-size:16px}.photo-empty>span{font-size:10px}.upload-label{position:relative;cursor:pointer}.upload-label input{position:absolute;width:1px;height:1px;opacity:0;padding:0;min-height:0}.upload-label:focus-within{outline:2px solid var(--gold);outline-offset:5px}.detail-photo-grid{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail-photo-grid figure{margin:0;background:var(--paper-solid);padding:9px;border:1px solid var(--line)}.photo-view{width:100%;border:0;padding:0;position:relative;background:none;aspect-ratio:1.3;overflow:hidden}.photo-view img{width:100%;height:100%;object-fit:cover}.photo-view>svg{position:absolute;right:10px;bottom:10px;color:#fff;filter:drop-shadow(0 1px 3px #333)}.detail-photo-grid figcaption{display:flex;align-items:center;justify-content:space-between;padding:8px 0 0}.detail-photo-grid figcaption button{border:0;background:none;font-size:9px;color:var(--muted);padding:5px}.journal-intro{text-align:center;margin-bottom:35px}.journal-intro h2{font-size:23px;margin-bottom:13px}.journal-intro>p:last-child{color:var(--muted);font-size:11px}.journal-spread{display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow);border:1px solid var(--line);background:var(--paper-solid);border-radius:3px;overflow:hidden}.journal-page{padding:32px;min-width:0}.own-page{border-right:1px solid var(--line)}.journal-author{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.journal-author h3{font-size:15px;margin:0 0 5px}.journal-author>div>span{color:var(--muted);font-size:9px}.journal-textarea{width:100%;min-height:330px;border:0;padding:5px 0;font-family:var(--serif);line-height:2.5;font-size:14px;background:repeating-linear-gradient(transparent,transparent 34px,var(--line) 35px,transparent 36px);background-position:0 0}.journal-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:15px}.journal-bottom>span{font-size:8px;color:var(--muted)}.journal-bottom .button{padding:11px 15px;white-space:nowrap;font-size:10px}.waiting-page{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted);gap:20px}.waiting-page>span{font-size:30px;color:var(--gold)}.waiting-page p{font-family:var(--serif);font-size:14px;line-height:2.2}.draft-notice{background:var(--soft);border-left:2px solid var(--gold);padding:12px;margin-bottom:15px}.draft-notice p{font-size:10px;margin:0 0 7px}.draft-notice .text-link{font-size:10px;margin-right:15px}.tabs{display:flex;gap:27px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:none;padding:17px 0;font-size:12px;position:relative;color:var(--muted)}.tabs button.active{color:var(--ink)}.tabs button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--accent)}.tabs button>span{background:var(--soft);padding:3px 6px;border-radius:20px;margin-left:4px;font-size:9px}.mailbox-banner{display:flex;align-items:center;gap:25px;padding:28px 32px;border:1px solid var(--line);margin-bottom:30px;background:linear-gradient(110deg,#dbcfbf22,#dcd6e533)}.mailbox-banner>svg{color:var(--accent)}.mailbox-banner>p{font-family:var(--serif);font-size:17px;margin:0}.mailbox-banner small{display:block;font-family:Georgia,serif;font-size:8px;letter-spacing:.18em;color:var(--muted);margin-top:7px}.postmark{border:1px dashed var(--accent);width:85px;height:85px;border-radius:50%;display:grid;place-content:center;font-family:Georgia,serif;font-size:9px;line-height:1.7;color:var(--accent);text-align:center;transform:rotate(-12deg);margin-left:auto;opacity:.7}.letter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-top:30px}.envelope{display:block;min-height:225px;position:relative;background:var(--paper-solid);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left;padding:22px 25px;transition:transform .25s}.envelope:hover{transform:translateY(-5px) rotate(-.5deg)}.envelope-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-family:Georgia,serif;font-size:7px;letter-spacing:.1em}.envelope.unread .envelope-top svg{color:#a47c66}.envelope-rule{display:block;margin-top:14px;height:1px;background:var(--line)}.envelope h2{font-size:19px;line-height:1.7;margin:22px 0 9px}.envelope>p{font-size:10px;color:var(--muted)}.envelope-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.envelope-bottom>time{font-family:Georgia,serif;font-size:9px;color:var(--muted)}.wax-seal{font-family:Georgia,serif;font-style:italic;display:grid;place-content:center;width:33px;height:33px;border-radius:48% 53% 46% 54%;background:#a27868;color:#e9d6b7;border:3px double #b58d77;font-size:16px;box-shadow:1px 3px 5px #6c4a4d20}.envelope.locked .wax-seal{background:#777b95;border-color:#9292a9}.letter-to{font-family:var(--serif);font-size:16px;color:var(--accent);margin-bottom:25px}.letter-compose textarea,.opened-letter{font-family:var(--serif)}.opened-letter{padding:10px 15px 20px}.opened-letter>.prose{min-height:200px}.opened-letter>svg{color:var(--gold);margin:15px auto 25px}.opened-letter:has(>svg){text-align:center}.opened-letter>p:not(.letter-to,.letter-signature){font-size:12px}.letter-signature{text-align:right;color:var(--accent);font-size:15px;margin-top:30px}.letter-signature time{font-family:Georgia,serif;font-size:11px}.capsule-intro{display:flex;gap:25px;align-items:center;padding:10px 35px 25px;border-bottom:1px solid var(--line);margin-bottom:35px}.bottle-illustration{width:85px;height:145px;transform:rotate(12deg);flex-shrink:0}.bottle-illustration svg{height:100%}.capsule-intro .eyebrow{margin-bottom:15px}.capsule-intro h2{font-size:25px;margin-bottom:12px}.capsule-intro p:last-child{font-size:12px;color:var(--muted)}.capsule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.capsule-card{text-align:center;border:1px solid var(--line);background:linear-gradient(150deg,var(--paper-solid),#bdd3cf15);padding:25px 25px 30px;display:flex;flex-direction:column;align-items:center;min-height:330px;box-shadow:var(--shadow);transition:transform .25s}.capsule-card:hover{transform:translateY(-5px)}.capsule-number{font-family:Georgia,serif;font-size:8px;letter-spacing:.16em;color:var(--muted);margin-bottom:25px}.capsule-card>svg{color:var(--accent);margin-bottom:20px}.capsule-card h2{font-size:21px;margin-bottom:13px;line-height:1.6}.capsule-card>p{font-size:10px;color:var(--muted);margin-bottom:5px}.capsule-card>strong{font-family:Georgia,serif;font-size:45px;font-weight:400;color:var(--accent)}.capsule-card>strong>small{font-family:var(--serif);font-size:11px;margin-left:8px}.capsule-card>strong.capsule-ready{font-family:var(--serif);font-size:20px;margin:15px 0}.capsule-card>time{font-family:Georgia,serif;color:var(--muted);font-size:10px;margin-top:8px}.capsule-status{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;font-size:9px;color:var(--muted);width:100%;justify-content:center}.capsule-locked-note{display:flex;align-items:center;gap:17px;padding:20px;background:var(--soft);color:var(--accent);margin:20px 0}.capsule-locked-note p{font-size:12px;margin:0;line-height:1.9}.seal-status{display:flex;gap:20px;flex-wrap:wrap;padding:0 0 25px;margin-bottom:25px;border-bottom:1px solid var(--line)}.seal-status>span{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.capsule-detail>label{font-size:12px;display:flex;flex-direction:column;gap:14px}.unlocked-entries{display:grid;grid-template-columns:1fr 1fr;gap:20px}.unlocked-entries .journal-page{border:1px solid var(--line);padding:23px}.unlocked-entries h3{font-size:17px}.unlocked-entries .prose{font-size:13px}.relationship-banner{position:relative;display:flex;align-items:center;gap:40px;padding:35px 50px;background:linear-gradient(110deg,#ebd8c12e,#e7d9e24a);border:1px solid var(--line);margin-bottom:40px;overflow:hidden}.relationship-banner>svg{color:var(--accent);align-self:flex-start;margin-top:8px}.relationship-banner>div>p{font-size:11px;color:var(--muted);margin-bottom:8px}.relationship-banner h2{font-family:Georgia,serif;font-size:65px;line-height:1.2;color:var(--accent);margin:10px 0 15px}.relationship-banner h2>span{font-family:var(--serif);font-size:16px;margin-left:15px}.relationship-banner h2.not-set{font-family:var(--serif);font-size:22px;margin-bottom:23px}.banner-orbit{position:absolute;right:100px;top:10px;font-family:Georgia,serif;font-size:180px;opacity:.1;color:var(--accent)}.anniversary-list{display:flex;flex-direction:column;gap:18px}.anniversary-card{display:flex;align-items:center;gap:27px;padding:25px 30px;background:var(--paper-solid);border:1px solid var(--line);position:relative;box-shadow:var(--shadow)}.date-tile{width:65px;text-align:center;flex-shrink:0;border:1px solid var(--line);border-radius:3px;padding:10px 0}.date-tile>span{font-size:9px;letter-spacing:.08em;color:var(--muted)}.date-tile>strong{display:block;font-family:Georgia,serif;color:var(--accent);font-size:30px;font-weight:400;line-height:1.3;margin-top:3px}.anniversary-info{min-width:0;flex:1}.anniversary-info .eyebrow{font-size:7px}.anniversary-info h2{font-size:20px;margin:7px 0}.anniversary-info p{font-size:11px;color:var(--muted);margin-bottom:8px}.anniversary-info .small{font-size:9px}.anniversary-count{text-align:right;margin-left:auto;padding:0 22px;min-width:130px}.anniversary-count>strong{font-family:Georgia,var(--serif);display:block;color:var(--accent);font-size:35px;font-weight:400}.anniversary-count>span{display:block;font-size:9px;color:var(--muted);margin-top:5px}.inline-actions{display:flex;flex-direction:column;gap:0}.inline-actions .icon-button{width:30px;min-width:30px;min-height:30px;padding:5px}.milestones{margin-top:60px}.milestone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.milestone-grid article{padding:25px;background:var(--paper-solid);border:1px solid var(--line)}.milestone-grid h3{font-size:18px}.milestone-grid p{font-size:11px;color:var(--muted);margin-bottom:10px}.milestone-grid span{font-size:10px;color:var(--accent)}.timezone-note{font-size:9px;color:var(--muted);text-align:center;margin-top:45px}.timeline-page{max-width:1060px}.timeline-filters{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.timeline-filters .tabs{border:0}.timeline-filters select{min-width:130px}.timeline{position:relative;padding-bottom:20px}.timeline:before{content:"";position:absolute;top:35px;left:121px;bottom:50px;width:1px;background:var(--line)}.timeline-year{display:flex;gap:25px;align-items:center;margin:35px 0 28px}.timeline-year>span{font-family:Georgia,serif;font-size:38px;color:var(--accent);width:95px}.timeline-year>i{width:9px;height:9px;background:var(--gold);border:2px solid var(--paper);border-radius:50%;position:relative;z-index:1}.timeline-event{position:relative;display:flex;align-items:center;gap:25px;margin-bottom:25px;padding-left:0}.timeline-event>time{width:95px;text-align:right;flex-shrink:0;font-family:Georgia,serif;font-size:13px;letter-spacing:.04em;color:var(--muted);padding-right:20px}.timeline-dot{display:flex;align-items:center;justify-content:center;position:absolute;left:105px;width:33px;height:33px;background:var(--paper-solid);border:1px solid var(--line);border-radius:50%;z-index:1;color:var(--accent)}.timeline-event-body{padding:22px;background:var(--paper-solid);border:1px solid var(--line);margin-left:28px;flex:1;display:flex;align-items:center;gap:22px;box-shadow:var(--shadow);min-width:0}.timeline-event-body>img{width:105px;height:90px;object-fit:cover}.timeline-event-body>div{flex:1;min-width:0}.timeline-event-body .eyebrow{font-size:8px;margin-bottom:8px}.timeline-event-body h2{font-size:20px;line-height:1.6;margin-bottom:7px}.timeline-event-body p{font-size:11px;color:var(--muted);margin:0}.timeline-event-body>svg{color:var(--muted)}.timeline-event.special .timeline-event-body{border-left:3px solid #bfa575;background:linear-gradient(100deg,var(--paper-solid),#c9b27d12)}.timeline-end{text-align:center;font-family:var(--serif);font-size:15px;color:var(--muted);padding:30px 0 0 140px}.timeline-end>span{display:block;font-family:Georgia,serif;font-size:7px;letter-spacing:.18em;margin-top:12px}.stars-page>.page-container{padding-bottom:20px}.star-controls{display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);padding-top:20px}.star-filter{display:flex;gap:14px}.star-filter select{font-size:11px;min-width:125px}.star-controls>span{color:var(--muted);font-size:10px;margin-left:auto}.star-zoom{display:flex;gap:8px}.constellation-world{position:relative;min-height:570px;height:65vh;max-height:800px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#51486a44,transparent 55%),radial-gradient(ellipse at 80% 40%,#53638722,transparent 35%),linear-gradient(150deg,#1f2844,#20233a 55%,#31304c);color:#eee7d9;box-shadow:inset 0 30px 90px #11172a44}.star-dust{position:absolute;inset:0;opacity:.6;background-image:radial-gradient(1px 1px at 12% 33%,#f5edd988,transparent),radial-gradient(1px 1px at 52% 72%,#f5edd988,transparent),radial-gradient(1px 1px at 82% 14%,#f5edd988,transparent),radial-gradient(1px 1px at 63% 22%,#f5edd988,transparent),radial-gradient(1px 1px at 42% 89%,#f5edd988,transparent),radial-gradient(1px 1px at 90% 63%,#f5edd988,transparent);background-size:170px 190px,270px 240px,360px 230px,450px 400px,190px 330px,370px 170px;pointer-events:none}.star-viewport{position:absolute;inset:20px 3% 50px;overflow:auto;overscroll-behavior:contain}.constellation-map{position:relative;min-height:100%;min-width:100%}.constellation-lines{position:absolute;width:100%;height:100%;color:#cabd9a33;inset:0;pointer-events:none}.memory-star{position:absolute;display:flex;flex-direction:column;align-items:center;gap:14px;background:none;border:0;color:#f5e3b5;transform:translate(-50%,-50%);padding:12px;min-height:44px;min-width:44px;max-width:150px}.star-spark{display:block;width:var(--star-size);height:var(--star-size);border-radius:50%;background:#f6e7be;box-shadow:0 0 5px 2px #f6e7be44,0 0 25px 6px #f6e7be23;position:relative}.star-spark:after{content:"";position:absolute;inset:-6px;background:linear-gradient(transparent 45%,#f5e4bd77 50%,transparent 55%),linear-gradient(90deg,transparent 45%,#f5e4bd77 50%,transparent 55%);transform:rotate(20deg)}.star-label{font-family:var(--serif);font-size:11px;letter-spacing:.03em;line-height:1.6;text-shadow:0 2px 4px #101627;opacity:.7;white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.memory-star:hover .star-label,.memory-star.selected .star-label{opacity:1}.memory-star.selected .star-spark{box-shadow:0 0 12px 5px #f6e7be88,0 0 60px 12px #f6e7be44}.constellation-world .state-message{position:relative;padding-top:150px;color:#aaa9bd}.constellation-world .state-message h2{color:#eee7d9}.star-world-caption{position:absolute;bottom:14px;text-align:center;width:100%;font-family:Georgia,serif;font-size:11px;font-style:italic;letter-spacing:.1em;color:#d9cdb777;pointer-events:none}.star-preview{position:absolute;z-index:5;right:5%;bottom:55px;width:280px;max-width:85%;padding:22px;background:#fff8ed;color:#33405a;box-shadow:0 15px 60px #080d2555;border-radius:4px}.star-preview>.icon-button{position:absolute;right:4px;top:4px;background:#fff8edc9;z-index:1}.star-preview>img{height:125px;width:100%;object-fit:cover;margin-bottom:20px}.star-preview>svg{color:#b6975f;margin:12px 0 20px}.star-preview .eyebrow{font-size:8px;color:#927258;margin-bottom:10px}.star-preview h2{font-size:20px;margin-bottom:10px}.star-preview>p:not(.eyebrow){color:#8a8490;font-size:10px}.star-preview>.text-link{color:#927258;margin-top:8px}.star-accessible-list{padding-top:25px!important;font-size:11px;color:var(--muted)}.star-accessible-list summary{cursor:pointer;line-height:2}.star-accessible-list ul{columns:3;list-style:none;padding:15px 0;line-height:2.6}.settings-page{max-width:1080px}.settings-section{display:grid;grid-template-columns:34% 1fr;gap:8%;padding:35px 0;border-bottom:1px solid var(--line)}.settings-section-title{display:flex;align-items:flex-start;gap:15px}.settings-section-title>span{font-family:Georgia,serif;color:var(--gold);font-size:13px;margin-top:5px}.settings-section-title h2{font-size:21px;margin-bottom:13px;line-height:1.6}.settings-section-title p{font-size:11px;line-height:1.9;color:var(--muted);max-width:210px}.settings-fields>label:last-child{margin-bottom:0}.residents-list{display:flex;gap:25px;margin-top:25px}.residents-list>span{display:flex;align-items:center;gap:8px;font-size:11px}.residents-list small{color:var(--muted);font-size:8px}.residents-list .mini-avatar{width:29px;height:29px;font-size:10px}.theme-options{border:0;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 24px;padding:0}.theme-options legend{font-size:11px;margin-bottom:12px}.theme-options label{position:relative;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:10px;padding:22px;border:1px solid var(--line);cursor:pointer;margin:0;background:linear-gradient(135deg,#e5bb8630,#d7b6d530)}.theme-options label:last-child{background:linear-gradient(135deg,#3e4662,#353a56);color:#ece4d6}.theme-options label.chosen{outline:1px solid var(--gold);outline-offset:3px}.theme-options input{position:absolute;right:15px;top:15px}.theme-options strong{font-family:Georgia,serif;font-size:17px;font-weight:400;margin-top:6px}.theme-options label>span{font-size:10px;opacity:.7}.settings-save{display:flex;align-items:center;justify-content:flex-end;gap:25px;padding:28px 0}.invite-settings{display:flex;align-items:flex-start;gap:30px;border:1px solid var(--line);padding:30px;margin-top:30px;background:var(--paper-solid)}.invite-settings>svg{margin-top:4px;color:var(--gold)}.invite-settings>div{flex:1;min-width:0}.invite-settings h2{font-size:21px;margin-bottom:14px}.invite-settings p:not(.eyebrow){font-size:11px;color:var(--muted)}.invite-settings .eyebrow{margin-bottom:11px}.invite-settings .button{margin-top:9px}.invite-result{margin-top:25px;border-top:1px solid var(--line);padding-top:25px}.invite-result label{display:flex;flex-direction:column;font-size:11px;gap:10px}.invite-result input{font-size:11px}.invite-result p{margin:12px 0 0}.privacy-note{display:flex;align-items:center;gap:22px;padding:35px 0}.privacy-note>svg{color:var(--accent)}.privacy-note>div{flex:1}.privacy-note h3{font-size:15px;margin-bottom:8px}.privacy-note p{font-size:10px;color:var(--muted);max-width:500px;margin:0;line-height:1.8}.privacy-note .button{flex-shrink:0}.not-found{text-align:center;padding:120px 25px}.not-found h1{font-size:34px}.not-found p:not(.eyebrow){color:var(--muted);font-size:13px}.not-found .button{margin-top:25px}}@layer responsive{@media(min-width:1550px){.landing,.home-hero{margin:auto}.home-hero{padding-top:65px;padding-bottom:55px}.landing{min-height:740px}}@media(max-width:1100px){.desktop-nav{gap:18px}.site-header{gap:20px;padding-inline:4%;height:94px}.brand{font-size:20px}.brand-mark{width:36px;height:36px}.brand small{font-size:7px}.header-actions{gap:8px}.landing-copy{padding-left:0}.landing-scene{margin-left:-30px}.home-hero{grid-template-columns:37% 63%;padding-inline:4%}.home-copy{padding-left:0}.home-copy h1{font-size:32px}.home-copy .eyebrow{font-size:8px}.home-scene{margin-left:-40px}.home-scene .scene-caption{font-size:7px;display:block}.scene-caption span:last-child{display:none}.home-overview a{gap:10px}.home-overview span{font-size:9px}.memory-grid{gap:24px}.letter-grid{gap:20px}.auth-layout{gap:4%;padding:0 4%}.auth-paper{padding:30px}.journal-page{padding:25px}.journal-bottom{align-items:flex-start;flex-direction:column}.settings-section{grid-template-columns:32% 1fr;gap:6%}.star-accessible-list ul{columns:2}}@media(max-width:850px){.desktop-nav{display:none}.mobile-menu{display:inline-flex}.site-header{height:87px}.brand{font-size:20px}.entrance-link{font-size:10px}.site-header .brand small{font-size:6px}.mobile-bottom{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--paper-solid);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;padding:8px 5px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -6px 25px #2b25430a}.mobile-bottom>a,.mobile-bottom>button{border:0;background:none;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);font-size:9px;min-width:52px;padding:4px 0}.mobile-bottom>a.router-link-active{color:var(--accent)}.site-footer{margin-top:45px;padding-bottom:110px}.public-world .site-footer{padding-bottom:30px}.home-hero{min-height:540px}.home-copy h1{font-size:28px}.serif-italic{font-size:19px}.home-welcome{font-size:10px;max-width:240px}.home-copy .button{padding-inline:14px;font-size:10px}.together-count strong{font-size:50px}.home-residents p{font-size:8px}.home-scene{margin-left:-30px;margin-right:-8%}.home-overview{grid-template-columns:1fr 1fr;gap:20px 0;padding:23px 0}.home-overview a:nth-child(2){border:0}.home-overview a{justify-content:flex-start;padding-left:20%}.home-overview strong{font-size:25px}.home-overview span{font-size:10px}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-recent .memory-grid>.memory-card:last-child:nth-child(3){display:none}.page-heading h1{font-size:29px}.page-heading{margin-bottom:35px}.heading-action .button{padding:12px 15px;font-size:10px}.page-container{padding-top:30px}.auth-layout{max-width:650px;display:block;margin-top:0}.auth-illustration{display:none}.auth-paper{max-width:480px;margin:auto}.letter-grid,.capsule-grid{grid-template-columns:repeat(2,1fr)}.journal-spread{grid-template-columns:1fr}.own-page{border-right:0;border-bottom:1px solid var(--line)}.journal-page{padding:28px}.journal-bottom{flex-direction:row;align-items:center}.waiting-page{min-height:200px}.detail-photo-grid{grid-template-columns:repeat(2,1fr)}.anniversary-card{padding:22px;gap:20px}.anniversary-info h2{font-size:18px}.anniversary-count{padding:0 10px;min-width:95px}.anniversary-count>strong{font-size:29px}.anniversary-count>span{font-size:8px}.milestone-grid{grid-template-columns:repeat(2,1fr)}.settings-section{grid-template-columns:1fr;gap:18px}.settings-section-title p{max-width:none}.settings-section-title{gap:12px}.settings-fields{padding-left:30px}.settings-section-title h2{margin-bottom:5px}.settings-section-title p{margin:0}.settings-save{flex-wrap:wrap;justify-content:space-between;gap:15px}.settings-save .small{font-size:9px}.privacy-note{flex-wrap:wrap}.privacy-note .button{margin-left:45px}.star-controls{gap:12px}.star-controls>span{font-size:9px}.constellation-world{height:65vh;min-height:490px}.star-label{font-size:10px;max-width:100px}.memory-star{padding:9px;gap:11px}}@media(max-width:600px){.site-header{height:78px;padding-inline:6%;gap:12px}.brand{font-size:19px;gap:9px;letter-spacing:.12em}.brand-mark{width:33px;height:33px}.brand-mark>svg{width:21px}.brand small{margin-top:4px;letter-spacing:.1em;font-size:6px}.entrance-link{max-width:130px;font-size:9px;gap:10px}.header-actions{gap:3px}.header-actions .icon-button{min-width:34px;min-height:34px}.user-avatar{width:30px;height:30px;font-size:11px}.navigation-drawer{top:75px;right:4%;width:92%;max-width:370px;padding:17px}.navigation-drawer nav a,.navigation-drawer nav>button{min-height:48px;font-size:12px}.landing{display:flex;flex-direction:column;padding:25px 6% 30px;min-height:0;align-items:stretch}.landing-copy{position:relative;text-align:center;z-index:3;padding:6px 0 0}.landing-copy .eyebrow{font-size:7px;letter-spacing:.17em;margin-bottom:20px}.landing-copy h1{font-size:33px;line-height:1.6;margin-bottom:16px}.landing-copy h1 br:nth-of-type(2){display:none}.landing-description{font-size:11px;line-height:2;margin-bottom:21px}.landing-copy .button{min-width:220px;font-size:11px}.private-note{justify-content:center;font-size:8px;margin-top:15px}.landing-scene{min-height:0;display:block;margin:-13px -15% 0;position:relative;z-index:1}.landing-scene .island-scene{min-height:0}.landing-scene .scene-caption{margin-top:-15px;display:block;text-align:center;padding:0 10%}.landing-coordinate{display:none}.landing-after{margin:20px 0 0;padding-inline:25px;gap:15px}.landing-after p{font-size:11px}.landing-after>svg{width:17px}.site-footer{padding:24px 6% 105px;gap:20px;font-size:8px;margin-top:45px;line-height:1.7}.site-footer>span:last-child{font-size:9px}.footer-star{padding-left:5px}.public-world .site-footer{padding-bottom:24px}.home-hero{display:flex;flex-direction:column;padding:25px 6% 0;min-height:0;align-items:stretch}.home-copy{padding:0;text-align:center;position:relative}.home-copy>.eyebrow{font-size:7px;margin-bottom:14px}.home-copy h1{font-size:31px;margin-bottom:15px}.serif-italic{font-size:16px;margin-top:8px;line-height:1.5}.serif-italic br{display:none}.home-welcome{font-size:11px;max-width:290px;margin:0 auto 18px;line-height:1.9}.together-count{margin:16px 0 20px;gap:2px}.together-count>span{font-size:8px}.together-count strong{font-size:43px;line-height:1.2}.together-count small{font-size:12px;margin-left:8px}.together-count>span:last-child{display:none}.home-copy>.button{min-width:220px;font-size:11px}.home-residents{justify-content:center;margin-top:18px}.home-residents p{text-align:left}.home-residents .mini-avatar{width:25px;height:25px;font-size:9px}.home-scene{margin:0 -14%;min-width:0}.home-scene .scene-caption{text-align:center;padding:0 15%;font-size:7px;margin-top:-10px}.home-under{padding:15px 6% 0}.home-overview{gap:18px 0;margin-bottom:37px;padding:23px 0}.home-overview a{padding-left:11%;gap:10px}.home-overview span{font-size:9px}.home-overview strong{font-size:24px}.home-overview svg{width:19px}.section-line{margin-bottom:25px;align-items:flex-end}.section-line .eyebrow{font-size:7px;letter-spacing:.16em;margin-bottom:10px}.section-line h2{font-size:19px;line-height:1.6}.section-line .text-link{font-size:9px;gap:6px;white-space:nowrap}.section-line .text-link svg{width:13px}.home-recent .memory-grid{gap:20px;grid-template-columns:1fr;padding-inline:9px}.home-recent .memory-grid>.memory-card:last-child:nth-child(3){display:block}.page-container{padding:25px 6%}.page-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:27px}.page-heading h1{font-size:29px;line-height:1.5;margin-bottom:13px;letter-spacing:.03em}.page-heading .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:12px}.lede{font-size:11px;max-width:320px;line-height:1.9}.heading-action .button{font-size:10px;min-height:41px;padding:11px 17px}.heading-action{align-self:flex-end;margin-top:-5px}.filter-bar{display:grid;grid-template-columns:1fr 85px 66px;gap:12px;padding:15px 0}.filter-bar .search-field{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:10px}.filter-bar select{min-width:0;padding:10px;font-size:11px}.filter-bar .year-filter{width:100%;font-size:11px;padding:10px}.filter-bar .button{font-size:10px;min-height:42px;padding:10px 14px}.collection-meta{margin:20px 0 25px;font-size:8px}.collection-meta>span:last-child{font-size:6px;letter-spacing:.1em}.memory-grid{grid-template-columns:1fr;gap:25px;padding-inline:8px}.memory-card{padding:12px 12px 0}.memory-card-text{padding:19px 10px 20px}.memory-card h2{font-size:19px;margin:10px 0 12px}.memory-card time{font-size:9px}.memory-card-text p{font-size:10px}.memory-photo{aspect-ratio:1.46}.photo-category{font-size:9px}.memory-no-photo svg{width:120px;height:90px}.memory-no-photo span{font-size:11px}.state-message{padding:50px 15px;min-height:280px;gap:17px}.state-message h2{font-size:20px}.state-message p{font-size:11px;line-height:1.9}.state-message>.button{font-size:10px}.auth-layout{padding:15px 6% 30px}.auth-paper{padding:27px 23px}.auth-paper h1{font-size:24px}.auth-paper>.muted{font-size:11px}.auth-paper>.gold-icon{width:25px}.auth-paper .eyebrow{font-size:8px}.auth-footnote{font-size:10px}.auth-paper label{font-size:11px}.dialog-backdrop{padding:14px;align-items:center}.dialog-panel{padding:20px 20px 25px;max-height:calc(100dvh - 28px)}.dialog-panel>header{margin-bottom:22px;padding-bottom:13px;gap:10px}.dialog-panel>header h2{font-size:20px}.dialog-panel .form-row{gap:12px}.dialog-panel .form-actions{gap:9px}.dialog-panel .form-actions>.button{font-size:10px;padding:11px 14px}form label{font-size:11px;gap:8px}input,textarea,select{font-size:14px;padding:12px;min-height:45px}.form-row{gap:12px}.form-error,.success-note{font-size:11px}.back-link{font-size:10px;margin-bottom:29px}.memory-detail-heading{padding-right:0;margin-bottom:25px}.memory-detail-heading h1{font-size:29px;line-height:1.6;margin-bottom:17px}.memory-detail-heading>p:last-of-type{font-size:10px;gap:10px 17px}.memory-detail-heading .eyebrow{font-size:8px}.detail-controls{position:static;margin-top:25px;justify-content:flex-end}.detail-controls .button{font-size:10px}.photo-album{padding:15px;margin:25px 0 40px;gap:15px}.photo-empty{height:190px;padding:10px}.photo-empty p{font-size:15px}.photo-empty>span{font-size:9px;line-height:1.9}.photo-empty>svg{width:30px}.upload-label{font-size:10px}.detail-photo-grid{gap:10px;grid-template-columns:1fr 1fr}.detail-photo-grid figure{padding:5px}.detail-photo-grid figcaption{padding-top:5px}.detail-photo-grid figcaption button{font-size:8px;padding:4px 1px}.journal-intro{margin-bottom:25px}.journal-intro .eyebrow{font-size:7px;letter-spacing:.14em;margin-bottom:13px}.journal-intro h2{font-size:20px;line-height:1.7}.journal-intro>p:last-child{font-size:10px}.journal-page{padding:24px 20px}.journal-author h3{font-size:15px}.journal-author>div>span{font-size:9px}.journal-textarea{font-size:15px;line-height:2.4;min-height:300px}.journal-bottom{gap:10px}.journal-bottom>span{font-size:7px;line-height:1.8;max-width:115px}.journal-bottom .button{font-size:9px;padding:10px 13px}.prose{font-size:14px}.lightbox{padding:50px 10px}.lightbox-close{right:10px;top:10px}.tabs{gap:24px}.tabs button{font-size:11px;padding:16px 0}.mailbox-banner{padding:20px;gap:17px;margin-bottom:23px}.mailbox-banner>svg{width:30px}.mailbox-banner>p{font-size:13px;line-height:1.9}.mailbox-banner small{font-size:6px;letter-spacing:.09em}.postmark{display:none}.letter-grid{grid-template-columns:1fr;padding-top:24px;gap:20px}.envelope{padding:22px 25px;min-height:220px}.envelope-top{font-size:8px}.envelope h2{font-size:21px}.envelope>p{font-size:11px}.envelope-bottom>time{font-size:10px}.opened-letter{padding:5px 0 10px}.opened-letter>.prose{font-size:15px}.letter-to{font-size:15px}.letter-signature{font-size:14px}.capsule-intro{padding:0 0 25px;gap:16px;margin-bottom:28px}.bottle-illustration{width:62px;height:115px}.capsule-intro .eyebrow{font-size:6px;letter-spacing:.1em;margin-bottom:10px}.capsule-intro h2{font-size:22px;margin-bottom:10px}.capsule-intro p:last-child{font-size:10px;line-height:1.9;margin-bottom:0}.capsule-grid{grid-template-columns:1fr;gap:20px}.capsule-card{min-height:320px;padding:25px 30px}.capsule-card h2{font-size:22px}.capsule-card>strong{font-size:44px}.capsule-number{font-size:8px}.capsule-status{font-size:10px}.capsule-locked-note{padding:15px;gap:13px}.capsule-locked-note p{font-size:11px}.seal-status{gap:12px}.seal-status>span{font-size:9px}.capsule-detail>.eyebrow{font-size:8px}.unlocked-entries{grid-template-columns:1fr}.relationship-banner{padding:25px 22px;gap:22px;margin-bottom:28px}.relationship-banner>svg{width:24px}.relationship-banner>div>p{font-size:10px}.relationship-banner h2{font-size:48px;margin:8px 0 12px}.relationship-banner h2>span{font-size:13px;margin-left:10px}.relationship-banner h2.not-set{font-size:19px;line-height:1.8;margin:0 0 15px}.relationship-banner .text-link{font-size:10px}.banner-orbit{right:5px;top:25px;font-size:110px}.anniversary-list{gap:15px}.anniversary-card{padding:20px 17px;gap:17px;flex-wrap:wrap}.date-tile{width:53px;padding:8px 0}.date-tile>span{font-size:8px}.date-tile>strong{font-size:26px}.anniversary-info{flex-basis:calc(100% - 75px)}.anniversary-info>.eyebrow{font-size:6px;letter-spacing:.1em}.anniversary-info h2{font-size:19px;line-height:1.7;margin:6px 0}.anniversary-info p{font-size:10px}.anniversary-info>.small{font-size:8px}.anniversary-count{margin-left:70px;padding:0;display:flex;align-items:center;gap:10px;text-align:left}.anniversary-count>strong{font-size:26px}.anniversary-count>span{font-size:9px}.inline-actions{flex-direction:row;margin-left:auto}.inline-actions .icon-button{min-height:35px;min-width:35px}.milestones{margin-top:40px}.milestones .section-line h2{font-size:20px;max-width:240px}.milestone-grid{grid-template-columns:1fr;gap:12px}.milestone-grid article{padding:20px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 15px}.milestone-grid h3{font-size:18px;margin:0}.milestone-grid p{font-size:10px;grid-column:1;margin:0}.milestone-grid span{font-size:10px;grid-column:2;grid-row:1/3}.timezone-note{font-size:8px;line-height:1.9;margin-top:30px}.timeline-filters{gap:12px;align-items:center}.timeline-filters .tabs{gap:20px}.timeline-filters .tabs button{font-size:10px}.timeline-filters select{font-size:10px;min-width:95px;padding:10px;min-height:40px}.timeline:before{left:17px;top:35px;bottom:70px}.timeline-year{padding-left:0;gap:0;margin:30px 0 25px}.timeline-year>span{font-size:34px;width:auto;padding:0 20px 0 0;background:var(--paper-solid);position:relative;z-index:1}.timeline-year>i{display:none}.timeline-event{display:block;margin-bottom:28px;padding-left:42px}.timeline-event>time{display:block;width:auto;text-align:left;font-size:11px;padding:0;margin-bottom:10px}.timeline-dot{left:2px;width:31px;height:31px;top:4px}.timeline-dot>svg{width:13px}.timeline-event-body{margin:0;padding:17px;gap:13px;flex-wrap:wrap}.timeline-event-body>img{width:100%;height:155px;margin-bottom:5px}.timeline-event-body h2{font-size:19px}.timeline-event-body .eyebrow{font-size:7px;margin-bottom:6px}.timeline-event-body p{font-size:10px}.timeline-event-body>svg{width:16px}.timeline-end{padding:15px 0 0 30px;font-size:13px}.timeline-end>span{font-size:6px}.stars-page>.page-container{padding-bottom:18px}.stars-page .page-heading{margin-bottom:25px}.star-controls{gap:12px;flex-wrap:wrap;padding-top:15px}.star-filter{gap:10px;flex:1}.star-filter label{flex:1}.star-filter select{min-width:0;font-size:10px;padding:10px;min-height:40px}.star-controls>span{font-size:9px;order:3;margin-left:0;flex:1}.star-zoom{order:4;gap:5px}.star-zoom .icon-button{min-height:30px;min-width:30px;padding:5px}.constellation-world{min-height:480px;height:65vh}.star-world-caption{font-size:8px;letter-spacing:.04em;padding:0 20px;bottom:11px}.star-viewport{inset:20px 0 45px}.star-label{font-size:9px;max-width:85px}.memory-star{gap:11px;min-width:44px}.star-spark{width:calc(var(--star-size) * .8);height:calc(var(--star-size) * .8)}.star-preview{right:5%;bottom:45px;width:235px;padding:19px}.star-preview>img{height:115px;margin-bottom:15px}.star-preview h2{font-size:20px}.star-preview .eyebrow{font-size:7px}.star-preview .text-link{font-size:10px}.constellation-world .state-message{padding-top:115px}.star-accessible-list{font-size:10px}.star-accessible-list ul{columns:1;line-height:2.8}.settings-page .page-heading{margin-bottom:15px}.settings-section{padding:27px 0;gap:19px}.settings-section-title h2{font-size:20px}.settings-section-title>span{font-size:11px}.settings-section-title p{font-size:10px}.settings-fields{padding-left:0}.settings-fields .form-row{grid-template-columns:1fr;gap:0}.settings-fields>label{font-size:11px}.settings-fields input,.settings-fields textarea,.settings-fields select{font-size:13px}.residents-list{gap:18px;flex-wrap:wrap;margin-top:20px}.residents-list>span{font-size:10px}.theme-options{gap:12px}.theme-options label{padding:18px 16px;gap:10px;min-height:150px}.theme-options strong{font-size:16px}.theme-options label>span{font-size:9px}.theme-options input{right:10px;top:10px;width:14px;height:14px;min-height:14px}.theme-options label>svg{width:24px}.theme-options legend{font-size:10px}.settings-save{justify-content:flex-end;gap:15px}.settings-save>.small{font-size:9px;width:100%;text-align:right}.settings-save .button{font-size:10px}.invite-settings{padding:23px 20px;gap:15px;margin-top:20px}.invite-settings>svg{width:22px}.invite-settings h2{font-size:20px;line-height:1.7}.invite-settings p:not(.eyebrow){font-size:10px}.invite-settings .eyebrow{font-size:7px}.invite-settings .button{font-size:10px;padding-inline:14px}.invite-result input{font-size:11px}.privacy-note{gap:15px;padding:30px 0 0}.privacy-note>svg{width:20px}.privacy-note h3{font-size:14px}.privacy-note p{font-size:9px}.privacy-note .button{margin-left:35px;font-size:10px}.not-found{padding:100px 25px}.not-found h1{font-size:28px}.not-found>p:not(.eyebrow){font-size:12px}.not-found .eyebrow{font-size:8px}}}.star-viewport{touch-action:none;cursor:grab}.star-viewport:active{cursor:grabbing}.star-spark{background:var(--star-color,#f6e7be);box-shadow:0 0 5px 2px color-mix(in srgb,var(--star-color,#f6e7be) 30%,transparent),0 0 25px 6px color-mix(in srgb,var(--star-color,#f6e7be) 15%,transparent)}.memory-star.binary .star-spark:before{content:"";position:absolute;width:6px;height:6px;right:-8px;top:-5px;border-radius:50%;background:#fff8da;box-shadow:0 0 12px 3px #fff8da66}.memory-star.binary .star-spark{outline:1px solid #f5e4bd33;outline-offset:9px}@media(max-width:850px){.landing,.home-hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;min-height:0;padding-top:30px}.landing-copy,.home-copy{text-align:center;padding:0;max-width:500px;margin:0 auto}.landing-copy h1{font-size:36px;line-height:1.6}.landing-copy h1 br:nth-of-type(2){display:none}.landing-description,.home-welcome{font-size:13px;line-height:2;max-width:380px;margin-inline:auto}.home-copy h1{font-size:34px}.home-copy .button,.landing-copy .button{font-size:12px}.private-note,.home-residents{justify-content:center}.private-note{font-size:11px}.landing-scene,.home-scene{margin:0!important;width:100%;min-height:0;align-self:center}.landing-scene .island-scene{min-height:0}.scene-caption{margin-top:14px!important;text-align:center;display:block;font-size:9px!important}.landing-coordinate{display:none}.home-date-invite p{font-size:13px}.home-residents p{font-size:12px;text-align:left}.home-residents small{font-size:10px}.lede,.state-message p,.quiet-empty p,.home-overview span,.memory-card-text p,.memory-card time,.envelope>p,.envelope-bottom>time,.capsule-intro p:last-child,.capsule-card>p,.capsule-card>time,.capsule-status,.anniversary-info p,.anniversary-info .small,.anniversary-count>span,.milestone-grid p,.milestone-grid span,.timeline-event-body p,.timeline-event>time,.settings-section-title p,.invite-settings p:not(.eyebrow),.privacy-note p,.form-error,.success-note,.auth-paper>.muted,.auth-footnote,.settings-save>.small,.timezone-note{font-size:12px!important}.text-link,.tabs button,.filter-bar .button,.heading-action .button,.collection-meta>span:first-child,.journal-author>div>span,.journal-bottom>span,.journal-bottom .button,.photo-empty>span,.upload-label,.detail-photo-grid figcaption button,.letter-to,.capsule-locked-note p,.seal-status>span,.residents-list>span,.theme-options label>span,.invite-settings .button,.privacy-note .button,.star-controls>span,.star-preview>p:not(.eyebrow),.star-accessible-list{font-size:12px!important}form label,.settings-fields>label,label small,.relationship-banner>div>p,.star-filter select,.timeline-filters select,.filter-bar select,.filter-bar .year-filter{font-size:12px!important}input,textarea,select,.settings-fields input,.settings-fields textarea,.settings-fields select{font-size:14px!important}.eyebrow,.collection-meta>span:last-child,.scene-caption>span:first-child,.capsule-number,.envelope-top,.mailbox-banner small,.timeline-event-body .eyebrow,.anniversary-info>.eyebrow,.star-preview .eyebrow{font-size:9px!important}.mobile-bottom>a,.mobile-bottom>button{font-size:11px}.photo-category{font-size:11px}.journal-bottom{flex-wrap:wrap}.journal-bottom>span{max-width:100%;line-height:1.7}.home-overview a{padding-left:10%;gap:10px}.home-overview{gap:20px 0}.site-footer{font-size:10px}.site-footer>span:last-child{font-size:10px}.star-label{font-size:11px;max-width:100px}.star-world-caption{font-size:10px}.settings-section-title p{max-width:none}.settings-save{justify-content:flex-end}.settings-save>.small{width:100%;text-align:right}.privacy-note p{line-height:1.9}}@media(max-width:600px){.landing-copy h1{font-size:32px}.home-copy h1{font-size:31px}.landing-description,.home-welcome{font-size:12px}.landing,.home-hero{gap:20px}.landing-scene,.home-scene{width:112%;max-width:none;align-self:center}.home-overview a{padding-left:7%;gap:9px}.home-overview span{max-width:104px;line-height:1.7}.collection-meta>span:last-child{display:none}.timeline-filters{flex-wrap:wrap}.timeline-filters .tabs{flex:1;gap:19px}.tabs button{white-space:nowrap}.capsule-intro{align-items:flex-start}.letter-grid{padding-top:25px}.anniversary-count{flex-wrap:wrap}.star-filter{width:100%}.star-label{max-width:80px}.memory-detail-heading>p:last-of-type{font-size:12px}.journal-bottom .button{margin-left:auto}.site-footer{flex-direction:column;align-items:flex-start;gap:8px}.envelope-bottom>time{font-size:12px}.invite-settings{padding:22px 17px;gap:13px}}.painted-island{position:relative;isolation:isolate;width:100%;aspect-ratio:3/2;overflow:hidden;background:#253c4e}.scene-picture{position:absolute;inset:0;display:block}.painted-island .island-art{width:100%;height:100%;max-width:none;min-height:0;display:block;object-fit:cover;object-position:60% 50%}.scene-image-error{position:absolute;inset:40% 10%;color:#fff7e7;line-height:2;text-align:center}.scene-links{position:absolute;inset:0;z-index:3;pointer-events:none}.scene-link{position:absolute;pointer-events:auto;display:flex;align-items:center;gap:12px;padding:12px 16px;color:#fff8eb!important;text-decoration:none;text-shadow:0 2px 12px #07192d,0 1px 3px #07192d;background:#13263580;border:1px solid #f5e6cb38;border-radius:3px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .2s,transform .2s}.scene-link:hover,.scene-link:focus-visible{background:#142a3bdb;transform:translateY(-3px);outline-color:#f2d6a2}.scene-link strong{display:block;font-family:var(--serif);font-size:15px;letter-spacing:.09em;font-weight:400}.scene-link small{display:block;margin-top:6px;font-size:11px;letter-spacing:.035em;color:#f4e5ce}.scene-pin{display:block;width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#ffdf98;box-shadow:0 0 0 5px #ffdf9817,0 0 16px #ffdf9859}.sky-link{left:76%;top:17%}.house-link{left:72%;top:44%}.flower-link{left:40%;top:76%}.bottle-link{left:80%;top:78%}.has-mail .scene-pin{box-shadow:0 0 0 7px #ffdf9833,0 0 20px #ffd47c}.memory-glints{position:absolute;inset:0;z-index:2;pointer-events:none}.memory-glint{position:absolute;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;pointer-events:auto}.memory-glint>span:first-child{width:4px;height:4px;background:#ffe0a0;border-radius:50%;box-shadow:0 0 9px 3px #ffdf9850;transition:transform .2s}.memory-glint:hover>span:first-child,.memory-glint:focus-visible>span:first-child{transform:scale(2);box-shadow:0 0 15px 6px #ffdf9850}.scene-fireflies{position:absolute;inset:0;pointer-events:none;z-index:1}.scene-fireflies i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe6b2;box-shadow:0 0 10px #f6d09f;opacity:.3;animation:painted-drift 8s var(--delay) ease-in-out infinite}@keyframes painted-drift{50%{transform:translate(6px,-9px);opacity:.65}}.is-landing .site-header{position:absolute;inset:0 0 auto;color:#fff5e7;width:100%;max-width:none;padding-inline:6%;border-bottom:1px solid #fff4dd20}.is-landing .brand-mark{color:#f4d2a1;border-color:#f2dec54d}.is-landing .entrance-link{color:#fff5e7}.is-landing .entrance-link span{color:#f4d2a1}.landing{display:flex;align-items:center;width:100%;max-width:none;margin:0;min-height:860px;height:100svh;max-height:1080px;padding:150px 6% 100px;background:#172b3c;isolation:isolate}.landing-scene{position:absolute;inset:0;height:100%;align-self:stretch;min-height:0;margin:0;display:block;z-index:-2}.landing-scene .painted-island{height:100%;min-height:0;aspect-ratio:auto}.landing:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#142632d9 0%,#142632a8 26%,#14263223 56%,transparent 76%),linear-gradient(0deg,#14263260,transparent 24%)}.landing-copy{padding:0;width:430px;max-width:48%;color:#fff5e6}.landing-copy .eyebrow{color:#e9d0ac}.landing-copy h1{font-size:clamp(46px,4.5vw,72px);line-height:1.42;letter-spacing:.075em;margin:0 0 30px}.landing-copy h1 em{color:#f5d6a9}.landing-description{font-size:15px;color:#f0e5d9;line-height:2.2;margin-bottom:32px}.landing-copy .button.primary{min-width:220px;min-height:50px;background:#f1ddbc;color:#293c49;border-color:#ead2a9;box-shadow:0 7px 30px #12233330;font-size:13px}.landing-copy .private-note{color:#e8dbcd;font-size:12px;margin-top:22px}.landing-coordinate{display:none}.landing .scene-caption{position:absolute;bottom:25px;left:6%;right:6%;padding:0;color:#f2e9db;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;z-index:4}.landing .scene-caption span:first-child{font-size:10px}.landing-after{margin-top:62px}.is-landing .site-footer{margin-top:55px}.home-hero{isolation:isolate;display:flex;align-items:center;position:relative;max-width:none;width:100%;margin:0;padding:70px 6%;min-height:740px;background:#172b3c}.home-scene{position:absolute;inset:0;margin:0;min-width:0;z-index:-2}.home-scene .painted-island{width:100%;height:100%;aspect-ratio:auto}.home-hero:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(90deg,#172935ec 0%,#172935a6 25%,#17293510 55%,transparent 75%)}.home-copy{padding:0;max-width:350px;color:#fff5e6}.home-copy h1{font-size:38px}.home-copy .serif-italic{color:#eed4ae;font-size:23px}.home-copy .eyebrow,.home-copy .text-link{color:#e8d0ad}.home-copy .home-welcome{font-size:14px;color:#efdfcb;max-width:320px;line-height:2}.home-copy .together-count>span,.home-copy .home-residents p,.home-copy .home-residents small{color:#eadcc9;font-size:12px}.home-copy .together-count strong,.home-copy .together-count small{color:#f3d7a8}.home-copy .button.primary{background:#f1ddbc;color:#293c49;font-size:12px;min-height:47px}.home-copy .home-date-invite p{font-size:14px}.home-scene .scene-caption{position:absolute;bottom:20px;left:6%;right:4%;padding:0;z-index:5;color:#f1e2cc}.home-under{padding-top:32px}@media(min-width:851px)and (max-width:1100px){.landing-copy{max-width:45%;width:350px}.landing-copy h1{font-size:47px}.landing-description{font-size:14px}.home-copy{max-width:310px}.home-copy h1{font-size:32px}.home-copy .home-welcome{font-size:13px}.home-copy .serif-italic{font-size:20px}.scene-link{padding:10px 12px}.scene-link strong{font-size:13px}.scene-link small{font-size:10px}.bottle-link{left:78%}.house-link{left:70%}}@media(max-width:850px){.is-landing .site-header{position:relative;height:88px;color:var(--ink);border:0;padding-inline:6%}.is-landing .entrance-link{color:var(--ink);font-size:11px}.is-landing .brand-mark{color:var(--accent);border-color:var(--line)}.landing{display:flex;flex-direction:column;min-height:0;max-height:none;height:auto;padding:0;background:none;gap:0}.landing:after{display:none}.landing-copy{width:100%;max-width:540px;padding:38px 24px 42px;text-align:center;color:var(--ink)}.landing-copy h1{font-size:40px;line-height:1.55;margin-bottom:20px}.landing-copy h1 em{color:var(--accent)}.landing-copy h1 br{display:none}.landing-copy h1 br:first-child{display:block}.landing-description{font-size:14px;color:var(--muted);margin-bottom:25px}.landing-copy .button.primary{background:var(--primary);color:var(--paper-solid);min-height:47px;font-size:12px}.landing-copy .private-note{color:var(--muted);justify-content:center;font-size:11px;margin-top:18px}.landing-scene{position:relative;inset:auto;width:100%;min-height:0;margin:0;z-index:0}.landing-scene .painted-island{height:auto;aspect-ratio:4/4.6;width:100%;min-height:0}.landing .scene-caption{position:relative;inset:auto;padding:17px 6%;color:var(--muted);justify-content:center}.landing .scene-caption span:last-child{display:none}.landing .scene-caption span:first-child{font-size:9px}.landing .island-art{object-position:62% 50%}.landing-after,.is-landing .site-footer{margin-top:36px}.home-hero{flex-direction:column;min-height:0;padding:0;background:none}.home-hero:after{display:none}.home-copy{width:100%;max-width:550px;padding:35px 25px 38px;color:var(--ink);text-align:center}.home-copy h1{font-size:31px}.home-copy .serif-italic{color:var(--accent);font-size:19px}.home-copy .eyebrow,.home-copy .text-link{color:var(--accent)}.home-copy .home-welcome{color:var(--muted);font-size:13px;margin-inline:auto}.home-copy .together-count>span,.home-copy .home-residents p,.home-copy .home-residents small{color:var(--muted);font-size:12px}.home-copy .together-count strong,.home-copy .together-count small{color:var(--accent)}.home-copy .together-count strong{font-size:45px}.home-copy .button.primary{background:var(--primary);color:var(--paper-solid)}.home-copy .home-residents{justify-content:center}.home-scene{position:relative;inset:auto;width:100%;margin:0;z-index:0}.home-scene .painted-island{aspect-ratio:4/5;height:auto;min-height:0}.home-scene .scene-caption{position:relative;inset:auto;padding:15px 5%;color:var(--muted);text-align:center}.home-scene .scene-caption span:last-child{display:none}.home-scene .scene-caption span:first-child{font-size:9px}.scene-link{padding:10px 12px;gap:10px}.scene-link strong{font-size:13px}.scene-link small{font-size:10px;letter-spacing:0}.sky-link{left:auto;right:5%;top:8%}.house-link{left:auto;right:8%;top:36%}.flower-link{left:5%;top:65%}.bottle-link{left:auto;right:5%;top:83%}.memory-glint{width:40px;height:40px}.home-under{padding-top:17px}.auth-illustration .painted-island{aspect-ratio:4/5}.painted-island .island-art{object-position:62% 50%}}@media(prefers-reduced-motion:reduce){.scene-fireflies i{animation:none}.scene-link,.memory-glint>span:first-child{transition:none}}[data-motion=reduced] .scene-fireflies i{animation:none}[data-hidden=true] .scene-fireflies i{animation-play-state:paused}.is-landing .site-header{gap:14px}.is-landing .entrance-link{white-space:nowrap;gap:10px;flex-shrink:0}.landing .scene-caption span{color:#f5ead8}.memory-glints{z-index:4}@media(max-width:850px){.landing-copy h1 br{display:block}.landing .scene-caption span{color:var(--muted)}}@media(max-width:400px){.is-landing .brand{font-size:19px;gap:9px}.is-landing .brand-mark{width:35px;height:35px}.is-landing .brand small{font-size:6px}.is-landing .entrance-link{font-size:10px}}.landing-copy h1>span,.landing-copy h1>em{display:block}.scene-beacon{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;padding:0;background:none;border:0;border-radius:50%;pointer-events:auto;color:#fff4de;isolation:isolate}.beacon-core{width:7px;height:7px;border-radius:50%;background:#ffe9b8;box-shadow:0 0 12px 4px #ffcf814d;transition:transform .2s}.scene-beacon:before,.scene-beacon:after{content:"";position:absolute;inset:8px;border:1px solid #ffe4ab6b;border-radius:50%;transition:transform .25s,opacity .25s}.scene-beacon:after{inset:2px;opacity:.3}.scene-beacon:hover:before,.scene-beacon:focus-visible:before,.scene-beacon[aria-expanded=true]:before{transform:scale(1.2);opacity:1}.scene-beacon:hover .beacon-core,.scene-beacon[aria-expanded=true] .beacon-core{transform:scale(1.4)}.beacon-name{position:absolute;top:48px;left:50%;transform:translate(-50%,3px);white-space:nowrap;font-family:var(--serif);font-size:13px;letter-spacing:.08em;text-shadow:0 2px 9px #06172c,0 1px 4px #06172c;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.scene-beacon:hover .beacon-name,.scene-beacon:focus-visible .beacon-name,.scene-beacon[aria-expanded=true] .beacon-name{opacity:1;transform:translate(-50%)}.beacon-unread .beacon-core{background:#ffe7a0;box-shadow:0 0 18px 8px #ffce8580}.scene-invitation{position:absolute;bottom:18px;left:50%;transform:translate(-50%);margin:0;white-space:nowrap;z-index:3;color:#f5e4c7;text-shadow:0 1px 6px #0d2238;font-size:11px;letter-spacing:.13em;pointer-events:none}.scene-discovery{position:absolute;right:5%;bottom:8%;width:290px;max-width:calc(100% - 40px);z-index:7;padding:28px;background:#fffaef;color:#3c454e;border:1px solid #ede1cb;box-shadow:0 15px 45px #07142140;border-radius:4px;outline:none;animation:chapter-reveal .25s ease-out}.scene-discovery:before{content:"";position:absolute;inset:7px;border:1px solid #d9c7a345;pointer-events:none}.scene-discovery h2{font-size:24px;margin:0 0 12px;line-height:1.5}.scene-discovery p{font-size:13px;line-height:1.9;color:#6e6c66;margin-bottom:20px}.discovery-close{position:absolute;right:7px;top:5px;min-width:38px;min-height:38px;background:none;border:0;font-size:24px;color:#827665}.discovery-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d4c6af;padding-top:14px;font-size:13px;color:#805d3b;gap:20px}.discovery-link>span{font-size:20px}.home-scene .scene-caption{display:none}.scene-beacon:focus-visible{outline:2px solid #ffe6af;outline-offset:3px}.home-hero:after{display:none}.home-scene .painted-island:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,#172935ec 0%,#172935a6 25%,#17293510 55%,transparent 75%)}.chapter-hero{position:relative;isolation:isolate;overflow:hidden;min-height:340px;padding:45px 42px;margin-bottom:34px;border-radius:5px;background:#243b50;display:flex;align-items:center;color:#fff4df}.chapter-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 66%;z-index:-2}.chapter-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#11202bd9 0%,#11202b8c 42%,transparent 76%);pointer-events:none}.chapter-copy{max-width:440px}.chapter-copy h1{font-size:38px;line-height:1.5;letter-spacing:.05em;margin:0 0 13px;color:#fff5e4}.chapter-copy>p{font-size:14px;line-height:2;color:#f0dfc8;max-width:370px;margin:0}.chapter-meta{font-size:12px;line-height:1.9;color:#eed2a3;margin-top:16px}.chapter-action{margin-top:22px}.chapter-action .button.primary{background:#f1ddbc;color:#273b45;font-size:12px;min-height:45px}.chapter-timeline .chapter-image{object-position:center 66%}.chapter-capsules .chapter-image{object-position:72% 67%}.chapter-letters .chapter-image{object-position:76% 70%}.letters-page .tabs{margin-top:0}.envelope{background:linear-gradient(145deg,#fff9ec,#f4ead8);color:#4b4944!important;border-color:#ddceb4!important;box-shadow:0 8px 26px #58432a0c!important;border-radius:3px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.envelope:before{content:"";position:absolute;top:-1px;left:0;right:0;height:65px;background:linear-gradient(168deg,#e3d3b52b 49%,transparent 50%),linear-gradient(192deg,#e3d3b52b 49%,transparent 50%);pointer-events:none}.envelope .envelope-top,.envelope .envelope-bottom,.envelope>p{color:#837560!important}.envelope h2{color:#504335;position:relative}.envelope:hover{transform:translateY(-4px);box-shadow:0 14px 36px #58432a1a!important}.envelope.unread{border-top:3px solid #bc9861!important}.envelope .wax-seal{background:#a26852;color:#fff5df;box-shadow:inset 0 0 0 3px #d1a68b4d}.opened-letter{position:relative;background:#fff9ee!important;color:#514739!important;padding:38px 42px!important;border:1px solid #e5d5b7;box-shadow:0 10px 35px #3b2d1810;animation:chapter-reveal .35s ease-out}.opened-letter .prose{color:#514739;font-size:16px;line-height:2.2}.opened-letter .letter-to,.opened-letter .letter-signature{color:#7f6247}.opened-letter:before{content:"";position:absolute;inset:10px;border:1px solid #dcc9a840;pointer-events:none}.letter-compose textarea{background:repeating-linear-gradient(transparent 0 34px,#b4a18b20 34px 35px),#fffaf2!important;color:#514739!important;line-height:35px;padding-top:9px}.letter-compose .letter-to{font-family:var(--serif);font-size:17px!important}.capsule-card{position:relative;isolation:isolate;overflow:hidden;padding-top:190px!important;background:var(--paper-solid)!important;border-radius:4px!important;text-align:left!important;border:1px solid var(--line)!important;box-shadow:0 9px 28px #253b4b0a;min-height:425px}.capsule-card-image{position:absolute;inset:0 0 auto;width:100%;height:170px;object-fit:cover;object-position:75% 67%;z-index:-1}.capsule-card h2{font-size:23px!important;margin-bottom:9px}.capsule-card>.capsule-number{position:absolute;top:15px;left:18px;color:#fff7e7;text-shadow:0 1px 5px #112232;font-size:10px!important}.capsule-card>strong{font-size:35px!important;font-family:Georgia,serif;display:block}.capsule-card>p{color:var(--muted);margin-bottom:13px}.capsule-card>time{display:block;margin-top:15px}.capsule-card .capsule-status{margin-top:18px;justify-content:flex-start}.capsule-card:hover{transform:translateY(-4px)}.timeline-page .timeline-filters{border-bottom:1px solid var(--line);padding-bottom:15px}.timeline-event-body{background:var(--paper-solid);box-shadow:0 6px 25px #473c3108;border:1px solid var(--line);border-radius:3px;transform:rotate(-.35deg);transition:transform .2s,box-shadow .2s}.timeline-event:nth-of-type(2n) .timeline-event-body{transform:rotate(.35deg)}.timeline-event-body:hover{transform:rotate(0);box-shadow:0 10px 30px #473c3114}.timeline-event-body>img{border:6px solid #fff9ee;box-shadow:0 2px 9px #1e28331a;object-fit:cover}.timeline-year>span{font-family:Georgia,serif;color:var(--accent)}.timeline-page .chapter-hero{margin-bottom:30px}@keyframes chapter-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){.is-landing .site-header{position:absolute;inset:0 0 auto;height:76px;color:#fff4e2;z-index:20;background:linear-gradient(#1221314d,transparent)}.is-landing .entrance-link{color:#fff4e2}.is-landing .brand-mark{color:#f5d4a2;border-color:#f7e4c34d}.is-landing .landing{height:100svh;min-height:720px;max-height:none;display:block;padding:0;background:#192d42;isolation:isolate}.is-landing .landing-scene{position:absolute;inset:0;width:100%;z-index:-2}.is-landing .landing-scene .painted-island{height:100%;width:100%;aspect-ratio:auto}.is-landing .landing-scene .island-art{object-position:center;object-fit:cover}.is-landing .landing:after{display:block;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#14243866 0%,#14243829 33%,transparent 50%,#12243824 72%,#0b223966 100%)}.is-landing .landing-copy{position:relative;z-index:2;height:100%;width:100%;max-width:none;display:flex;flex-direction:column;align-items:center;padding:102px 22px 28px;color:#fff5e4;text-align:center}.is-landing .landing-copy h1{font-size:32px;line-height:1.4;margin-bottom:16px;letter-spacing:.045em;color:#fff5e4}.is-landing .landing-copy h1 em{color:#f6d7a8}.is-landing .landing-description{font-size:13px;line-height:1.9;color:#fff0db;margin:0}.is-landing .landing-copy .button.primary{margin-top:auto;background:#f4dfbc;color:#2e414d;min-height:48px;min-width:220px;box-shadow:0 6px 25px #12233330}.is-landing .landing-copy .private-note{color:#fff0d5;font-size:10px;line-height:1.7;margin:16px 0 0}.is-landing .landing .scene-caption{display:none}.is-landing .landing-after{margin-top:34px}.home-hero{height:calc(100svh - 87px);min-height:650px;display:block;background:#192d42}.home-scene{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.home-scene .painted-island{width:100%;height:100%;aspect-ratio:auto}.home-scene .island-art{object-position:center}.home-scene .painted-island:after{background:linear-gradient(#12243db3,transparent 44%,transparent 68%,#12243d88)}.home-copy{position:relative;z-index:2;width:100%;height:100%;max-width:none;display:flex;flex-direction:column;align-items:center;padding:27px 22px 105px;color:#fff4df;pointer-events:none}.home-copy a,.home-copy button{pointer-events:auto}.home-copy .eyebrow,.home-copy .serif-italic,.home-copy .home-residents{display:none}.home-copy h1{font-size:28px;margin:0 0 10px}.home-copy .home-welcome{font-size:12px;line-height:1.8;color:#f0dfc8;max-width:300px;margin:0}.home-copy .together-count{margin:13px 0 0;gap:0}.home-copy .together-count>span{color:#f0dfc8;font-size:11px}.home-copy .together-count>span:last-child{display:none}.home-copy .together-count strong{font-size:36px;color:#f6dbac}.home-copy .together-count small{color:#f6dbac;font-size:12px}.home-copy .home-date-invite{margin:14px 0 0}.home-copy .home-date-invite p{font-size:12px;color:#f0dfc8}.home-copy .home-date-invite .text-link{color:#f4d7a6}.home-copy>.button.primary{margin-top:auto;background:#f4dfbc;color:#2e414d;min-height:46px}.home-hero:has(.scene-discovery) .home-copy>.button.primary{visibility:hidden}.scene-beacon{left:var(--mx);top:var(--my);width:48px;height:48px}.beacon-name{font-size:12px;top:47px}.scene-invitation{bottom:88px;font-size:10px}.scene-discovery{right:20px;left:20px;bottom:100px;width:auto;max-width:none;padding:25px}.scene-discovery h2{font-size:23px}.scene-discovery p{font-size:13px;margin-bottom:15px}.home-hero .memory-glint{width:36px;height:36px}.chapter-hero{min-height:310px;padding:30px 25px;margin-bottom:27px;align-items:flex-end}.chapter-copy h1{font-size:28px;line-height:1.5;margin-bottom:10px}.chapter-copy>p{font-size:12px;max-width:255px;line-height:1.9}.chapter-meta{font-size:11px;margin-top:12px}.chapter-action{margin-top:17px}.chapter-action .button.primary{min-height:44px;padding:11px 17px;font-size:11px}.chapter-hero:after{background:linear-gradient(90deg,#142335b8,transparent 100%),linear-gradient(0deg,#122335b3,transparent 78%)}.chapter-image{object-position:68% center}.chapter-capsules .chapter-image{object-position:69% 65%}.chapter-letters .chapter-image{object-position:68% 66%}.chapter-timeline .chapter-image{object-position:64% 65%}.opened-letter{padding:28px 23px!important}.opened-letter .prose{font-size:15px;line-height:2.15}.capsule-card{padding-top:170px!important;min-height:395px}.capsule-card-image{height:150px}.capsule-card h2{font-size:22px!important}.timeline-event-body{transform:none!important}.timeline-event-body>img{border-width:5px}.letters-page .chapter-hero,.capsules-page .chapter-hero,.timeline-page .chapter-hero{margin-top:0}}@media(max-width:380px){.is-landing .landing-copy h1{font-size:29px}.is-landing .landing-copy{padding-top:92px}.home-copy h1{font-size:25px}.home-copy .home-welcome{font-size:11px}.home-copy .together-count strong{font-size:32px}.chapter-copy h1{font-size:25px}.scene-beacon{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.scene-discovery,.opened-letter{animation:none}.scene-beacon:before,.scene-beacon:after,.beacon-core,.beacon-name,.envelope,.timeline-event-body{transition:none}}[data-motion=reduced] .scene-discovery,[data-motion=reduced] .opened-letter{animation:none}@media(max-width:850px)and (max-height:740px){.is-landing .landing{min-height:640px}.is-landing .landing-copy{padding-top:88px;padding-bottom:24px}.is-landing .landing-copy h1{font-size:28px;line-height:1.35;margin-bottom:12px}.is-landing .landing-description{font-size:12px}.home-hero{min-height:560px}.home-copy{padding-top:20px;padding-bottom:100px}.home-copy h1{font-size:25px}.home-copy .together-count{margin-top:8px}}#main-content:focus{outline:none}.skip-link{position:fixed;left:18px;top:12px;z-index:500;transform:translateY(-150%);padding:12px 18px;background:var(--paper-solid);color:var(--ink);border:1px solid var(--line);border-radius:4px}.skip-link:focus{transform:none}.form-fields{border:0;padding:0;margin:0;min-width:0}.form-fields:disabled{opacity:.7}.form-fields label:last-of-type{margin-bottom:18px}.draft-status{font-size:12px;line-height:1.8;color:var(--accent);padding:10px 13px;background:var(--soft);border-left:2px solid var(--gold);margin:14px 0}.form-fields input,.form-fields textarea,.form-fields select{width:100%}.dialog-panel{overscroll-behavior:contain;scrollbar-gutter:stable}.dialog-panel>header{position:sticky;top:-29px;z-index:3;background:var(--paper-solid);padding-top:12px}.dialog-panel>header h2{overflow-wrap:anywhere;min-width:0}.dialog-panel>header>.icon-button{flex-shrink:0}.dialog-panel :is(input,textarea,select):focus-visible{outline-offset:2px}.dialog-panel .form-row,.dialog-panel form label{min-width:0}.dialog-panel textarea{resize:vertical;max-height:50dvh;min-height:140px}.dialog-panel .letter-compose textarea{min-height:245px}.memory-detail-heading h1,.memory-card h2,.envelope h2,.capsule-card h2,.chapter-copy h1,.timeline-event-body h2,.journal-author h3,.anniversary-info h2,.star-preview h2{overflow-wrap:anywhere;word-break:break-word}.prose,.preserve-lines,.memory-detail-heading>p,.entry-conflict p{overflow-wrap:anywhere}.journal-textarea{font-size:17px;line-height:2.1;min-height:330px}.journal-bottom>span{line-height:1.8;max-width:65%;font-size:12px}.journal-bottom>span>small{display:block;font-size:11px;margin-top:5px}.journal-bottom .button{min-height:44px}.journal-author h3{font-size:18px}.journal-author>div>span{font-size:12px}.partner-page .prose{font-size:17px;line-height:2.1}.journal-spread{align-items:stretch}.journal-page{min-width:0}.entry-conflict{padding:22px;background:var(--soft);border:1px solid var(--line);margin:22px 0;border-radius:4px}.entry-conflict h3{font-size:19px;line-height:1.6;margin:0 0 12px}.entry-conflict>p{font-size:13px}.entry-conflict details{padding:15px;background:var(--paper-solid);border:1px solid var(--line)}.entry-conflict summary{font-size:13px;cursor:pointer}.entry-conflict details>p{max-height:240px;overflow:auto;font-size:14px;line-height:1.9;margin:16px 0 0}.conflict-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:18px}.conflict-actions .button{font-size:12px;text-align:left}.conflict-actions .text-link{font-size:12px}.album-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.album-heading .eyebrow{font-size:9px;margin-bottom:10px}.album-heading h2{font-size:23px;line-height:1.7;margin:0}.album-heading>span{font-size:12px;color:var(--muted);white-space:nowrap;padding-bottom:6px}.upload-progress{padding:14px 17px;background:var(--soft);margin-bottom:18px;display:grid;gap:10px;font-size:12px;line-height:1.7}.upload-progress progress{width:100%;height:4px;accent-color:var(--accent);border:0}.upload-results{padding:18px;border:1px solid var(--line);margin-bottom:20px;font-size:13px;color:var(--ink);overflow-wrap:anywhere}.upload-results p{margin-bottom:9px}.upload-results ul{margin:0;padding-left:20px;line-height:1.9}.photo-view{width:100%;aspect-ratio:4/3;overflow:hidden;display:block}.photo-view img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-view:hover img{transform:scale(1.04)}.detail-photo-grid figcaption button{min-height:40px;font-size:12px}.photo-album .upload-label{font-size:13px;min-height:46px}.upload-label:focus-within{outline:2px solid var(--accent);outline-offset:4px}.photo-album .upload-label input{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.memories-page .filter-bar{display:grid;grid-template-columns:minmax(200px,1fr) 135px 95px 135px auto;gap:12px}.memories-page .filter-bar>label{min-width:0}.memories-page .filter-bar select,.memories-page .filter-bar .year-filter{width:100%;min-width:0;min-height:44px}.memories-page .filter-bar .search-field{min-width:0}.memories-page .filter-bar .button{min-height:44px}.memories-page .filter-bar input[type=search]{min-width:0;font-size:14px}.active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 0 0}.filter-chip{display:inline-flex;align-items:center;gap:14px;max-width:100%;overflow-wrap:anywhere;min-height:38px;font-size:12px;line-height:1.6;text-align:left;border:1px solid var(--line);background:var(--paper-solid);padding:7px 12px;border-radius:3px}.filter-chip>span{font-size:19px;color:var(--accent)}.active-filters>.text-link{min-height:40px;font-size:12px}.memories-page .collection-meta{font-size:12px;line-height:1.8}.memory-card .quiet-flower{font-family:Georgia,serif;font-size:60px!important;color:var(--gold);display:block;margin-bottom:15px;line-height:1}.memory-no-photo{background:radial-gradient(ellipse at 50% 30%,#c6ae7f1f,transparent 70%),var(--soft)}.memory-no-photo>span:last-child{font-size:13px;line-height:1.8}.memory-card-text h2{font-size:22px;line-height:1.65;gap:12px}.memory-card-text p{font-size:13px;line-height:1.8;flex-wrap:wrap}.memory-card-text time{font-size:11px}.pagination{gap:18px;flex-wrap:wrap}.pagination>span{font-size:13px}.photo-viewer{position:fixed;inset:0;z-index:300;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#0d1623f7;color:#f3e7d3;outline:none;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 34px;border-bottom:1px solid #fff3d51c;min-width:0}.viewer-toolbar>div:first-child{min-width:0}.viewer-eyebrow{font-family:Georgia,serif;font-size:9px;letter-spacing:.18em;color:#cbbd9e}.viewer-toolbar h2{font-size:20px;line-height:1.5;margin:7px 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:70vw}.viewer-actions{display:flex;gap:12px}.photo-viewer .icon-button{color:#f3e7d3;min-width:46px;min-height:46px;border:1px solid transparent}.photo-viewer .icon-button:hover{background:#fff4df10}.photo-viewer button:focus-visible{outline:2px solid #f2d3a4;outline-offset:2px}.photo-stage{position:relative;min-height:0;min-width:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:26px 70px;overscroll-behavior:contain}.viewer-image{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 10px 55px #0005;-webkit-user-select:none;user-select:none}.viewer-image.is-loading{opacity:0}.photo-stage.is-zoomed{display:block;padding:20px;cursor:zoom-out}.photo-stage.is-zoomed .viewer-image{width:200%;max-width:none;max-height:none;min-height:100%;object-fit:contain}.viewer-status,.viewer-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;color:#e1d0b6;font-size:13px;pointer-events:none}.viewer-error{flex-direction:column;pointer-events:auto}.viewer-error p{margin:0}.viewer-error .button{color:#f4dfbc;border-color:#e5cf9e55}.viewer-footer{border-top:1px solid #fff3d51c;padding:11px 25px 17px;text-align:center}.viewer-navigation{display:flex;align-items:center;justify-content:center;gap:30px}.viewer-counter{min-width:60px;letter-spacing:.12em;font-size:13px;font-family:Georgia,serif}.viewer-thumbnails{display:flex;justify-content:safe center;gap:10px;overflow-x:auto;padding:10px 5px;max-width:850px;margin:auto;scrollbar-width:thin;overscroll-behavior:contain}.viewer-thumbnails button{padding:3px;background:transparent;border:1px solid transparent;border-radius:3px;flex-shrink:0;opacity:.5}.viewer-thumbnails button[aria-current=true]{opacity:1;border-color:#ddc08f}.viewer-thumbnails img{width:52px;height:40px;object-fit:cover;border-radius:1px}.viewer-hint{font-size:10px;letter-spacing:.04em;color:#b5ad9d;line-height:1.7;margin:9px 0 0}.connection-notice{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:170;width:max-content;max-width:calc(100% - 28px);font-size:12px;line-height:1.8;background:var(--paper-solid);color:var(--ink);padding:12px 18px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:4px}.navigation-shade{position:fixed;inset:0;z-index:180;background:#12213230}.navigation-shade .navigation-drawer{position:absolute;max-height:calc(100dvh - 120px);overflow:auto;outline:none}.navigation-drawer .drawer-title>span{overflow-wrap:anywhere}.navigation-drawer .icon-button{flex-shrink:0}@media(max-width:1000px){.memories-page .filter-bar{grid-template-columns:minmax(170px,1fr) 120px 85px 120px auto;gap:10px}.memories-page .filter-bar .button{padding:10px 14px}.memory-card-text h2{font-size:20px}}@media(max-width:700px){.memories-page .filter-bar{grid-template-columns:1fr 85px 1fr;gap:12px;padding:17px 0}.memories-page .filter-bar .search-field{grid-column:1/-1;padding-bottom:12px}.memories-page .sort-field{grid-column:auto}.memories-page .filter-bar>.button{grid-column:1/-1;justify-self:end;min-width:105px}.memories-page .collection-meta{font-size:12px}.active-filters{gap:8px}.filter-chip{min-height:42px;font-size:12px}.photo-stage{padding:18px}.viewer-toolbar{padding:16px 18px;gap:12px}.viewer-toolbar h2{font-size:17px;max-width:calc(100vw - 135px)}.viewer-actions{gap:2px}.viewer-eyebrow{font-size:8px;letter-spacing:.1em}.viewer-footer{padding:9px 12px calc(13px + env(safe-area-inset-bottom))}.viewer-navigation{gap:27px}.viewer-thumbnails{gap:7px}.viewer-thumbnails img{width:48px;height:38px}.viewer-hint{font-size:10px}.viewer-status{font-size:12px}.album-heading{align-items:flex-start;gap:10px;margin-bottom:18px}.album-heading h2{font-size:19px;line-height:1.7}.album-heading>span{font-size:11px;padding-top:30px}.photo-album{margin-block:25px 38px}.journal-author h3{font-size:17px}.journal-textarea{font-size:16px;line-height:2.1;min-height:300px}.partner-page .prose{font-size:16px;line-height:2.15}.journal-bottom{flex-direction:column;align-items:stretch;gap:16px}.journal-bottom>span{max-width:none;font-size:12px}.journal-bottom .button{align-self:flex-end;font-size:12px;min-height:46px}.journal-page{padding:25px 22px}.entry-conflict{padding:18px}.entry-conflict h3{font-size:18px}.entry-conflict details>p{font-size:14px}.detail-controls .button{font-size:12px;min-height:44px}.detail-photo-grid figcaption button{font-size:12px}.dialog-panel{padding:20px 20px 25px;max-height:calc(100dvh - 28px);scrollbar-gutter:auto}.dialog-panel>header{top:-21px;padding-top:8px}.dialog-panel form label{font-size:13px!important;line-height:1.8}.dialog-panel :is(input,select,textarea){font-size:16px!important}.dialog-panel .form-actions{flex-wrap:wrap;gap:12px}.dialog-panel .form-actions>.button{font-size:12px;min-height:46px}.dialog-panel .form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.dialog-panel .draft-status{font-size:12px}.dialog-panel .letter-compose textarea{min-height:250px}.opened-letter .prose{font-size:16px;line-height:2.15}.navigation-shade .navigation-drawer{top:80px;right:4%;width:92%;max-height:calc(100dvh - 100px)}.navigation-drawer nav a,.navigation-drawer nav>button{font-size:13px;min-height:48px}.mobile-bottom>a,.mobile-bottom>button{min-height:48px}.memory-card-text h2{font-size:21px}.memory-card-text p{font-size:13px}.memory-card-text time{font-size:11px}.connection-notice{top:82px}}@media(max-width:360px){.memories-page .filter-bar{grid-template-columns:1fr 72px 1fr;gap:8px}.memories-page .filter-bar select,.memories-page .filter-bar .year-filter{padding-inline:7px;font-size:12px}.dialog-panel .form-row{grid-template-columns:1fr}.album-heading h2{max-width:190px}.photo-stage{padding:10px}.viewer-toolbar{padding-inline:12px}.viewer-toolbar h2{font-size:16px}.viewer-eyebrow{font-size:7px}.viewer-hint{font-size:9px}.photo-album{padding:15px}.detail-photo-grid{gap:10px}}.photo-album .upload-label input{display:block}.album-heading,.photo-album>.upload-progress,.photo-album>.upload-results{width:100%}.album-heading{text-align:left}.skip-link:not(:focus-visible){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus-visible{transform:none}.dialog-panel>header h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-height:5.1em}.dialog-panel>header>.icon-button,.site-header .icon-button{min-width:44px;min-height:44px}.user-avatar{position:relative}.user-avatar:after{content:"";position:absolute;inset:-6px}.form-error{color:#945448}[data-theme=starlight] .form-error{color:#efb6a6}@media(max-height:600px){.viewer-thumbnails,.viewer-hint{display:none}.viewer-toolbar{padding-block:10px}.viewer-footer{padding-block:5px}}
