:root{--ink: #1d1b3a;--ink-soft: #565379;--paper: #ffffff;--paper-raised: #ffffff;--line: #e6e3f5;--accent: #6d28d9;--accent-2: #2563eb;--accent-soft: #ede9fe;--maxw: 44rem;--maxw-wide: 72rem;--font-serif: Georgia, "Times New Roman", serif;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(160deg,#f4f1ff,#eaf1ff 45%,#fff);background-attachment:fixed;color:var(--ink);font-family:var(--font-sans);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:1.25rem}.wrap-wide{width:100%;max-width:var(--maxw-wide);margin-inline:auto;padding-inline:1.25rem}.site-header{border-bottom:1px solid var(--line);background:#fffc;backdrop-filter:blur(6px);position:sticky;top:0;z-index:10}.site-header .bar{display:flex;align-items:baseline;justify-content:space-between;padding-block:1.1rem}.site-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;letter-spacing:.01em;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.site-title .jp{margin-left:.4rem;font-weight:400;-webkit-text-fill-color:var(--accent-2)}.site-nav a{margin-left:1.25rem;color:var(--ink-soft);font-size:.95rem}.site-nav a:hover{color:var(--accent)}.site-footer{border-top:1px solid var(--line);margin-top:4rem;padding-block:2rem;color:var(--ink-soft);font-size:.9rem;text-align:center}.post-body{font-family:var(--font-serif);font-size:1.125rem;line-height:1.8}.post-body p{margin-block:1.1em}.post-body h2{font-size:1.5rem;margin-top:2.4rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}.post-body h3{font-size:1.2rem;margin-top:2rem}.post-body blockquote{margin:1.6rem 0;padding:.4rem 0 .4rem 1.2rem;border-left:3px solid var(--accent);color:var(--ink-soft);font-style:italic}.post-body img{border-radius:6px}.post-body figure{margin:2rem 0}.post-body figcaption{font-family:var(--font-sans);font-size:.85rem;color:var(--ink-soft);text-align:center;margin-top:.5rem}.post-head{margin-block:2.5rem 1.5rem}.post-head .eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent)}.post-head h1{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15;margin:.4rem 0 .6rem}.post-head .summary{font-family:var(--font-serif);font-size:1.2rem;color:var(--ink-soft);font-style:italic}.post-meta{font-family:var(--font-sans);font-size:.85rem;color:var(--ink-soft);margin-top:.8rem}.cover{margin:1.5rem 0 0}.cover img{width:100%;border-radius:8px}.hero{padding-block:3rem 1.5rem}.hero h1{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);margin:0 0 .5rem;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:1.15rem;color:var(--ink-soft);margin:0}.post-list{list-style:none;padding:0;margin:2rem 0 0;display:grid;gap:2rem}.card{display:grid;grid-template-columns:1fr;gap:1rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}@media(min-width:40rem){.card.has-cover{grid-template-columns:16rem 1fr;align-items:start}}.card .thumb img{width:100%;border-radius:6px;aspect-ratio:4 / 3;object-fit:cover}.card h2{font-family:var(--font-serif);font-size:1.45rem;margin:0 0 .3rem}.card h2 a{color:var(--ink)}.card h2 a:hover{color:var(--accent)}.card .meta{font-size:.82rem;color:var(--accent-2);text-transform:uppercase;letter-spacing:.08em}.card .summary{color:var(--ink-soft);margin:.5rem 0 0}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;list-style:none;padding:0}.tags li{background:var(--accent-soft);color:var(--accent);font-size:.78rem;padding:.15rem .6rem;border-radius:999px}.photo-grid{display:grid;gap:.9rem;margin:2rem 0;grid-template-columns:1fr}@media(min-width:48rem){.photo-grid.cols-2{grid-template-columns:repeat(2,1fr)}.photo-grid.cols-3{grid-template-columns:repeat(3,1fr)}}.photo-grid figure{margin:0}.photo-grid img{width:100%;border-radius:6px;aspect-ratio:3 / 2;object-fit:cover;display:block;cursor:zoom-in;transition:opacity .15s ease}.photo-grid img:hover{opacity:.9}.photo-grid figcaption{font-family:var(--font-sans);font-size:.82rem;color:var(--ink-soft);text-align:center;margin-top:.4rem}
