.year-page{--ink:#345765;--body:#3c555b;--muted:#657b7a;--blue:#326d88;--paper:#fffdf6;--line:#dce4de;--sans:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans CJK JP",Meiryo,sans-serif;--spring:#95606e;--summer:#367b82;--autumn:#9a642e;--winter:#5e7b9a}.year-page *{box-sizing:border-box}.year-page{scroll-behavior:smooth;scroll-padding-top:22px}.year-page .page-root{margin:0;background:var(--paper);color:var(--body);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}.year-page button,.year-page input,.year-page textarea{font:inherit}.year-page button{cursor:pointer}.year-page a{color:inherit;text-decoration:none}.year-page button,.year-page a{-webkit-tap-highlight-color:transparent}.year-page button:focus-visible,.year-page a:focus-visible,.year-page textarea:focus-visible,.year-page input:focus-visible,.year-page [role=button]:focus-visible{outline:3px solid #286984;outline-offset:5px}.year-page button:disabled{cursor:wait;opacity:.65}.year-page [hidden]{display:none!important}.year-page .wrap{width:min(1100px,calc(100% - 96px));margin:auto}.year-page .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.year-page .sr-only:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;z-index:100;padding:12px;background:#fff}.year-page .art-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}.year-page .illustration{display:block;width:100%;height:100%;overflow:visible;pointer-events:none}.year-page .preview-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:46px;padding:4px 24px;background:#e8eee9;color:#425e60;font-size:11px;line-height:1.5}.year-page .preview-caption{display:flex;gap:12px;align-items:center}.year-page .preview-badge{border:1px solid #b9c9c0;border-radius:5px;padding:3px 7px;font-size:10px}.year-page .preview-actions{display:flex;gap:14px;align-items:center}.year-page .preview-actions button{border:0;background:none;padding:7px 0;min-height:36px;font-size:11px;color:#425e60}.year-page .preview-actions button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}.year-page .preview-actions .save-button{border:1px solid #b7c8be;border-radius:20px;background:#f7faf5;padding:6px 13px}.year-page .edit-hint{padding:10px 20px;background:#edf5e9;color:#425e60;font-size:12px;text-align:center}.year-page .site-header{background:var(--paper);position:relative;z-index:2}.year-page .header-inner{height:98px;display:flex;justify-content:space-between;align-items:center;gap:24px}.year-page .brand{line-height:1.6;letter-spacing:.06em}.year-page .brand small{display:block;font-size:10px;color:#6a817f;margin-bottom:3px}.year-page .brand>span{font-size:23px;font-weight:700;color:var(--blue);letter-spacing:.1em}.year-page .header-links{display:flex;align-items:center;gap:24px;font-size:13px}.year-page .current-page{color:#597478;font-weight:500}.year-page .header-links button{background:#fff;border:1px solid #d8e1d7;border-radius:26px;padding:11px 19px;display:flex;gap:10px;align-items:center;font-size:13px;color:var(--ink);min-height:44px}.year-page .list-icon{width:16px;display:flex;flex-direction:column;gap:4px}.year-page .list-icon i{height:2px;background:#7ca7a7;border-radius:2px;width:100%}.year-page .hero{position:relative;background:var(--paper);isolation:isolate;overflow:hidden}.year-page .hero .wrap{position:relative;z-index:1}.year-page .hero-inner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:14px;padding:26px 0 35px;min-height:365px}.year-page .hero-copy{padding:0 0 15px}.year-page .breadcrumbs{display:flex;gap:10px;font-size:11px;color:#6a807e;align-items:center;margin-bottom:29px}.year-page .hero-tag{display:inline-block;font-size:12px;color:#4e797d;border:1px dashed #b6c9bb;border-radius:40% 45% 42% 40%/45% 45% 40% 45%;padding:3px 17px;background:#f1f5e9;letter-spacing:.18em;margin:0 0 11px;transform:rotate(-3deg)}.year-page h1{font-size:49px;line-height:1.7;letter-spacing:.015em;margin:0;color:var(--ink);font-weight:800;white-space:nowrap;paint-order:stroke fill;-webkit-text-stroke:.5px currentColor}.year-page .title-year{position:relative;display:inline-block;font-size:54px;margin-left:5px;z-index:0}.year-page .title-one{font-family:"Arial Rounded MT Bold","Noto Sans CJK JP",var(--sans);color:#e6877c;display:inline-block;font-size:85px;line-height:1;transform:rotate(-9deg);margin:0 6px 0 1px;-webkit-text-stroke:1px currentColor}.year-page .title-year>svg{position:absolute;left:-4px;bottom:1px;width:110%;height:12px;z-index:-1}.year-page .hero-subline{font-size:18px;font-weight:500;color:#5e7878;letter-spacing:.12em;margin:16px 0 0}.year-page .hero-visual{width:100%;position:relative}.year-page .season-garden{width:100%;height:auto;display:block;overflow:visible}.year-page .bunting{position:absolute;right:3%;top:-41px;width:270px;height:85px;transform:rotate(-7deg);opacity:.88;z-index:0}.year-page .season-nav{background:var(--paper);padding:0 0 62px;position:relative}.year-page .season-nav-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;align-items:center}.year-page .season-link{position:relative;display:flex;align-items:center;gap:14px;padding:13px 20px 13px 13px;background:var(--tint);color:var(--accent);border-radius:45px 33px 39px 35px;min-height:92px;transition:transform .2s,box-shadow .2s}.year-page .season-link:nth-child(1){transform:rotate(-2deg)}.year-page .season-link:nth-child(2){transform:rotate(1deg)}.year-page .season-link:nth-child(3){transform:rotate(-1.2deg)}.year-page .season-link:nth-child(4){transform:rotate(2deg)}.year-page .season-link:hover{transform:translateY(-4px) rotate(0deg);box-shadow:0 5px 0 #233c3c0d}.year-page .nav-illustration{width:49px;height:58px;flex-shrink:0}.year-page .nav-label{display:flex;flex-direction:column;line-height:1.6;gap:2px}.year-page .nav-label b{font-size:23px;letter-spacing:.15em;font-weight:750}.year-page .nav-label small{font-size:11px;letter-spacing:.03em;white-space:nowrap}.year-page .nav-arrow{margin-left:auto;font-size:20px}.year-page .spring{--accent:#955a6d;--tint:#fbe8ec;--mist:#fcf1f1;--tape:#a9c7ad;--hill:#efdbd3;--photo-bg:#fbf1e6;--edge:#e3c7c9}.year-page .summer{--accent:#347781;--tint:#e0f1f1;--mist:#edf7f4;--tape:#f1d17c;--hill:#cce6d9;--photo-bg:#e8f4f1;--edge:#bdd8ce}.year-page .autumn{--accent:#96602a;--tint:#faecd7;--mist:#fff6e7;--tape:#abc6c5;--hill:#f0debc;--photo-bg:#fff4e3;--edge:#e6d1ad}.year-page .winter{--accent:#5e749c;--tint:#e9edf9;--mist:#f0f4fb;--tape:#e3b7c4;--hill:#d7e4ef;--photo-bg:#eaf3f8;--edge:#c6d5e5}.year-page .season{background:var(--mist);position:relative;padding:38px 0 62px;scroll-margin-top:0}.year-page .paper-edge{position:absolute;left:0;top:-34px;width:100%;height:36px;display:block;fill:var(--mist);pointer-events:none}.year-page .season-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px}.year-page .season-title-group{display:flex;align-items:center;gap:15px;color:var(--accent)}.year-page .heading-art{display:block;width:63px;height:72px;transform:rotate(-9deg);flex-shrink:0}.year-page .summer .heading-art{transform:rotate(8deg)}.year-page .autumn .heading-art{width:60px;transform:rotate(-12deg)}.year-page .winter .heading-art{transform:rotate(7deg)}.year-page .season h2{font-size:46px;letter-spacing:.10em;font-weight:800;line-height:1.3;margin:0;paint-order:stroke fill;-webkit-text-stroke:.45px currentColor}.year-page .season-months{font-size:12px;font-weight:600;letter-spacing:.07em;margin:7px 0 0 8px;padding:3px 13px;border:1px dashed var(--edge);border-radius:20px;white-space:nowrap;background:#ffffff80}.year-page .section-up{font-size:11px;display:flex;gap:10px;align-items:center;color:#5e7374;min-height:44px}.year-page .section-up>span{display:grid;place-items:center;background:#ffffffb8;border-radius:50%;width:29px;height:29px;font-size:16px}.year-page .season-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:74px;align-items:center}.year-page .season:nth-of-type(even) .season-story{grid-column:2;grid-row:1}.year-page .season:nth-of-type(even) .season-calendar{grid-column:1;grid-row:1}.year-page .season-story{margin:0;min-width:0;position:relative}.year-page .photo-wrap{position:relative;transform:rotate(-1.3deg);background:#fff;border:9px solid #fff;border-bottom-width:13px;border-radius:9px 13px 8px 13px;box-shadow:2px 5px 0 #7971650c;isolation:isolate}.year-page .summer .photo-wrap,.year-page .winter .photo-wrap{transform:rotate(1.4deg)}.year-page .autumn .photo-wrap{transform:rotate(-.7deg)}.year-page .masking-tape{display:block;position:absolute;left:calc(50% - 38px);top:-20px;width:77px;height:25px;background:var(--tape);background-image:repeating-linear-gradient(0deg,transparent 0 4px,#ffffff23 4px 5px);z-index:3;opacity:.84;transform:rotate(6deg);clip-path:polygon(0 5%,100% 0,96% 15%,100% 30%,96% 46%,100% 62%,96% 80%,100% 96%,0 100%,4% 85%,0 70%,4% 53%,0 40%,4% 22%)}.year-page .photo-sticker{position:absolute;width:65px;height:75px;right:-29px;bottom:-23px;z-index:3;transform:rotate(12deg);pointer-events:none;filter:drop-shadow(1px 2px 0 #ffffff)}.year-page .summer .photo-sticker{left:-25px;right:auto;transform:rotate(-12deg)}.year-page .winter .photo-sticker{right:-23px;width:65px;height:75px}.year-page .photo-slot{display:block;width:100%;border:0;aspect-ratio:1.64;background:var(--photo-bg);border-radius:3px 6px 3px 5px;padding:0;position:relative;overflow:hidden;color:var(--accent);cursor:default}.year-page .photo-art{position:absolute;inset:0;overflow:hidden}.year-page .photo-sky{position:absolute;inset:0;background:var(--photo-bg)}.year-page .photo-hill{position:absolute;bottom:-60px;height:120px;width:85%;border-radius:55% 60% 0 0;background:var(--hill);opacity:.6;transform:rotate(8deg)}.year-page .hill-one{left:-70px}.year-page .hill-two{right:-110px;height:160px;bottom:-90px;opacity:.48;transform:rotate(-9deg)}.year-page .photo-cloud{position:absolute;background:#ffffff9c;width:90px;height:30px;border-radius:50%;transform:rotate(-4deg)}.year-page .photo-cloud:before{content:"";position:absolute;width:50px;height:40px;background:inherit;border-radius:50%;left:18px;bottom:1px}.year-page .cloud-left{left:24px;top:43px}.year-page .cloud-right{right:33px;top:64px;width:60px;height:22px;opacity:.65}.year-page .cloud-right:before{width:32px;height:27px;left:10px}.year-page .photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:20px;line-height:1.6;transform:rotate(1.3deg)}.year-page .photo-placeholder .camera-icon{width:50px;height:56px;opacity:.6}.year-page .photo-placeholder>span{font-size:14px;font-weight:500;letter-spacing:.08em}.year-page .uploaded-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.year-page .photo-edit-label{position:absolute;right:12px;bottom:12px;border:1px solid var(--edge);border-radius:20px;background:#ffffffef;padding:7px 13px;font-size:12px;color:var(--ink);transform:rotate(1deg)}.year-page .photo-remove{position:absolute;right:6px;top:6px;z-index:4;background:#fff;border:1px solid #d7dddd;border-radius:20px;padding:6px 10px;font-size:11px;color:#755859}.year-page .story-caption{padding:25px 8px 0}.year-page .story-title-line{display:flex;gap:8px;align-items:center;min-height:28px}.year-page .story-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;opacity:.7;flex-shrink:0}.year-page .story-title-line h3{margin:0;font-size:16px;font-weight:700;letter-spacing:.045em;color:var(--accent);overflow-wrap:anywhere}.year-page .copy-slot{padding-top:8px;min-height:67px}.year-page .copy-placeholder{font-size:13px;line-height:1.9;color:#607371;margin:0}.year-page .copy-placeholder span{font-size:11px;display:block;color:#71807a}.year-page .story-copy{font-size:16px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--body)}.year-page .edit-copy{border:1px solid var(--edge);background:#ffffffbd;font-size:11px;padding:5px 10px;border-radius:20px;margin-left:auto;color:var(--ink);white-space:nowrap}.year-page .season-calendar{min-width:0;padding:0 0 8px}.year-page .calendar-kicker{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:700;color:var(--accent);margin-bottom:6px;letter-spacing:.08em}.year-page .hand-line{flex:1;border-top:2px dotted var(--edge);height:3px}.year-page .month-row{display:grid;grid-template-columns:58px 1fr;gap:19px;align-items:center;padding:15px 0;border-bottom:1px dashed var(--edge)}.year-page .month-row:last-child{border-bottom:0}.year-page .month-row h3{display:flex;justify-content:center;align-items:baseline;gap:3px;margin:0;line-height:1.5;position:relative;isolation:isolate;color:var(--accent,var(--blue));font-weight:700}.year-page .month-row h3:before{content:"";position:absolute;z-index:-1;inset:-7px 0 -7px -3px;background:#ffffffc7;border-radius:44% 52% 46% 51%;transform:rotate(-7deg)}.year-page .month-row:nth-child(odd) h3:before{border-radius:48% 44% 53% 44%;transform:rotate(12deg)}.year-page .month-number{font-family:"Arial Rounded MT Bold","Noto Sans CJK JP",var(--sans);font-size:29px;font-weight:700;letter-spacing:-.04em}.year-page .month-unit{font-size:11px;font-weight:600}.year-page .events{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:3px 17px;align-items:center;line-height:1.9}.year-page .events li{font-size:16px;position:relative;padding-left:10px;letter-spacing:.015em}.year-page .events li:before{content:"";position:absolute;top:.94em;left:0;width:4px;height:4px;border-radius:48% 45% 50% 42%;background:var(--accent,var(--blue));opacity:.65}.year-page .summer .month-row{padding:23px 0}.year-page .summer .events{row-gap:5px}.year-page .closing{background:var(--paper);padding:44px 0 28px;position:relative}.year-page .closing-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.year-page .closing-name{font-size:21px;font-weight:700;letter-spacing:.08em;color:var(--blue)}.year-page .closing-sub{font-size:11px;color:#647d7c;margin-top:3px}.year-page .back-top{font-size:12px;display:flex;gap:13px;align-items:center;color:var(--ink)}.year-page .back-top>span{display:grid;place-items:center;width:42px;height:42px;border-radius:44% 50% 47% 50%;background:#f7e6a9;font-size:21px;transform:rotate(-7deg)}.year-page .review-note{font-size:11px;line-height:1.9;color:#667a79;margin:28px 0 0;padding-top:17px;border-top:1px dashed #d6dfd4}.year-page .edit-only{display:none!important}.year-page .page-root.is-editing .edit-only:not([hidden]){display:inline-flex!important}.year-page .page-root.is-editing .photo-slot{cursor:pointer}.year-page .page-root.is-editing .photo-slot:hover{outline:2px solid var(--accent);outline-offset:3px}.year-page .page-root.is-editing .copy-slot{border-bottom:1px dashed #b9c9bd;cursor:pointer}.year-page .page-root.is-editing #edit-hint{display:block!important}.year-page .preview-actions button:hover{opacity:.8}.year-page .busy{opacity:.6;pointer-events:none}.year-page .dialog{border:1px solid #dce3d7;color:var(--body);border-radius:23px;padding:0;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 40px);box-shadow:0 20px 70px #304b4926;overflow:auto;background:var(--paper)}.year-page .dialog::backdrop{background:#31484470;backdrop-filter:blur(3px)}.year-page .dialog-inner{padding:26px 28px 30px}.year-page .dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:16px;border-bottom:1px dashed #d1ddce;margin-bottom:17px}.year-page .dialog-heading h2{font-size:20px;font-weight:700;margin:0;color:var(--ink)}.year-page .close-button{display:grid;place-items:center;border:0;width:40px;height:40px;border-radius:50%;background:#edf2e9;font-size:24px;padding:0;line-height:1;color:var(--ink);flex-shrink:0}.year-page .dialog p{font-size:13px;line-height:1.9;color:#607675}.year-page .dialog label{display:block;margin-top:18px;font-size:13px;font-weight:600}.year-page .dialog input:not([type=file]),.year-page .dialog textarea{display:block;width:100%;margin-top:7px;border:1px solid #b9cabd;border-radius:10px;padding:10px 12px;background:white;color:var(--body);font-size:16px;line-height:1.8}.year-page .dialog textarea{min-height:145px;resize:vertical}.year-page .field-note{font-weight:400;font-size:11px;color:#697d77;display:block;margin-top:7px}.year-page .dialog-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.year-page .dialog-controls button{border:1px solid #b9cabd;border-radius:25px;padding:10px 17px;background:#fff;color:var(--ink);font-size:13px;min-height:44px}.year-page .dialog-controls .primary{background:var(--blue);border-color:var(--blue);color:#fff}.year-page .calendar-dialog .month-row{padding:12px 0;grid-template-columns:50px 1fr;gap:16px;--edge:#d8e2d6}.year-page .calendar-dialog .month-number{font-size:24px}.year-page .calendar-dialog .events li{font-size:15px}.year-page .calendar-dialog .month-row h3:before{background:#edf2e7}.year-page .source-note{background:#f0f3e9;padding:13px;border-radius:10px;font-size:11px!important}.year-page .toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:12px 18px;border-radius:15px;background:#345e65;color:#fff;font-size:12px;text-align:center;line-height:1.8;box-shadow:0 5px 20px #193d4520;z-index:20}@media(max-width:1100px){.year-page .wrap{width:calc(100% - 72px)}.year-page .hero-inner{grid-template-columns:1.15fr 1fr;min-height:330px}.year-page h1{font-size:39px}.year-page .title-year{font-size:45px}.year-page .title-one{font-size:72px}.year-page .season-link{padding:12px;gap:9px;min-height:85px}.year-page .nav-illustration{width:41px;height:48px}.year-page .nav-label b{font-size:21px}.year-page .nav-label small{font-size:10px}.year-page .season-nav-inner{gap:12px}.year-page .nav-arrow{font-size:16px}.year-page .season-grid{gap:47px}.year-page .events{column-gap:14px}.year-page .month-row{gap:14px}.year-page .bunting{right:0}.year-page .current-page{display:none}}@media(max-width:800px) and (min-width:701px){.year-page h1{font-size:32px}.year-page .title-year{font-size:37px}.year-page .title-one{font-size:63px}.year-page .hero-subline{font-size:16px}.year-page .nav-arrow{display:none}.year-page .nav-illustration{width:33px;height:41px}.year-page .nav-label b{font-size:19px}.year-page .nav-label small{font-size:9px}.year-page .season-grid{gap:35px}.year-page .month-row{grid-template-columns:48px 1fr;gap:12px}.year-page .events li{font-size:15px}.year-page .photo-slot{aspect-ratio:1.35}.year-page .season-months{margin-left:0}.year-page .section-up{font-size:10px}}@media(max-width:700px){.year-page{scroll-padding-top:17px}.year-page .wrap{width:calc(100% - 44px)}.year-page .preview-bar{padding:3px 12px;min-height:43px;gap:9px}.year-page .preview-caption>span:not(.preview-badge){display:none}.year-page .preview-badge{font-size:9px;white-space:nowrap;padding:3px 5px}.year-page .preview-actions{gap:10px}.year-page .preview-actions button{font-size:10px;min-height:36px}.year-page .preview-actions .save-button{padding:5px 9px}.year-page .edit-hint{padding:10px 15px;font-size:11px}.year-page .header-inner{height:80px;gap:12px}.year-page .brand small{font-size:8px;letter-spacing:.04em;margin-bottom:3px}.year-page .brand>span{font-size:18px;letter-spacing:.06em}.year-page .header-links button{padding:9px 10px;font-size:10px;gap:7px;min-height:40px}.year-page .list-icon{width:13px;gap:3px}.year-page .list-icon i{height:1.5px}.year-page .hero-inner{display:block;min-height:0;padding:13px 0 10px}.year-page .hero-copy{padding:0}.year-page .breadcrumbs{font-size:10px;gap:7px;margin-bottom:23px}.year-page .hero-tag{font-size:11px;margin:0 0 8px;padding:1px 14px}.year-page .hero h1{font-size:34px;line-height:1.55;letter-spacing:.01em}.year-page .title-year{font-size:39px;margin-left:3px}.year-page .title-one{font-size:64px;margin:0 5px 0 0}.year-page .title-year>svg{height:10px;bottom:-1px}.year-page .hero-subline{font-size:15px;letter-spacing:.12em;margin:14px 0 0}.year-page .hero-visual{max-width:370px;margin:-2px auto 0}.year-page .season-garden{height:192px;width:100%}.year-page .bunting{width:162px;height:52px;right:-12px;top:6px;transform:rotate(-12deg);opacity:.8}.year-page .season-nav{padding:8px 0 48px}.year-page .season-nav-inner{gap:9px}.year-page .season-link{display:flex;flex-direction:column;justify-content:center;gap:0;padding:9px 2px 11px;min-height:110px;border-radius:40% 42% 23px 23px/24% 26% 20px 20px}.year-page .nav-illustration{width:38px;height:44px;margin-bottom:0}.year-page .nav-label{gap:1px;text-align:center;line-height:1.65}.year-page .nav-label b{font-size:20px;letter-spacing:.10em}.year-page .nav-label small{font-size:9px;letter-spacing:-.015em}.year-page .nav-arrow{display:none}.year-page .season{padding:18px 0 47px}.year-page .paper-edge{top:-26px;height:28px}.year-page .season-heading{margin-bottom:26px;gap:8px}.year-page .season-title-group{gap:9px;flex-wrap:nowrap}.year-page .heading-art{width:43px;height:53px}.year-page .autumn .heading-art{width:42px}.year-page .season h2{font-size:35px;letter-spacing:.07em}.year-page .season-months{font-size:10px;margin:4px 0 0 2px;padding:3px 7px;letter-spacing:0}.year-page .section-up{font-size:9px;gap:5px;white-space:nowrap;min-height:42px}.year-page .section-up>span{width:22px;height:22px;font-size:14px}.year-page .season-grid,.year-page .season:nth-of-type(even) .season-grid{display:flex;flex-direction:column;gap:18px}.year-page .season-story,.year-page .season-calendar{width:100%;min-width:0}.year-page .season-story{padding:0 4px}.year-page .photo-wrap{border-width:7px;border-bottom-width:10px;transform:rotate(-1.2deg);border-radius:7px 10px 7px 10px;margin:0 3px}.year-page .photo-slot{aspect-ratio:1.6}.year-page .masking-tape{width:63px;height:21px;left:calc(50% - 31px);top:-17px}.year-page .photo-sticker{width:49px;height:57px;right:-18px;bottom:-16px}.year-page .summer .photo-sticker{left:-18px;right:auto}.year-page .winter .photo-sticker{width:49px;height:57px;right:-18px}.year-page .photo-placeholder .camera-icon{width:43px;height:50px}.year-page .photo-placeholder>span{font-size:13px;letter-spacing:.08em}.year-page .photo-cloud{transform:scale(.8);transform-origin:left center}.year-page .cloud-left{left:12px;top:32px}.year-page .cloud-right{right:14px;top:51px;transform-origin:right center}.year-page .photo-hill{height:95px;bottom:-53px}.year-page .hill-two{height:130px;bottom:-73px;right:-70px}.year-page .story-caption{padding:20px 1px 0}.year-page .story-title-line h3{font-size:15px}.year-page .story-title-line{min-height:25px;gap:7px}.year-page .copy-slot{padding-top:5px;min-height:57px}.year-page .copy-placeholder{font-size:12px;line-height:1.85}.year-page .copy-placeholder span{font-size:10px;margin-top:2px}.year-page .story-copy{font-size:16px;line-height:1.9}.year-page .season-calendar{padding:0 0 6px}.year-page .calendar-kicker{font-size:12px;margin-bottom:5px;gap:12px}.year-page .month-row,.year-page .summer .month-row{grid-template-columns:51px 1fr;gap:15px;padding:13px 0}.year-page .month-row h3:before{inset:-7px 0 -7px -2px}.year-page .month-number{font-size:27px}.year-page .month-unit{font-size:10px}.year-page .events{column-gap:14px;row-gap:3px}.year-page .events li{font-size:16px;letter-spacing:0;padding-left:9px}.year-page .summer .events{row-gap:3px}.year-page .closing{padding:30px 0 24px}.year-page .closing-inner{gap:13px}.year-page .closing-name{font-size:18px;letter-spacing:.035em}.year-page .closing-sub{font-size:10px}.year-page .back-top{font-size:10px;gap:8px;white-space:nowrap}.year-page .back-top>span{width:32px;height:32px;font-size:18px}.year-page .review-note{font-size:10px;margin-top:22px;padding-top:15px}.year-page .dialog-inner{padding:20px 19px 24px}.year-page .dialog-heading h2{font-size:18px}.year-page .dialog label{font-size:12px}.year-page .dialog-controls{gap:9px}.year-page .dialog-controls button{font-size:12px;padding:10px 12px}.year-page .calendar-dialog .month-row{grid-template-columns:42px 1fr;gap:12px}.year-page .calendar-dialog .events{column-gap:11px}.year-page .calendar-dialog .events li{font-size:14px}.year-page .calendar-dialog .month-number{font-size:23px}.year-page .edit-copy{font-size:10px;padding:4px 8px}.year-page .photo-edit-label{font-size:11px;right:8px;bottom:8px}.year-page .photo-remove{font-size:10px;right:4px;top:4px}
}@media(max-width:359px){.year-page .wrap{width:calc(100% - 34px)}.year-page .brand>span{font-size:16px}.year-page .header-links button{font-size:9px;padding:8px}.year-page .hero h1{font-size:29px}.year-page .title-year{font-size:34px}.year-page .title-one{font-size:56px}.year-page .season-nav-inner{gap:7px}.year-page .nav-label b{font-size:18px}.year-page .nav-label small{font-size:8px}.year-page .season-title-group{gap:6px}.year-page .season h2{font-size:31px}.year-page .heading-art{width:36px;height:46px}.year-page .autumn .heading-art{width:36px}.year-page .season-months{font-size:9px;padding:2px 5px;margin-left:0}.year-page .section-up{font-size:8px;gap:3px}.year-page .section-up>span{width:20px;height:20px}.year-page .month-row{gap:12px;grid-template-columns:47px 1fr}.year-page .preview-actions{gap:7px}.year-page .preview-actions button{font-size:9px}.year-page .back-top{font-size:9px}}@media(prefers-reduced-motion:reduce){.year-page{scroll-behavior:auto}.year-page *{transition:none!important;animation:none!important}}@media print{.year-page .preview-bar,.year-page .edit-hint,.year-page .edit-only,.year-page .section-up,.year-page .back-top,.year-page .toast,.year-page dialog{display:none!important}.year-page .wrap{width:100%}.year-page .header-inner{height:65px}.year-page .hero-inner{min-height:0;padding:10px 0;grid-template-columns:1fr 1fr;display:grid}.year-page .hero h1{font-size:30px}.year-page .title-one{font-size:55px}.year-page .title-year{font-size:36px}.year-page .hero-visual{height:160px}.year-page .season-garden{height:160px}.year-page .season-nav{padding-bottom:32px}.year-page .season-link{min-height:60px}.year-page .nav-illustration{width:35px;height:40px}.year-page .season{padding:22px 0 35px;break-inside:avoid}.year-page .season-grid,.year-page .season:nth-of-type(even) .season-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.year-page .month-row{padding:9px 0}.year-page .events li{font-size:12px}.year-page .paper-edge{height:22px;top:-20px}.year-page .review-note{font-size:9px}}.year-page .preview-bar{min-height:48px;background:#e8eee9}.year-page .preview-badge{font-size:11px}.year-page .preview-actions a,.year-page .preview-actions button{min-height:44px;display:inline-flex;align-items:center;font-size:12px}.year-page .preview-actions a{border-bottom:1px dotted #8caaa1}.year-page .preview-actions button{padding:0 8px}.year-page .photo-slot{cursor:default}.year-page .uploaded-photo{object-fit:contain}.year-page .photo-hidden-label{display:none;position:absolute;inset:0;align-items:center;justify-content:center;font-size:14px;text-align:center;padding:12px;background:var(--photo-bg,#f0f3e9);color:#45616a}.year-page .photos-hidden .review-photo img{visibility:hidden}.year-page .photos-hidden .photo-hidden-label{display:flex}.year-page .month-row{align-items:start;row-gap:6px;padding:16px 0}.year-page .month-row h3{grid-column:1;grid-row:1/span 2;align-self:start;margin-top:2px}.year-page .month-row .events{grid-column:2}.year-page .month-copy{grid-column:2;margin:0;color:#485e62;font-size:15px;line-height:1.85;overflow-wrap:anywhere}.year-page .calendar-dialog .month-row h3{grid-row:1}.year-page .season-grid{align-items:start}.year-page .season-story{margin-top:9px}.year-page .copy-slot{min-height:0}.year-page .story-copy{font-size:16px}.year-page .small-memory{display:flex;align-items:center;gap:17px;margin:22px 5px 0}.year-page .small-photo{width:150px;flex:none;position:relative;border:5px solid #fff;border-bottom-width:9px;transform:rotate(1.3deg);box-shadow:1px 3px 0 #7971650c;border-radius:7px;overflow:hidden}.year-page .small-photo img{display:block;width:100%;height:auto}.year-page .small-memory h4{font-size:16px;margin:0;color:var(--accent)}.year-page .small-memory p{margin:5px 0 0;font-size:14px}.year-page .small-memory .small-month{font-size:12px;margin:0;color:var(--accent)}.year-page .review-memo{margin-top:22px;padding-top:15px;border-top:1px dashed #bdccc5;font-size:13px;color:#50666a}.year-page .review-memo summary{min-height:44px;cursor:pointer;display:list-item;line-height:44px}.year-page .memo-.page-root{padding-bottom:10px}.year-page .memo-.page-root p{font-size:13px;line-height:1.9;margin:10px 0}.year-page .dialog{max-height:85dvh}.year-page .calendar-dialog .events li{font-size:16px}@media(min-width:1101px){.year-page .season-grid{grid-template-columns:1.02fr 1.08fr;gap:65px}.year-page .season{padding-bottom:74px}.year-page .hero-inner{min-height:320px}.year-page .season-nav{padding-bottom:58px}}@media(max-width:700px){.year-page .preview-caption>span:not(.preview-badge){display:none}.year-page .preview-badge{font-size:10px}.year-page .preview-actions button,.year-page .preview-actions a{font-size:11px}.year-page .preview-actions{gap:10px}.year-page .month-copy{font-size:16px;line-height:1.85}.year-page .month-row,.year-page .summer .month-row{padding:16px 0;row-gap:7px}.year-page .events li{font-size:16px}.year-page .story-copy{font-size:16px}.year-page .small-memory{gap:17px;margin-top:20px}.year-page .small-photo{width:132px}.year-page .small-memory h4{font-size:16px}.year-page .small-memory p{font-size:14px}.year-page .season-grid{gap:25px}.year-page .season{padding-bottom:53px}.year-page .photo-slot{aspect-ratio:inherit}.year-page .photo-sticker{right:-14px}.year-page .winter .photo-sticker{right:-14px}.year-page .hero-visual{max-width:340px}.year-page .season-garden{height:166px}.year-page .hero h1{font-size:34px}.year-page .review-memo summary{font-size:12px;line-height:1.7;padding:12px 0}.year-page .review-memo{font-size:12px}}@media print{.year-page .preview-bar,.year-page .review-memo{display:block}.year-page .preview-actions{display:none}.year-page .preview-bar{font-weight:700}.year-page .review-memo .memo-.page-root{display:block}.year-page .photo-slot{break-inside:avoid}}.year-page{display:block;min-width:0}.year-page[hidden]{display:none!important}.year-page .page-root{width:100%;min-width:0;overflow:clip}.year-page .bridge-bar{width:min(1100px,calc(100% - 96px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 0 13px;line-height:1.6;font-size:12px;color:#5c787b}.year-page .bridge-trail,.year-page .bridge-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.year-page .bridge-trail>a{font-weight:700;color:#326d88}.year-page .bridge-trail>span{font-size:11px;color:#647d7b}.year-page .bridge-tools button,.year-page .bridge-tools a{font:inherit;color:inherit;background:transparent;padding:6px 0;min-height:34px;border:0;cursor:pointer;white-space:nowrap}.year-page .bridge-tools a.bridge-other{font-weight:700;color:#326d88}.year-page .bridge-bar a:hover,.year-page .bridge-bar button:hover{text-decoration:underline;text-underline-offset:4px}.year-page .bridge-next{padding:35px 0 38px;background:#f0f6f2;color:#345765;text-align:center;}.year-page .bridge-next h2{font-size:22px;line-height:1.8;letter-spacing:.03em;margin:0 0 17px;}.year-page .bridge-next nav{display:flex;justify-content:center;gap:13px;flex-wrap:wrap}.year-page .bridge-next a{border:1px solid #d3e0d7;background:#fff;border-radius:50px;padding:12px 23px;line-height:1.6;font-size:14px;min-height:48px;font-weight:650;color:#326d88;display:inline-flex;align-items:center;gap:20px}.year-page .bridge-next a:first-child{background:#326d88;border-color:#326d88;color:#fff}.year-page .bridge-review{padding:0 0 28px;margin-top:25px;font-size:12px;line-height:1.9;color:#536b6e}.year-page .bridge-review summary{cursor:pointer;padding:10px 0}.year-page .bridge-review details p{margin:10px 0}@media(max-width:700px){.year-page .bridge-bar{width:calc(100% - 36px);display:block;padding-top:13px;padding-bottom:4px}.year-page .bridge-trail{gap:15px}.year-page .bridge-tools{gap:17px;justify-content:flex-start;margin-top:5px;font-size:11px}.year-page .bridge-next{padding:29px 0}.year-page .bridge-next h2{font-size:18px}.year-page .bridge-next nav{gap:10px}.year-page .bridge-next a{font-size:13px;padding:11px 19px}.year-page .bridge-next a:first-child{width:100%;justify-content:space-between}.year-page .bridge-review{padding-bottom:15px}}

.year-page{--site-header-height:140px}.prototype .bridge-next{padding-top:35px}.prototype .flow-nav a,.prototype .season-link{scroll-margin-top:150px}