@font-face{font-family:Album Cover;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/album-cover.woff2) format("woff2")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/album-serif.woff2) format("woff2")}@font-face{font-family:Ma Shan Zheng;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/album-handwriting.woff2) format("woff2")}:root{font-family:"Noto Serif SC",Songti SC,SimSun,serif;color:#513d29;background:#796653;font-synthesis:none;--gold: #c9a24b;--paper: #f3e7d0;--ink: #513d29;--muted: #806c53;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.35' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent;cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.4}button:focus-visible{outline:2px solid #ad792e;outline-offset:5px}button>*{pointer-events:none}button{touch-action:manipulation}button:active:not(:disabled){filter:brightness(.95)}img,video{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}.icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{display:block;width:100%;height:100%;fill:currentColor}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#app{min-height:100svh;min-height:100dvh;overflow:hidden;position:relative;isolation:isolate}.desk{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 33% 26%,#cbb49566,transparent 60%),radial-gradient(ellipse at 50% 44%,transparent 30%,#30231b70 100%),repeating-linear-gradient(1deg,#37241708 0 1px,transparent 1px 5px),repeating-linear-gradient(91deg,transparent 0 260px,#35251915 260px 261px,#d3baa91a 261px 262px),linear-gradient(105deg,#9b846b,#816b55 42%,#6f5845)}.desk:before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.3;mix-blend-mode:multiply}.desk:after{content:"";position:absolute;inset:-25%;background:repeating-linear-gradient(128deg,transparent 0 190px,#3023130b 192px 330px,transparent 335px 495px);filter:blur(14px)}.reader{min-height:100svh;min-height:100dvh;display:grid;place-items:center;padding:54px 18px 86px}.book-area{position:relative}.book-position{position:relative;width:max-content;transform:translate(0);transition:transform .85s var(--ease-in-out)}.book-position[data-mode=double][data-state=front]{transform:translate(calc(var(--page-width) * -.5))}.book-position[data-mode=double][data-state=back]{transform:translate(calc(var(--page-width) * .5))}.book-host{position:relative;z-index:2;min-width:0!important;min-height:0!important;touch-action:pan-y}.stf__wrapper,.stf__block{width:100%;height:100%}.page{container-type:inline-size;overflow:hidden;user-select:none;-webkit-user-select:none}.page-cover{background:#452a1b}.book-stack{pointer-events:none;position:absolute;top:4px;bottom:-7px;width:var(--page-width);background:repeating-linear-gradient(to bottom,#d5c4a4 0 1px,#a5906c 1px 2px,#e8d8b9 2px 3px);border:2px solid #4c3122;border-bottom:5px solid #4c3122;border-radius:3px 6px 7px 3px;box-shadow:1px 3px 2px #2c1b1740,8px 15px 17px #28191038,16px 32px 48px #26160945}.stack-left{left:calc(0px - var(--left-thickness));transform:translateY(var(--left-thickness))}.stack-right{right:calc(0px - var(--right-thickness));transform:translateY(var(--right-thickness))}.book-position[data-state=front] .stack-left,.book-position[data-state=back] .stack-right{visibility:hidden}.book-position[data-mode=single] .stack-left{display:none}.book-position[data-mode=single][data-state=back] .stack-right{visibility:visible}.book-position[data-state=front] .stack-right{right:-8px;transform:translateY(4px)}.book-position[data-state=back] .stack-left{left:-8px;transform:translateY(4px)}.book-gutter{z-index:3;position:absolute;inset:0 auto 0 calc(50% - 20px);width:40px;background:linear-gradient(90deg,transparent,#5b371324 36%,#2f1b1b42 49%,#fff4da38 52%,#70471b17 70%,transparent);pointer-events:none}.book-position:not([data-state=open]) .book-gutter,.book-position[data-mode=single] .book-gutter{display:none}.ribbon{position:absolute;z-index:4;left:calc(50% - 16px);top:-8px;width:32px;height:72px;border:0;padding:0 0 11px;color:#f6dc9f;background:linear-gradient(90deg,#65412d,#9f6947 18%,#855335 77%,#513323);clip-path:polygon(0 0,100% 0,100% 100%,50% 86%,0 100%);filter:drop-shadow(2px 3px 2px #2b1b1740);transition:transform .2s var(--ease-out)}.ribbon .icon{width:15px;height:15px}.ribbon:after{content:"";position:absolute;inset:0 4px 8px;border-left:1px solid #e1bd8240;border-right:1px solid #e1bd8240}.ribbon[hidden]{display:none}.book-position[data-mode=single] .ribbon{left:auto;right:19px}.book-position[data-mode=single] .ribbon .icon{margin-top:3px}.ribbon-menu{position:absolute;z-index:5;top:70px;left:50%;transform:translate(-50%);width:146px;padding:7px;background:#f2e6ce;box-shadow:0 7px 20px #3e25184a;border:1px solid #baa27c}.ribbon-menu[hidden]{display:none}.ribbon-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 9px;background:none;border:0;font-size:12px;min-height:44px;white-space:nowrap}.book-position[data-mode=single] .ribbon-menu{left:auto;right:0;transform:none}.cover-face{position:relative;width:100%;height:100%;display:flex;align-items:center;flex-direction:column;padding:10cqw 9cqw 8cqw 12cqw;color:#c7a464;font-family:Album Cover,"Noto Serif SC",Songti SC,SimSun,serif;background:radial-gradient(ellipse at 35% 10%,#83553545,transparent 75%),linear-gradient(105deg,#362015,#573722 12%,#472a1b 67%,#3e2518);box-shadow:inset 1px 1px 1px #d2ae715e,inset -2px -2px 4px #140b07,inset 7px 0 10px #120b0690,inset 9px 0 1px #a9844b42,inset 14px 0 6px #120b0642,inset 17px 0 1px #ceab6c21;text-shadow:0 1px 1px #160d07,0 -1px 0 #efce9324}.cover-face:before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.46;mix-blend-mode:soft-light;pointer-events:none}.cover-face:after{content:"";position:absolute;inset:1.5cqw 1.5cqw 1.5cqw 4.5cqw;border:1px dashed #a9875729;border-radius:1px;pointer-events:none}.cover-border{position:absolute;inset:5cqw 5cqw 5cqw 8cqw;border:1px solid #b38a464b;pointer-events:none}.cover-border:after{content:"";position:absolute;inset:5px;border:1px solid #c09b4b26}.cover-corner{position:absolute;width:15px;height:15px;border-color:#c9a24b9c;border-style:solid}.cover-corner.tl{top:-1px;left:-1px;border-width:2px 0 0 2px}.cover-corner.tr{top:-1px;right:-1px;border-width:2px 2px 0 0}.cover-corner.bl{bottom:-1px;left:-1px;border-width:0 0 2px 2px}.cover-corner.br{bottom:-1px;right:-1px;border-width:0 2px 2px 0}.cover-edition{font-family:Georgia,serif;font-size:1.8cqw;letter-spacing:.32em;color:#ba945a}.class-emblem{width:19cqw;height:22cqw;border:1px solid #b99a5975;border-radius:48% 48% 45% 45%;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:7.4cqw;position:relative}.class-emblem:after{content:"";position:absolute;inset:4px;border:1px solid #b99a593a;border-radius:inherit}.emblem-year{font:1.65cqw Georgia,serif;letter-spacing:.12em}.emblem-number{font:12cqw/.99 Georgia,serif;letter-spacing:-.08em;padding-right:.08em;color:#cfad6a}.emblem-label{font:1.3cqw Georgia,serif;letter-spacing:.12em;margin-top:1.7cqw}.cover-class{font-size:5.6cqw;letter-spacing:.22em;margin:8cqw 0 3.2cqw;padding-left:.22em}.cover-title{font-size:13.8cqw;line-height:1.4;font-weight:400;letter-spacing:.23em;padding-left:.23em;color:#d4b472}.cover-english{font:italic 3.5cqw/1.5 Georgia,serif;letter-spacing:.025em;margin-top:1.5cqw;color:#bda06b}.ornament{display:flex;align-items:center;justify-content:center;gap:16px;color:#b2955b}.ornament i{display:block;width:37px;height:1px;background:currentColor;opacity:.5}.ornament .icon{width:12px;height:12px}.cover-face>.ornament{margin:6cqw 0 5cqw}.cover-motto{font-size:2.7cqw;line-height:2;letter-spacing:.14em;color:#bca16e;text-align:center}.cover-years{margin-top:auto;margin-bottom:2cqw;padding-top:5cqw;font:2.5cqw Georgia,serif;letter-spacing:.19em}.cover-hit{position:absolute;z-index:1;inset:0;width:100%;border:0;background:transparent;border-radius:2px}.cover-hit:focus-visible{outline-offset:-11px;outline-color:#dfbe72}.cover-back{justify-content:center;text-align:center}.cover-back>.icon{width:27px;height:27px;margin-bottom:13cqw}.back-title{font-size:4.9cqw;letter-spacing:.13em;line-height:2}.back-description{margin-top:7cqw;font-size:2.5cqw;line-height:2;color:#b49b71}.back-class{margin-top:14cqw;font-size:3cqw;letter-spacing:.22em}.back-reopen{margin-top:7cqw;background:transparent;border:0;border-bottom:1px solid #aa8b555e;padding:10px 5px;font-size:12px;color:#dcc18c;position:relative;z-index:1}.page-paper{background:var(--paper)}.paper-inner{width:100%;height:100%;position:relative;padding:5.5cqw 8cqw 7cqw;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(90deg,#cfb58b24,transparent 8%,transparent 90%,#b6945e25),radial-gradient(ellipse at 45% 42%,#fbf3e1,#f0e2c6 86%,#e8d5b0);box-shadow:inset 0 0 22px #ac7f3413}.paper-inner:before{content:"";position:absolute;inset:0;background:var(--grain);mix-blend-mode:multiply;opacity:.13;pointer-events:none}.page.--left .paper-inner{background:linear-gradient(90deg,#bb9d6930,transparent 8%,transparent 82%,#95744227 94%,#8a64273d),radial-gradient(ellipse at 40% 40%,#faf0dc,#edb)}.page.--right .paper-inner{box-shadow:inset 9px 0 19px -13px #654a2799,inset 0 0 22px #ac7f3413}.page-header{position:relative;display:flex;justify-content:space-between;font-size:max(9px,1.9cqw);color:#937b57;letter-spacing:.09em;padding-bottom:3cqw;border-bottom:1px solid #a1834d30;flex-shrink:0}.page-footer{margin-top:auto;padding-top:3cqw;display:flex;align-items:center;justify-content:space-between;font-size:max(8px,1.9cqw);color:#8d7958;letter-spacing:.06em}.page-footer .icon{width:9px;height:9px;color:#a4874a}.page-number{position:absolute;left:50%;transform:translate(-50%);font:12px Georgia,serif;color:#a08244}.page-corner{position:absolute;bottom:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:0;color:#93713d;background:transparent;opacity:.65}.page-corner .icon{width:16px;height:16px}.page-corner-prev{left:0}.page-corner-next{right:0;background:linear-gradient(135deg,transparent 60%,#bb995c18 70%,#fbf1d7 73%,#c9ae7666)}.book-position[data-mode=double] .page.--left .page-corner-next,.book-position[data-mode=double] .page.--right .page-corner-prev{display:none}.handwritten{font-family:Ma Shan Zheng,STKaiti,KaiTi,cursive;font-weight:400}.small-english{font:2.1cqw Georgia,serif;letter-spacing:.24em;color:#917747}.title-content{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding-top:4cqw}.title-content .ornament{margin:6cqw 0 7cqw}.title-class{font-size:3.4cqw;letter-spacing:.16em}.title-main{font-size:6.6cqw;font-weight:400;line-height:1.8;margin:4cqw -3cqw 5cqw;letter-spacing:.06em}.title-message{white-space:pre-line;font-size:max(11px,2.5cqw);line-height:2.5;color:#816b4a}.title-signature{font-size:5.3cqw;transform:rotate(-5deg);margin-top:11cqw;color:#91734a}.title-year{font:2.3cqw Georgia,serif;letter-spacing:.15em;margin-top:5cqw;color:#9d8865}.contents-content{padding-top:5cqw;display:flex;flex-direction:column;flex:1;min-height:0}.contents-title{font-size:7.5cqw;font-weight:400;letter-spacing:.12em;margin:2cqw 0}.contents-description{font-size:max(10px,2.25cqw);color:var(--muted)}.contents-list{display:flex;flex-direction:column;margin-top:3cqw;gap:.3cqw}.contents-item{display:flex;align-items:center;width:100%;background:transparent;border:0;text-align:left;padding:.8cqw 0;min-height:44px;gap:12px}.contents-item-text{display:flex;flex-direction:column;gap:.6cqw}.contents-item strong{font-size:max(12px,3cqw);font-weight:400}.contents-item small{font-size:max(9px,1.9cqw);color:#937c59}.contents-item i{flex:1;border-bottom:1px dotted #b6a17b80;margin-top:-10px}.contents-number{font:3.3cqw Georgia,serif;color:#a17d39}.contents-footnote{font-size:4.5cqw;color:#9b8055;margin-top:auto;padding-top:3cqw;transform:rotate(-3deg);text-align:center}.page-heading,.section-title{padding-top:5cqw}.page-heading h2,.section-title{font-size:5.8cqw;font-weight:400;letter-spacing:.08em;line-height:1.55}.page-heading p,.section-description{font-size:max(10px,2.2cqw);color:var(--muted);line-height:1.8;margin-top:1.5cqw}.photos-content,.members-content{display:flex;flex-direction:column;flex:1;min-height:0}.photo-grid{display:grid;flex:1;min-height:0;gap:3.5cqw;padding:5cqw .7cqw 3cqw}.photo-card{min-width:0;min-height:0;background:#fdf7e9;padding:1.7cqw 1.7cqw 1.5cqw;display:flex;flex-direction:column;position:relative;transform:rotate(var(--rotation));box-shadow:1px 3px 5px #51351925,0 0 1px #6c4c332b}.photo-card:before{content:"";position:absolute;z-index:1;width:31%;height:3.5cqw;top:-1.5cqw;left:34%;background:#cab78685;box-shadow:0 1px 1px #8d713013;transform:rotate(-7deg);pointer-events:none;clip-path:polygon(2% 2%,100% 0,97% 24%,100% 51%,97% 75%,100% 96%,0 100%,2% 76%,0 56%,3% 31%)}.photo-card:nth-child(2n):before{background:#bfaf9380;transform:rotate(6deg)}.photo-view{display:block;position:relative;width:100%;flex:1;min-height:44px;min-width:44px;padding:0;border:0;background:#d7c9b0;overflow:hidden}.photo-view img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2cqw;width:100%;height:100%;min-height:44px;color:#8c7d64;background:radial-gradient(ellipse at 50% 40%,#e5dbca,#d3c4aa)}.photo-placeholder .icon{width:8cqw;height:8cqw;opacity:.55}.photo-placeholder>span:last-child{font-size:max(9px,2.3cqw);letter-spacing:.08em}.photo-card figcaption{font-family:Ma Shan Zheng,STKaiti,KaiTi,cursive;font-size:3.2cqw;text-align:center;padding-top:1.7cqw;color:#7e6a4f;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.photo-page-note{font-size:3.5cqw;line-height:1.7;text-align:center;color:#947a54;margin:2cqw -2cqw}.count-1{padding:13cqw 2cqw 11cqw}.count-1.layout-b{padding:8cqw 6cqw 15cqw}.count-1.layout-c{padding:15cqw 0 8cqw}.count-2{grid-template-rows:repeat(2,minmax(0,1fr));padding:6cqw 8cqw}.count-2.layout-b{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1fr;padding:15cqw 0}.count-2.layout-c{padding:6cqw 3cqw}.count-2.layout-c .photo-1{margin-right:8cqw}.count-2.layout-c .photo-2{margin-left:8cqw}.count-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:1.2fr 1fr}.count-3 .photo-1{grid-column:span 2}.count-3.layout-b{grid-template-rows:1fr 1.2fr}.count-3.layout-b .photo-1{grid-column:auto}.count-3.layout-b .photo-3{grid-column:span 2}.count-3.layout-c{grid-template-rows:1fr 1fr}.count-3.layout-c .photo-1{grid-row:span 2;grid-column:auto}.count-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));padding-top:8cqw;padding-bottom:7cqw}.count-4.layout-b .photo-2,.count-4.layout-b .photo-4{transform:translateY(2cqw) rotate(var(--rotation))}.count-4.layout-c{gap:5cqw;padding-inline:2cqw}.count-5,.count-6{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.count-5 .photo-1{grid-column:span 2}.count-5.layout-b .photo-1{grid-column:auto}.count-5.layout-b .photo-5{grid-column:span 2}.count-5.layout-c .photo-1{grid-column:auto;grid-row:span 2}.count-5.layout-c .photo-5{grid-column:span 2}.count-6.layout-b{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));padding-block:9cqw}.count-6.layout-c .photo-2,.count-6.layout-c .photo-4,.count-6.layout-c .photo-6{transform:translateY(1cqw) rotate(var(--rotation))}.count-7,.count-8,.count-9{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}.count-7 .photo-1{grid-column:span 2}.count-7 .photo-2{grid-row:span 2}.count-7.layout-b .photo-1{grid-column:auto;grid-row:span 2}.count-7.layout-b .photo-2{grid-row:auto;grid-column:span 2}.count-7.layout-c .photo-1{grid-column:span 3}.count-7.layout-c .photo-2{grid-row:auto}.count-8 .photo-1{grid-column:span 2}.count-8.layout-b .photo-1{grid-column:auto}.count-8.layout-b .photo-8{grid-column:span 2}.count-8.layout-c .photo-1{grid-column:auto;grid-row:span 2}.count-9.layout-b{gap:3cqw;padding-top:8cqw;padding-bottom:5cqw}.count-9.layout-c{gap:3.6cqw 2.4cqw}.dense-grid .photo-card{padding:1.2cqw}.dense-grid .photo-card:before{height:2.8cqw;top:-1.3cqw}.dense-grid figcaption{font-size:2.5cqw;padding-top:1.2cqw}.dense-grid .photo-placeholder .icon{width:5cqw;height:5cqw}.dense-grid .photo-placeholder>span:last-child{font-size:max(8px,1.8cqw);letter-spacing:0}.group-content .count-1{padding:15cqw 0 5cqw}.group-caption{font-size:4cqw;text-align:center;color:#96764a;margin:3cqw 0 6cqw}.members-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5cqw 4cqw;margin:6cqw 0 3cqw}.members-grid .photo-card{padding-bottom:2.5cqw}.member-quote{font-size:max(8px,1.9cqw);color:#958163;text-align:center;padding-top:1cqw;line-height:1.8}.video-content{flex:1;display:flex;flex-direction:column}.video-frame{background:#e1d2b6;padding:2.5cqw 2.5cqw 5cqw;margin-top:13cqw;transform:rotate(-2deg);box-shadow:2px 5px 9px #51391b25;position:relative}.video-frame:before,.video-frame:after{content:"";position:absolute;top:-1cqw;width:16cqw;height:4cqw;background:#c4b18099}.video-frame:before{left:-2cqw;transform:rotate(-34deg)}.video-frame:after{right:-2cqw;transform:rotate(34deg)}.video-preview{aspect-ratio:4 / 3;width:100%;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4cqw;border:0;color:#ddcda9;background:radial-gradient(ellipse at 40% 30%,#5f5748,#3b372c);overflow:hidden}.video-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.65}.play-badge{position:relative;display:grid;place-items:center;width:15cqw;height:15cqw;border:1px solid #cfb88780;border-radius:50%;background:#3b342844}.play-badge .icon{width:5cqw;height:5cqw;margin-left:1cqw}.video-placeholder-text{position:relative;font-size:2.7cqw;letter-spacing:.15em}.video-frame video{width:100%;aspect-ratio:4 / 3;background:#302b23}.video-caption{color:#937347;text-align:center;font-size:5cqw;margin-top:9cqw;transform:rotate(-3deg)}.video-status{text-align:center;color:#8c7858;font-size:max(10px,2.15cqw);margin:auto 0 5cqw;padding-top:5cqw;line-height:1.8}.message-content{flex:1;display:flex;flex-direction:column;min-height:0}.letter-paper{flex:1;margin-top:6cqw;line-height:9cqw;background:repeating-linear-gradient(transparent 0 calc(9cqw - 1px),#b59b6a38 calc(9cqw - 1px) 9cqw)}.letter-paper>.handwritten{font-size:5cqw;color:#8a6c44}.letter-placeholder{color:#ac946f;font-size:2.7cqw}.letter-sign{align-self:flex-end;font-size:5cqw;color:#92774e;margin-top:3cqw;transform:rotate(-4deg)}.closing-content{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center}.closing-content .small-english{margin-top:6cqw}.closing-content h2{font-size:7cqw;font-weight:400;white-space:pre-line;line-height:1.9;margin:6cqw 0}.closing-text{font-size:max(11px,2.7cqw);color:#88714f;white-space:pre-line;line-height:2.3}.closing-content>.handwritten{font-size:5cqw;color:#9b7e4d;margin:7cqw 0 3cqw}.close-book-button{display:flex;align-items:center;gap:13px;background:none;border:0;border-bottom:1px solid #a989504a;min-height:44px;font-size:2.6cqw;padding:10px 0}.close-book-button .icon{width:15px;height:15px}.blank-content{flex:1;display:grid;place-items:center;font-size:3cqw;color:#a38c69}.reading-caption{position:absolute;top:calc(100% + 41px);left:50%;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);text-align:center;color:#f1e5cc;text-shadow:0 1px 2px #36220e4a}.reading-caption .caption-main{display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;letter-spacing:.19em}.reading-caption .caption-main .icon{width:14px;height:14px}.caption-help{font-size:10px;color:#e0ceb2;letter-spacing:.09em;margin-top:9px}.sound-toggle{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:28px;min-width:44px;min-height:44px;padding:11px;display:flex;align-items:center;gap:10px;background:#39281821;border:1px solid #ead4b12b;border-radius:50%;color:#e9d7b7;z-index:6}.sound-toggle .icon{width:18px;height:18px}.sound-note{position:fixed;bottom:37px;right:84px;font-size:10px;letter-spacing:.12em;color:#ddc9a9}.loading-book{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#eadac0;font-size:18px;letter-spacing:.12em}.loading-book i{height:2px;width:72px;background:#d3b578;transform-origin:left;animation:loading 1.5s var(--ease-in-out) infinite alternate}.loading-book small{font-size:11px;opacity:.7}.error-panel{max-width:460px;padding:32px;margin:25vh auto;background:var(--paper);line-height:2}.error-panel h1{font-size:23px;margin-bottom:15px}.error-panel p{overflow-wrap:anywhere;font-size:14px}.error-panel button{margin-top:20px;padding:12px 20px;background:#5a3825;color:var(--paper);border:0}.lightbox{border:0;background:transparent;color:#f2e5cd;padding:0;width:min(1060px,96vw);max-width:96vw;overflow:visible}.lightbox::backdrop{background:#20180fee;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lightbox-inner{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:18px;padding:56px 0 16px}.lightbox-close{position:absolute;right:0;top:0}.lightbox button{border:1px solid #dec8a533;background:#c9a24b0b;color:#f0dfbe;min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:50%}.lightbox-media{height:min(66dvh,660px);display:flex;align-items:center;justify-content:center;padding:13px;background:#f4e9d3;box-shadow:0 20px 70px #08050380}.lightbox-media img{width:100%;height:100%;object-fit:contain}.lightbox-media .photo-placeholder{min-height:100%;gap:20px}.lightbox-media .photo-placeholder .icon{width:60px;height:60px}.lightbox-media .photo-placeholder>span:last-child{font-size:16px}.lightbox-info{text-align:center;padding-top:22px;font-size:14px;line-height:1.8}.lightbox-count{color:#bba789;font:12px Georgia,serif;display:block;margin-top:8px;letter-spacing:.15em}.comment-marker{position:absolute;z-index:2;top:-10px;right:-10px;width:44px;height:44px;border:0;border-radius:50%;background:#e9ce7e;color:#775229;display:grid;place-items:center}.comment-bookmark{position:absolute;z-index:3;right:0;top:21%;border:0;background:#ba9273;min-height:44px;padding:8px;color:#37271a;font-size:11px;box-shadow:-2px 2px 4px #75533233}.comment-panel{position:absolute;z-index:4;inset:auto 7% 9%;max-height:60%;padding:18px;background:#eee0bb;box-shadow:0 10px 30px #50381855;overflow-y:auto}.comment-panel h3{font-size:14px;padding-right:44px;margin-bottom:10px}.comment-panel .note-close{position:absolute;top:0;right:0;width:44px;height:44px;border:0;background:transparent}.sticky-note{position:relative;padding:18px 15px 14px;background:#f2dc8e;margin:15px 0;transform:rotate(-1.5deg);box-shadow:2px 5px 4px -3px #66461955}.sticky-note[data-color=pink]{background:#ebc7bb;transform:rotate(1deg)}.sticky-note[data-color=blue]{background:#c7dadb}.sticky-note:before{content:"";width:45px;height:16px;background:#bcb28b88;position:absolute;top:-6px;left:calc(50% - 22px);transform:rotate(5deg)}.sticky-note:after{content:"";position:absolute;bottom:0;right:0;border:7px solid transparent;border-bottom-color:#f5ecd2;border-right-color:#f5ecd2}.sticky-note p{font-family:Ma Shan Zheng,KaiTi,cursive;font-size:20px;line-height:1.6;overflow-wrap:anywhere}.sticky-note small{font-size:10px;margin-top:10px;display:block;color:#78613e}.comment-empty{font-size:12px;line-height:2;color:#806842}.guestbook{padding-top:5cqw}.guestbook .section-title{margin-top:0}.guestbook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4cqw 0 2cqw}.guestbook-count{font-size:max(10px,2.2cqw);color:#806440}.guestbook-write{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:7px 12px;border:1px solid #a5824977;border-radius:2px;color:#634526;background:#ead9b5;box-shadow:0 2px 3px #79562413;font-size:max(11px,2.5cqw);white-space:nowrap}.guestbook-write .icon{width:16px;height:16px}.guestbook-list{flex:1;min-height:0;overflow:auto;padding:10px 10px 12px 6px;scrollbar-width:thin;scrollbar-color:#b69969 transparent;overscroll-behavior:contain;touch-action:pan-y;user-select:text;-webkit-user-select:text}.guestbook-list:focus-visible{outline:1px dashed #a28250;outline-offset:3px}.guestbook-note{margin:10px 3px 21px;padding:17px 16px 12px;transform:rotate(-.6deg)}.guestbook-note:nth-child(2n){transform:rotate(.6deg)}.guestbook-note p{font-size:max(16px,4cqw);line-height:1.7;white-space:pre-wrap}.guestbook-signature{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding-top:10px;font-size:max(10px,2.2cqw);line-height:1.6;color:#695331}.guestbook-signature span{overflow-wrap:anywhere}.guestbook-signature time{flex-shrink:0;font:10px Georgia,serif}.guestbook-status{color:#795f3a;font-size:max(11px,2.4cqw);line-height:1.7;text-align:center}.guestbook-status:empty{display:none}.guestbook-more{align-self:center;min-height:36px;margin:0 0 5px;padding:6px 13px;border:0;border-bottom:1px solid #af8b5166;color:#79572d;background:transparent;font-size:max(11px,2.4cqw)}.guestbook-more[hidden]{display:none}.guestbook-hint{padding-top:2.5cqw;color:#816642;text-align:center;font-size:max(9px,2cqw)}.guestbook-empty{display:flex;min-height:100%;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:25px 12px;text-align:center;background:repeating-linear-gradient(transparent 0 calc(9cqw - 1px),#b59b6a24 calc(9cqw - 1px) 9cqw)}.guestbook-empty>.icon{width:34px;height:34px;color:#a58654}.guestbook-empty p{font-size:5cqw;color:#8a6c44}.guestbook-empty small{font-size:max(10px,2.3cqw);color:#866d48;line-height:2}.guestbook-dialog{width:min(490px,calc(100vw - 28px));max-height:calc(100dvh - 36px);padding:30px;border:1px solid #d7bf91;border-radius:4px;color:#594126;background:var(--paper);box-shadow:0 25px 90px #21180c88;overscroll-behavior:contain}.guestbook-dialog:before{content:"";position:absolute;inset:0;background-image:var(--grain);opacity:.12;pointer-events:none}.guestbook-dialog::backdrop{background:#2c2014b8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.guestbook-dialog>.icon{color:#8a643a;width:27px;height:27px;margin-bottom:10px}.guestbook-dialog h2{margin:0 20px 9px 0;font-size:23px;font-weight:400;letter-spacing:.06em}.guestbook-compose-description{font-size:12px;line-height:1.8;color:#806641}.guestbook-close{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent}.guestbook-form{display:grid;gap:16px;margin-top:23px}.guestbook-field{display:grid;gap:7px;font-size:12px}.guestbook-field>input,.guestbook-field>textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #bca178;border-radius:2px;outline-offset:2px;background:#fffaf0b5;color:#503a23;font-size:16px;line-height:1.6}.guestbook-field>textarea{resize:vertical;max-height:240px}.guestbook-field input::placeholder,.guestbook-field textarea::placeholder{color:#927b5d;font-size:13px}.guestbook-field input:focus-visible,.guestbook-field textarea:focus-visible{outline:2px solid #a47537}.guestbook-field input[aria-invalid=true]{border-color:#a04e35}.guestbook-field input[name=key]{font-family:ui-monospace,Consolas,monospace;letter-spacing:.3em}.guestbook-field small{color:#7f6645;font-size:11px;line-height:1.8}.guestbook-field .guestbook-remaining{text-align:right;font:11px Georgia,serif}.guestbook-colors{display:flex;gap:9px;border:0;margin:0;padding:7px 0 0}.guestbook-colors legend{padding:0;font-size:12px}.guestbook-colors label{position:relative;flex:1;cursor:pointer}.guestbook-colors input{position:absolute;width:1px;height:1px;opacity:0}.guestbook-swatch{display:grid;place-items:center;min-height:40px;border:2px solid transparent;font-size:11px;color:#654e32;background:#f2dc8e}.guestbook-swatch[data-color=pink]{background:#ebc7bb}.guestbook-swatch[data-color=blue]{background:#c7dadb}.guestbook-colors input:checked+span{border-color:#896237;box-shadow:inset 0 0 0 2px #ffffff60}.guestbook-colors input:focus-visible+span{outline:2px solid #896237;outline-offset:3px}.guestbook-form-error{color:#9b3e26;font-size:12px;line-height:1.7}.guestbook-form-error:empty{display:none}.guestbook-submit{width:100%;min-height:46px;padding:12px;border:1px solid #634025;border-radius:2px;color:#fff2d9;background:#6d4c2f;font-size:14px;letter-spacing:.08em}@media(max-width:480px){.guestbook-dialog{padding:25px 21px}.guestbook-dialog h2{font-size:20px}.guestbook-toolbar{padding-top:2cqw}.guestbook-note{padding:14px 12px 10px}}@keyframes loading{0%{transform:scaleX(.15);opacity:.4}to{transform:scaleX(1);opacity:1}}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:no-preference){.book-position[data-state=front]:not(.is-turning) .cover-face{animation:breathe 5s ease-in-out infinite}}@media(hover:hover)and (pointer:fine){.ribbon:hover{transform:translateY(6px)}.contents-item:hover strong{color:#a2732a}.photo-view:hover .photo-placeholder{background:#ded0b5}.photo-card{transition:transform .2s var(--ease-out)}.photo-card:hover{transform:rotate(0) translateY(-2px)}.page-corner:hover{opacity:1}.sound-toggle:hover{background:#39281840}.ribbon-menu button:hover{background:#dcc9a961}.lightbox button:hover{background:#c9a24b26}}@media(max-width:1023px){.reader{padding-top:37px;padding-bottom:99px}.paper-inner{padding:5cqw 7cqw 8cqw}.book-position{transition-duration:0ms}.reading-caption{top:calc(100% + 32px)}.caption-main{font-size:11px!important}.caption-help{font-size:9px}.sound-toggle{bottom:max(14px,env(safe-area-inset-bottom));right:17px}.sound-note{display:none}.page-header{padding-right:34px}.contents-content{padding-top:4cqw}.contents-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6cqw;gap:3cqw 4cqw}.contents-item{min-height:54px;padding-block:1cqw;gap:6px;align-items:flex-start}.contents-item strong{font-size:3.2cqw;line-height:1.8}.contents-item small{font-size:2.45cqw;line-height:1.8}.contents-item i{display:none}.contents-number{font-size:3.1cqw;padding-top:3px;margin-left:auto}.contents-footnote{padding-top:1cqw}.dense-grid{gap:3cqw 2.7cqw}.dense-grid .photo-card{padding:1.1cqw}.dense-grid .photo-placeholder>span:last-child{font-size:8px}.lightbox-inner{gap:6px;grid-template-columns:44px minmax(0,1fr) 44px}.lightbox-media{height:min(61dvh,640px);padding:7px}.lightbox{width:98vw;max-width:98vw}.lightbox-close{right:10px}.lightbox-info{font-size:12px}}@media(max-width:374px){.contents-content{padding-top:2cqw}.contents-description{display:none}.contents-list{margin-top:3cqw;gap:1cqw 3cqw}.contents-item{min-height:44px;align-items:center}.contents-item strong{font-size:10px}.contents-item small{display:none}.contents-footnote{font-size:4cqw;margin-bottom:3cqw}}@media(max-height:570px)and (min-width:600px){.reader{padding-top:20px;padding-bottom:80px}.reading-caption{top:calc(100% + 25px)}.caption-help{display:none}.contents-item{min-height:24px;padding-block:.8cqw}.contents-item small{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:0ms!important;scroll-behavior:auto!important}.book-position{transition:none}}
