/* A daylight, CSS 3D memory room. No WebGL download or remote runtime. */
:root{--paper:#f8f6f0;--ink:#455b6a;--berry:#648499;--blush:#e5eef0;--line:#d9e1e1;--accent:#8cb7cd;--muted:#7d919c}body{background:var(--paper);color:var(--ink)}::selection{background:#c4deec;color:#344f61}.header{background:#f8f6f0;border-color:#e6e9e5}.brand{color:#536f82}.brand-dot{color:#aac5d4}.brand small{color:#8fa3ac}nav a,nav a.active{color:#7b919e}nav a.active{border-color:#7298ad}.header .button{color:#6a8291;border-color:#c4d2d9}.header .button:hover{color:#344e61}#motion-toggle{background:#fff8;border-color:#d8e1e5;color:#7c929f}.hero.universe{min-height:790px;background:radial-gradient(ellipse at 80% 30%,#d8eaf2bb,transparent 52%),radial-gradient(ellipse at 80% 95%,#f8e1c9a0,transparent 47%),#f8f6f0;grid-template-columns:.85fr 1.15fr;column-gap:4vw;padding-bottom:77px;overflow:hidden}.hero-top{color:#9caeaf}.hero-top>span:last-child{color:#91a4ae}.hero-copy{padding-top:26px}.hero-copy>.eyebrow{color:#8fa6b2;font-size:9px;letter-spacing:2.5px}.signal-dot{background:#a7c4d3;box-shadow:0 0 0 4px #fff9}.hero h1{font-size:clamp(68px,7.9vw,125px);line-height:1.02;color:#526a7a;font-weight:400;letter-spacing:-.065em;margin-top:34px;text-shadow:0 2px 0 #fff}.hero h1>span{color:#86aabb;font-size:1.14em}.hero-bottom p{color:#91a2a7;font-size:13px;letter-spacing:2px;line-height:2.1}.hero-actions{margin-top:32px;gap:24px}.hero-actions .button{background:linear-gradient(135deg,#91b6c9,#709bad);color:white;border:1px solid #b7d0dc;box-shadow:inset 0 1px 1px #fff7,0 6px 0 #608697,0 13px 25px #6d94a42c;padding:15px 23px;border-radius:14px;transition:transform .25s,box-shadow .25s}.hero-actions .button:hover{background:linear-gradient(135deg,#a5c9d9,#7ca6b9);box-shadow:inset 0 1px 1px #fff7,0 3px 0 #608697,0 9px 20px #6d94a42c;transform:translateY(3px)}.text-button{color:#8b9fa9;font-size:10px}.hero-actions+.together{color:#a1afb4;font-size:8px;margin-top:34px}.heartbeat{margin-top:37px;color:#7997a7}.heartbeat svg{filter:drop-shadow(3px 8px 5px #7b9eaf30)}.heartbeat small{color:#abb9c0}.pulse-line{background:#b4d0dd}.universe-orbit{display:none}.star{color:#a8c8d7;text-shadow:0 2px 1px white}.star-a{right:51%;top:150px}.star-b{left:40%;bottom:45px;opacity:.6}.hero-visual{perspective:1100px;perspective-origin:50% 38%;transform:none!important;transition:none;min-height:580px;position:relative;margin:0;isolation:isolate}.scene-depth{position:absolute;inset:0 0 48px;transform-style:preserve-3d;transform:rotateX(calc(-4deg + var(--rotate-x,0deg))) rotateY(calc(var(--manual-y,0deg) + var(--rotate-y,0deg)));transition:transform .8s cubic-bezier(.2,.7,.2,1);will-change:transform}.scene-floor{position:absolute;left:-7%;top:74%;width:120%;height:185px;background:radial-gradient(ellipse,#90aab22b,transparent 68%);transform:translateZ(-100px) rotateX(60deg);border-radius:50%;pointer-events:none}.scene-pedestal{position:absolute;left:7%;top:79%;width:89%;height:96px;border-radius:50%;background:linear-gradient(180deg,#dfe9e8 5%,#f4f7f0 42%,#c1d3d5 78%,#b6c9ce);box-shadow:0 19px 24px #829da121,inset 0 -2px 3px #9bafb43b;transform:translateZ(-15px) rotateX(12deg);pointer-events:none}.scene-pedestal:before{content:'';position:absolute;inset:-21px 0 18px;border-radius:50%;background:linear-gradient(135deg,#ffffff,#f1f4ee 55%,#d9e8e9);border:1px solid white;box-shadow:inset 0 2px 5px white}.hero .cover-photo{left:22%;top:12px;width:63%;height:345px;border-radius:16px;background:linear-gradient(130deg,#fff,#eaf1ef);border:1px solid #fff;padding:10px 10px 38px;transform:translateZ(50px) rotateY(-18deg) rotateZ(7deg);box-shadow:1px 1px 0 #fff,3px 3px 0 #d9e3e5,6px 6px 0 #bfcfd5,9px 9px 0 #adbec7,20px 29px 29px #5e7a8e30;overflow:visible;animation:air-main 9s ease-in-out infinite;transform-style:preserve-3d}.cover-photo img{border-radius:8px;filter:saturate(.7);object-fit:cover;box-shadow:inset 0 0 3px #6b8291}.cover-photo .image-label{left:12px;right:12px;bottom:0;padding:11px 2px 10px;color:#8d9fa9;background:none;font-size:7px;letter-spacing:1.3px}.cover-photo .image-label>span:last-child{font-size:17px}.orbit-photo{background:linear-gradient(140deg,#fff,#edf1ed);border:1px solid white;padding:7px 7px 0;overflow:visible;border-radius:12px;box-shadow:2px 2px 0 #e0e7e6,4px 4px 0 #c3d1d5,6px 6px 0 #b0c1c8,13px 20px 25px #63808b28;transform-style:preserve-3d}.orbit-photo img{border-radius:6px;filter:saturate(.62)}.orbit-photo>span{color:#899eaa;font-size:7px}.orbit-photo-back{right:-3%;top:27px;width:38%;height:237px;transform:translateZ(-70px) rotateY(-25deg) rotateZ(18deg);animation:air-back 11s ease-in-out infinite}.orbit-photo-front{left:0;top:239px;width:34%;height:211px;transform:translateZ(110px) rotateY(17deg) rotateZ(-12deg);animation:air-front 8s ease-in-out infinite;z-index:auto}.pet-scene{right:0;bottom:-22px;width:193px;transform:translateZ(110px) rotateY(-5deg);z-index:auto}.pet-scene button{width:149px;height:146px;filter:drop-shadow(9px 10px 6px #70899c25)}.pet-message{font-size:8px;color:#8ba0ac;line-height:1.8;opacity:1;position:relative;top:7px}.pet-caption{color:#8eabb7;font-size:6px}.pet-caption>span{color:#7397a9}.scene-ball{position:absolute;border-radius:50%;pointer-events:none}.ball-blue{width:63px;height:63px;left:11%;top:47px;background:radial-gradient(circle at 30% 25%,#fff 0%,#d2e6ef 27%,#96bbcf 67%,#6d91a7 95%);box-shadow:15px 20px 17px #7698a625;transform:translateZ(65px);animation:sphere-float 7s ease-in-out infinite}.ball-apricot{width:42px;height:42px;left:39%;bottom:18px;background:radial-gradient(circle at 30% 25%,#fff4df,#f5d9b9 40%,#d7b18e 85%);box-shadow:8px 12px 8px #bd967523;transform:translateZ(100px);animation:sphere-float 8s ease-in-out infinite reverse}.scene-ring{position:absolute;right:-6%;top:297px;border:12px solid #e9eee5;width:87px;height:87px;border-radius:50%;transform:translateZ(0) rotateY(35deg) rotateX(20deg);box-shadow:inset 2px 2px 4px #b6c5c7,3px 6px 0 #adbec5,7px 13px 12px #798d9b28;background:transparent;pointer-events:none}.scene-controls{position:absolute;bottom:-33px;left:8%;right:0;display:flex;align-items:center;justify-content:center;gap:15px;background:#ffffff70;border:1px solid #fff;border-radius:30px;padding:12px 18px;box-shadow:0 5px 20px #9fb4b912;backdrop-filter:blur(9px);z-index:4}.scene-controls label{font-size:9px;color:#8fa1a9;white-space:nowrap}.scene-controls input{display:block;min-width:30px;max-width:125px;width:100%;margin:0;padding:0;height:15px;border:none;background:transparent;accent-color:#9ab8c8;cursor:ew-resize}.scene-controls button{font-size:9px;background:none;border:0;color:#7995a6;white-space:nowrap;padding:3px}.chapter-strip{background:#f8f6f0;border-color:#e1e6e4}.chapter-strip>span:first-child{color:#93a8af}.chapter-strip>span:last-child{color:#9facb0}.chapter-strip b{color:#9bb8c7}.section-heading h2{color:#607c8b}.section-heading h2>span{color:#afc9d7}.section-heading .eyebrow,.story-title>.eyebrow{color:#9badb5}.section-heading p{color:#96a5ac}.section-heading>.button{color:#7c96a5;border-color:#cbd8de}.section-heading>.button:hover{color:#3a596f}.filters button{color:#9baab1}.filters button.selected{color:#6f92a7}.filters button.selected:after{background:#9ab7c7}.sample-note,.album-end{color:#a9b7bb}.photo-card .image-wrap{background:#e7eef0;border:7px solid white;border-bottom-width:25px;box-shadow:3px 4px 0 #d7e0e1,7px 12px 22px #91aab224;overflow:hidden;border-radius:8px;transition:transform .4s,box-shadow .4s}.photo-card:hover .image-wrap{transform:perspective(900px) rotateX(3deg) rotateY(-3deg) translateY(-7px);box-shadow:4px 6px 0 #d7e0e1,12px 24px 35px #91aab23b}.photo-card img{filter:saturate(.68);border-radius:3px}.card-title{color:#7d94a2}.card-date{color:#a6b5bd}.card-bottom:before{color:#a0bac9}.zoom-icon{background:#f6fbff;color:#6b90a6}.archive-cta .button{border-color:#c6d8e0;color:#809eaf;background:#fff8}.archive-cta .button:hover{background:#e1edf3;color:#536f80}.story{background:#edf2ef;border-color:#e1e7e4}.story-title h2{color:#8ba9ae}.story-title p,.timeline p{color:#97a9aa}.notes-tag,.timeline-no,.timeline .eyebrow{color:#9bb2b6}.timeline h3{color:#7e999e}.timeline article{border-color:#d7e1df}.closing{background:linear-gradient(120deg,#e6edf0,#e9e7df);color:#91a7b3}.closing-top,.closing>a{color:#a1b2b9}.closing p>span{color:#b4c6cf}footer>span,footer>small{color:#a2b3b9}.love-particle{color:#91bdd1}
/* All viewing surfaces stay in daylight, including zoom and collection views. */
.lightbox{background:#f1f5f5;color:#587383;color-scheme:light}.viewer-header{background:#f1f5f5;border-color:#dce6e9}.viewer-brand{color:#7e9eb0}.viewer-brand small{color:#9caeb9}.viewer-tools button,.viewer-tools .close{color:#7e98a8;border-color:#d0dfe6;background:#fff7}.viewer-tools button:hover{background:#e1edf2;color:#57798f}.slide-image-wrap{background:#e5ecee;border:1px solid #fff;box-shadow:0 10px 22px #8ba4af10;border-radius:10px}.lightbox figcaption{color:#718b9b}.lightbox #slide-meta,.lightbox #slide-count{color:#92a9b6}.viewer-stage .arrow{color:#819fac;background:#fbfdfdcc;border-color:#d2e0e5;box-shadow:0 3px 0 #d9e5e9}.viewer-stage .arrow:hover{background:#fff}.image-toolbar{border-color:#d7e2e7}.zoom-controls button,.zoom-controls #zoom-reset,#zoom-level{color:#809eaf}.zoom-controls button:hover:not(:disabled){background:#dfebf1}.tool-divider{background:#ccdce4}#image-interaction-hint,.viewer-hint,.speed-control{color:#9aaeba}.speed-control select{background:white;color:#83a0b1;border-color:#d6e3ea}#play-toggle{background:#a2bfce;border-color:#a2bfce;color:#fff}#play-toggle:hover{background:#8dacbe}.slide-progress{background:#d8e5ed}#slide-progress-fill{background:#9bbdd1}#slide-thumbnails button[aria-current=true]{border-color:#92b5cd}#slide-thumbnails{scrollbar-color:#bdcfda transparent}.collection-heading h2{color:#86a3b5}.collection-heading .eyebrow,.collection-heading p{color:#9aafbd}.collection-heading h2 span{color:#bdd2de}.collection-filters{border-color:#d6e2e8}.collection-filters button{color:#97acb9}.collection-filters button[aria-pressed=true]{background:#abc6d5;color:#fff}#collection-play{border-color:#cadde7;color:#7d9bae;background:#fff7}#collection-play:hover{background:#dceaf0}.collection-card>span{color:#829eae}.collection-card small{color:#a3b6c1}.collection-card img{border:5px solid white;border-radius:6px;box-shadow:3px 5px 0 #d9e3e6}.collection-empty{color:#8ca5b6}.form-dialog{background:#f4f7f6;color:#77929f;color-scheme:light;border-radius:14px;box-shadow:0 25px 90px #54708125}.form-dialog h2{color:#7997a7}.form-dialog p{color:#91a7b2}.dropzone{background:#ebf1f4;border-color:#bbd3df}input,select{color:#6f8b9d;border-color:#ccdce5}.form-dialog .button.primary{background:#a0bdcd;border-color:#a0bdcd;color:white}dialog::backdrop{background:#8099a480;backdrop-filter:blur(12px)}button:focus-visible,a:focus-visible,.lightbox :focus-visible{outline-color:#7195b0}
@keyframes air-main{0%,100%{transform:translateZ(50px) translateY(0) rotateY(-18deg) rotateZ(7deg)}50%{transform:translateZ(70px) translateY(-10px) rotateY(-12deg) rotateZ(5deg)}}@keyframes air-back{0%,100%{transform:translateZ(-70px) translateY(0) rotateY(-25deg) rotateZ(18deg)}50%{transform:translateZ(-55px) translateY(10px) rotateY(-20deg) rotateZ(21deg)}}@keyframes air-front{0%,100%{transform:translateZ(110px) translateY(0) rotateY(17deg) rotateZ(-12deg)}50%{transform:translateZ(125px) translateY(9px) rotateY(12deg) rotateZ(-9deg)}}@keyframes sphere-float{0%,100%{translate:0 0}50%{translate:0 -14px}}
.motion-off .scene-depth{transform:rotateX(-4deg) rotateY(var(--manual-y,0deg));transition:none}.motion-off .scene-ball{animation:none}
@media(max-width:1000px){.hero.universe{column-gap:2vw;min-height:750px}.hero h1{font-size:8.6vw}.hero-visual{min-height:545px}.hero .cover-photo{height:315px;width:64%;left:22%}.orbit-photo-back{height:210px}.orbit-photo-front{height:183px;top:226px}.pet-scene{width:160px;right:-10px;bottom:-18px}.pet-scene button{width:135px;height:132px}.scene-controls{gap:9px;left:0;padding:11px}.scene-controls label,.scene-controls button{font-size:8px}.scene-ball.ball-blue{height:45px;width:45px;left:6%}.scene-ring{height:66px;width:66px;border-width:10px;right:-3%}.hero-actions{gap:16px}.hero-actions .button{font-size:10px;padding:13px 18px}.hero-bottom p{font-size:12px}}
@media(max-width:600px){.hero.universe{grid-template-columns:minmax(0,1fr);padding-top:25px;padding-bottom:80px;min-height:0}.hero-copy{padding-top:0}.hero h1{font-size:16vw;line-height:1.03;margin:28px 0}.hero h1>span{font-size:1.2em}.hero-copy>.eyebrow{font-size:8px;letter-spacing:2px}.hero-bottom p{font-size:11px;letter-spacing:.6px}.hero-actions{margin-top:0;gap:22px}.hero-actions .button{font-size:10px;padding:13px 18px}.hero-actions+.together{font-size:7px;margin-top:24px}.heartbeat{margin-top:24px}.hero-visual{min-height:455px;width:100%;margin-top:45px;perspective:900px}.scene-depth{inset:0 0 25px;transform:rotateX(-4deg) rotateY(var(--manual-y,0deg))}.hero .cover-photo{height:264px;width:60%;left:24%;top:13px;padding:7px 7px 30px;border-radius:11px;box-shadow:2px 2px 0 #e5eaec,4px 4px 0 #cad7df,7px 7px 0 #b2c6ce,13px 19px 20px #6c8fa52b}.cover-photo .image-label{font-size:5px;left:8px;right:8px;letter-spacing:.6px;padding:9px 0}.orbit-photo-back{height:175px;width:36%;top:20px;right:1%}.orbit-photo-front{height:162px;width:31%;top:202px;left:4%;border-radius:8px;padding:5px 5px 0}.orbit-photo>span{font-size:5px;letter-spacing:.7px}.pet-scene{bottom:-1px;right:0;width:145px}.pet-scene button{width:117px;height:114px}.pet-message{font-size:6px;line-height:1.6}.pet-caption{font-size:5px}.pet-caption>span{font-size:6px}.scene-pedestal{top:81%;width:91%;left:7%;height:69px}.scene-pedestal:before{inset:-13px 0 13px}.scene-floor{top:78%;left:0;width:110%;height:110px}.scene-ball.ball-blue{width:42px;height:42px;left:7%;top:60px}.ball-apricot{width:27px;height:27px;bottom:1px;left:45%}.scene-ring{width:49px;height:49px;border-width:8px;top:270px;right:0}.scene-controls{bottom:-44px;left:0;right:0;padding:12px 13px;gap:10px}.scene-controls input{max-width:110px}.scene-controls label,.scene-controls button{font-size:8px}.star-a{top:205px;right:13%;font-size:20px}.star-b{bottom:40px;left:15%;font-size:22px}.photo-card .image-wrap{border-width:4px;border-bottom-width:14px}.viewer-stage .arrow{background:#ffffffd9}.slide-image-wrap{border-radius:7px}.section-heading h2{font-size:33px}}
@media(prefers-reduced-motion:reduce){.scene-depth{transform:rotateX(-4deg) rotateY(var(--manual-y,0deg));transition:none}.scene-ball{animation:none}.photo-card:hover .image-wrap{transform:none}}
.scene-depth>.photo-caption{display:none}
.hero-bottom p,.section-heading p,.story-title p,.timeline p{color:#6e8590}.hero-copy>.eyebrow,.hero-top,.hero-top>span:last-child{color:#79949f}.text-button,.header .button,nav a,nav a.active{color:#617f90}.sample-note,.card-date,.album-end,.timeline .eyebrow{color:#809aa7}.card-title,.timeline h3{color:#607f8e}.scene-controls label,.scene-controls button,.pet-message,.pet-caption,.pet-caption>span{color:#6e8c9e}.scene-controls input{appearance:none;-webkit-appearance:none;height:4px;border-radius:4px;background:#c8dbe4;box-shadow:inset 0 1px 2px #9fb8c244}.scene-controls input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(140deg,#fff,#9bbdcc);border:1px solid white;box-shadow:0 2px 4px #86a0b34a}.scene-controls input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#a8c6d5;border:1px solid white}.viewer-tools button,.viewer-tools .close,.zoom-controls button,.zoom-controls #zoom-reset,#zoom-level,#image-interaction-hint,.viewer-hint,.speed-control,.collection-heading p,.collection-filters button{color:#627f91}.collection-card>span{color:#617f90}.form-dialog p{color:#728c9b}
@media(max-width:600px){.orbit-photo-front{left:10%;width:29%}.pet-scene{right:2px}}
/* CJJ × XME: a personal typographic signature. */
.initials-logo{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-style:normal;font-weight:400;letter-spacing:-.8px;white-space:nowrap;display:inline-flex;align-items:center;color:#5f7c8d;text-transform:none;line-height:1.2}.initials-cross{font-family:Arial,sans-serif;font-size:12px;font-weight:300;letter-spacing:0;margin:0 9px;color:#bba88f}.header .brand{letter-spacing:0;align-items:center}.header .brand small{font-family:Arial,'Microsoft YaHei',sans-serif;font-size:8px;letter-spacing:1.2px;margin-left:17px;color:#95a9b3}.hero h1.initials-title{position:relative;width:max-content;min-width:300px;margin:33px 0 30px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(91px,9.7vw,155px);font-weight:400;line-height:.84;letter-spacing:-.055em;white-space:normal}.hero h1.initials-title>span{font-family:Georgia,'Times New Roman',serif;margin:0;letter-spacing:inherit;font-size:1em;font-style:normal;font-weight:400}.hero h1.initials-title .initials-first{display:block;color:#5c7a8c;text-shadow:0 1px 0 #fff,1px 3px 0 #d3dee2,4px 8px 12px #7c9aa616;padding-right:48px}.hero h1.initials-title .initials-second{display:block;color:#91b0c0;text-shadow:0 1px 0 #fff,1px 3px 0 #e2ebee,4px 8px 12px #7c9aa610;margin-top:24px;margin-left:36px;font-style:italic}.hero h1.initials-title .initials-join{position:absolute;right:10px;top:14px;color:#c4b094;font-size:35px;font-style:italic;text-shadow:0 1px 0 #fff;letter-spacing:-2px}.initials-period{color:#c4b094;font-style:normal}.viewer-brand{display:flex;align-items:center;gap:18px}.viewer-brand .initials-logo{font-size:22px;color:#708fa2}.viewer-brand small{margin-left:0}.viewer-brand .initials-cross{color:#b5a486}footer .initials-logo{font-size:24px}.hero-copy>.eyebrow{letter-spacing:2.2px}.hero .hero-bottom p{font-size:12px;letter-spacing:1px}
@media(max-width:1000px){.header .brand small{display:none}.hero h1.initials-title{font-size:10.8vw;min-width:240px}.hero h1.initials-title .initials-second{margin-left:22px}.hero h1.initials-title .initials-join{font-size:28px;right:0;top:6px}}
@media(max-width:600px){.header{gap:10px}.header .initials-logo{font-size:17px;letter-spacing:-.8px}.header .initials-cross{font-size:9px;margin:0 5px}.header nav{gap:13px}.header nav a{font-size:10px}.hero h1.initials-title{font-size:25vw;min-width:0;margin:26px 0 28px;line-height:.84;padding-right:24px}.hero h1.initials-title .initials-first{padding-right:25px}.hero h1.initials-title .initials-second{margin-top:18px;margin-left:47px}.hero h1.initials-title .initials-join{font-size:29px;right:2px;top:5px}.hero .hero-bottom p{font-size:11px;letter-spacing:.5px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:2px}.viewer-brand .initials-logo{font-size:18px}.viewer-brand .initials-cross{font-size:9px;margin:0 5px}.viewer-tools{gap:6px}.viewer-tools button,.viewer-tools .close{font-size:9px;padding:9px 8px}footer .initials-logo{font-size:23px}}
