:root{--bg: #F2F0EA;--bg-2: #ECEAE3;--paper: #FFFFFF;--ink: #1A1D24;--ink-2: #4A5260;--ink-3: #8A8F98;--rule: #D8D5CC;--rule-2: #E8E5DD;--accent: #1E3A5F;--accent-2: #2C5282;--accent-soft: #EDF1F7;--warn: #B85450;--font-serif: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "PingFang SC", serif;--font-sans: "Noto Sans SC", "PingFang SC", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-italic: "EB Garamond", "Noto Serif SC", serif;--type-display: 64px;--type-title: 40px;--type-h2: 28px;--type-h3: 20px;--type-body: 16px;--type-small: 13px;--type-tiny: 11px;--lh-tight: 1.2;--lh-normal: 1.55;--lh-relaxed: 1.75;--max-w: 1280px;--max-w-narrow: 760px;--pad-x: 64px;--ease: cubic-bezier(.2,.7,.2,1);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--type-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}main{min-height:70vh;display:block}.site-head{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 92%,transparent);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom:1px solid var(--rule-2)}.site-head-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);display:flex;align-items:center;gap:40px;height:72px}.site-logo{display:flex;align-items:baseline;gap:10px;font-family:var(--font-serif);font-weight:500;letter-spacing:.02em}.site-logo .ja{font-size:20px;color:var(--ink)}.site-logo .en{font-family:var(--font-italic);font-style:italic;font-size:14px;color:var(--accent);letter-spacing:.04em}.site-logo .mark{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);font-family:var(--font-serif);font-size:13px;font-weight:500;border-radius:2px;margin-right:4px;align-self:center}.site-nav{display:flex;gap:28px;margin-left:auto;align-items:center}.site-nav a{font-size:13px;letter-spacing:.06em;color:var(--ink-2);position:relative;padding:6px 0;transition:color .2s var(--ease)}.site-nav a:hover,.site-nav a.is-active{color:var(--ink)}.site-nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent)}.site-nav .num{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);margin-right:4px;vertical-align:1px}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x)}.wrap-narrow{max-width:var(--max-w-narrow);margin:0 auto;padding:0 var(--pad-x)}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.eyebrow:before{content:"";display:inline-block;width:24px;height:1px;background:var(--ink-3)}.section-title{font-family:var(--font-serif);font-weight:500;font-size:var(--type-title);line-height:var(--lh-tight);letter-spacing:.01em;color:var(--ink);margin:16px 0 0}.section-title em{font-family:var(--font-italic);font-style:italic;font-weight:400;color:var(--ink-3)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding-bottom:24px;border-bottom:1px solid var(--rule);margin-bottom:40px}.section-head .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--ink-3)}.site-foot{margin-top:120px;padding:56px 0 64px;border-top:1px solid var(--rule);font-size:13px;color:var(--ink-3)}.site-foot-inner{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-x);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.site-foot h4{font-family:var(--font-serif);font-weight:500;font-size:14px;color:var(--ink);margin:0 0 14px;letter-spacing:.04em}.site-foot ul{list-style:none;padding:0;margin:0}.site-foot li{margin-bottom:8px}.site-foot li a:hover{color:var(--ink)}.site-foot .colophon{font-family:var(--font-italic);font-style:italic;color:var(--ink-2);line-height:1.7;max-width:320px;margin:0}.site-foot .copyright{margin-top:56px;padding-top:20px;border-top:1px solid var(--rule-2);display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--ink-3);gap:24px;flex-wrap:wrap}@media(max-width:1080px){.site-foot-inner{grid-template-columns:1fr 1fr}}@media(max-width:640px){.site-foot-inner{grid-template-columns:1fr}.site-head-inner{padding:0 24px;gap:16px}.site-nav{gap:14px}.wrap,.wrap-narrow{padding:0 24px}}.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);padding:4px 10px;border:1px solid var(--rule);border-radius:999px;background:transparent;transition:all .2s var(--ease)}.tag:hover{border-color:var(--accent);color:var(--accent)}.tag.is-active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);padding:4px 0;border-bottom:1px solid currentColor;background:transparent;border-left:0;border-right:0;border-top:0;cursor:pointer}.btn-link:hover{color:var(--ink)}.exif{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-family:var(--font-mono);font-size:11px;color:var(--ink-2);letter-spacing:.04em;margin:0}.exif dt{color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em}.exif dd{margin:0}.photo-card{position:relative;overflow:hidden;background:var(--bg-2);cursor:zoom-in;display:block}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .4s var(--ease);filter:saturate(.92) contrast(1.02)}.photo-card:hover img{transform:scale(1.03);filter:saturate(1) contrast(1.05)}::selection{background:var(--accent);color:var(--bg)}.stamp{display:inline-block;font-family:var(--font-serif);font-size:11px;letter-spacing:.12em;color:var(--warn);border:1px solid var(--warn);padding:3px 8px;transform:rotate(-2deg);opacity:.85}hr.rule{border:0;border-top:1px solid var(--rule);margin:0}hr.rule-thin{border:0;border-top:1px solid var(--rule-2);margin:0}.empty-state{border:1px dashed var(--rule);padding:36px 32px;background:var(--paper);color:var(--ink-2)}.empty-state h2{font-family:var(--font-serif);font-weight:500;font-size:20px;margin:0 0 8px;color:var(--ink)}.empty-state p{margin:0;font-size:14px;line-height:1.7;color:var(--ink-2);max-width:520px}
