/* Generated by scripts/build-styles.mjs. Edit source stylesheets, then rebuild. */
/* image-previews.css */
/* Generated by scripts/build-previews.mjs; temporary previews, not final images. */
:root {
  --hero-preview: url("data:image/webp;base64,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");
  --stats-preview: url("data:image/webp;base64,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");
  --invitation-preview: url("data:image/webp;base64,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");
}

/* styles.css */
@charset "UTF-8";

:root {
  --red: #a8242c;
  --red-dark: #841b24;
  --ink: #332e2a;
  --muted: #84796f;
  --line: #e7e0d7;
  --paper: #faf8f4;
  --serif: "Noto Serif SC", "Songti SC", "SimSun", serif;
  --sans: "PingFang SC", "Microsoft YaHei", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 14px/1.65 var(--sans); -webkit-font-smoothing: antialiased; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { cursor: pointer; border: 0; }
button:disabled { cursor: not-allowed; opacity: .55; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin: 0; }
svg { display: block; }
button:focus-visible, a:focus-visible { outline: 3px solid #c58b47; outline-offset: 4px; }
input:focus, textarea:focus, select:focus { outline: 2px solid #cfa683; outline-offset: 2px; }
[hidden] { display: none !important; }
.container { width: min(100%, 1160px); margin: auto; padding: 0 28px; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.skip-link { position: fixed; left: 12px; top: -100px; padding: 10px; background: white; z-index: 100; }
.skip-link:focus { top: 10px; }

/* Header: identity and two secondary actions only. */
.site-header { background: #fffdf9; border-bottom: 1px solid var(--line); }
.header-inner { min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 17px; }
.brand-word { font: 900 36px/.95 Arial, sans-serif; letter-spacing: -2px; color: var(--red); }
.brand-name { padding-left: 17px; border-left: 1px solid #ddd3c8; font-size: 17px; font-weight: 700; line-height: 1.5; }
.brand-name > span { display: block; color: var(--muted); font-size: 11px; letter-spacing: 3px; font-weight: 400; }
.header-actions { display: flex; align-items: center; gap: 24px; }
.text-button { padding: 10px 0; background: transparent; color: #76675b; }
.text-button:hover { color: var(--red); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 10px 20px; border-radius: 7px; font-weight: 600; transition: background .18s, border-color .18s; }
.button-outline { border: 1px solid #d9cdbf; background: transparent; color: #76604d; }
.button-outline:hover { background: #f5eee5; border-color: #c9ae90; }
.button-red { background: var(--red); color: white; }
.button-red:hover { background: var(--red-dark); }
.header-mine { min-height: 39px; padding: 7px 17px; font-size: 13px; }

/* Compact work list below the anniversary header. */
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 19px; }
.section-heading h2 { font-size: 22px; font-weight: 600; letter-spacing: 1px; }
.vote-credit { color: var(--muted); font-size: 13px; }
.vote-credit strong { color: var(--red); font-size: 18px; margin: 0 4px; }
.works-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 22px; }
.tabs { display: flex; gap: 4px; padding: 4px; border: 1px solid var(--line); background: #f2ede6; border-radius: 7px; }
.tab { min-height: 35px; min-width: 65px; padding: 6px 17px; border-radius: 4px; background: transparent; color: #8d7b69; }
.tab.active { background: #fffdf9; color: var(--red); box-shadow: 0 1px 4px #49301a0d; font-weight: 600; }
.search { display: flex; align-items: center; gap: 10px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 7px; background: #fffdf9; width: 290px; }
.search > .icon { width: 17px; height: 17px; color: #a39483; }
.search input { width: 100%; min-width: 0; outline: none; border: 0; background: transparent; font-size: 13px; color: var(--ink); }
.search input::placeholder { color: #9f9386; }
.search:focus-within { outline: 2px solid #cfa683; outline-offset: 2px; }
.entries-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.entry-card { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; grid-template-areas: "number title actions" "number author actions"; align-items: center; column-gap: 20px; row-gap: 4px; border: 1px solid var(--line); border-radius: 9px; padding: 19px 24px; background: #fffefa; min-height: 108px; }
.card-number { grid-area: number; color: #aa9985; font-size: 17px; font-variant-numeric: tabular-nums; }
.slogan-title { grid-area: title; min-width: 0; margin: 0; font: 600 23px/1.65 var(--sans); letter-spacing: .6px; }
.slogan-link { display: block; padding: 0; color: inherit; font: inherit; letter-spacing: inherit; background: none; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.slogan-link:hover { color: var(--red); }
.card-author { grid-area: author; min-width: 0; color: #958473; font-size: 12px; overflow-wrap: anywhere; }
.entry-card:has(.card-author[hidden]) .slogan-title { grid-row: 1 / -1; }
.card-bottom { grid-area: actions; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-left: 22px; border-left: 1px solid #eee7dd; }
.card-bottom .vote-total, .card-bottom .vote-button { flex-shrink: 0; white-space: nowrap; }
.vote-total { font-size: 22px; color: #9b423a; line-height: 1; }
.vote-total small { font-size: 12px; color: #a4917d; margin-left: 6px; }
.vote-button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 39px; padding: 8px 14px; color: var(--red); border: 1px solid #d9b6a9; border-radius: 5px; background: #fff8f1; font-size: 13px; }
.vote-button .icon { width: 16px; height: 16px; }
.vote-button:hover:not(:disabled) { background: #f7e6d9; }
.vote-button.voted { background: #f2e7de; }
.vote-button.voted .icon { fill: currentColor; }
.more-wrap { display: flex; justify-content: center; padding: 24px 0 36px; }
.more-wrap:has(> [hidden]) { padding: 18px 0; }
.empty-state, .loading-state { grid-column: 1/-1; padding: 48px 20px; border: 1px dashed #dcccba; border-radius: 8px; text-align: center; color: #8e7a65; }
.empty-state h3 { font-size: 18px; font-weight: 500; margin-bottom: 8px; }
.empty-state p { font-size: 13px; }
.empty-state .button { margin-top: 20px; }
.site-footer { margin-top: 18px; border-top: 1px solid var(--line); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 22px; padding-bottom: 25px; color: #9a8874; font-size: 12px; }
.footer-inner a:hover { color: var(--red); }

/* Supplied anniversary artwork contains the lettering and the visible button. */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.invitation {
  position: relative; margin: 6px 0 38px; isolation: isolate;
  border-radius: 15px; background: #fffdfa;
  /* Centered shadows lift all four sides; the lower shadow adds depth. */
  box-shadow: 0 0 10px 2px #57331d12, 0 0 26px 6px #67412424, 0 16px 30px -8px #67412430;
}
.invitation-picture { display: block; border-radius: inherit; }
.invitation-art { display: block; width: 100%; height: auto; aspect-ratio: 3257 / 525; border-radius: inherit; pointer-events: none; }
.invitation-action { position: absolute; left: 82.95%; top: 31.5%; width: 14.25%; height: 27%; padding: 0; border: 0; border-radius: 18px; background: transparent; color: transparent; }
.invitation-action .icon { display: none; }
.invitation-action:hover:not(:disabled) { background: #fff2cf12; box-shadow: 0 0 20px #efb24855; }
.invitation-action:focus-visible { outline: 3px solid var(--red-dark); outline-offset: 5px; }
.invitation-action:disabled { color: var(--red-dark); background: #fff8e9; border: 1px solid #d4ac62; opacity: .96; font-size: clamp(10px, 1.1vw, 14px); }
@media (max-width: 760px) {
  /* Keep the supplied long strip intact on small screens; only scale it to the card width. */
  .invitation { margin: 12px 0 36px; padding: 0; overflow: hidden; border: 1px solid #e2d5c4; border-radius: 15px; background: #fffdfa; box-shadow: 0 0 8px 1px #57331d12, 0 0 18px 4px #67412424, 0 13px 24px -8px #67412430; }
  .invitation::before, .invitation::after { display: none; }
  .invitation-art { display: block; width: 100%; height: auto; }
  .invitation-action { position: absolute; left: 82.95%; top: 45%; display: block; width: 14.25%; min-width: 44px; height: 27%; min-height: 44px; margin: 0; border-radius: 8px; background: transparent; transform: translateY(-50%); }
  .invitation-action:hover:not(:disabled) { background-color: #fff2cf12; box-shadow: 0 0 14px #efb24855; }
  .invitation-action:disabled { background: #fff8e9; font-size: 13px; }
}

/* Details and rules appear only when requested. */
.modal { width: min(560px, calc(100vw - 32px)); max-height: 90dvh; padding: 28px; border: 1px solid #dfd1bf; border-radius: 12px; background: #fffdf9; color: var(--ink); box-shadow: 0 22px 90px #3318154d; }
.modal::backdrop { background: #29141980; backdrop-filter: blur(3px); }
body:has(dialog[open]) { overflow: hidden; }
.modal-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.modal-header h2 { font-size: 23px; font-weight: 600; }
.icon-button { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #94785f; background: #f3ece4; border-radius: 50%; }
.icon-button .icon { width: 17px; height: 17px; }
.form-intro { margin: 13px 0 22px; color: var(--muted); font-size: 13px; }
.modal form > label, .form-row > label, .settings-form > label { display: block; font-size: 13px; color: #715f4e; margin-bottom: 18px; }
.required { color: var(--red); margin-left: 3px; }
.field-hint { float: right; color: #a08a74; font-size: 12px; }
.optional { margin-left: 6px; color: #a3907b; font-size: 11px; font-weight: 400; }
.modal input:not([type=checkbox]), .modal textarea, .settings-form input:not([type=checkbox]), .settings-form textarea { display: block; width: 100%; margin-top: 7px; padding: 11px 12px; border: 1px solid #ded2c3; border-radius: 6px; background: #fffdf9; color: #5e4f41; font-size: 14px; resize: vertical; }
.modal input::placeholder, .modal textarea::placeholder { color: #ac9b88; font-size: 13px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-error { color: var(--red); font-size: 13px; margin-bottom: 10px; }
.submit-button { width: 100%; }
.success-state { text-align: center; padding: 30px 5px 12px; }
.success-icon { width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #f4eadb; color: #9d7442; font-size: 30px; }
.success-state h3 { font-size: 23px; margin: 18px 0 12px; font-weight: 500; }
.success-state p { font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.success-state .button { margin-top: 14px; }
.detail-slogan { margin: 25px 0 18px; font: 600 27px/1.7 var(--sans); color: var(--red); white-space: pre-line; overflow-wrap: anywhere; }
.detail-meta { color: #998570; font-size: 12px; }
.detail-story { margin: 20px 0; color: #7f6c59; font-size: 14px; line-height: 1.95; white-space: pre-wrap; overflow-wrap: anywhere; }
.detail-footer { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); margin-top: 22px; padding-top: 20px; gap: 16px; }
.mine-item { border: 1px solid var(--line); border-radius: 7px; padding: 17px; margin: 15px 0; }
.mine-item h3 { font: 600 18px/1.7 var(--sans); overflow-wrap: anywhere; }
.mine-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; font-size: 11px; color: #9c856e; }
.status { padding: 3px 8px; border-radius: 4px; background: #f3eadc; color: #9d7844; font-size: 11px; }
.status.approved { background: #e8eee4; color: #637e50; }
.status.rejected { background: #f7e7e2; color: #ad5f50; }
.rules-block { padding-top: 22px; }
.rules-block + .rules-block { border-top: 1px solid var(--line); margin-top: 22px; }
.rules-block h3 { font-size: 15px; font-weight: 600; margin-bottom: 9px; }
.rules-block p { color: #8a7560; font-size: 13px; line-height: 1.9; margin-top: 9px; }
.toast { position: fixed; bottom: 28px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 32px); width: max-content; padding: 13px 22px; background: #49332c; color: #fff5e8; border-radius: 8px; font-size: 14px; box-shadow: 0 5px 20px #44211133; z-index: 1000; }

/* Administration retains all existing review and configuration controls. */
.admin-page { background: #f7f4ef; }
.admin-top { background: #fffdf8; border-bottom: 1px solid var(--line); padding: 22px 0; }
.admin-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.admin-header h1 { font-size: 20px; }
.admin-header p { font-size: 12px; color: #9b846d; margin-top: 5px; }
.admin-main { padding-top: 30px; padding-bottom: 50px; }
.admin-login { max-width: 450px; margin: 70px auto; padding: 30px; background: #fffdfa; border: 1px solid var(--line); border-radius: 10px; }
.admin-login h2 { font-size: 24px; }
.admin-login p { font-size: 13px; color: #927a63; margin: 10px 0 20px; }
.admin-login input { width: 100%; margin: 8px 0 20px; padding: 12px; border: 1px solid #dacbb8; border-radius: 6px; }
.admin-login label { font-size: 13px; }
.admin-login .button { width: 100%; }
.admin-login code { overflow-wrap: anywhere; }
.admin-dashboard { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; align-items: start; }
.admin-panel { border: 1px solid var(--line); background: #fffdf8; padding: 24px; border-radius: 9px; }
.admin-panel h2 { font-size: 20px; margin-bottom: 16px; }
.admin-panel .form-intro { margin-top: 0; }
.admin-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.admin-toolbar select { padding: 9px; border: 1px solid #dacdbf; background: white; border-radius: 5px; }
.admin-toolbar .button { font-size: 12px; min-height: 36px; }
.admin-entry { padding: 20px 0; border-top: 1px solid var(--line); }
.admin-entry h3 { font: 600 20px/1.7 var(--serif); margin: 10px 0; overflow-wrap: anywhere; }
.admin-entry p { font-size: 13px; color: #8b755f; white-space: pre-wrap; overflow-wrap: anywhere; margin: 8px 0; }
.admin-entry .entry-info { font-size: 12px; }
.admin-actions { display: flex; gap: 8px; margin-top: 13px; flex-wrap: wrap; }
.admin-actions button { font-size: 12px; min-height: 34px; padding: 6px 12px; }
.admin-actions .admin-delete { color: #b32430; border-color: #dca9a8; }
.admin-actions .admin-delete:hover { background: #fbeaea; }
.delete-slogan { margin: 22px 0 14px; font-size: 20px; font-weight: 700; overflow-wrap: anywhere; }
.delete-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 24px; }
.settings-form .toggle-label { display: flex; align-items: center; gap: 8px; }
.settings-form input[type=checkbox] { accent-color: var(--red); }
.settings-form .button { width: 100%; }
.admin-count { font-size: 12px; color: #9d8268; }
.admin-message { padding: 20px; border: 1px solid var(--line); border-radius: 7px; background: #fff9ef; line-height: 2; overflow-wrap: anywhere; }
.admin-top .button { font-size: 12px; }

@media (max-width: 900px) {
  .container { padding-left: 24px; padding-right: 24px; }
  .entry-card { grid-template-columns: 24px minmax(0, 1fr) auto; column-gap: 16px; }
  .slogan-title { font-size: 21px; }
  .admin-dashboard { grid-template-columns: minmax(0, 1fr) 270px; gap: 18px; }
}
@media (max-width: 760px) {
  /* Share the first line with the number; let the action row span the card. */
  .entry-card { grid-template-columns: max-content minmax(0, 1fr); grid-template-areas: "number title" ". author" "actions actions"; align-items: baseline; min-height: 0; padding: 14px 16px; column-gap: 10px; row-gap: 10px; }
  .slogan-title { font-size: 21px; line-height: 1.5; }
  .slogan-link { text-wrap: balance; }
  .card-bottom { flex-direction: row-reverse; min-width: 0; border-left: 0; padding-left: 0; gap: 12px; }
  .entry-card:has(.card-author[hidden]) { grid-template-areas: "number title" "actions actions"; }
  .entry-card:has(.card-author[hidden]) .slogan-title { grid-row: auto; }
}
@media (max-width: 600px) {
  .container { padding-left: 18px; padding-right: 18px; }
  .header-inner { min-height: 44px; gap: 14px; }
  .brand { gap: 10px; }
  .brand-word { font-size: 29px; letter-spacing: -1.5px; }
  .brand-name { padding-left: 10px; font-size: 14px; }
  .brand-name > span { font-size: 10px; letter-spacing: 1px; }
  .header-actions { gap: 13px; }
  .header-actions .text-button { font-size: 12px; }
  .header-mine { min-height: 35px; padding: 6px 10px; font-size: 12px; }
  .section-heading { gap: 12px; margin-bottom: 17px; }
  .section-heading h2 { font-size: 20px; }
  .vote-credit { font-size: 12px; }
  .vote-credit strong { font-size: 17px; }
  .works-toolbar { gap: 12px; margin-bottom: 19px; }
  .tabs { padding: 3px; gap: 2px; }
  .tab { min-height: 34px; min-width: 48px; padding: 5px 10px; font-size: 13px; }
  .search { width: 100%; flex: 1; min-width: 0; padding: 10px; gap: 7px; }
  .search input { font-size: 12px; }
  .search .icon { width: 15px; height: 15px; }
  .entries-grid { gap: 12px; }
  .entry-card { padding: 14px 16px; }
  .slogan-title { font-size: 20px; letter-spacing: 0; }
  .vote-button { min-height: 41px; }
  .footer-inner { font-size: 11px; }
  .modal { padding: 23px 20px; max-height: 92dvh; }
  .modal-header h2 { font-size: 21px; }
  .modal input:not([type=checkbox]), .modal textarea { font-size: 16px; }
  .form-row { gap: 13px; }
  .form-intro { font-size: 12px; }
  .detail-slogan { font-size: 25px; }
  .rules-block p { font-size: 13px; }
  .admin-dashboard { grid-template-columns: 1fr; }
  .admin-panel { padding: 19px; }
  .admin-header { align-items: flex-start; flex-direction: column; gap: 15px; }
  .admin-header h1 { font-size: 18px; }
  .admin-login { margin: 25px auto; padding: 22px; }
}
@media (max-width: 359px) {
  .container { padding-left: 15px; padding-right: 15px; }
  .brand { gap: 8px; }
  .brand-word { font-size: 24px; }
  .brand-name { padding-left: 8px; font-size: 12px; }
  .brand-name > span { font-size: 9px; }
  .header-actions { gap: 8px; }
  .header-mine { padding: 6px 8px; }
  .works-toolbar { gap: 9px; }
  .search { gap: 5px; padding: 10px 8px; }
  .search input { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { transition: none !important; animation: none !important; }
}

/* anniversary-header.css */
/* Restored anniversary masthead; the work list stays intentionally compact. */
.hero .button-gold { background:linear-gradient(100deg,#f9e1ba,#ebc18b);color:#76252a;box-shadow:0 5px 22px #60121d30;min-width:166px;min-height:50px }
.hero { position:relative;background:radial-gradient(ellipse at 68% 30%,#b83a3c 0,transparent 45%),linear-gradient(110deg,#971c26,#ad2a32 65%,#991c28);overflow:hidden;color:#fff3df }
.hero-grain { position:absolute;inset:0;opacity:.09;background-image: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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E") }
.hero-inner { display:flex;justify-content:space-between;position:relative;min-height:478px }
.hero-copy { padding:47px 0 63px;z-index:2;flex:0 0 52% }
.anniversary-label { display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2px;color:#f3d5b0;margin-bottom:20px }
.anniversary-label>span { width:17px;height:1px;background:#dcad79 }
.hero h1 { font-size:57px;line-height:1.25;letter-spacing:6px;font-weight:600;font-family:var(--serif) }
.gold-text { color:#f3d7a7 }
.title-dot { font-family:var(--sans);margin-left:-10px;color:#e3b279 }
.hero-description { font-size:12px;line-height:1.9;letter-spacing:1px;color:#ecd0c3;margin-top:20px }
.hero-actions { display:flex;align-items:center;gap:30px;margin-top:27px }
.hero-vote { font-size:12px;letter-spacing:1px;color:#f1dac1 }
.hero-vote span { margin-left:7px;font-size:19px }
.anniversary-art { position:relative;flex:0 0 46%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:24px;isolation:isolate }
.orbit { position:absolute;border:1px solid #dfac7140;width:364px;height:364px;border-radius:50%;z-index:-1;top:48px }
.orbit-two { width:390px;height:390px;top:35px;border-color:#dfac711d }
.orbit-one:after { content:"";position:absolute;inset:9px;border:1px dashed #dfac7133;border-radius:50% }
.orbit-caption { font-size:8px;letter-spacing:3px;position:absolute;top:84px;color:#e5bc91 }
.twenty { font-family:Georgia,"Times New Roman",serif;font-size:255px;font-weight:400;line-height:.93;letter-spacing:-24px;position:relative;background:linear-gradient(130deg,#f8e1bd 20%,#f5d6a4 45%,#dba263 65%,#ffe6bd 80%);color:transparent;background-clip:text;filter:drop-shadow(0 6px 4px #6f111429);margin-right:20px }
.twenty>span { font-family:var(--sans);font-size:13px;position:absolute;top:58px;right:-26px;letter-spacing:2px;color:#eed0a2;border-bottom:1px solid #eed0a2;padding-bottom:2px }
.art-ribbon { font-family:Georgia,serif;font-size:21px;letter-spacing:10px;margin:2px 0 7px 15px;color:#f5d4a3 }
.art-chinese { font-size:13px;letter-spacing:5px;color:#f0c799 }
.art-spark { position:absolute;color:#efc68e }
.spark-one { top:130px;left:50px;font-size:30px }
.spark-two { bottom:91px;right:56px;font-size:48px }
.hero-lines { position:absolute;bottom:0;left:0;width:100%;height:165px;fill:none;stroke:#edc68c;stroke-width:.65;opacity:.26;pointer-events:none }
.activity-summary { background:#fffdfa;border:1px solid #e9ded0;position:relative;margin-top:-27px;z-index:3;border-radius:10px;min-height:111px;display:flex;align-items:center;box-shadow:0 7px 22px #60432205;padding:24px 34px;gap:15px }
.summary-intro { display:flex;flex-direction:column;flex:1.6;gap:3px }
.activity-summary .tiny-label { font-size:8px;letter-spacing:1.8px;color:#b69a7c }
.summary-intro strong { font-family:var(--serif);font-size:19px;letter-spacing:1px;font-weight:600 }
.summary-intro>span:last-child { color:#9d9287;font-size:10px }
.stat { flex:1;border-left:1px solid #eee6db;display:flex;align-items:center;flex-direction:column;gap:0 }
.stat>strong { font:34px/1.2 Georgia,serif;letter-spacing:1px;color:var(--red) }
.stat>span { font-size:10px;color:#837b72;margin-top:7px }
.stat small { font-size:9px;color:#b2a89c;margin-left:5px }
@media(min-width:1500px) {
.hero-inner { min-height:510px }
.hero-copy { padding-top:55px }
.hero h1 { font-size:62px }
.anniversary-art { padding-bottom:12px }
.orbit { top:57px }
.orbit-two { top:44px }
.orbit-caption { top:92px }
}
@media(max-width:1000px) {
.hero h1 { font-size:49px }
.hero-inner { min-height:460px }
.hero-copy { flex-basis:54% }
.anniversary-art { flex-basis:44% }
.twenty { font-size:220px }
.orbit { width:310px;height:310px;top:59px }
.orbit-two { width:330px;height:330px;top:49px }
.orbit-caption { top:89px;font-size:6px }
.art-ribbon { font-size:17px;letter-spacing:7px }
.art-chinese { font-size:11px }
.spark-one { left:5px }
.spark-two { right:5px;bottom:100px }
.summary-intro { flex:1.7 }
.summary-intro strong { font-size:16px }
.activity-summary { padding:22px }
}
@media(max-width:760px) {
.hero-inner { min-height:425px }
.hero-copy { flex-basis:65%;padding:33px 0 58px }
.anniversary-label { font-size:9px;letter-spacing:1px;gap:7px;margin-bottom:19px }
.anniversary-label>span { width:10px }
.hero h1 { font-size:42px;letter-spacing:4px }
.hero-description { font-size:10px;letter-spacing:0;margin-top:16px }
.hero-actions { gap:18px;margin-top:23px }
.hero .button-gold { min-width:142px;min-height:45px;font-size:12px;padding:10px 13px }
.hero-vote { font-size:10px;letter-spacing:0 }
.hero-vote span { margin-left:3px }
.anniversary-art { position:absolute;right:24px;top:30px;bottom:40px;width:33%;opacity:.8;align-items:center;padding-bottom:50px }
.twenty { font-size:160px;letter-spacing:-15px;margin-right:10px }
.twenty>span { font-size:8px;top:35px;right:-14px }
.orbit { width:217px;height:217px;top:42px }
.orbit-two { width:235px;height:235px;top:33px }
.orbit-caption { top:63px;letter-spacing:1px;font-size:5px }
.art-ribbon { font-size:10px;letter-spacing:4px;margin:7px 0 6px 8px }
.art-chinese { font-size:8px;letter-spacing:2px }
.spark-one { left:-25px;top:80px;font-size:20px }
.spark-two { right:-10px;bottom:55px;font-size:25px }
.hero-lines { height:115px }
.activity-summary { padding:20px;gap:12px;flex-wrap:wrap }
.summary-intro { flex:1 0 100%;border-bottom:1px solid #eee6db;padding-bottom:14px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px }
.summary-intro .tiny-label { grid-column:1/-1;font-size:7px }
.summary-intro>span:last-child { font-size:9px }
.summary-intro strong { font-size:17px }
.stat { padding-top:4px }
.stat:nth-child(2) { border:0 }
.stat>strong { font-size:30px }
.stat>span { font-size:9px }
}
@media(max-width:480px) {
.hero-inner { min-height:465px }
.hero-copy { flex-basis:100%;padding-top:31px }
.hero h1 { font-size:43px;line-height:1.28 }
.hero-description { max-width:220px;margin-top:17px }
.anniversary-art { width:145px;right:9px;top:136px;bottom:auto;height:180px;padding-bottom:0;opacity:.72 }
.twenty { font-size:133px;letter-spacing:-14px;margin-right:14px }
.twenty>span { font-size:7px;top:30px;right:-12px }
.orbit { width:168px;height:168px;top:3px }
.orbit-two { width:180px;height:180px;top:-3px }
.orbit-caption { display:none }
.art-ribbon { font-size:8px;letter-spacing:3px;margin-top:4px }
.art-chinese { font-size:6px;letter-spacing:1px }
.spark-one { top:15px;left:-8px;font-size:17px }
.spark-two { bottom:3px;right:1px;font-size:20px }
.hero-actions { margin-top:30px;gap:23px;position:relative;z-index:2 }
.activity-summary { margin-top:-31px;padding:17px }
.summary-intro { display:flex;gap:3px }
.summary-intro strong { font-size:17px }
.summary-intro>span:last-child { font-size:9px }
.summary-intro .tiny-label { font-size:6px }
.stat>strong { font-size:28px }
}
@media(max-width:480px) {
.anniversary-art { top:330px;right:28px;bottom:auto;width:100px;height:105px;opacity:.85 }
.twenty { font-size:93px;letter-spacing:-9px;margin-right:8px }
.twenty>span { font-size:5px;top:20px;right:-8px }
.orbit { width:122px;height:122px;top:-9px }
.orbit-two { width:134px;height:134px;top:-15px }
.art-ribbon { font-size:6px;letter-spacing:2px;margin-top:3px }
.art-chinese, .art-spark { display:none }
}
.hero { margin: 0; border-radius: 0; }
.activity-summary { margin-bottom: 38px; }
@media (max-width: 760px) { .activity-summary { margin-bottom: 28px; } }

/* anniversary-photo.css */
/* Supplied artwork stays unchanged; live HTML keeps the text and actions accessible. */
.hero {
  --hero-frame-height: 528px;
  --hero-lift: 8px;
  --hero-wash: linear-gradient(90deg, #ffffffb8 0%, #ffffff94 28%, #ffffff47 44%, #ffffff00 64%);
  position: relative;
  color: #7d2028;
  background: #f6e8d6 url("anniversary-background-v2.jpg?v=20261030-background-1") center 33% / cover no-repeat;
  background-position-y: calc(33% - var(--hero-lift));
  isolation: isolate;
  container-type: inline-size;
  overflow: visible;
}
/* Continue the already-scaled photo below its old crop, behind the summary.
   Absolutely positioned: the hero, buttons, statistics and works never move.
   On desktop cover uses the image width; 33% was cropped above, 67% below.
   When cover uses the image height (phones), no extra bottom pixels remain. */
.hero-continuation {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 100%;
  width: 100%;
  height: max(0px, calc((100cqw * 974 / 1916 - var(--hero-frame-height)) * .67 - var(--hero-lift)));
  background-image: inherit;
  background-size: 100% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  pointer-events: none;
}
.hero-continuation::before { content: ""; position: absolute; inset: 0; background: var(--hero-wash); }
/* Fade at the actual image bottom, including the extended part. Absolute
   positioning also blends the mobile edge without moving any content. */
.hero-continuation::after {
  --hero-fade-height: clamp(80px, 14cqw, 240px);
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  /* Keep the fade's original start/end; paint its solid tail in the same layer.
     The 2px overdraw covers fractional-pixel seams at different zoom levels. */
  bottom: -2px;
  height: calc(var(--hero-fade-height) + 6px);
  background: linear-gradient(180deg, #faf8f400 0px, #faf8f433 calc(var(--hero-fade-height) * .30), #faf8f4bf calc(var(--hero-fade-height) * .65), var(--paper) var(--hero-fade-height));
  pointer-events: none;
}
/* Keep the existing works controls above the extended decorative background. */
.hero + .container { position: relative; z-index: 1; }
.site-header.hero-overlay-header {
  position: relative;
  z-index: 2;
  background: transparent;
  border: 0;
}
/* Project name sits directly on the artwork; no logo plate or extra header height. */
.hero-overlay-header .brand {
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #7d2028;
}
.hero-overlay-header .brand-project { display: block; line-height: 1.4; }
.hero-overlay-header .brand-event { font-size: 14px; font-weight: 600; white-space: nowrap; }
.hero-overlay-header .header-actions { gap: 10px; flex-shrink: 0; }
.site-header.hero-overlay-header .header-actions > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #a8242c33;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  text-shadow: none;
  box-shadow: 0 2px 8px #4320171a;
}
.hero-overlay-header .header-actions .icon { width: 17px; height: 17px; stroke-width: 1.8; }
.site-header.hero-overlay-header .header-actions .header-info { background: #fffdf9; color: #7d2028; }
.site-header.hero-overlay-header .header-actions .header-info:hover { background: #fff; border-color: #a8242c80; }
.site-header.hero-overlay-header .header-actions .header-mine { background: #a8242c; border-color: #a8242c; color: #fff; }
.site-header.hero-overlay-header .header-actions .header-mine:hover { background: #841b24; border-color: #841b24; }
.hero-overlay-header .header-actions > button:focus-visible { outline: 3px solid #7d2028; outline-offset: 2px; }
@media (max-width: 760px) {
  .hero-overlay-header .header-inner { gap: 8px; }
  .hero-overlay-header .brand-event { font-size: 13px; }
  .hero-overlay-header .header-actions { gap: 6px; }
  .site-header.hero-overlay-header .header-actions > button { min-height: 40px; padding: 7px; font-size: 12px; border-radius: 7px; }
  .hero-overlay-header .header-actions .icon { display: none; }
  /* Mobile-only text links; transparent borders retain the same hit area. */
  .site-header.hero-overlay-header .header-actions .header-info,
  .site-header.hero-overlay-header .header-actions .header-mine {
    background: transparent;
    border-color: transparent;
    color: #7d2028;
    box-shadow: none;
  }
  .site-header.hero-overlay-header .header-actions .header-info:hover,
  .site-header.hero-overlay-header .header-actions .header-mine:hover {
    background: transparent;
    border-color: transparent;
    color: #841b24;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}
@media (max-width: 359px) {
  .hero-overlay-header .brand-event { font-size: 12px; }
  .site-header.hero-overlay-header .header-actions > button { padding-inline: 6px; font-size: 11px; }
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--hero-wash);
  pointer-events: none;
}
/* The lower fade belongs to the continuation, not the former crop edge. */
.hero::after { content: none; }
.anniversary-label { color: #783d32; font-weight: 600; }
.anniversary-label > span { background: #a66b45; }
.hero h1 {
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;
  font-weight: 800;
  text-shadow: none;
}
.hero .gold-text {
  color: #c58a2b;
  /* Keep the pale highlight narrow so the gold remains legible on the white wash. */
  background: linear-gradient(180deg, #fff0be 0%, #f5d58c 12%, #dda13b 26%, #c58a2b 62%, #dfae52 80%, #b77823 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0;
  /* A short directional shadow adds relief without an outline or a blurred halo. */
  filter: drop-shadow(0 1px .35px #73332480) drop-shadow(0 2px 1px #73332426);
  text-shadow: none;
}
.hero-description { color: #654439; text-shadow: 0 1px 6px #fff5e6; }
.hero .button-gold { background: #a8242c; color: #fff8ec; box-shadow: 0 5px 22px #60121d26; }
.hero .button-gold:hover:not(:disabled) { background: #841b24; }
.hero-vote { color: #78262a; font-weight: 600; text-shadow: 0 1px 6px #fff5e6; }
/* Enlarge desktop copy and actions without changing the mobile composition. */
@media (min-width: 761px) {
  .anniversary-label { font-size: 12.5px; }
  .hero h1 { font-size: 64px; }
  .hero-description { font-size: 14px; }
  .hero-actions { gap: 34px; margin-top: 30px; }
  .hero .button-gold { min-width: 188px; min-height: 56px; padding: 12px 23px; font-size: 15px; gap: 14px; }
  .hero .button-gold .icon { width: 22px; height: 22px; }
  .hero-vote { font-size: 14px; }
  .hero-vote span { font-size: 22px; }
}
@media (min-width: 1500px) {
  .hero { --hero-frame-height: 560px; }
  .hero h1 { font-size: 70px; }
}
@media (min-width: 761px) and (max-width: 1000px) {
  .hero h1 { font-size: 55px; }
}
@media (max-width: 1000px) {
  .hero { --hero-frame-height: 510px; background-position: center calc(33% - var(--hero-lift)); }
}
/* Restore the compact mobile composition: copy left, the anniversary numeral right.
   The expanded artwork still covers the header and hero as one continuous image. */
@media (max-width: 760px) {
  .hero { --hero-wash: linear-gradient(90deg, #ffffffc7 0%, #ffffffa3 30%, #ffffff47 49%, #ffffff00 67%); background-color: #fff; background-position: 74% calc(50% - var(--hero-lift)); background-size: cover; }
  .hero-inner { min-height: 320px; }
  .anniversary-label { font-size: clamp(7.5px, 1.5vw, 9px); letter-spacing: .5px; gap: 5px; white-space: nowrap; margin-bottom: 18px; }
  .anniversary-label > span { width: 8px; flex-shrink: 0; }
  /* A little more breathing room beside the artwork's anniversary statue. */
  .hero h1 { font-size: clamp(28px, 6.7vw, 40px); line-height: 1.25; letter-spacing: .8px; }
  .hero-description { font-size: clamp(10px, 1.85vw, 11px); line-height: 1.8; max-width: none; margin-top: 16px; }
  .hero-actions { width: max-content; max-width: calc(100vw - 36px); flex-wrap: wrap; gap: 14px; margin-top: 22px; }
  .hero .button-gold { min-width: 132px; min-height: 44px; padding: 10px 12px; }
  .hero-vote { font-size: 10px; padding: 6px 8px; border-radius: 5px; background: #ffffffe6; }
}
@media (max-width: 359px) {
  .hero { background-position: 66% calc(50% - var(--hero-lift)); }
  .hero-description { width: 210px; font-size: 9.5px; }
}

/* anniversary-stats.css */
/* The supplied banner contains the title and ornaments, but no live statistics. */
.activity-summary {
  isolation: isolate;
  display: block;
  container-type: inline-size;
  aspect-ratio: 3832 / 531;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #fffdfa;
  /* Centered ambient shadows lift every edge; the lower shadow adds height. */
  box-shadow:
    0 0 10px 2px #57331d12,
    0 0 26px 6px #67412424,
    0 16px 30px -8px #67412430;
}
.activity-summary::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border: 1px solid #efcf92b3;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(180deg, #ffffff30, #ffffff00 24%, #ffffff00 78%, #a9681710);
  box-shadow:
    inset 0 2px 2px #ffffffdc,
    inset 2px 0 3px #fff3d380,
    inset -1px 0 2px #b3863f38,
    inset 0 -1px 2px #925b2b1a;
}
.summary-picture { display: block; border-radius: inherit; }
.summary-art { display: block; width: 100%; height: auto; aspect-ratio: 3832 / 531; border-radius: inherit; }
.activity-summary .summary-intro { position: absolute; inset: 0; display: block; padding: 0; border: 0; }
/* Preserve accessible text without drawing it over the lettering in the artwork. */
.activity-summary .summary-intro .tiny-label,
.activity-summary .summary-intro > strong {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.activity-summary .summary-intro > span:last-child {
  position: absolute;
  left: 5.2%;
  top: 61%;
  color: #977347;
  font: 500 1.15cqw/1.5 "Microsoft YaHei", "PingFang SC", sans-serif;
  text-shadow: 0 1px 0 #fffaf0, 0 2px 2px #75471924;
  letter-spacing: .06em;
  white-space: nowrap;
}
.activity-summary .stat {
  position: absolute;
  top: 0;
  left: var(--stat-center);
  width: 18%;
  height: 100%;
  transform: translateX(-50%);
  display: block;
  border: 0;
  padding: 0;
  text-align: center;
}
.stat-entries { --stat-center: 48.15%; --ornament-position: 47.7%; }
.stat-votes { --stat-center: 67.65%; --ornament-position: 71.9%; }
.stat-daily { --stat-center: 87.15%; --ornament-position: 96.1%; }
.activity-summary .stat > strong {
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  color: #c1150c;
  font: 700 6.2cqw/1 "Times New Roman", Georgia, serif;
  letter-spacing: -.025em;
  white-space: nowrap;
  background: linear-gradient(100deg, #a20a04 3%, #f14323 22%, #b90702 39%, #920600 53%, #ec351c 76%, #aa0900 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: .3px #a40b084d;
  filter: drop-shadow(0 -1px 0 #ffd5a380) drop-shadow(0 1px 0 #8b170b) drop-shadow(0 2px 1px #a2572742) drop-shadow(0 4px 3px #8d452b26);
}
.activity-summary .stat > strong[data-size="medium"] { font-size: 4.9cqw; top: 21.5%; }
.activity-summary .stat > strong[data-size="small"] { font-size: 3.5cqw; top: 29%; }
.activity-summary .stat > strong[data-size="compact"] { font-size: 2.4cqw; top: 35%; }
.activity-summary .stat > span {
  position: absolute;
  top: 71.5%;
  left: 0;
  width: 100%;
  margin: 0;
  color: #806344;
  text-shadow: 0 1px 0 #fffaf0, 0 2px 2px #75471924;
  font: 600 1.28cqw/1.4 "Microsoft YaHei", "PingFang SC", sans-serif;
  white-space: nowrap;
}
.activity-summary .stat small { margin-left: .55em; color: #997650; font-size: 1.15em; font-weight: 400; }
@media (max-width: 760px) {
  .activity-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    aspect-ratio: auto;
    overflow: hidden;
    border: 1px solid #e5c794;
    border-radius: 12px;
    box-shadow:
      0 0 8px 1px #57331d12,
      0 0 18px 4px #67412424,
      0 13px 24px -8px #67412430;
  }
  .summary-art { display: none; }
  .summary-picture { display: none; }
  .activity-summary .summary-intro {
    position: relative;
    grid-column: 1 / -1;
    aspect-ratio: 1472 / 531;
    background: url("anniversary-stats.png") left top / 260.33% 100% no-repeat;
  }
  .activity-summary .summary-intro > span:last-child { left: 8%; top: 61%; font-size: 2.8cqw; letter-spacing: 0; }
  .activity-summary .stat {
    position: relative;
    inset: auto;
    transform: none;
    width: auto;
    height: clamp(116px, 28cqw, 156px);
    background: url("anniversary-stats.png") var(--ornament-position) center / 512.82% 100% no-repeat;
  }
  /* Center every digit length inside the laurel, not against the top edge.
     Keep the anchor stable as the font shrinks for larger totals. */
  .activity-summary .stat > strong,
  .activity-summary .stat > strong[data-size] {
    top: 42%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: clamp(37px, 11.1cqw, 59px);
    font-variant-numeric: lining-nums tabular-nums;
  }
  .activity-summary .stat > strong[data-size="medium"] { font-size: 9.3cqw; }
  .activity-summary .stat > strong[data-size="small"] { font-size: 6.5cqw; }
  .activity-summary .stat > strong[data-size="compact"] { font-size: 4.4cqw; }
  .activity-summary .stat > span { top: 72%; font-size: clamp(10px, 2.9cqw, 14px); }
  .activity-summary .stat small { margin-left: .2em; }
  /* Match the CSS sprite's expanded width, not just the card width. Reuse one
     selected file for the heading and all three ornament areas. */
  .activity-summary .summary-intro,
  .activity-summary .stat {
    background-image: image-set(
      url("anniversary-stats-1920-detail-v2.webp") type("image/webp") 1x,
      url("anniversary-stats-3832-detail-v2.webp") type("image/webp") 2x,
      url("anniversary-stats.png") type("image/png") 1x
    );
  }
}
@media (max-width: 480px) {
  .activity-summary .summary-intro,
  .activity-summary .stat {
    background-image: image-set(
      url("anniversary-stats-1280-detail-v2.webp") type("image/webp") 1x,
      url("anniversary-stats-2560-detail-v2.webp") type("image/webp") 2x,
      url("anniversary-stats-3832-detail-v2.webp") type("image/webp") 3x,
      url("anniversary-stats.png") type("image/png") 1x
    );
  }
}

/* progressive-images.css */
/* Applied only if the tiny inline loader ran. Without JS, normal HD images work. */
.progressive-images .hero:not(.image-ready) { background-image: var(--hero-preview); }
.progressive-images .summary-picture:not(.image-ready) {
  background: var(--stats-preview) center / 100% 100% no-repeat;
}
.progressive-images .invitation-picture:not(.image-ready) {
  background: var(--invitation-preview) center / 100% 100% no-repeat;
}
.progressive-images .summary-art:not(.image-ready),
.progressive-images .invitation-art:not(.image-ready) { opacity: 0; }
/* Opacity affects only the bitmap: dimensions, real statistics and buttons stay. */
@media (max-width: 760px) {
  .progressive-images .activity-summary:not(.sprite-ready) .summary-intro,
  .progressive-images .activity-summary:not(.sprite-ready) .stat {
    background-image: var(--stats-preview);
  }
  .progressive-images .activity-summary.sprite-ready .summary-intro,
  .progressive-images .activity-summary.sprite-ready .stat {
    background-image: var(--stats-loaded);
  }
}
