:root{--paper:#f6efe4;--paper-2:#ede2d2;--surface:#fffdf8;--ink:#1f1a16;--ink-70:#4b4138;--ink-45:#7c6e60;--ink-30:#a09484;--line:#d8cbb8;--accent:#a54a35;--accent-2:#6e7a58;--accent-soft:#efe1da;--rose:#c57c84;--gold:#93724c;--espresso:#241b16;--wash1:#a54a351a;--wash2:#6e7a581a;--radius:4px;--ease:cubic-bezier(.22, 1, .36, 1);--serif:var(--font-serif-sc), "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", Georgia, serif;--sans:"PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--display:var(--font-display), "Cormorant Garamond", "EB Garamond", Baskerville, Georgia, "Times New Roman", serif;--script:var(--font-script), "Caveat", "Segoe Script", cursive}html[data-season=spring]{--accent:#b5576d;--accent-soft:#f3e0e2;--accent-2:#6e7a58;--wash1:#b5576d1a;--wash2:#6e7a581a}html[data-season=summer]{--accent:#336e7e;--accent-soft:#dfeaec;--accent-2:#6e7a58;--wash1:#336e7e1a;--wash2:#6e7a581a}html[data-season=autumn]{--accent:#a54a35;--accent-soft:#f0e2da;--accent-2:#6e7a58;--wash1:#a54a351a;--wash2:#6e7a581a}html[data-season=winter]{--accent:#5c6d85;--accent-soft:#e2e7ed;--accent-2:#6e7a58;--wash1:#5c6d851a;--wash2:#6e7a581a}html[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#15110e;--paper-2:#1e1813;--surface:#221b15;--ink:#f1e7d9;--ink-70:#cdbfae;--ink-45:#9c8e7d;--ink-30:#7a6e60;--line:#3a2f26;--accent-soft:#3a2a23;--wash1:#a54a3529;--wash2:#96785a1a}body{font-family:var(--serif);background-image:none;font-size:16px;line-height:1.85}body,p,li{font-size:max(15px,1em)}input,button,textarea,select,label,.dnav,.tabbar,.section-meta,.chip,.tag,.brand,.quicknote-label{font-family:var(--sans)}.atmos,.scene-photo,.scene,.scene-layer,.page-ornament,.doodle,.shape{display:none!important}.grain{opacity:.03}.vignette{background:radial-gradient(130% 100% at 50% 42%,#0000 74%,#1f1a1608 100%)}.section-head{border-bottom:1px solid var(--ink);border-radius:0;flex-wrap:wrap;align-items:baseline;gap:10px 24px;margin-bottom:clamp(28px,4vw,48px);padding-bottom:16px;background:0 0!important;animation:none!important}.section-title{font-family:var(--serif);letter-spacing:.01em;color:var(--ink);text-shadow:none;margin:0;font-size:clamp(44px,7vw,88px);font-weight:600;line-height:1.06}.section-title:before,.section-title:after{content:none!important}.section-head:after{font-family:var(--serif);letter-spacing:.06em;color:var(--ink-45);flex-basis:100%;margin-top:10px;font-size:14px;line-height:1.7}.section-meta{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);border:0;border-radius:0;margin-left:auto;padding:0;font-size:10px}html[data-page=videos] .section-head{color:var(--ink);border-radius:0;padding:0 0 16px;background:0 0!important}html[data-page=videos] .section-title{color:var(--ink)}html[data-page=videos] .section-meta{color:var(--accent)}main.section{max-width:1440px;padding-top:clamp(120px,15vh,190px)!important}.card,.tl-card,.mood-card,.wh-chip,.note,.anniv-row,.today-cell,.milestone,.strip-cell,.checkin-row,.game-card,.chat-shell{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;border-radius:4px;padding:28px}.card:hover,.tl-card:hover{border-color:var(--line);transform:translateY(-2px);box-shadow:0 30px 60px -40px #1f1a1673}button,.btn-primary,.btn,.quicknote-btn{font-family:var(--sans);letter-spacing:.16em;border-radius:2px}.btn-primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink);height:44px;padding:0 22px;font-size:12px}.btn-primary:hover{background:var(--accent);border-color:var(--accent);transform:none}input,textarea,select{font-family:var(--sans);border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0;border-radius:0;padding:8px 2px;font-size:16px}input:focus,textarea:focus,select:focus{border-bottom-color:var(--accent);box-shadow:none;outline:none}input::placeholder,textarea::placeholder{color:var(--ink-45)}.site-header{background:linear-gradient(to bottom, var(--paper) 62%, color-mix(in srgb, var(--paper) 0%, transparent));border-bottom:1px solid var(--line);-webkit-backdrop-filter:none}.brand{font-family:var(--sans);letter-spacing:.28em;font-size:12px}.dnav{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;align-items:center;gap:clamp(16px,2vw,30px);padding:4px 0}.dnav a,.dnav-trigger{font-family:var(--sans);letter-spacing:.18em;color:var(--ink-70);background:0 0;border-radius:0;font-size:12px}.dnav a:hover,.dnav-trigger:hover,.dnav-group:hover .dnav-trigger,.dnav-group:focus-within .dnav-trigger{color:var(--ink);background:0 0}.dnav a.is-active,.dnav-group.is-active .dnav-trigger{color:var(--accent);box-shadow:inset 0 -1px 0 var(--accent);background:0 0}.dnav .dnav-admin{color:var(--gold)}.dnav-logout{font-family:var(--sans);letter-spacing:.16em;color:var(--ink-45);background:0 0;border-radius:0;font-size:11px}.dnav-pop{background:var(--surface);border:1px solid var(--line);-webkit-backdrop-filter:none;border-radius:4px;box-shadow:0 30px 60px -40px #1f1a1673}.dnav-pop a{letter-spacing:.12em;border-radius:0;font-size:12px}.dnav-pop a:hover{background:var(--accent-soft);color:var(--ink)}.dnav-pop a.is-active{color:var(--accent);background:0 0}.season-dock{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 84%, transparent);-webkit-backdrop-filter:none;width:36px;box-shadow:none;border-radius:3px;flex-direction:column;gap:0;padding:8px 4px;inset:50% 8px auto auto;transform:translateY(-50%)}.season-dock button,.dock-night{width:100%;height:auto;font-family:var(--sans);letter-spacing:.12em;color:var(--ink-45);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:0;padding:6px 0;font-size:11px}.season-dock button:hover,.dock-night:hover{color:var(--ink);transform:none}.season-dock button.is-active{color:var(--accent);background:0 0;transform:none}.dock-night.is-night{color:var(--accent);background:0 0}.dock-sep{background:var(--line);align-self:center;width:100%;height:1px;margin:4px 0}.dock-toggle{display:none}.dock-body{flex-direction:column;width:100%;display:flex}.tabbar{background:var(--paper);border:0;border-top:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:none;padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));border-radius:0;bottom:0;left:0;right:0}.tabbar a,.tabbar button{letter-spacing:.06em;color:var(--ink-45);border-radius:0;font-size:10px}.tabbar svg{width:19px;height:19px}.tabbar a.is-active,.tabbar button.is-active{color:var(--accent)}.footer{background:var(--espresso);border-top:1px solid #93724c73}.footer:before{background:linear-gradient(90deg, transparent, var(--gold), transparent)}.footer-mark{color:var(--paper);-webkit-text-fill-color:var(--paper);font-family:var(--serif);letter-spacing:.06em;background:0 0;font-size:40px}.footer-line{font-family:var(--serif);color:color-mix(in srgb, var(--paper) 58%, transparent)}.footer-links a{font-family:var(--sans);letter-spacing:.14em;color:color-mix(in srgb, var(--paper) 68%, transparent);font-size:12px}.footer-links a:hover{color:var(--gold)}.footer-meta{font-family:var(--sans);color:color-mix(in srgb, var(--paper) 42%, transparent);font-size:10px}.quicknote{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:none;border-radius:4px;padding:10px 14px 10px 20px}.quicknote input{font-size:16px}.quicknote-btn{border-radius:2px}.v3-cover{z-index:2;flex-direction:column;min-height:100svh;padding:clamp(96px,12vh,140px) clamp(24px,4vw,64px) 0;display:flex;position:relative}.v3-cover-meta{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-45);width:100%;max-width:1440px;margin:0 auto clamp(28px,4vh,48px);font-size:11px}.v3-cover-inner{flex:1;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:24px;width:100%;max-width:1440px;margin:0 auto;display:grid}.v3-cover-type{z-index:1;grid-column:1/8;position:relative}.v3-kicker{font-family:var(--serif);letter-spacing:.3em;color:var(--ink-45);margin:0 0 8px;font-size:15px}.v3-day{font-family:var(--display);letter-spacing:-.05em;font-variant-numeric:lining-nums;color:var(--ink);z-index:1;margin:0 0 6px;font-size:clamp(140px,20vw,300px);font-weight:500;line-height:.72;position:relative}.v3-day em{letter-spacing:.05em;color:var(--ink-70);margin-left:12px;font-size:.22em;font-style:normal}.v3-names{font-family:var(--serif);letter-spacing:.12em;color:var(--ink);margin:0 0 18px;font-size:clamp(18px,2vw,26px);font-weight:600}.v3-quote{font-family:var(--serif);color:var(--ink-70);max-width:42ch;margin:0 0 4px;font-size:17px;line-height:1.85}.v3-quote cite{font-style:normal;font-family:var(--script);color:var(--accent);margin-left:8px;font-size:15px}.v3-tagline{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-45);margin:14px 0 26px;font-size:12px}.v3-note{font-family:var(--serif);letter-spacing:.04em;color:var(--accent);margin:-12px 0 20px;font-size:13px}.v3-cta{font-family:var(--sans);letter-spacing:.18em;color:var(--paper);background:var(--ink);transition:background .3s var(--ease), transform .3s var(--ease);border-radius:2px;padding:14px 26px;font-size:12px;display:inline-block}.v3-cta:hover{background:var(--accent);transform:translateY(-1px)}.v3-plate{z-index:2;background:var(--surface);border:1px solid var(--line);grid-column:8/13;margin:0 0 0 -2vw;padding:10px;position:relative;box-shadow:0 50px 90px -60px #1f1a1680}.v3-plate>img{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.v3-plate figcaption{z-index:2;font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45);justify-content:space-between;gap:12px;padding:12px 4px 2px;font-size:10px;display:flex;position:relative}.v3-polaroid{background:var(--surface);border:1px solid var(--line);z-index:3;width:120px;padding:8px 8px 24px;position:absolute;bottom:56px;right:18px;transform:rotate(-3deg);box-shadow:0 26px 50px -24px #1f1a168c}.v3-polaroid img{aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;width:100%;display:block}.v3-polaroid-cap{text-align:center;font-family:var(--script);color:var(--ink-70);margin-top:8px;font-size:11px;line-height:1;display:block}.v3-cover-strip{border-top:1px solid var(--ink);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:1440px;margin:0 auto;padding:18px 0 22px;display:grid}.v3-strip-cell{background:0 0;border:0;flex-direction:column;gap:6px;padding:0 24px;display:flex}.v3-strip-cell+.v3-strip-cell{border-left:1px solid var(--line)}.v3-strip-label{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px}.v3-strip-value{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);font-size:16px}.v3-strip-value i{color:var(--ink-45);margin:0 5px;font-style:normal}.v3-contents{max-width:1440px;margin:0 auto;padding:clamp(64px,8vw,96px) clamp(24px,4vw,64px)}.v3-contents-head{justify-content:space-between;align-items:baseline;margin-bottom:40px;display:flex}.v3-contents-head span{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-size:10px}.v3-toc{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;margin:0;padding:0;list-style:none;display:grid}.v3-toc a{border-top:1px solid var(--line);align-items:baseline;gap:14px;padding:20px 0;display:flex}.v3-toc-num{font-family:var(--sans);letter-spacing:.1em;color:var(--accent);flex:none;font-size:11px}.v3-toc-cn{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);transition:color .35s var(--ease), transform .35s var(--ease);font-size:18px}.v3-toc-en{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-45);margin-left:auto;font-size:10px}.v3-toc a:hover .v3-toc-cn{color:var(--accent);transform:translate(4px)}@media (max-width:720px){.v3-cover{min-height:auto;padding:84px 0 0}.v3-cover-meta{letter-spacing:.22em;margin-bottom:24px;padding:0 20px;font-size:10px}.v3-cover-inner{flex:none;padding:0;display:block}.v3-cover-type{padding:0 20px}.v3-kicker{margin-bottom:6px;font-size:13px}.v3-day{margin-bottom:4px;font-size:clamp(120px,40vw,180px);line-height:.78}.v3-names{margin-bottom:14px;font-size:20px}.v3-quote{font-size:15px}.v3-tagline{margin:12px 0 20px}.v3-note{margin:-8px 0 16px}.v3-plate{border-left:0;border-right:0;border-radius:0;grid-column:auto;width:100vw;margin:28px 0 0;padding:0;box-shadow:0 30px 60px -40px #1f1a1680}.v3-plate>img{aspect-ratio:auto;object-fit:cover;height:27vh;min-height:200px}.v3-plate figcaption{padding:10px 20px 12px}.v3-polaroid{width:92px;padding:6px 6px 16px;bottom:44px;right:14px}.v3-polaroid-cap{margin-top:6px;font-size:11px}.v3-cover-strip{grid-template-columns:1fr;padding:0 0 86px}.v3-strip-cell{padding:14px 20px}.v3-strip-cell+.v3-strip-cell{border-left:0;border-top:1px solid var(--line)}.v3-contents{padding:56px 20px 72px}.v3-contents-head{margin-bottom:28px}.v3-contents-head h2{font-size:32px}.v3-toc{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.v3-toc a{gap:10px;padding:16px 0}.v3-toc-cn{font-size:16px}.v3-toc-en{display:none}.season-dock{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);border-radius:3px;flex-direction:column;width:auto;padding:0;inset:94px 12px auto auto;transform:none}.dock-toggle{letter-spacing:.14em;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:inline-flex}.dock-toggle span{color:var(--ink-45);font-size:10px}.dock-body{display:none}.season-dock.is-open .dock-body{flex-direction:row;padding:0 6px 6px;display:flex}.season-dock .dock-toggle{width:auto}.season-dock .dock-body button,.season-dock .dock-body .dock-night{text-align:left;width:auto;padding:4px 7px}.season-dock .dock-body .dock-sep{width:1px;height:12px;margin:0 4px}}html[data-theme=night] .footer{background:var(--espresso)}@keyframes v3Rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.tl-item,.reveal.is-in{animation-duration:.9s;animation-timing-function:var(--ease);animation-name:v3Rise!important;animation-fill-mode:both!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.tl-item,.reveal,.reveal.is-in{opacity:1!important;animation:none!important;transform:none!important}}#contents{scroll-margin-top:90px}@media (max-width:720px){body{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}}html[data-page=home] .particles{opacity:.32}.v3-upload{text-align:right;margin:-18px 0 32px}.v3-upload summary{cursor:pointer;font-family:var(--sans);letter-spacing:.16em;color:var(--ink-70);border-bottom:1px solid var(--ink);padding-bottom:3px;font-size:12px;list-style:none;display:inline-block}.v3-upload summary::-webkit-details-marker{display:none}.v3-upload[open] summary{color:var(--accent);border-bottom-color:var(--accent)}.v3-upload .upload-form{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:4px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;max-width:none;margin-top:16px;margin-bottom:0;padding:14px 18px;display:flex}.v3-upload .upload-drop{flex:1;min-width:220px}.v3-upload .upload-drop span{font-family:var(--sans);letter-spacing:.04em;text-align:left;background:0 0;border-radius:2px;padding:12px 16px;font-size:13px}.v3-upload .btn-primary{height:40px}.v3-album-hero{width:100vw;height:68vh;margin-bottom:48px;margin-left:calc(50% - 50vw);position:relative;overflow:hidden}.v3-album-hero>img{object-fit:cover;width:100%;height:100%;display:block}.v3-album-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000 64%,#1f1a1661);position:absolute;inset:0}.v3-album-hero figcaption{z-index:2;color:var(--paper);text-shadow:0 1px 12px #0009;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:absolute;bottom:24px;left:32px;right:32px}.v3-hero-badge{z-index:2}.v3-hero-plate{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;font-size:11px}.v3-hero-caption{font-family:var(--serif);letter-spacing:.06em;font-size:15px}.v3-hero-badge{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--paper);text-shadow:0 1px 8px #00000080;border:1px solid #ffffff80;padding:4px 10px;font-size:10px;position:absolute;top:20px;right:24px}.v3-album-group{margin:0 0 clamp(34px,5vw,58px)}.v3-album-month{border-bottom:1px solid var(--line);font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-70);align-items:baseline;gap:14px;margin:0 0 20px;padding-bottom:10px;font-size:11px;display:flex}.v3-album-month span{letter-spacing:.2em;color:var(--ink-45);margin-left:auto;font-size:10px}.v3-album-wall .album-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;display:grid}.v3-album-wall .photo{aspect-ratio:auto;break-inside:auto;background:var(--surface);border:1px solid var(--line);border-radius:0;margin:0;padding:10px 10px 38px;overflow:visible;transform:none;box-shadow:0 18px 40px -28px #1f1a1680}.v3-album-wall .photo:nth-child(6n+1){aspect-ratio:auto;grid-area:auto}.v3-album-wall .photo:nth-child(3n+1){transform:rotate(-1.2deg)}.v3-album-wall .photo:nth-child(3n+2){transform:rotate(.8deg)}.v3-album-wall .photo:nth-child(3n+3){transform:none}.v3-album-wall .photo img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;transition:none}.v3-album-wall .photo:hover img{transform:none}.v3-album-wall .photo figcaption{color:var(--ink-70);font-family:var(--script);letter-spacing:.02em;text-align:center;background:0 0;padding:14px 0 0;font-size:17px;position:static}.v3-album-wall .photo-del{top:12px;right:12px}.lightbox{-webkit-backdrop-filter:none;background:#0c0907f0}.lb-img,.lb-thumbs button{border-radius:2px}@media (max-width:720px){.v3-album-hero{height:56vh;margin-bottom:32px}.v3-album-hero figcaption{bottom:16px;left:20px;right:20px}.v3-album-wall .album-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v3-album-wall .photo{padding:8px 8px 26px}.v3-album-wall .photo figcaption{font-size:15px}}.v3-chapter-head{max-width:1440px;margin:0 auto clamp(40px,6vw,72px)}.v3-chapter-kicker{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;font-size:11px}.v3-chapter-title{font-family:var(--serif);letter-spacing:.01em;color:var(--ink);margin:0 0 20px;font-size:clamp(44px,7vw,88px);font-weight:600;line-height:1.06}.v3-chapter-lede{font-family:var(--serif);color:var(--ink-70);max-width:56ch;margin:0 0 12px;font-size:15px;line-height:1.85}.v3-chapter-meta{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-45);font-size:10px;display:block}.v3-chronicle{grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none;display:grid}.v3-year{border-top:1px solid var(--ink);font-family:var(--display);letter-spacing:-.03em;font-variant-numeric:lining-nums;color:var(--ink);grid-column:1/-1;margin:0;padding:40px 0 24px;font-size:clamp(96px,12vw,140px);font-weight:500;line-height:.9}.v3-entry{grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));gap:0 24px;padding:28px 0;display:grid;position:relative}.v3-entry-date{flex-direction:column;grid-column:1/3;align-items:flex-start;display:flex}.v3-entry-day{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:lining-nums;color:var(--ink);font-size:64px;font-weight:500;line-height:.9}.v3-entry-ym{font-family:var(--sans);letter-spacing:.16em;color:var(--ink-45);margin-top:8px;font-size:11px}.v3-entry-rule{grid-column:3/4;position:relative}.v3-entry-rule:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:-28px;left:50%;transform:translate(-50%)}.v3-entry-rule:after{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.v3-entry-body{grid-column:4/13;position:relative}.v3-entry-body h3{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);margin:0 0 10px;font-size:26px;font-weight:600}.v3-entry-body p{font-family:var(--serif);color:var(--ink-70);margin:0 0 16px;font-size:16px;line-height:1.9}.v3-entry-body img{background:var(--surface);border:1px solid var(--line);width:100%;max-width:420px;margin:4px 0 12px;padding:6px;box-shadow:0 16px 36px -28px #1f1a1680}.v3-entry-no{font-family:var(--sans);letter-spacing:.28em;color:var(--ink-45);text-align:right;margin-top:10px;font-size:10px;display:block}.v3-seal{font-family:var(--sans);letter-spacing:.32em;color:var(--accent);border:1px solid var(--accent);pointer-events:none;border-radius:2px;padding:6px 10px;font-size:10px;position:absolute;top:0;right:0;transform:rotate(-7deg)}@media (max-width:720px){.v3-entry{grid-template-columns:1fr;gap:0;padding:24px 0}.v3-entry-date{flex-direction:row;grid-column:auto;align-items:baseline;gap:10px;margin-bottom:12px}.v3-entry-day{font-size:44px}.v3-entry-rule{display:none}.v3-entry-body{grid-column:auto}.v3-entry-body h3{font-size:22px}.v3-year{padding:28px 0 18px;font-size:64px}}.v3-album-wall .album-wall>.photo:only-child{grid-column:1/-1;width:min(420px,80%);margin:0 auto}.section-head.v3-subhead{border-bottom:1px solid var(--line);margin-top:clamp(48px,6vw,80px);margin-bottom:28px;padding-bottom:12px}.v3-subhead .section-title{font-size:clamp(28px,3.4vw,46px);font-weight:600}.v3-subhead .section-meta{color:var(--ink-45)}.v3-subhead:after{content:none!important}.chat-shell{background:var(--surface);border:1px solid var(--line);max-width:1000px;box-shadow:none;-webkit-backdrop-filter:none;border-radius:0;margin:0 auto;padding:0;overflow:hidden}.chat-status{text-align:left;border-bottom:1px solid var(--line);justify-content:flex-start;padding:18px 28px}.chat-list{height:auto;min-height:46vh;max-height:62vh;padding:28px 28px 8px}.chat-row{align-items:flex-end;gap:10px;margin:0 0 16px}.chat-row.is-mine{flex-direction:row;justify-content:flex-end}.chat-bubble{background:var(--paper);border:1px solid var(--line);max-width:72%;color:var(--ink);border-radius:2px;padding:12px 16px;position:relative}.chat-bubble p{color:inherit;font-size:15px;line-height:1.7}.chat-bubble span{opacity:.6;color:var(--ink-45);text-align:right;font-size:10px}.chat-row.is-mine .chat-bubble{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chat-row.is-mine .chat-bubble span{color:color-mix(in srgb, var(--paper) 70%, transparent)}.chat-row:not(.is-mine) .chat-bubble:before,.chat-row.is-mine .chat-bubble:after{content:none}.chat-day{text-align:center;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:100%;font-family:var(--sans);letter-spacing:.28em;color:var(--ink-45);background:0 0;border-radius:0;align-self:center;margin:18px 0;padding:8px 0;font-size:10px}.chat-composer{border-top:1px solid var(--line);background:var(--surface);padding:16px 28px}.chat-composer input{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:10px 2px;font-size:16px}.chat-composer input:focus{border-color:var(--accent);box-shadow:none}.chat-send{background:var(--accent);color:#fff;border-radius:50%;width:40px;height:40px}.chat-send:hover{background:var(--ink);transform:none}html[data-theme=night] .chat-shell{background:var(--surface);border-color:var(--line)}html[data-theme=night] .chat-bubble{background:var(--paper);border-color:var(--line);color:var(--ink)}html[data-theme=night] .chat-row.is-mine .chat-bubble{background:var(--ink);border-color:var(--ink);color:var(--paper)}html[data-theme=night] .chat-composer{background:var(--surface)}html[data-theme=night] .chat-composer input{border:0;border-bottom:1px solid var(--line);color:var(--ink);background:0 0}.game-card{border:1px solid var(--line);background:var(--surface);max-width:1000px;box-shadow:none;-webkit-backdrop-filter:none;border-radius:0;margin:0 auto;padding:36px}.game-question{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);margin:14px 0 18px;font-size:26px;font-weight:600;line-height:1.5}.game-form input{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:10px 2px;font-size:16px}.game-form input:focus{border-color:var(--accent);box-shadow:none}.game-answer{border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:baseline;gap:14px;padding:12px 0;display:flex}.game-answer em{font-family:var(--sans);letter-spacing:.2em;color:var(--accent);flex:none;width:2.5em;font-size:11px}.game-answer span{font-family:var(--serif);color:var(--ink);font-size:15px}.v3-count{border-bottom:1px solid var(--ink);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:0 24px;margin-bottom:clamp(24px,4vw,48px);padding-bottom:clamp(32px,5vw,56px);display:grid}.v3-count-label{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);grid-column:1/13;margin:0 0 16px;font-size:11px}.v3-count-num{font-family:var(--display);letter-spacing:-.04em;font-variant-numeric:lining-nums;color:var(--ink);grid-column:1/9;margin:0;font-size:clamp(120px,20vw,280px);font-weight:500;line-height:.78}.v3-count-num em{letter-spacing:.05em;color:var(--ink-70);margin-left:12px;font-size:.18em;font-style:normal}.v3-today{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);font-size:clamp(40px,6vw,88px);font-weight:600}.v3-count-meta{grid-column:9/13;padding-bottom:18px}.v3-count-meta h2{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);margin:0 0 8px;font-size:24px;font-weight:600}.v3-count-meta p{font-family:var(--serif);color:var(--ink-45);margin:0;font-size:14px;line-height:1.8}.v3-ledger{margin:0;padding:0;list-style:none}.v3-ledger li{border-top:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:0 24px;padding:24px 0;display:grid}.v3-ledger-num{font-family:var(--display);letter-spacing:-.02em;font-variant-numeric:lining-nums;color:var(--ink);grid-column:1/3;font-size:64px;font-weight:500;line-height:.9}.v3-ledger-body{grid-column:3/9}.v3-ledger-body h3{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);transition:color .3s var(--ease);margin:0 0 4px;font-size:18px;font-weight:600}.v3-ledger-body p{font-family:var(--sans);letter-spacing:.12em;color:var(--ink-45);margin:0;font-size:11px}.v3-ledger li:hover .v3-ledger-body h3{color:var(--accent)}.v3-ledger-note{font-family:var(--serif);color:var(--ink-45);text-align:right;grid-column:9/13;font-size:13px}@media (max-width:720px){.v3-count-num{grid-column:1/-1;font-size:120px}.v3-count-meta{grid-column:1/-1;padding:8px 0 0}.v3-ledger li{grid-template-columns:1fr;gap:8px}.v3-ledger-num{grid-column:auto;font-size:48px}.v3-ledger-body{grid-column:auto}.v3-ledger-note{text-align:left;grid-column:auto}}.v3-login{grid-template-columns:58fr 42fr;min-height:100svh;display:grid}.v3-login-art{position:relative;overflow:hidden}.v3-login-art>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.v3-login-art:after{content:"";background:linear-gradient(to bottom, color-mix(in srgb, var(--espresso) 35%, transparent), color-mix(in srgb, var(--espresso) 75%, transparent));position:absolute;inset:0}.v3-login-quote{z-index:2;color:var(--paper);position:absolute;bottom:clamp(32px,6vh,72px);left:clamp(24px,5vw,64px)}.v3-login-quote p{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;opacity:.8;margin:0 0 14px;font-size:11px}.v3-login-quote h1{font-family:var(--serif);letter-spacing:.02em;margin:0 0 18px;font-size:clamp(56px,6vw,96px);font-weight:600;line-height:1.08}.v3-login-quote p:last-child{font-family:var(--serif);letter-spacing:.06em;text-transform:none;opacity:.75;margin:0;font-size:14px}.v3-login-panel{background:var(--paper);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(40px,8vw,96px);display:flex}.v3-login-eyebrow{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;font-size:11px}.v3-login-title{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);margin:0 0 12px;font-size:40px;font-weight:600}.v3-login-sub{font-family:var(--serif);color:var(--ink-45);margin:0 0 36px;font-size:14px}.v3-login-form{width:100%;max-width:360px}.v3-login-form .field{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.v3-login-form .field span{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-45);font-size:12px}.v3-login-form .field input{padding:10px 0;font-size:16px}.v3-login input,.v3-login input:focus{border:0;border-bottom:1px solid var(--line);box-shadow:none;color:var(--ink);background:0 0;border-radius:0;padding:10px 0;font-size:16px}.v3-login input:focus{border-bottom-color:var(--accent);outline:none}.v3-login-form .btn-primary{width:100%;margin-top:8px}.v3-login-foot{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-45);margin:28px 0 0;font-size:10px}@media (max-width:720px){.v3-login{grid-template-rows:38vh auto;grid-template-columns:1fr}.v3-login-panel{text-align:center;align-items:center;padding:40px 22px 56px}.v3-login-form{text-align:left}}html[data-page=login] .season-dock{display:none}html,body{overflow-x:clip}.particles{opacity:.55}html[data-theme=night] .dnav a.is-active,html[data-theme=night] .dnav-group.is-active .dnav-trigger{box-shadow:inset 0 -1px 0 var(--accent);color:var(--accent);background:0 0!important}@media (max-width:720px){main.section{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}.chat-shell{margin-bottom:18px}}.tabbar{transition:transform .4s var(--ease)}.tabbar.is-hidden{pointer-events:none;transform:translateY(110%)}.page-fade{animation:.45s both v3PageFade!important}@keyframes v3PageFade{0%{opacity:0}to{opacity:1}}.intro{z-index:300!important}.checkin-hero .checkin-stamp{--seal:color-mix(in srgb, var(--accent) 72%, var(--ink));border-color:var(--seal);color:var(--seal)}.checkin-hero .checkin-stamp__ring{color:inherit}.checkin-hero .checkin-stamp__date{color:color-mix(in srgb, var(--seal) 55%, var(--ink-45))}.checkin-burst{z-index:3}html[data-theme=night] .v3-login input,html[data-theme=night] .v3-login input:focus{color:var(--ink);border:0!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;background:0 0!important;border-radius:0!important}html[data-theme=night] .v3-login input:focus{border-bottom-color:var(--accent)!important}html[data-page=login] .festival-card{display:none}@media (max-width:720px){.v3-chat-page{padding-top:92px!important}.v3-chat-page .section-head{margin-bottom:16px}.v3-chat-page .section-title{font-size:40px}.v3-chat-page .section-head:after{display:none}.v3-chat-page .chat-shell{height:calc(100dvh - 280px - env(safe-area-inset-bottom,0px));flex-direction:column;min-height:420px;max-height:none;display:flex}.v3-chat-page .chat-status{flex:none}.v3-chat-page .chat-list{flex:auto;height:auto;min-height:0;max-height:none;padding-bottom:20px;overflow-y:auto}.v3-chat-page .chat-composer{flex:none}.v3-contents{padding-bottom:96px}.v3-album .v3-edition{display:none}.v3-album .v3-upload{margin-bottom:12px}.v3-album .v3-spread{margin-top:20px}.v3-album .v3-rule{margin-bottom:24px}}.v3-edition{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-45);margin:0 0 28px;font-size:9px}.v3-rule{color:var(--gold);align-items:center;gap:14px;margin:28px 0;display:flex}.v3-rule:before,.v3-rule:after{content:"";background:color-mix(in srgb, var(--gold) 50%, transparent);flex:1;height:1px}.v3-rule span{color:var(--gold);font-size:11px;line-height:1}.v3-spread{background:var(--espresso);color:#f1e7d9;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(28px,5vw,72px);width:100vw;margin-top:44px;margin-left:calc(50% - 50vw);padding:clamp(40px,6vw,80px) clamp(24px,6vw,96px);display:grid;position:relative;overflow:hidden}.v3-spread:before{content:"";pointer-events:none;background:radial-gradient(900px 500px at 12% 0,#c4713f38,#0000 62%);position:absolute;inset:0}.v3-spread:after{content:"";pointer-events:none;background:#1f1a1608;position:absolute;inset:0}.v3-spread-frame{border:1px solid color-mix(in srgb, var(--gold) 60%, transparent);pointer-events:none;z-index:2;position:absolute;inset:14px}.v3-spread-frame:before{content:"";border:.5px solid color-mix(in srgb, var(--gold) 45%, transparent);position:absolute;inset:6px}.v3-orn{border:1px solid var(--gold);opacity:.7;width:26px;height:26px;position:absolute}.v3-orn.c1{top:-13px;left:-13px}.v3-orn.c2{top:-13px;right:-13px}.v3-orn.c3{bottom:-13px;left:-13px}.v3-orn.c4{bottom:-13px;right:-13px}.v3-ribbon{background:var(--rose);z-index:3;clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),50% 100%,0 calc(100% - 16px));width:18px;height:120px;position:absolute;top:0;left:clamp(32px,6vw,96px)}.v3-spread-plate{z-index:1;position:relative}.v3-spread-caption{font-family:var(--serif);color:#f6efe4db;max-width:34ch;margin:18px 0 0;font-size:clamp(18px,2vw,24px);line-height:1.7}.v3-spread-meta{font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;color:#f6efe46b;margin-top:10px;padding-top:12px;font-size:9px;position:relative}.v3-spread-meta:before{content:"";background:color-mix(in srgb, var(--gold) 45%, transparent);width:80px;height:1px;position:absolute;top:0;left:0}.v3-film{background:#0e0b09;margin:0;padding:18px 18px 12px;transform:rotate(-.6deg);box-shadow:0 50px 90px -50px #000000e6}.v3-film-holes{opacity:.75;background:repeating-linear-gradient(90deg,#f6efe4 0 7px,#0000 7px 20px);height:11px;margin:0 0 10px}.v3-film img+.v3-film-holes{margin:10px 0 0}.v3-film img{object-fit:cover;filter:saturate(.94)contrast(1.02);width:100%;height:auto;max-height:72vh;display:block}.v3-film figcaption{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#f6efe499;justify-content:space-between;gap:16px;margin-top:10px;font-size:10px;display:flex}.v3-spread-side{z-index:1;flex-direction:column;gap:22px;display:flex;position:relative}.v3-roll-head{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--rose);border-bottom:1px solid #f6efe438;justify-content:space-between;padding-bottom:12px;font-size:10px;display:flex}.v3-roll-note{font-family:var(--serif);color:#f6efe4eb;margin:0;font-size:clamp(18px,1.8vw,24px);line-height:1.8}.v3-roll-note-line{text-shadow:0 1px #00000080,0 -1px #ffffff0f;font-weight:600}.v3-roll-note em{font-family:var(--script);color:var(--rose);font-size:1.15em;font-style:normal}.v3-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:380px;display:grid}.v3-contact-frame{background:#0e0b09;border:1px solid #f6efe42e;margin:0;padding:7px 7px 5px}.v3-contact-frame img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.95);width:100%;display:block}.v3-contact-frame figcaption{font-family:var(--sans);letter-spacing:.18em;color:#f6efe480;justify-content:space-between;padding-top:5px;font-size:8px;display:flex}.v3-seal-group{align-self:flex-start;align-items:center;gap:14px;display:flex}.v3-seal{color:#f6efe4e6;width:56px;height:56px;font-family:var(--display);background:#7e2f2a;border-radius:50%;flex:none;place-items:center;font-size:26px;line-height:1;display:grid;position:relative;transform:rotate(-8deg);box-shadow:inset 0 0 0 1px #00000059,inset 0 0 0 3px #f6efe41f}.v3-seal:before{content:"";border:1px solid #f6efe447;border-radius:50%;position:absolute;inset:6px}.v3-seal-meta{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#f6efe48c;flex-direction:column;gap:4px;font-size:9px;display:flex}.v3-hand{font-family:var(--script);color:#f6efe49e;margin:0;font-size:22px;transform:rotate(-2deg)}.v3-archive{border-top:1px solid var(--line);margin-top:clamp(56px,7vw,96px);padding-top:28px}.v3-archive-head{justify-content:space-between;align-items:baseline;margin-bottom:0;display:flex}.v3-archive-head h2{font-family:var(--serif);color:var(--ink);margin:0;font-size:clamp(28px,3.4vw,46px);font-weight:600}.v3-archive-head span{font-family:var(--sans);letter-spacing:.3em;color:var(--accent);font-size:10px}.v3-roll{margin-top:40px}.v3-roll h3{font-family:var(--sans);letter-spacing:.2em;color:var(--ink-45);align-items:center;gap:14px;margin:0 0 18px;font-size:11px;font-weight:400;display:flex}.v3-roll h3:before,.v3-roll h3:after{content:"";background:color-mix(in srgb, var(--gold) 50%, transparent);flex:1;height:1px}.v3-roll h3 span{color:var(--accent);flex:none}.v3-roll h3 em{font-style:normal;font-family:var(--serif);letter-spacing:.06em;color:var(--ink-45);flex:none;font-size:12px}.v3-archive-wall .album-wall{counter-reset:frame;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:24px;display:grid}.v3-archive-wall .photo{background:var(--surface);border:1px solid var(--line);box-shadow:none;counter-increment:frame;border-radius:0;margin:0;padding:8px 8px 30px;position:relative;grid-area:auto!important;transform:none!important}.v3-archive-wall .photo:before{content:"FRAME " counter(frame, decimal-leading-zero);z-index:2;font-family:var(--sans);letter-spacing:.14em;color:var(--paper);background:#1f1a168c;padding:2px 6px;font-size:9px;position:absolute;top:12px;left:12px}.v3-archive-wall .photo img{aspect-ratio:4/5;object-fit:cover;border-radius:0;width:100%}.v3-archive-wall .photo figcaption{font-family:var(--script);color:var(--ink-70);text-align:center;padding:8px 2px 0;font-size:16px}.v3-archive-wall .photo:hover{border-color:var(--gold);box-shadow:0 16px 34px -26px #1f1a1680;transform:translateY(-2px)!important}.v3-archive-note{font-family:var(--script);color:var(--ink-45);margin-top:24px;font-size:22px}.v3-roll-single{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(28px,5vw,72px);display:grid}.v3-roll-single .v3-archive-wall .album-wall{grid-template-columns:1fr;max-width:420px}.v3-roll-empty{border-top:1px solid #93724c73;padding-top:20px}.v3-roll-empty span{font-family:var(--sans);letter-spacing:.3em;color:var(--accent);font-size:9px}.v3-roll-empty p{font-family:var(--serif);color:var(--ink-70);margin:18px 0 0;font-size:clamp(22px,2.6vw,34px);line-height:1.8}.v3-roll-empty em{font-family:var(--script);color:var(--accent);font-size:1.15em;font-style:normal}@media (max-width:720px){.v3-spread{grid-template-columns:1fr;gap:32px;padding:36px 20px 44px}.v3-film{padding:10px 10px 8px;transform:none}.v3-film img{max-height:56vh}.v3-contact{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.v3-seal-group{align-self:flex-end;align-items:flex-start}.v3-hand{font-size:19px}.v3-archive-wall .album-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.v3-ribbon{left:28px}.v3-seal-meta{letter-spacing:.12em;flex-wrap:wrap;max-width:120px;font-size:8px;line-height:1.6}.v3-roll-single{grid-template-columns:1fr;gap:24px}.v3-roll-single .v3-archive-wall .album-wall{max-width:100%}.v3-roll-empty{border-top:1px solid var(--line)}}html[data-page=album] .season-dock{display:none}.checkin-stamp-wrap{flex:none;position:relative}.checkin-stamp{z-index:2;border:2px solid var(--accent);background:var(--surface);width:96px;height:96px;box-shadow:inset 0 0 0 4px var(--surface), inset 0 0 0 5px color-mix(in srgb, var(--accent) 60%, transparent);font-family:var(--serif);color:var(--accent);border-radius:999px;align-content:center;place-items:center;display:grid;position:relative;transform:rotate(-8deg)}.checkin-stamp__ring{letter-spacing:.2em;font-size:15px;line-height:1}.checkin-stamp__date{font-family:var(--sans);letter-spacing:.12em;color:var(--ink-45);margin-top:2px;font-size:10px;line-height:1}.checkin-stamp.is-done{opacity:.95}.checkin-stamp.is-stamping{animation:.55s cubic-bezier(.2,1.6,.4,1) both stampDown}@keyframes stampDown{0%{opacity:0;transform:scale(1.8)rotate(4deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}.checkin-hero.just-now{animation:.45s .45s stampShake}@keyframes stampShake{0%,to{transform:translate(0)}20%{transform:translate(-2px)}40%{transform:translate(2px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.checkin-stamp__ripple{border:2px solid var(--accent);pointer-events:none;border-radius:999px;animation:.8s ease-out .25s both stampRipple;position:absolute;inset:-12px}@keyframes stampRipple{0%{opacity:.7;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.checkin-burst{pointer-events:none;width:0;height:0;position:absolute;top:50%;left:50%}.checkin-petal{background:var(--accent);opacity:0;width:8px;height:12px;transform:rotate(var(--a)) translateY(-10px);animation:petalBurst .9s var(--d) ease-out both;border-radius:999px;position:absolute;top:0;left:0}.checkin-petal:nth-child(2n){background:var(--rose)}@keyframes petalBurst{0%{transform:rotate(var(--a)) translateY(-10px) scale(1);opacity:1}to{transform:rotate(var(--a)) translateY(var(--burst,-76px)) scale(.4);opacity:0}}.cal-cell.is-today.is-on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--accent) 55%, transparent);animation:.6s ease-out both cellStamp}@keyframes cellStamp{0%{transform:scale(1.25)}to{transform:scale(1)}}@media (max-width:720px){.checkin-stamp{width:78px;height:78px}.checkin-petal{--burst:-58px}}@media (prefers-reduced-motion:reduce){.checkin-stamp.is-stamping,.checkin-hero.just-now,.checkin-petal,.checkin-stamp__ripple,.cal-cell.is-today.is-on{animation:none!important}}html[data-season=spring] .season-en:before{content:"SPRING"}html[data-season=summer] .season-en:before{content:"SUMMER"}html[data-season=autumn] .season-en:before{content:"AUTUMN"}html[data-season=winter] .season-en:before{content:"WINTER"}html[data-season=spring] .season-word:before{content:"春"}html[data-season=summer] .season-word:before{content:"夏"}html[data-season=autumn] .season-word:before{content:"秋"}html[data-season=winter] .season-word:before{content:"冬"}html[data-season=spring] .season-poem:before{content:"风一暖，花就开了。"}html[data-season=summer] .season-poem:before{content:"把日子过得亮一点。"}html[data-season=autumn] .season-poem:before{content:"光变得很慢。"}html[data-season=winter] .season-poem:before{content:"把话说轻一点。"}html[data-season=spring] .v3-contents-season-mark:before{content:"春"}html[data-season=summer] .v3-contents-season-mark:before{content:"夏"}html[data-season=autumn] .v3-contents-season-mark:before{content:"秋"}html[data-season=winter] .v3-contents-season-mark:before{content:"冬"}.season-en{font-family:var(--sans);letter-spacing:.24em;font-size:10px}.season-poem{font-family:var(--serif);color:var(--accent);font-size:16px}.v3-contents-head span{font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;color:inherit}.v3-contents{border-top:1px solid var(--line);max-width:1440px;margin:0 auto;padding:clamp(64px,8vw,112px) clamp(24px,4vw,64px);position:relative;overflow:hidden}.v3-contents-grid{z-index:1;grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:clamp(32px,5vw,72px);display:grid;position:relative}.v3-contents-plate{background:var(--surface);border:1px solid var(--line);margin:0;padding:10px;position:relative;transform:rotate(-.8deg);box-shadow:0 40px 70px -50px #1f1a1673}.v3-contents-plate>img{aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;width:100%;display:block}.v3-contents-plate figcaption{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-45);justify-content:space-between;gap:12px;padding:10px 2px 0;font-size:9px;display:flex}.v3-contents-photo-tag{z-index:2;font-family:var(--sans);color:var(--accent);background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);padding:5px 9px;font-size:10px;position:absolute;top:20px;left:20px}.v3-contents-body{min-width:0}.v3-contents-head{margin-bottom:28px;display:block}.v3-contents-kicker{font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin:0;font-size:10px}.v3-contents-head h2{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);margin:10px 0 12px;font-size:clamp(40px,4.6vw,58px);font-weight:600}.v3-contents-lede{font-family:var(--serif);color:var(--ink-70);margin:0;font-size:15px;line-height:1.8}.v3-contents-poem{font-family:var(--serif);color:var(--accent);border-left:1px solid var(--accent);margin:14px 0 0;padding-left:12px;font-size:17px}.v3-toc-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.v3-toc-group h3{border-bottom:1px solid var(--line);font-family:var(--sans);letter-spacing:.2em;color:var(--accent);justify-content:space-between;margin:0 0 4px;padding-bottom:8px;font-size:10px;display:flex}.v3-toc-group h3 em{color:var(--ink-45);font-size:8px;font-style:normal;font-weight:400}.v3-toc-group ol{margin:0;padding:0;list-style:none}.v3-toc-item{border-top:1px solid var(--line);color:inherit;transition:transform .3s var(--ease), color .3s var(--ease);grid-template-columns:24px minmax(0,1fr) auto;align-items:baseline;gap:9px;padding:11px 0;text-decoration:none;display:grid}.v3-toc-item:hover{transform:translate(2px)}.v3-toc-item:hover .v3-toc-title{color:var(--accent)}.v3-toc-num{font-family:var(--display);letter-spacing:.02em;color:var(--accent);font-size:18px;line-height:1}.v3-toc-text{min-width:0;display:block}.v3-toc-title{font-family:var(--serif);color:var(--ink);transition:color .3s var(--ease);align-items:baseline;gap:7px;font-size:16px;display:flex}.v3-toc-title em{font-style:normal;font-weight:400;font-family:var(--sans);letter-spacing:.14em;color:var(--ink-45);font-size:8px}.v3-toc-desc{font-family:var(--sans);color:var(--ink-45);text-wrap:pretty;margin-top:3px;font-size:11.5px;line-height:1.5;display:block}.v3-toc-tag{font-family:var(--sans);color:var(--accent);border:1px solid var(--line);white-space:nowrap;border-radius:99px;padding:1px 6px;font-size:9px}.v3-contents-foot{border-top:1px solid var(--line);font-family:var(--sans);color:var(--ink-45);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;margin-top:32px;padding-top:14px;font-size:11px;display:flex}.v3-contents-foot a{color:inherit;text-decoration:none}.v3-contents-foot a:first-child{color:var(--accent);letter-spacing:.12em}.v3-contents-foot a:first-child:hover{text-decoration:underline}.v3-contents-season-mark{z-index:0;font-family:var(--serif);color:var(--accent);opacity:.045;pointer-events:none;font-size:clamp(200px,26vw,380px);line-height:.8;position:absolute;bottom:2%;right:3%}@media (max-width:900px){.v3-contents-grid{grid-template-columns:1fr}.v3-contents-plate{max-width:420px;margin:0 auto}.v3-toc-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-contents-season-mark{font-size:clamp(140px,40vw,220px)}}@media (max-width:640px){.v3-contents{padding:56px 20px}.v3-contents-head h2{font-size:38px}.v3-toc-groups{grid-template-columns:1fr}.v3-contents-plate{max-width:none;margin:0}}.row-confirm,.photo-confirm{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.row-confirm span:first-child,.photo-confirm span:first-child{color:var(--ink-45);letter-spacing:.06em;font-size:10px}.row-error{color:#a54a35;flex-basis:100%;font-size:10px}@media (max-width:720px){.row-confirm .btn-mini,.photo-confirm .btn-mini{min-height:30px;padding:4px 9px}}
.page-fade{animation:none!important}html[data-season=spring]:not([data-theme=night]){--paper:#faf2ec;--paper-2:#f1e4de;--accent:#b5576d;--accent-2:#8fa77a;--accent-soft:#f4e1e5;--season-1:#f3d9df;--season-2:#e6c9b8;--season-ribbon:#d98a9a}html[data-season=summer]:not([data-theme=night]){--paper:#f8f2e6;--paper-2:#efe5d4;--accent:#2f7f96;--accent-2:#d9a441;--accent-soft:#dfeef0;--season-1:#d8edf0;--season-2:#f2e2b5;--season-ribbon:#e0a45a}html[data-season=autumn]:not([data-theme=night]){--paper:#f6efe4;--paper-2:#ede2d2;--accent:#a54a35;--accent-2:#6e7a58;--accent-soft:#f0e2da;--season-1:#f0dcc8;--season-2:#d9b98a;--season-ribbon:#c58a7a}html[data-season=winter]:not([data-theme=night]){--paper:#f1f2f2;--paper-2:#e6e9ec;--accent:#5c6d85;--accent-2:#b9c7d9;--accent-soft:#e4eaf1;--season-1:#dee7f0;--season-2:#cbd6e2;--season-ribbon:#a9b8cc}html[data-season=spring][data-theme=night]{--accent:#d98a9a;--paper:#1a1216;--paper-2:#231a1e;--surface:#261c20;--line:#3a2b2f;--season-1:#2e222a;--season-2:#2a221e;--season-ribbon:#a35a6a}html[data-season=summer][data-theme=night]{--accent:#6fb3c4;--paper:#10181a;--paper-2:#182124;--surface:#1c2528;--line:#2f3b3e;--season-1:#1e2a2e;--season-2:#2a2518;--season-ribbon:#8f6a3a}html[data-season=autumn][data-theme=night]{--accent:#c97a5a;--season-1:#2c231c;--season-2:#2a2118;--season-ribbon:#8a5a4a}html[data-season=winter][data-theme=night]{--accent:#8fa6c0;--paper:#11161c;--paper-2:#181e26;--surface:#1c232c;--line:#2c3540;--season-1:#20262f;--season-2:#1c232b;--season-ribbon:#6f7f93}.season-ambience{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.season-layer{opacity:0;transition:opacity .8s var(--ease);position:absolute;inset:0}html[data-season=spring] .season-layer--spring,html[data-season=summer] .season-layer--summer,html[data-season=autumn] .season-layer--autumn,html[data-season=winter] .season-layer--winter{opacity:1}.season-wash{background:radial-gradient(900px 620px at 18% 10%, var(--season-1), transparent 62%), radial-gradient(900px 620px at 82% 92%, var(--season-2), transparent 62%);opacity:.5;position:absolute;inset:0}html[data-theme=night] .season-wash{opacity:.2}.season-motif{width:22vw;color:var(--accent);opacity:.18;stroke-width:.8px;position:absolute;top:2%;left:0}html[data-theme=night] .season-motif{color:color-mix(in srgb, var(--accent) 70%, var(--paper));opacity:.1}html[data-festival] .season-ambience{display:none}.v3-cover-meta:after{content:"SPRING / 春";border-left:1px solid var(--line);color:var(--accent);font:10px var(--sans);letter-spacing:.2em;margin-left:16px;padding-left:12px}html[data-season=summer] .v3-cover-meta:after{content:"SUMMER / 夏"}html[data-season=autumn] .v3-cover-meta:after{content:"AUTUMN / 秋"}html[data-season=winter] .v3-cover-meta:after{content:"WINTER / 冬"}html[data-festival] .v3-cover-meta:after{display:none}@media (max-width:720px){.v3-cover-meta:after{display:none}}.particles{opacity:.75;z-index:1}html[data-page=home] .particles{opacity:.65}html[data-festival] .particles{opacity:.25}.v3-contents,.footer,.quicknote,.v3-login{z-index:2;position:relative}.v3-ribbon{background:var(--season-ribbon)}html[data-season=spring] .v3-film img,html[data-season=spring] .v3-contact-frame img,html[data-season=spring] .v3-archive-wall .photo img{filter:saturate(1.03)sepia(.05)}html[data-season=summer] .v3-film img,html[data-season=summer] .v3-contact-frame img,html[data-season=summer] .v3-archive-wall .photo img{filter:saturate(.94)}html[data-season=autumn] .v3-film img,html[data-season=autumn] .v3-contact-frame img,html[data-season=autumn] .v3-archive-wall .photo img{filter:saturate(1.06)sepia(.08)}html[data-season=winter] .v3-film img,html[data-season=winter] .v3-contact-frame img,html[data-season=winter] .v3-archive-wall .photo img{filter:saturate(.85)}.season-flash{z-index:250;pointer-events:none;animation:seasonFlashFade 1s var(--ease) both;place-items:center;display:grid;position:fixed;inset:0}.season-flash.is-spring{background:linear-gradient(135deg,#f3d9df,#faf2ec)}.season-flash.is-summer{background:linear-gradient(135deg,#d8edf0,#f8f2e6)}.season-flash.is-autumn{background:linear-gradient(135deg,#f0dcc8,#f6efe4)}.season-flash.is-winter{background:linear-gradient(135deg,#dee7f0,#f1f2f2)}.season-flash-inner{text-align:center;color:#1f1a16}.season-flash-en{font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;color:#1f1a168c;font-size:12px;display:block}.season-flash-char{font-family:var(--serif);color:#1f1a16;font-size:clamp(160px,30vw,420px);font-weight:600;line-height:1;display:block}.season-flash p{font-family:var(--serif);letter-spacing:.1em;color:#1f1a169e;margin:14px 0 0;font-size:16px}@keyframes seasonFlashFade{0%{opacity:0}18%{opacity:1}82%{opacity:1}to{opacity:0}}html[data-theme=night] .season-flash.is-spring{background:linear-gradient(135deg,#2e222a,#15110e)}html[data-theme=night] .season-flash.is-summer{background:linear-gradient(135deg,#1e2a2e,#15110e)}html[data-theme=night] .season-flash.is-autumn{background:linear-gradient(135deg,#2c231c,#15110e)}html[data-theme=night] .season-flash.is-winter{background:linear-gradient(135deg,#20262f,#15110e)}html[data-theme=night] .season-flash-inner,html[data-theme=night] .season-flash-char{color:var(--ink)}html[data-theme=night] .season-flash-en{color:color-mix(in srgb, var(--ink) 62%, transparent)}html[data-theme=night] .season-flash p{color:color-mix(in srgb, var(--ink) 68%, transparent)}@media (min-width:721px) and (max-width:1200px){.season-dock{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, transparent);border-radius:3px;flex-direction:column;width:auto;padding:0;inset:94px 12px auto auto;transform:none}.dock-toggle{letter-spacing:.14em;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:inline-flex}.dock-toggle span{color:var(--ink-45);font-size:10px}.dock-body{display:none}.season-dock.is-open .dock-body{flex-direction:row;padding:0 6px 6px;display:flex}.season-dock .dock-body button,.season-dock .dock-body .dock-night{text-align:left;width:auto;padding:4px 7px}.season-dock .dock-body .dock-sep{width:1px;height:12px;margin:0 4px}}@media (max-width:1200px){.season-dock{transition:opacity .3s var(--ease), transform .3s var(--ease)}.season-dock.is-scrolled:not(.is-open){opacity:0;pointer-events:none;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.season-flash{display:none}.season-layer{transition:none}}
html[data-festival=valentine]{--accent:#b3475c;--accent-soft:#f4dee2;--wash1:#b3475c1f}html[data-festival=love520]{--accent:#c0563f;--accent-soft:#f6e0d6}html[data-festival=qixi]{--paper:#141220;--paper-2:#1d1a2c;--surface:#211e30;--ink:#f4ebdd;--ink-70:#cfc3b2;--ink-45:#9c8e7d;--ink-30:#7a6e60;--line:#3a3347;--accent:#c9a86a;--accent-soft:#2e2839;--gold:#c9a86a;--espresso:#0f0d16;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-festival=midautumn]{--accent:#a96b2f;--accent-soft:#f2e3cb;--gold:#b08a4e}html[data-festival=halloween]{--paper:#171217;--paper-2:#211820;--surface:#241a22;--ink:#f3e7d8;--ink-70:#d2c1ae;--ink-45:#9d8a78;--ink-30:#7a6e60;--line:#3c2c35;--accent:#d2703a;--accent-soft:#3a241f;--gold:#b08a4e;--espresso:#100c10;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-festival=christmas]{--accent:#3e5a46;--accent-2:#a33a3a;--accent-soft:#e4e9df;--gold:#b08a4e}html[data-festival=newyear]{--paper:#11141c;--paper-2:#181c28;--surface:#1c2130;--ink:#f4ebdd;--ink-70:#d2c6b5;--ink-45:#9c8e7d;--ink-30:#7a6e60;--line:#333a4a;--accent:#c9a86a;--accent-soft:#2a2f40;--gold:#c9a86a;--espresso:#0c0e14;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.festival-fx{z-index:1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fx-heart{background:var(--accent);width:14px;height:14px;animation:linear infinite fxFall;position:absolute;top:-30px;transform:rotate(45deg)}.fx-heart:before,.fx-heart:after{content:"";background:inherit;border-radius:50%;width:100%;height:100%;position:absolute}.fx-heart:before{top:-50%;left:0}.fx-heart:after{top:0;left:-50%}.fx-big{font-family:var(--display);color:#0000;-webkit-text-stroke:1px color-mix(in srgb, var(--accent) 55%, transparent);opacity:.5;font-size:clamp(90px,16vw,220px);font-weight:600;line-height:1;animation:5s ease-in-out infinite fxBigFloat;position:absolute}.fx-star{background:var(--accent);border-radius:50%;width:3px;height:3px;animation:2.6s ease-in-out infinite fxTwinkle;position:absolute}.fx-bigstar{color:var(--accent);font-style:normal;animation:3.4s ease-in-out infinite fxTwinkle;position:absolute}.fx-bigstar:after{content:"✦";font-size:22px}.fx-bigstar-1{top:16%;left:22%}.fx-bigstar-2{top:34%;left:70%}.fx-line{background:color-mix(in srgb, var(--accent) 30%, transparent);width:46%;height:1px;position:absolute;top:22%;left:24%;transform:rotate(18deg)}.fx-galaxy{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--accent) 10%, transparent), transparent);width:120%;height:46%;position:absolute;top:-10%;left:-10%;transform:rotate(-18deg)}.fx-moon{background:radial-gradient(circle at 38% 34%,#f6e9c8,#e8d3a0 70%,#d9bf82);border-radius:50%;width:120px;height:120px;position:absolute;top:9%;right:5%;box-shadow:0 0 60px 20px #d8bb8247,0 0 120px 40px #d8bb821f}.fx-petal{background:color-mix(in srgb, var(--accent) 72%, #f6e9c8);border-radius:60% 40% 55% 45%;width:9px;height:12px;animation:linear infinite fxFall;position:absolute;top:-20px}.fx-lantern{background:#d2703a;border-radius:45% 45% 40% 40%;width:26px;height:32px;position:absolute;box-shadow:0 0 26px 8px #d2703a40}.fx-lantern:after{content:"";background:var(--gold);width:1px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.fx-lantern-1{top:22%;left:8%}.fx-lantern-2{top:30%;right:8%}.fx-web{color:#f6efe42e;width:110px;height:110px;position:absolute;top:6%;right:4%}.fx-bat{width:32px;height:32px;fill:color-mix(in srgb, var(--accent) 60%, transparent);opacity:.55;animation:linear infinite fxBatFly;position:absolute;left:-10vw}@media (max-width:720px){.fx-bat{opacity:.35;width:22px;height:22px}}.fx-pumpkin{background:#c96a2a;border-radius:50% 50% 46% 46%;width:40px;height:32px;position:absolute;bottom:-14px}.fx-pumpkin:after{content:"";background:#4e5a3a;border-radius:2px;width:8px;height:9px;position:absolute;top:-7px;left:50%;transform:translate(-50%)}.fx-pumpkin-1{left:6%}.fx-pumpkin-2{left:44%;transform:scale(.8)}.fx-pumpkin-3{left:82%;transform:scale(.7)}.fx-snow{background:#f6efe4e6;border-radius:50%;width:7px;height:7px;animation:linear infinite fxFall;position:absolute;top:-12px;box-shadow:0 0 4px #3e5a4659}.fx-burst{width:0;height:0;animation:6s ease-in-out infinite fxBurstLife;position:absolute}.fx-burst:before{content:"";background:var(--gold);width:8px;height:8px;box-shadow:0 0 18px 6px color-mix(in srgb, var(--gold) 45%, transparent);border-radius:50%;position:absolute;top:-4px;left:-4px}.fx-spark{background:var(--gold);width:3px;height:3px;box-shadow:0 0 6px var(--gold);border-radius:50%;animation:3s ease-out infinite fxSpark;position:absolute}@keyframes fxFall{to{top:105vh}}@keyframes fxBigFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-18px)}}@keyframes fxTwinkle{0%,to{opacity:.2}50%{opacity:.9}}@keyframes fxBatFly{0%{transform:translate(-10vw)translateY(0)}to{transform:translate(110vw)translateY(-40px)}}@keyframes fxBurstLife{0%,to{opacity:0}15%,55%{opacity:1}}@keyframes fxSpark{0%{transform:rotate(var(--a)) translateX(0);opacity:1}to{transform:rotate(var(--a)) translateX(90px);opacity:0}}.festival-card{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:4px;align-items:center;gap:16px;max-width:420px;padding:18px 44px 18px 20px;display:flex;position:fixed;bottom:24px;left:auto;right:24px;box-shadow:0 30px 60px -40px #1f1a1673}.festival-seal{width:44px;height:44px;font-family:var(--serif);letter-spacing:.04em;color:var(--accent);border:1px solid var(--accent);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid;position:relative}.festival-seal:after{content:"";border:1px solid var(--accent);opacity:.55;border-radius:50%;position:absolute;inset:3px}.festival-card-body{min-width:0}.festival-eyebrow{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 4px;font-size:10px}.festival-title{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);margin:0 0 6px;font-size:20px;font-weight:600}.festival-title span{font-family:var(--sans);letter-spacing:.2em;color:var(--ink-45);margin-left:10px;font-size:10px}.festival-greeting{font-family:var(--serif);color:var(--ink-70);margin:0 0 4px;font-size:15px}.festival-note{font-family:var(--serif);color:var(--ink-45);margin:0;font-size:13px}.festival-close{color:var(--ink-45);cursor:pointer;background:0 0;border:0;font-size:18px;line-height:1;position:absolute;top:10px;right:12px}.festival-close:hover{color:var(--ink)}@media (max-width:720px){.festival-card{max-width:none;left:16px;right:16px;bottom:calc(80px + env(safe-area-inset-bottom,0px))}}html[data-page=home] .festival-card,html[data-page=album] .festival-card,html[data-festival] .season-dock,html[data-festival] .v3-tagline{display:none}.v3-festival-line{border-left:1px solid var(--accent);font-family:var(--serif);color:var(--accent);margin:12px 0 22px;padding-left:12px;font-size:13.5px;line-height:1.7}.v3-festival-line span{font-family:var(--sans);letter-spacing:.24em;color:var(--ink-45);margin-bottom:3px;font-size:9px;display:block}.intro-festival{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:10px}html[data-festival] .v3-cover:after{content:attr(data-festival-name) " · 节日限定";z-index:4;font-family:var(--sans);letter-spacing:.24em;color:var(--accent);border:1px solid var(--accent);background:color-mix(in srgb, var(--paper) 86%, transparent);opacity:.9;border-radius:2px;padding:6px 10px;font-size:10px;position:absolute;top:150px;left:clamp(24px,4vw,64px);right:auto;transform:rotate(-6deg)}@media (max-width:720px){html[data-festival] .v3-cover:after{display:none}}@media (prefers-reduced-motion:reduce){.festival-fx{display:none}}.festival-links{flex-wrap:wrap;gap:10px;display:flex}.festival-links a{font-family:var(--sans);letter-spacing:.06em;color:var(--ink-70);border:1px solid var(--line);transition:color .25s var(--ease), border-color .25s var(--ease);border-radius:2px;padding:6px 12px;font-size:12px}.festival-links a:hover{color:var(--accent);border-color:var(--accent)}
:root{--chapter:var(--accent);--chapter-ink:color-mix(in srgb, var(--chapter) 78%, var(--ink))}html[data-page=timeline]{--chapter:#a54a35}html[data-page=anniversaries]{--chapter:#8a5a6a}html[data-page=messages]{--chapter:#6e8a6a}html[data-page=wishes]{--chapter:#b5576d}html[data-page=map]{--chapter:#6e7a58}html[data-page=music]{--chapter:#9a6b45}html[data-page=cards]{--chapter:#b08a6a}html[data-page=videos]{--chapter:#5c6d85}html[data-page=checkin]{--chapter:#a56a4a}html[data-page=weather]{--chapter:#5f8a9a}html[data-page=album]{--chapter:#c58a7a}html[data-page=chat]{--chapter:#6f7f93}.v3-chapter-kicker,.v3-chapter-meta,.section-meta{color:var(--chapter-ink)}.v3-chapter-title:after{content:"";background:var(--chapter);transform-origin:0;width:64px;height:2px;animation:chapterRule .9s var(--ease) .15s both;margin-top:16px;display:block}.chapter-ghost{z-index:1;pointer-events:none;font-family:var(--serif);color:var(--chapter-ink);opacity:.045;-webkit-user-select:none;user-select:none;font-size:clamp(240px,34vw,560px);font-weight:600;line-height:.7;position:fixed;bottom:-7vh;right:-4vw}html[data-page=timeline] .chapter-ghost:before{content:"时"}html[data-page=anniversaries] .chapter-ghost:before{content:"念"}html[data-page=messages] .chapter-ghost:before{content:"信"}html[data-page=wishes] .chapter-ghost:before{content:"愿"}html[data-page=map] .chapter-ghost:before{content:"迹"}html[data-page=music] .chapter-ghost:before{content:"曲"}html[data-page=cards] .chapter-ghost:before{content:"笺"}html[data-page=videos] .chapter-ghost:before{content:"影"}html[data-page=checkin] .chapter-ghost:before{content:"印"}html[data-page=weather] .chapter-ghost:before{content:"候"}html[data-page=album] .chapter-ghost:before{content:"册"}html[data-page=chat] .chapter-ghost:before{content:"书"}html[data-page=home] .chapter-ghost,html[data-page=login] .chapter-ghost,html[data-page=admin] .chapter-ghost{display:none}html[data-theme=night] .chapter-ghost{opacity:.03}.paper-light{z-index:1;pointer-events:none;background:radial-gradient(620px 420px at var(--mx,72%) var(--my,16%), color-mix(in srgb, var(--chapter) 16%, transparent), transparent 70%);opacity:.55;position:fixed;inset:-10%}@media (hover:none){.paper-light{display:none}}html[data-theme=night] .paper-light{opacity:.35}html[data-page=login] .paper-light,html[data-page=admin] .paper-light{display:none}.scroll-progress{background:var(--chapter);z-index:90;transform-origin:0;opacity:0;pointer-events:none;width:100%;height:2px;transition:transform .1s linear,opacity .3s;position:fixed;top:0;left:0;transform:scaleX(0)}html[data-page=login] .scroll-progress,html[data-page=admin] .scroll-progress{display:none}@keyframes titleInk{0%{clip-path:inset(0 100% 0 0);opacity:.25}to{clip-path:inset(0);opacity:1}}.v3-chapter-title,.section-title{animation:titleInk .9s var(--ease) both}@keyframes chapterRule{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.v3-entry{transition:transform .3s var(--ease)}.v3-entry:hover{transform:translate(6px)}.v3-entry-date,.v3-year{color:var(--chapter-ink)}.v3-entry:hover .v3-entry-date{color:var(--chapter)}.v3-count-num{animation:countIn 1s var(--ease) both}@keyframes countIn{0%{opacity:0;filter:blur(4px);transform:translateY(18px)scale(.97)}to{opacity:1;filter:none;transform:none}}.v3-ledger li{transition:background .25s,transform .25s}.v3-ledger li:hover{background:color-mix(in srgb, var(--chapter) 7%, transparent);transform:translate(3px)}.note{transition:transform .35s var(--ease), box-shadow .35s var(--ease)}.note:hover{transform:translateY(-4px)rotate(-.35deg);box-shadow:0 24px 50px -36px #1f1a1673}.wish-row{transition:background .25s,transform .25s}.wish-row:hover{transform:translate(5px)}.wish-dot.is-done{animation:wishPop .35s var(--ease)}@keyframes wishPop{50%{transform:scale(.82)}}.place-card{transition:transform .3s,border-color .3s}.place-card:hover{border-color:var(--chapter)}.song-list li:hover{border-color:color-mix(in srgb, var(--chapter) 55%, var(--line))}html[data-page=music] .section:before{content:"";aspect-ratio:1;background:repeating-radial-gradient(circle, color-mix(in srgb, var(--chapter) 10%, transparent) 0 1px, transparent 1px 9px);opacity:.45;pointer-events:none;z-index:-1;border-radius:50%;width:min(46vw,520px);position:absolute;top:8%;right:-12%}.lovecard{transition:transform .35s var(--ease), box-shadow .35s var(--ease)}.lovecard:hover .lovecard-num{color:var(--chapter)}.video-card:hover .video-title{color:var(--chapter-ink)}.stat{transition:transform .3s,border-color .3s}.stat:hover{border-color:var(--chapter);transform:translateY(-3px)}.calendar-day:hover{background:color-mix(in srgb, var(--chapter) 9%, transparent)}.wh-row{transition:background .25s}.wh-row:hover{background:color-mix(in srgb, var(--chapter) 6%, transparent)}.v3-film img{transition:transform .5s var(--ease)}.v3-film:hover img{transform:scale(1.015)}.chat-row{animation:chatIn .35s var(--ease) both}@keyframes chatIn{0%{opacity:0;transform:translateY(6px)}}.chat-send:hover{transform:scale(1.05)}@media (prefers-reduced-motion:reduce){.v3-chapter-title,.section-title,.v3-count-num,.chat-row,.wish-dot.is-done{animation:none!important}.paper-light{display:none}}@media (max-width:720px){.chapter-ghost{opacity:.028;font-size:30vw;bottom:-2vh;right:-10vw}}@media (min-width:721px){main.section.v3-chat-page{padding-top:108px!important}.v3-chat-page .section-head{margin-bottom:20px}.v3-chat-page .chat-shell{flex-direction:column;height:calc(100vh - 330px);min-height:460px;max-height:none;display:flex}.v3-chat-page .chat-list{flex:auto;height:auto;min-height:0;max-height:none;overflow-y:auto}.v3-chat-page .chat-composer{flex:none}}.v3-ai-band{color:#f1e7d9;background:#241b16;border-radius:4px;justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:clamp(48px,6vw,80px) auto 0;padding:clamp(28px,4vw,48px) clamp(24px,4vw,56px);display:flex;position:relative;overflow:hidden}.v3-ai-band:before{content:"";opacity:.4;background:url(/ai/editor-room.jpg) 50%/cover no-repeat;position:absolute;inset:0}.v3-ai-band:after{content:"";background:linear-gradient(90deg,#140e0ad9,#140e0a59);position:absolute;inset:0}.v3-ai-band-copy{z-index:1;flex-direction:column;gap:8px;display:flex;position:relative}.v3-ai-band-kicker{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:10px}.v3-ai-band-title{font-family:var(--serif);letter-spacing:.02em;color:#f1e7d9;font-size:clamp(20px,2.4vw,30px)}.v3-ai-band-sub{font-family:var(--sans);letter-spacing:.18em;color:#f1e7d999;font-size:11px}.v3-ai-band-cta{z-index:1;font-family:var(--sans);letter-spacing:.12em;color:#f1e7d9;white-space:nowrap;transition:border-color .25s var(--ease), color .25s var(--ease);border:1px solid #f1e7d980;border-radius:2px;padding:10px 16px;font-size:12px;position:relative}.v3-ai-band:hover .v3-ai-band-cta{border-color:var(--gold);color:var(--gold)}@media (max-width:720px){.v3-ai-band{align-items:flex-end;height:220px;padding:20px}.v3-ai-band:after{background:linear-gradient(#140e0a33,#140e0ae6)}}
