:root{--paper:#f5f5f0;--ink:#20211e;--acid:#e7ff57;--line:#d9dad2;--muted:#65665d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"PingFang SC","Microsoft Yahei",sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;padding:22px 4.5%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:23px;font-weight:850;letter-spacing:-1px}.brand-icon{background:var(--acid);border:2px solid var(--ink);height:39px;width:39px;text-align:center;border-radius:50%;line-height:30px;font-size:34px}.brand-en{font-size:11px;letter-spacing:1px;margin-left:8px}.edition,.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px}main{max-width:1500px;margin:auto;padding:0 4.5%}.intro{display:flex;justify-content:space-between;align-items:center;padding:42px 0 35px;gap:30px}.eyebrow{font-size:14px;letter-spacing:2px;margin:0 0 10px}h1{font-size:clamp(34px,4.2vw,62px);font-weight:900;line-height:1.15;letter-spacing:-2px;margin:0}h1 span{display:inline;background:linear-gradient(transparent 54%,var(--acid) 54%)}.intro-side{text-align:right;display:flex;align-items:center;gap:32px}.intro-side p{font-size:14px;color:var(--muted)}.sticker{display:grid;place-content:center;line-height:1.1;font-size:22px;font-weight:900;text-align:center;background:var(--acid);border:2px solid var(--ink);width:116px;height:116px;transform:rotate(9deg);border-radius:50%}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;border-block:1px solid var(--ink);padding:16px 0}.filters{display:flex;gap:6px;flex-wrap:wrap}button{border:1px solid transparent;background:transparent;border-radius:7px;padding:9px 14px;font-size:14px;font-weight:700}.filters .active{background:var(--ink);color:white}.filters span{font-size:12px;margin-left:7px;color:var(--acid)}button:hover{background:#e1e2d9}.filters .active:hover{background:#383b30}.random{background:var(--acid);border:1px solid var(--ink);white-space:nowrap}.random:hover{background:#d2ec34}.collection-note{font-size:12px;color:var(--muted);margin:17px 0}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;align-items:start}.card{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 10px 22px #20211e10}.image-button{border:0;display:block;padding:0;width:100%;border-radius:0;background:#eceee8;position:relative}.image-button:hover{background:#eceee8}.image-button img{display:block;width:100%;height:280px;object-fit:contain;background:#f0f1eb}.card-info{padding:16px 17px 13px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tag{font-size:11px;letter-spacing:.5px;font-weight:700;border:1px solid var(--line);border-radius:4px;padding:2px 6px}.number{font-size:11px;font-family:monospace;color:#8b8e82}.card h2{font-size:17px;line-height:1.4;margin:0 0 8px}.card p{font-size:14px;color:var(--muted);margin:0;line-height:1.6;min-height:45px}.source{display:flex;justify-content:space-between;gap:8px;margin-top:16px;padding-top:10px;border-top:1px solid #eceee8;font-size:12px;color:var(--muted)}.source a{font-size:13px;font-weight:700;text-underline-offset:3px}.failed{padding:40px 15px;font-size:14px}.failed a{display:block;text-decoration:underline}.collection{padding-bottom:40px}footer{border-top:1px solid var(--ink);padding:30px 0 40px;position:relative}footer strong{font-size:20px}footer p{max-width:850px;font-size:13px;color:var(--muted)}footer a,footer span{font-size:12px;color:var(--muted)}footer span{float:right}dialog{border:1px solid var(--ink);border-radius:15px;padding:28px;max-width:760px;width:calc(100% - 32px);max-height:92vh}dialog::backdrop{background:#14170ec9;backdrop-filter:blur(4px)}dialog img{display:block;max-width:100%;max-height:62vh;margin:auto;object-fit:contain}dialog h2{font-size:21px;line-height:1.4;margin:20px 0 4px}dialog p{color:var(--muted);font-size:15px;margin:5px 0 15px}.detail-source{display:block;margin-bottom:20px;font-size:14px}.close{position:sticky;top:0;display:block;margin-left:auto;font-size:26px;padding:0 12px;background:var(--acid);border:1px solid var(--ink);z-index:1}button:focus-visible,a:focus-visible{outline:3px solid #596d00;outline-offset:4px}body:has(dialog[open]){overflow:hidden}@media(min-width:1500px){.image-button img{height:310px}}@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sticker{display:none}.brand-en{display:none}.image-button img{height:270px}}@media(max-width:760px){header{padding:16px 5%}.edition{font-size:10px;letter-spacing:.5px}.brand{font-size:20px}.brand-icon{width:32px;height:32px;line-height:24px;font-size:28px}main{padding:0 5%}.intro{padding:28px 0;align-items:start}.intro-side{display:none}h1{font-size:38px;letter-spacing:-1.5px}.eyebrow{font-size:12px}.toolbar{align-items:start;flex-direction:column;gap:12px}.filters{gap:3px;justify-content:space-between;width:100%}.filters button{padding:8px 9px;font-size:12px}.random{font-size:13px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.image-button img{height:215px}.card-info{padding:12px 11px}.card h2{font-size:15px}.card p{font-size:13px;min-height:62px}.source{flex-wrap:wrap;margin-top:12px}.source span{display:none}.number{font-size:10px}.tag{font-size:10px}footer strong{font-size:18px}footer span{float:none;display:block;margin-top:15px}dialog{padding:16px}}@media(max-width:380px){.grid{grid-template-columns:1fr}.image-button img{height:290px}.card p{min-height:0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.image-button[hidden]{display:none}
.content-cover{min-height:280px;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:24px;color:var(--muted);background:repeating-linear-gradient(135deg,#eceee8,#eceee8 12px,#e6e8df 12px,#e6e8df 24px)}.content-cover strong{font-size:19px;color:var(--ink)}.content-cover span{font-size:13px}.content-warning{padding:30px 0;text-align:center}.content-warning button{margin:6px}dialog .credit{font-size:12px}@media(max-width:760px){.content-cover{min-height:215px;padding:18px 10px}.content-cover strong{font-size:16px}}

/* Long reference strips stay readable; the dialog provides vertical scrolling. */
dialog img.long-image{max-height:none;height:auto;width:auto;max-width:100%}
