@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-mono-500.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/playfair-display-500.woff2)format("woff2")}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/playfair-display-500-italic.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-cream:#f8f2e8;--color-faint:#f8f2e894;--color-background:#0b0f1a;--color-background-mid:#131827;--color-background-glow:#202438;--color-warm:#e7b471;--color-warm-deep:#a96942;--color-cool:#6872ad;--color-paper:#e9dfce;--color-ink:#29303c;--font-serif-cn:"Noto Serif SC", "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", SimSun, serif;--font-serif-en:"Playfair Display", "Times New Roman", Georgia, serif;--font-mono:"DM Mono", ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;--card-width:148px;--card-height:192px;--ui-edge-x:34px;--ui-edge-y:28px;--ease-cinematic:cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--color-cream);background:var(--color-background);font-family:var(--font-serif-cn)}button{color:inherit;font:inherit;cursor:pointer}#container{z-index:1;position:absolute;inset:0}#container>div{touch-action:none}.screen-reader-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--color-warm);outline-offset:3px}.universe-background{z-index:0;isolation:isolate;pointer-events:none;background:radial-gradient(ellipse at 52% 43%, var(--color-background-glow) 0, var(--color-background-mid) 32%, var(--color-background) 75%);transition:background 1.2s;position:fixed;inset:0;overflow:hidden}body.inside .universe-background{background:radial-gradient(#302c3a 0,#161827 46%,#0a0e17 100%)}.grain{opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");position:absolute;inset:0}.stars,.stars:before,.stars:after{content:"";opacity:.42;background-image:radial-gradient(circle,#f8f0da 0 1px,#0000 1.6px);background-size:137px 137px;position:absolute;inset:0}.stars:before{opacity:.25;background-size:211px 211px;transform:translate(47px,63px)}.stars:after{opacity:.16;background-size:97px 97px;transform:translate(-53px,21px)}.aurora{opacity:.14;filter:blur(100px);border-radius:50%;width:55vw;height:55vw;position:absolute}.aurora-warm{background:#c47d4e;bottom:-38vw;left:-20vw}.aurora-cool{background:var(--color-cool);top:-35vw;right:-25vw}.orbit{z-index:0;opacity:1;pointer-events:none;border:1px solid #e5bd8730;border-radius:50%;width:58vw;height:58vw;transition:opacity .5s;position:fixed;top:50%;left:59%;transform:translate(-50%,-50%)rotateX(66deg)rotate(-20deg)}.orbit-secondary{border-color:#9faed31c;width:76vw;height:76vw;transform:translate(-50%,-50%)rotateX(74deg)rotate(40deg)}body.grid-layout .orbit{opacity:0}.topbar{z-index:5;top:var(--ui-edge-y);right:var(--ui-edge-x);left:var(--ui-edge-x);pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute}.brand{color:var(--color-cream);font:500 10px/1.12 var(--font-mono);letter-spacing:.18em;align-items:center;gap:12px;display:flex}.brand em{color:#b9ad9d;letter-spacing:.1em;font-size:8px;font-style:normal}.mark{align-items:center;gap:3px;width:21px;height:24px;display:flex;transform:rotate(18deg)}.mark i{background:var(--color-warm);border-radius:5px;width:3px;display:block}.mark i:first-child{height:10px}.mark i:nth-child(2){height:21px}.mark i:nth-child(3){height:14px}#status{color:#817e89;font:8px/1.4 var(--font-mono);letter-spacing:.08em;margin:7px 0 0 33px}.year{color:#817e89;font:10px var(--font-mono);letter-spacing:.12em;align-items:center;gap:10px;display:flex}.year i{background:#696673;width:70px;height:1px;display:block}.year .active{color:#ebc38c}.archive-label{color:#b9b2aa;font:9px var(--font-mono);letter-spacing:.12em}.archive-label span{color:#e6b87b;margin-left:4px;font-size:15px}.intro{z-index:2;pointer-events:none;width:300px;transition:opacity .5s;position:absolute;top:50%;left:8.2vw;transform:translateY(-50%)}.intro p{color:#d8aa75;font:9px var(--font-mono);letter-spacing:.16em;margin:0}.intro h1{letter-spacing:.05em;margin:16px 0 12px;font-size:32px;font-weight:500;line-height:1.42}.intro span{color:var(--color-faint);font:italic 15px var(--font-serif-en)}body.inside .intro{opacity:0}#menu{z-index:5;align-items:center;gap:10px;display:flex;position:absolute;bottom:31px;left:50%;transform:translate(-50%)}.is-hidden{display:none!important}.layout-switch{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#11152299;border:1px solid #d9c09c55;border-radius:99px;padding:4px;display:flex}#menu button{color:#b9b0a7;min-height:36px;font:9px var(--font-mono);letter-spacing:.1em;white-space:nowrap;background:0 0;border:0;border-radius:99px;padding:8px 13px}#menu .layout-switch button.active{color:#1e1a1a;background:#e6c08b}#menu .depth-button{color:#fff5e6;background:var(--color-warm-deep);min-height:44px;padding:12px 16px;box-shadow:0 6px 18px #0005}.depth-button span{color:#f6d2a2;margin-left:9px;font-size:14px}.help{z-index:4;color:#918b88;font:9px var(--font-mono);letter-spacing:.07em;pointer-events:none;align-items:center;gap:9px;display:flex;position:absolute;bottom:37px;right:35px}.mouse-icon{border:1px solid #8d8989;border-radius:7px;width:11px;height:17px;display:block}.mouse-icon:after{content:"";background:#d4b384;width:1px;height:4px;margin:3px auto;display:block}.element{width:var(--card-width);height:var(--card-height);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;position:relative}.memory-card{color:#fcf6ed;text-align:left;background:#353448;border:1px solid #f4e0bf45;border-radius:2px;transition:transform .35s,box-shadow .35s;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 30px #03050a77,0 0 0 5px #f4d8aa08}.element:hover .memory-card,.element:focus-visible .memory-card{z-index:5;transform:scale(1.1);box-shadow:0 25px 45px #020409aa,0 0 26px #f4bc7466}.element.is-selected{z-index:8}.memory-card.is-selected{border-color:#f3d49f;box-shadow:0 26px 56px #000b,0 0 0 5px #f6d7a724,0 0 38px #e7b47372}.memory-card img{object-fit:cover;opacity:.76;filter:saturate(.65)sepia(.12);pointer-events:none;width:100%;height:100%}.card-shade{background:linear-gradient(#070a122e,#080a1233 35%,#090a11db);position:absolute;inset:0}.memory-card.letter{background:linear-gradient(145deg,#48465b,#252839)}.memory-card.diary{background:linear-gradient(145deg,#4b4a5f,#2a2c3f)}.memory-card.diary .card-shade{background:linear-gradient(135deg,#0000,#1b2236aa),repeating-linear-gradient(0deg,#0000 0 22px,#f2d9af0b 23px)}.memory-card.photo{background:#584b4a}.memory-card.story{background:#9f6a45}.memory-card.film{background:#37576d}.memory-card.tone-peach{--card-accent:#f2c19c}.memory-card.tone-sea{--card-accent:#b7d2dc}.memory-card.tone-ochre{--card-accent:#e4bd88}.memory-card.tone-ink{--card-accent:#fae1b9}.card-top,.card-content{position:absolute;left:13px;right:13px}.card-top{color:var(--card-accent,#fae1b9);font:9px var(--font-mono);letter-spacing:.1em;justify-content:space-between;display:flex;top:12px}.card-content{bottom:13px}.card-content strong{letter-spacing:.05em;text-shadow:0 1px 7px #171110;margin-bottom:8px;font-size:17px;font-weight:500;display:block}.card-content small{color:#ebd9be;font:8px var(--font-mono);letter-spacing:.08em}.play{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11152233;border:1px solid #fff9;border-radius:50%;place-items:center;width:29px;height:29px;margin-bottom:15px;display:grid}.play svg{fill:#fff;stroke:#fff;width:13px}body.inside .memory-card{box-shadow:0 20px 45px #000a,0 0 35px #e7b4731e}#reader{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#05080f6b;justify-content:center;align-items:center;padding:40px 20px;animation:.4s both detail-backdrop;display:none;position:absolute;inset:0}#reader.is-open{display:flex}body.has-detail #container,body.has-detail .intro,body.has-detail #menu,body.has-detail .help{opacity:.38;filter:blur(2px);pointer-events:none}#paper{width:min(850px,100vw - 40px);max-height:calc(100svh - 80px);color:var(--color-ink);background:var(--color-paper);animation:reveal .45s var(--ease-cinematic);grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);display:grid;position:relative;overflow:auto;box-shadow:0 30px 110px #000c}#paper.no-media{width:min(680px,100vw - 40px);display:block}.detail-media{background:#33384a;min-height:420px;position:relative;overflow:hidden}.detail-media[hidden]{display:none}.detail-media img{object-fit:cover;filter:saturate(.7)sepia(.08);width:100%;height:100%;position:absolute;inset:0}.letter-art{color:#f6e8d0;background:repeating-linear-gradient(0deg,#0000 0 27px,#f3deb30a 28px),linear-gradient(135deg,#3d4056,#202433);flex-direction:column;justify-content:center;padding:52px;display:flex;position:absolute;inset:0}.letter-art[hidden]{display:none}.letter-art span{color:#d8b685;font:italic 18px var(--font-serif-en)}.letter-art b{letter-spacing:.08em;margin-top:9px;font-size:31px;font-weight:500}.letter-art i{background:#deb77d;width:45px;height:1px;margin-top:28px}.media-caption{color:#fff1db;font:8px var(--font-mono);letter-spacing:.13em;text-shadow:0 1px 8px #111;position:absolute;bottom:18px;left:20px}.detail-play{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#11152266;border:1px solid #fff9;border-radius:50%;place-items:center;width:58px;height:58px;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.detail-media.is-film .detail-play{display:grid}.detail-play svg{fill:#fff;width:24px}.detail-copy{align-self:center;padding:64px 56px}.detail-meta{color:#a16b45;font:10px var(--font-mono);letter-spacing:.13em;margin:0}#letterTitle{margin:17px 0;font-size:31px;font-weight:500}.detail-rule{background:#bc8d63;width:43px;height:1px;display:block}#detailExcerpt{margin:26px 0;font-size:20px;line-height:1.85}.detail-body{color:#736e67;gap:14px;font-size:13px;line-height:1.9;display:grid}.detail-body p{margin:0}.detail-body h3,.detail-body h4{color:#3b3a38;margin:10px 0 0;font-weight:500;line-height:1.5}.detail-body h3{font-size:18px}.detail-body h4{font-size:15px}.detail-figure{margin:4px 0}.detail-figure img,.detail-figure video{background:#33384a;width:100%;height:auto;display:block}.detail-figure figcaption{color:#8c8478;font:9px var(--font-mono);letter-spacing:.06em;margin-top:7px}.detail-loading,.detail-error{color:#8c8478;font-style:italic}#close{z-index:2;color:#fff;background:#16202b88;border:0;border-radius:50%;width:36px;height:36px;padding:0;font-size:23px;line-height:32px;position:absolute;top:12px;right:14px}@keyframes reveal{0%{opacity:0;transform:translateY(4%)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes detail-backdrop{0%{opacity:0}to{opacity:1}}@media (max-width:700px){:root{--card-width:120px;--card-height:156px;--ui-edge-x:19px;--ui-edge-y:20px}.year,.archive-label,.help{display:none}.intro{width:280px;top:22%;left:25px;transform:none}.intro h1{font-size:25px}.orbit{width:110vw;height:110vw;top:57%;left:51%}#menu{bottom:max(20px, env(safe-area-inset-bottom));justify-content:center;width:calc(100% - 24px)}#menu button{min-height:44px;padding:9px 12px}#reader{padding:max(20px, env(safe-area-inset-top)) 12px max(20px, env(safe-area-inset-bottom))}#paper,#paper.no-media{width:100%;max-height:calc(100svh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:block}.detail-media{height:260px;min-height:0}.detail-copy{padding:32px 28px}#letterTitle{font-size:27px}#detailExcerpt{font-size:18px}#close{width:44px;height:44px;line-height:39px}}@media (pointer:coarse){.element:hover .memory-card{transform:none}.layout-switch,.play,.detail-play{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
