.announcements{border-block:1px solid #cbb99480;background:#f3e7d0 url('assets/paper-texture.jpg');background-blend-mode:soft-light}
.announcements-layout{display:grid;grid-template-columns:1fr 2.4fr;gap:48px;align-items:start;padding-block:60px}
.announcements-intro h2{font:400 clamp(33px,3.4vw,46px)/1.2 var(--display);margin:18px 0 5px}
.announcements-intro .chapter-english{font-size:23px;margin:7px 0 15px}
.announcement-source{font-size:11px;color:var(--muted);max-width:230px;line-height:1.7;margin-bottom:12px}
.announcements-intro>.text-link{font-size:11px}
.announcement-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.announcement-card{min-width:0;display:flex;flex-direction:column;align-items:start;padding:24px;background:#fcf5e4c9;border:1px solid var(--line);border-top:3px double var(--line);transition:border-color .2s}
.announcement-card:hover{border-color:#a88753}
.announcement-photo{position:relative;display:block;align-self:stretch;flex:none;aspect-ratio:3/4;padding:0;margin:-24px -24px 23px;background:#e9dfc9;border-bottom:1px solid var(--line);overflow:hidden;cursor:zoom-in}
.announcement-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .35s}
.announcement-photo:hover img{transform:scale(1.025)}
.announcement-photo-hint{position:absolute;bottom:12px;right:12px;padding:7px 11px;background:#fcf5e4f0;color:var(--ink);border:1px solid #cbb994b3;box-shadow:0 2px 12px #211c1820;border-radius:20px;font-size:10px;line-height:1.5;pointer-events:none}
.announcement-card time{font-size:10px;letter-spacing:.06em;color:var(--muted)}
.announcement-card h3{font:500 20px/1.6 var(--body);min-height:3.2em;margin:17px 0 12px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.announcement-card>p{font-size:12px;line-height:1.95;min-height:7.8em;color:#62533f;margin-bottom:23px;white-space:pre-line;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.announcement-card>.text-link{font-size:10px;min-height:44px;margin-top:auto}
.announcement-viewing{overflow:hidden}
.announcement-viewer{width:min(1120px,calc(100vw - 32px));height:calc(100dvh - 40px);max-width:none;max-height:calc(100dvh - 40px);padding:0;margin:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper-light);color:var(--ink);overflow:hidden;box-shadow:0 24px 90px #0005}
.announcement-viewer[open]{display:flex;flex-direction:column;animation:announcement-open .2s ease-out}
.announcement-viewer::backdrop{background:#171612d9;backdrop-filter:blur(5px)}
.announcement-viewer-toolbar{display:flex;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);flex:none}
.announcement-viewer-toolbar>div{flex:1;min-width:0}
.announcement-viewer-toolbar span{font-size:9px;letter-spacing:.12em;color:var(--red)}
.announcement-viewer-toolbar h2{font:500 15px/1.5 var(--body);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.announcement-zoom{padding:8px 13px;min-height:44px;background:transparent;border:1px solid var(--line);border-radius:24px;font-size:11px;white-space:nowrap}
.announcement-viewer-close{width:44px;height:44px;flex:none;border-radius:50%;background:var(--ink);color:var(--paper-light);font:300 28px/1 sans-serif}
.announcement-viewer-scroll{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:20px;background:#e9dfc9;outline-offset:-4px!important}
.announcement-viewer-scroll img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto;box-shadow:0 3px 20px #33210c22}
.announcement-viewer.is-zoomed .announcement-viewer-scroll img{width:1120px;min-width:720px;max-width:none;max-height:none}
.announcement-viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:6px 20px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);flex:none}
.announcement-viewer-footer .text-link{font-size:11px;min-height:44px;border:0}
@keyframes announcement-open{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){.announcement-viewer{width:calc(100vw - 16px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);border-radius:8px}.announcement-viewer-toolbar{gap:9px;padding:10px}.announcement-viewer-toolbar h2{font-size:12px}.announcement-viewer-toolbar span{font-size:7px;letter-spacing:.05em}.announcement-zoom{padding-inline:10px;font-size:10px}.announcement-viewer-scroll{padding:10px}.announcement-viewer-footer{padding-inline:12px}.announcement-viewer-footer>span{font-size:9px}}
@media(max-width:1100px){.announcements-layout{grid-template-columns:1fr;gap:24px}.announcements-intro{display:grid;grid-template-columns:1fr auto;align-items:end}.announcements-intro .chapter-label{grid-column:1/-1;margin-bottom:0}.announcements-intro h2{margin-top:15px}.announcements-intro .chapter-english{grid-column:1;margin-bottom:0}.announcements-intro>.text-link{grid-column:2;grid-row:2/4;margin-left:20px}.announcement-source{grid-column:1/-1;max-width:none;margin:12px 0 0}}
@media(max-width:700px){.announcements-layout{padding:37px 22px;gap:22px}.announcements-intro{display:block}.announcements-intro h2{font-size:36px}.announcements-intro .chapter-english{font-size:23px}.announcements-intro>.text-link{margin:6px 0 0}.announcement-source{font-size:10px;margin-top:10px}.announcement-posts{grid-template-columns:1fr;gap:14px}.announcement-card{padding:21px}.announcement-photo{margin:-21px -21px 20px}.announcement-card h3{font-size:18px;margin:10px 0}.announcement-card>p{margin-bottom:12px}}
