:root{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#262322;background:#fcfbf8;font-synthesis:none;font-weight:400;line-height:1.7;--muted:#736e69;--accent:#d7476b;--line:#dfdcd5}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button{cursor:pointer}.skip{position:fixed;top:-100px;left:16px;z-index:10;background:#fff;padding:8px 16px}.skip:focus{top:12px}.site-header{max-width:1440px;margin:auto;padding:27px 48px;display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.wordmark{font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:700;letter-spacing:-1px;line-height:1.2}.wordmark span{color:var(--accent)}.collection-link{font-size:12px;letter-spacing:.08em}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}.random-malico,.header-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:12px;letter-spacing:.06em;line-height:1.2;white-space:nowrap}.random-malico:hover,.header-button:hover{color:var(--accent);border-color:var(--accent)}.heart-icon{width:14px;height:14px;fill:#e10600;flex:none}.header-button svg{width:15px;height:15px;flex:none;display:block}.youtube-icon{fill:#ff0000}.collection{max-width:1440px;margin:auto;padding:50px 48px 40px}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}h1,h2{margin:0;font-weight:500}h1{font-size:26px;letter-spacing:.09em}.search label{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.search-field{display:flex;border-bottom:1px solid #aaa49d}.search input{width:205px;padding:7px 0;border:0;outline:0;background:transparent;font-size:13px;min-width:0}.search button{border:0;background:transparent;padding:7px 0 7px 12px;font-size:10px;color:var(--muted)}.range{font-size:11px;letter-spacing:.07em;color:var(--muted);margin:0 0 26px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;row-gap:40px}.card{min-width:0}.card a{display:block}.card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#f1eee9;transition:opacity .2s}.card a:hover img{opacity:.87}.photo-number{margin:10px 0 0;font-size:12px;letter-spacing:.04em;line-height:1.3;font-variant-numeric:tabular-nums}.card h2{font-size:13px;line-height:1.65;margin-top:2px;overflow-wrap:anywhere}.card a:hover h2{color:var(--accent)}.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:750px;margin:64px auto 20px}.pagination a{display:grid;place-items:center;width:36px;height:36px;font-size:12px;border:1px solid transparent}.pagination a:hover{border-color:var(--line)}.pagination a[aria-current=page]{color:#fff;background:#262322}footer{max-width:1440px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:10px;letter-spacing:.04em}.detail{max-width:760px;margin:0 auto;padding:35px 40px 60px}.back{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:40px}.detail .photo-number{margin:0 0 8px;font-size:13px}.detail h1{font-size:23px;letter-spacing:.04em;margin-bottom:28px}.detail figure{margin:0}.detail img{display:block;width:100%;height:auto;max-width:600px;margin:auto}.neighbors{display:flex;justify-content:space-between;gap:25px;margin-top:38px;font-size:12px}.neighbors a:hover,.back:hover{color:var(--accent)}[hidden]{display:none!important}#empty-state{padding:50px 0;color:var(--muted);font-size:14px}
.card figure{margin:0}.photo-date{margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5;letter-spacing:.03em;font-variant-numeric:tabular-nums}.detail .photo-date{max-width:600px;margin:10px auto 0;text-align:right}.share{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;max-width:600px;margin:22px auto 0}.share-button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;line-height:1.2;letter-spacing:.02em}.share-button:hover{color:var(--accent);border-color:var(--accent)}.share-button svg{width:15px;height:15px;flex:none;display:block}.line-icon{fill:#06C755}
@keyframes thumbnail-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.6deg)}50%{transform:rotate(1.4deg)}75%{transform:rotate(-.8deg)}}
.card img.is-wiggling{transform-origin:center;animation:thumbnail-wiggle .55s ease-in-out}
@keyframes page-arrive{0%{opacity:0;background:#ffe3f1}28%{opacity:1;background:#f4e8ff}62%{background:#e5f3ff}100%{opacity:1;background:#fcfbf8}}
@keyframes pastel-wash{0%{opacity:.95}40%{opacity:.72}100%{opacity:0}}
@keyframes photo-pop{0%{opacity:0;transform:scale(.62) rotate(-8deg)}58%{opacity:1;transform:scale(1.07) rotate(2.5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes photo-glow{0%{box-shadow:0 0 0 0 rgba(255,176,210,0)}42%{box-shadow:0 16px 36px rgba(255,166,204,.5),0 0 0 12px rgba(176,220,255,.72)}100%{box-shadow:0 0 0 0 rgba(255,176,210,0)}}
@keyframes pastel-bloom{0%{opacity:0;transform:scale(.35) rotate(-16deg)}42%{opacity:1;transform:scale(1.08) rotate(8deg)}100%{opacity:0;transform:scale(1.24) rotate(0)}}
html.is-article-arrival body{animation:page-arrive 1.8s ease both}
html.is-article-arrival::before{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:0;background:radial-gradient(circle at 12% 18%,rgba(255,176,214,.92),transparent 42%),radial-gradient(circle at 88% 12%,rgba(164,214,255,.9),transparent 40%),radial-gradient(circle at 78% 82%,rgba(255,208,230,.82),transparent 38%),radial-gradient(circle at 18% 86%,rgba(186,228,255,.78),transparent 36%);animation:pastel-wash 1.75s ease forwards}
html.is-article-arrival .detail figure{position:relative;z-index:1}
html.is-article-arrival .detail figure::before{content:"";position:absolute;z-index:-1;inset:-22px -34px;pointer-events:none;opacity:0;border-radius:46% 54% 48% 52%;background:radial-gradient(circle at 28% 30%,#ffd0e8,transparent 56%),radial-gradient(circle at 74% 68%,#c7e6ff,transparent 52%),radial-gradient(circle at 58% 18%,#fff1c9,transparent 46%);animation:pastel-bloom 1.65s ease .08s both}
html.is-article-arrival .detail img{position:relative;z-index:1;animation:photo-pop 1.15s cubic-bezier(.18,1.45,.34,1) .12s both,photo-glow 1.55s ease .12s both}
@media(min-width:1600px){.grid{gap:44px 30px}}
@media(max-width:1000px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-header{padding:24px 32px}.collection{padding:40px 32px}footer{padding:24px 32px}}
@media(max-width:650px){.site-header{padding:21px 20px}.wordmark{font-size:28px}.header-actions{gap:8px}.random-malico,.header-button{padding:6px 10px;font-size:11px}.collection-link{font-size:10px}.collection{padding:33px 20px}.collection-heading{align-items:flex-start;flex-direction:column;gap:20px}h1{font-size:23px}.search{width:100%}.search input{width:100%;flex:1}.range{margin-top:24px;margin-bottom:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.card h2{font-size:12px;margin-top:2px}.pagination{margin-top:42px;gap:4px}.pagination a{width:32px;height:34px}.detail{padding:28px 20px 48px}.detail h1{font-size:21px}.back{margin-bottom:30px}.neighbors{font-size:11px}footer{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
