:root{--bg-0: #070d1c;--bg-1: #0e1730;--bg-2: #131f3d;--ink: #f4f6ff;--ink-soft: #c6d0f0;--ink-dim: #93a0c9;--accent: #b9c6ff;--accent-2: #f7c6ff;--card: rgba(255, 255, 255, .06);--card-border: rgba(255, 255, 255, .14);--radius: 22px;--serif: "Shippori Mincho", "Noto Serif JP", serif;--sans: "Noto Sans JP", "Inter", "Segoe UI", sans-serif;--display: "Cormorant Garamond", var(--serif)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--sans);color:var(--ink);line-height:1.85;background:radial-gradient(circle at 15% -10%,rgba(183,198,255,.18),transparent 40%),radial-gradient(circle at 90% 0%,rgba(247,198,255,.12),transparent 42%),linear-gradient(160deg,var(--bg-0) 0%,var(--bg-1) 50%,var(--bg-2) 100%);background-attachment:fixed}.starfield{position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 70% 20%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 40% 70%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 85% 60%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 55% 45%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 10% 80%,rgba(255,255,255,.7),transparent);opacity:.5}.site-header,.site-main,.site-footer{position:relative;z-index:1}.site-header{max-width:1120px;margin:0 auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-mark{color:var(--accent-2);font-size:1.4rem}.brand-name{font-family:var(--display);font-size:1.7rem;letter-spacing:.14em;text-transform:lowercase}.site-nav{display:flex;gap:6px;flex-wrap:wrap}.site-nav a{padding:9px 16px;border-radius:999px;text-decoration:none;color:var(--ink-soft);font-weight:500;letter-spacing:.04em;border:1px solid transparent;transition:background .2s ease,color .2s ease,border-color .2s ease}.site-nav a:hover{background:#ffffff14;color:var(--ink)}.site-nav a.active{background:linear-gradient(135deg,#f7c6ff38,#8fb7ff38);color:#fff;border-color:var(--card-border)}.site-main{max-width:1120px;margin:0 auto;padding:16px 24px 72px}.article-main{max-width:820px}.card{padding:26px 28px;border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);box-shadow:0 16px 44px #00000047;backdrop-filter:blur(14px)}h1,h2,h3,h4{font-family:var(--serif);line-height:1.35;font-weight:600}a{color:var(--accent)}.button{display:inline-block;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:600;letter-spacing:.03em;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px)}.button.primary{background:linear-gradient(135deg,#f7c6ff,#8fb7ff);color:#07111f;box-shadow:0 10px 28px #8fb7ff4d}.button.secondary{background:#ffffff14;color:var(--ink);border:1px solid var(--card-border)}.post-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.post-list li{border-radius:16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);transition:background .2s ease,transform .2s ease,border-color .2s ease}.post-list li:hover{background:#ffffff1a;transform:translate(4px);border-color:var(--card-border)}.post-list a{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:15px 18px;text-decoration:none;color:var(--ink)}.post-list .p-title{font-family:var(--serif);font-size:1.05rem}.post-list time,.post-list small{color:var(--ink-dim);font-size:.82rem;white-space:nowrap}.page-title{font-size:clamp(1.8rem,3.5vw,2.6rem);margin:18px 0 6px}.page-lead{color:var(--ink-soft);margin:0 0 22px}.prose{font-size:1.02rem;color:var(--ink);overflow-wrap:anywhere}.prose p{margin:1.1em 0}.prose h2{margin:1.8em 0 .6em;font-size:1.5rem;border-bottom:1px solid var(--card-border);padding-bottom:.3em}.prose h3{margin:1.5em 0 .5em;font-size:1.22rem}.prose a{color:var(--accent-2)}.prose img{max-width:100%;height:auto;border-radius:14px;display:block;margin:1.2em auto;box-shadow:0 10px 30px #00000059}.prose figure{margin:1.4em 0}.prose figcaption{text-align:center;color:var(--ink-dim);font-size:.85rem;margin-top:.5em}.prose blockquote{margin:1.3em 0;padding:.6em 1.1em;border-left:3px solid var(--accent);background:#ffffff0d;border-radius:0 12px 12px 0;color:var(--ink-soft)}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.4em 0}.prose pre{background:#0a1120;border:1px solid var(--card-border);border-radius:12px;padding:16px;overflow-x:auto}.prose code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.prose iframe,.prose video{max-width:100%;border-radius:12px}.prose hr{border:none;border-top:1px solid var(--card-border);margin:2em 0}.back-links{margin-top:34px;display:flex;gap:16px;flex-wrap:wrap}.site-footer{border-top:1px solid var(--card-border);margin-top:40px}.footer-inner{max-width:1120px;margin:0 auto;padding:30px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.footer-brand{font-family:var(--display);letter-spacing:.12em;margin:0}.footer-nav{display:flex;gap:16px}.footer-nav a{color:var(--ink-soft);text-decoration:none}.footer-nav a:hover{color:var(--ink)}.copy{color:var(--ink-dim);font-size:.82rem;margin:0}@media (max-width: 760px){.site-header{justify-content:center}.footer-inner{flex-direction:column;text-align:center}}
