@font-face{font-family:SuzuyaRound;src:url('/fonts/suzuya-round.woff2?v=expanded-20261022') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--sans:SuzuyaRound,"Microsoft YaHei","PingFang SC",sans-serif;--display:var(--sans);--serif:var(--sans)}
html{scroll-behavior:smooth;scroll-padding-top:0}
body,h1,h2,h3,h4,button,input,select{font-family:var(--sans)}
h1,h2,h3,h4{font-weight:600}
.brand,.footer-name{font-family:var(--display)}
nav a{font-size:18px;font-weight:500;letter-spacing:.4px;transition:background .25s,color .25s,box-shadow .25s}
nav a[aria-current]{background:#e1edcf;box-shadow:inset 0 0 0 1px #d8e7c5;color:#284d30}
.single-page .hero h1{font-family:var(--display);font-weight:600;letter-spacing:2px}
.single-page .page-heading h2{font:600 clamp(36px,3.6vw,50px)/1.5 var(--display);letter-spacing:1px;margin:0;color:var(--deep)}
.one-chapter{scroll-margin-top:130px}
.handbook-chapter{padding-top:68px;padding-bottom:14px;position:relative}
.single-page .profile-text h3{font:600 36px/1.65 var(--display);margin:10px 0 23px;letter-spacing:.4px;color:var(--deep)}
.single-page .handbook-start{padding-top:52px;padding-bottom:65px}
.single-page .handbook-start .section-title h3{font:600 30px/1.5 var(--display);margin:0;color:var(--deep)}
.single-page .collection{padding-top:37px;padding-bottom:70px;min-height:0}
.single-page #films{border-top:1px solid var(--line)}
.single-page #albums{border-top:1px solid var(--line)}
.single-page .journey-page{padding-top:35px;padding-bottom:50px;border-top:1px solid var(--line)}
.single-page .timeline-content h4{font:600 25px/1.6 var(--display);margin:13px 0 17px;color:#264e2c}
.single-page .timeline-year>.year-title{font:500 46px/1.5 var(--sans);color:#345c31;margin:0 0 26px;display:flex;gap:27px;align-items:center}
.single-page .year-nav{top:143px}
.single-page .timeline-year{position:relative;isolation:isolate}
.single-page .timeline-year:before{position:absolute;content:"";top:106px;bottom:35px;left:105px;width:2px;transform-origin:top;background:linear-gradient(#bfd7a1,#628e48);transform:scaleY(var(--year-progress,0));border-radius:4px;z-index:-1}
.single-page .timeline-mark:after{opacity:.35}
.single-page .closing-note{margin-top:10px}
.site-about{padding:0 0 32px;color:#4b6741;scroll-margin-top:130px}
.site-about>summary{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:13px;font-size:16px;min-height:48px;list-style:none;border-radius:23px}
.site-about>summary::-webkit-details-marker{display:none}
.site-about>summary:hover{background:#edf4e3}
.site-about>summary .icon{width:18px;height:18px}
.site-about .about-page{width:min(800px,100%);padding:20px 0 25px}
.site-about .about-page h3{font-size:25px;line-height:1.6;margin-top:27px}
.site-about .font-credit{font-size:14px;line-height:1.8;text-align:center}
.font-credit a{text-decoration:underline;text-underline-offset:4px;margin:0 5px}
.reading-progress{position:absolute;left:4%;right:4%;bottom:0;height:3px;border-radius:3px;overflow:hidden;pointer-events:none}
.reading-progress>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#c6dfa9,#5d8b4b);transform-origin:left;transform:scaleX(0)}
.back-to-top{position:fixed;right:max(23px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));width:66px;height:66px;padding:10px;border:0;border-radius:50%;background:#fffefb;color:#315f39;box-shadow:0 7px 25px #365d2c24;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;opacity:0;visibility:hidden;translate:0 20px;transition:opacity .3s,translate .3s,visibility .3s}
.back-to-top.is-visible{opacity:1;visibility:visible;translate:0 0}
.back-to-top:hover{background:#f1f7e8}
.back-to-top>.icon{width:20px;height:20px;rotate:-90deg}
.back-to-top>span{font-size:14px;line-height:1.4}
.top-ring{position:absolute;inset:0;width:100%;height:100%;rotate:-90deg;fill:none;stroke-width:1.8;pointer-events:none}
.top-ring-track{stroke:#e3edd6}.top-ring-progress{stroke:#7ba25d;stroke-dasharray:175.93;stroke-dashoffset:175.93;stroke-linecap:round}
.collection-dialog{width:min(1080px,calc(100% - 64px));max-height:calc(100dvh - 60px);margin:auto;padding:45px;border:1px solid #e2ead7;border-radius:31px;background:var(--paper);color:var(--ink);box-shadow:0 25px 100px #183e2b38;overscroll-behavior:contain;scrollbar-gutter:stable;position:fixed;overflow:auto}
.collection-dialog::backdrop{background:#183e2b88;backdrop-filter:blur(8px)}
.collection-close{position:sticky;top:0;float:right;margin:-22px -19px 0 18px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:white;border:1px solid #dbe6cf;border-radius:50%;color:#345a30;z-index:2;box-shadow:0 4px 14px #2f572a0d}
.collection-close:hover{background:#eaf3dc}
.collection-dialog h2{font:600 clamp(27px,3vw,38px)/1.6 var(--display);margin:13px 0;color:var(--deep)}
.collection-dialog .dialog-meta{font-size:16px;line-height:1.8;color:#506b46;margin-bottom:22px;display:flex;gap:20px;flex-wrap:wrap}
.collection-dialog .dialog-caption{font-size:17px;white-space:pre-line;line-height:1.85;color:#47653d;margin:20px 0}
.collection-dialog .dialog-credits{font-size:14px;line-height:1.8;color:#49653e;margin-bottom:16px}
.collection-dialog .dialog-source{display:flex;gap:18px;flex-wrap:wrap;margin:15px 0 25px}
.collection-dialog .dialog-source a{font-size:15px;min-height:44px;display:inline-flex;gap:7px;align-items:center;color:#3a6033}
.collection-dialog .dialog-video{display:block;position:relative;border-radius:23px;overflow:hidden;background:#213b2b;aspect-ratio:16/9;margin:24px 0}
.dialog-video>img{object-fit:contain;filter:brightness(.65)}
.dialog-video .dialog-watch{position:absolute;inset:0;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;color:white;font-size:18px;background:linear-gradient(transparent,#173a2a44)}
.dialog-video .dialog-watch .play-circle{width:58px;height:58px}
.collection-dialog .gallery-grid{margin-top:20px}
.collection-dialog .dialog-note{font-size:14px;color:#56704a;line-height:1.8}
.collection-dialog[open]{animation:dialog-in .38s cubic-bezier(.16,1,.3,1)}
.collection-dialog .gallery-photo{aspect-ratio:3/4}
@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}
.motion-ready [data-reveal]{transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready [data-reveal]:not(.is-visible){opacity:0;transform:translateY(28px)}
.motion-ready [data-reveal="photo"]:not(.is-visible){transform:translateY(30px) rotate(1.2deg) scale(.965)}
.motion-ready [data-reveal="heading"]:not(.is-visible){transform:translateY(18px)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0) rotate(0) scale(1)}
.motion-ready .hero-photo{translate:0 var(--hero-drift,0px)}
.motion-ready .hero-polaroid{translate:0 calc(var(--hero-drift,0px) * -.5)}
.chapter-active .page-heading .heading-decor{animation:chapter-nod .8s cubic-bezier(.16,1,.3,1)}
@keyframes chapter-nod{0%{transform:rotate(-15deg) scale(.9)}65%{transform:rotate(6deg) scale(1.06)}100%{transform:rotate(0) scale(1)}}
@media(max-width:1020px){nav a,#primary-nav a{font-size:17px}.single-page .profile-text h3{font-size:30px}.single-page .timeline-year:before{left:91px}.single-page .timeline-content h4{font-size:24px}.single-page .timeline-year>.year-title{font-size:40px}.collection-dialog{padding:35px;width:calc(100% - 45px)}.collection-close{margin:-17px -13px 0 18px}}
@media(max-width:700px){html{scroll-padding-top:112px}.one-chapter,.site-about{scroll-margin-top:110px}.single-page .hero h1{font-size:60px}.single-page .hero-signature{font-size:15px}.single-page .page-heading h2{font-size:35px;line-height:1.55;letter-spacing:0}.handbook-chapter{padding-top:38px;padding-bottom:0}.single-page .profile-text h3{font-size:29px;line-height:1.65;margin:10px 0 21px}.single-page .handbook-start{padding-top:42px;padding-bottom:42px}.single-page .handbook-start .section-title h3{font-size:25px;line-height:1.6}.single-page .collection{padding-top:22px;padding-bottom:46px}.single-page .journey-page{padding-top:20px;padding-bottom:40px}.single-page .year-nav{top:90px}.single-page .timeline-year>.year-title{font:500 37px/1.6 var(--sans);margin-bottom:20px;gap:18px}.single-page .timeline-content h4{font-size:21px;line-height:1.6;margin:12px 0 15px}.single-page .timeline-year:before{left:62px;top:100px}.back-to-top{right:16px;bottom:max(20px,env(safe-area-inset-bottom));width:60px;height:60px}.site-about{padding-bottom:27px}.site-about>summary{font-size:15px;gap:9px}.site-about .about-page{padding-top:14px}.site-about .font-credit{font-size:14px;text-align:left;padding-bottom:15px}.collection-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 28px);padding:25px 20px;border-radius:25px;scrollbar-gutter:auto}.collection-close{margin:-13px -8px 0 15px;top:-10px}.collection-dialog h2{font-size:27px;line-height:1.6;margin-top:17px;padding-right:20px}.collection-dialog .dialog-meta{font-size:15px;gap:8px 16px;margin-bottom:19px}.collection-dialog .dialog-caption{font-size:17px;margin:18px 0}.collection-dialog .dialog-video{aspect-ratio:4/3;border-radius:20px}.collection-dialog .dialog-source{gap:8px 17px}.collection-dialog .dialog-source a{font-size:15px}.collection-dialog .gallery-grid{gap:10px}.collection-dialog .dialog-watch{font-size:18px}.motion-ready [data-reveal]{transition-duration:.7s}.motion-ready [data-reveal]:not(.is-visible){transform:translateY(20px)}.motion-ready [data-reveal="photo"]:not(.is-visible){transform:translateY(22px) rotate(.8deg) scale(.975)}}
@media(max-width:380px){.single-page .hero h1{font-size:55px}.single-page .page-heading h2{font-size:32px}.single-page .timeline-content h4{font-size:20px}.single-page .timeline-year:before{left:56px}.collection-dialog{padding:24px 17px}.collection-dialog h2{font-size:25px}.back-to-top{width:58px;height:58px;right:13px}.back-to-top>span{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}.hero-photo,.hero-polaroid{translate:none!important}.collection-dialog[open],.chapter-active .heading-decor{animation:none!important}.single-page .timeline-year:before{transform:scaleY(1)}.back-to-top{transition:none}}
