:root{--ink:#1a1a1a;--paper:#faf8f3;--muted:#6b6b6b;--line:#d9d4c7}*{box-sizing:border-box}body{margin:0 auto;max-width:960px;padding:0 16px;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,apple sd gothic neo,malgun gothic,sans-serif;line-height:1.7}a{color:inherit}.site-header{display:flex;flex-wrap:wrap;gap:16px;align-items:baseline;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line)}.site-title{font-size:1.4rem;font-weight:700;text-decoration:none}.site-header nav{display:flex;gap:16px}.site-footer{margin-top:64px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}img{max-width:100%;height:auto;display:block}h1{font-size:1.8rem;line-height:1.3;margin:32px 0 8px}h2{font-size:1.15rem;margin:40px 0 12px}.subtitle{color:var(--muted);margin:0 0 8px}.cards{list-style:none;padding:0;margin:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.card a{display:flex;flex-direction:column;gap:4px;text-decoration:none}.card img,.card-noimg{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--line)}.card-noimg{display:block}.card-title{font-weight:600}.card-sub{color:var(--muted);font-size:.875rem}.gallery{display:grid;gap:16px;margin:24px 0}figure{margin:0}figcaption{color:var(--muted);font-size:.875rem;margin-top:6px}.portrait{max-width:320px;margin:24px 0}.cover{margin:24px 0 0}.cover img{width:100%;max-height:480px;object-fit:cover}.meta{display:grid;grid-template-columns:max-content 1fr;gap:6px 20px;margin:24px 0}.meta dt{color:var(--muted)}.meta dd{margin:0}.tags{color:var(--muted);margin-top:40px}.yt{margin-bottom:24px;max-width:640px}.yt-play{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:var(--ink);cursor:pointer}.yt-play img{width:100%;height:100%;object-fit:cover;opacity:.85}.yt-icon{position:absolute;inset:0;display:grid;place-items:center;font-size:3rem;color:#fff;text-shadow:0 0 12px rgba(0,0,0,.6)}.yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0}.yt-caption{margin:6px 0 0}