html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-body, "Hiragino Sans", "Yu Gothic", system-ui, sans-serif);line-height:var(--line-height-body, 1.7);color:var(--color-fg, #1a1a1a);background:var(--color-bg, #fafafa)}img,picture,svg{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-heading, inherit);line-height:var(--line-height-heading, 1.3)}p,ul,ol,pre,blockquote{margin:0}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}.site{display:grid;grid-template-rows:auto 1fr auto;min-height:100vh}.container{width:min(72ch,100% - 2 * var(--spacing-unit, 1rem));margin-inline:auto}.site-header,.site-footer{padding-block:var(--spacing-unit, 1rem)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-unit, 1rem);flex-wrap:wrap}.site-header .brand{font-family:var(--font-heading, inherit);font-size:1.25rem;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;color:var(--color-fg, #1a1a1a)}.site-header .brand-mark{display:inline-block;width:1.1em;height:1.5em;background-color:currentColor;mask:url(/henoheno.png) center / contain no-repeat;-webkit-mask:url(/henoheno.png) center / contain no-repeat;flex-shrink:0}.site-header nav{display:flex;gap:.75rem;align-items:center}.site-header .icon-link{display:inline-flex;color:var(--color-fg, #1a1a1a)}.site-header .icon-link svg{width:1.25rem;height:1.25rem;fill:currentColor}.site-main{padding-block:calc(var(--spacing-unit, 1rem) * 2)}.site-footer{font-size:.85rem;text-align:center}.site-footer .theme-credit{margin-bottom:.25rem;opacity:.7}.post-list{list-style:none;padding:0;display:grid;gap:calc(var(--spacing-unit, 1rem) * 1.5)}.post-list a{text-decoration:none}.post-list time{display:block;font-size:.85rem;opacity:.7}.post-list h2{font-size:1.25rem;margin-top:.25rem}article.post header{margin-bottom:calc(var(--spacing-unit, 1rem) * 1.5)}article.post header time{display:block;font-size:.85rem;opacity:.7}article.post header h1{font-size:1.75rem;margin-top:.25rem}article.post .content>*+*{margin-top:1em}.not-found{text-align:center;display:grid;gap:1.25rem;margin-block:calc(var(--spacing-unit, 1rem) * 4)}.not-found-mark{font-family:var(--font-heading, inherit);font-size:4rem;line-height:1;opacity:.5}.not-found-msg{display:block}`src/styles/theme.css` の内容として、以下の純粋な CSS を出力します。 --- :root{--color-bg: #0c0a0d;--color-fg: #dcd8da;--color-accent: #e05275;--color-surface: #141118;--color-border: #2c2830;--color-muted: #7a7278;--color-embers: #7a0f28;--spacing-unit: 1rem;--font-heading: "Arial Black", "Franklin Gothic Medium", "Impact", "Hiragino Sans", "Yu Gothic", sans-serif;--font-body: "Helvetica Neue", "Arial", "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Meiryo", sans-serif;--line-height-body: 1.875;--line-height-heading: 1.1;--ease-default: cubic-bezier(.25, .46, .45, .94);--glitch-offset: 3px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);line-height:var(--line-height-body);background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.22) 3px,rgba(0,0,0,.22) 4px);min-height:100vh}::selection{background-color:var(--color-accent);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:1px}hr{border:none;border-top:1px solid var(--color-border);margin:calc(var(--spacing-unit) * 2) 0}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:var(--line-height-heading);letter-spacing:.03em;color:var(--color-fg);margin-top:calc(var(--spacing-unit) * 2);margin-bottom:calc(var(--spacing-unit) * .75)}p{margin:0 0 calc(var(--spacing-unit) * 1.1)}a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent;transition:color .28s var(--ease-default),border-color .28s var(--ease-default),opacity .28s var(--ease-default)}a:hover{color:#f07090;border-bottom-color:currentColor}code{background-color:var(--color-border);border-radius:2px;color:#f0809a;font-size:.875em;padding:.1em .4em;letter-spacing:.02em}pre{background-color:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-embers);border-radius:2px;overflow-x:auto;padding:calc(var(--spacing-unit) * 1.2)}pre code{background:none;border-radius:0;padding:0;font-size:.9em}blockquote{border-left:3px solid var(--color-embers);color:var(--color-muted);margin:calc(var(--spacing-unit) * 1.5) 0;padding:calc(var(--spacing-unit) * .5) calc(var(--spacing-unit) * 1.25);font-style:italic;position:relative}blockquote:before{content:"";position:absolute;left:-3px;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--color-accent),var(--color-embers));animation:glowPulse 3s ease-in-out infinite alternate}@keyframes glitch{0%,90%,to{text-shadow:none;transform:none;clip-path:none}91%{text-shadow:calc(var(--glitch-offset) * -1) 0 2px rgba(224,82,117,.95),var(--glitch-offset) 0 2px rgba(80,200,220,.75);transform:translate(2px) skew(-4deg)}92%{text-shadow:var(--glitch-offset) 1px 2px rgba(224,82,117,.9),calc(var(--glitch-offset) * -1) -1px 2px rgba(80,200,220,.65);transform:translate(-1px)}93%{text-shadow:none;transform:translate(1px) scaleX(1.005)}94%{text-shadow:2px 0 2px rgba(224,82,117,.8),-2px 0 2px rgba(80,200,220,.6);transform:none}95%{text-shadow:none;transform:skew(1deg)}}@keyframes burnLine{0%{background-position:0% 50%;opacity:.55}50%{opacity:1}to{background-position:200% 50%;opacity:.6}}@keyframes headerGlow{0%{opacity:.35;transform:translate(-5%)}to{opacity:.85;transform:translate(5%)}}@keyframes glowPulse{0%{opacity:.5}to{opacity:1}}@keyframes flicker{0%,19%,21%,23%,25%,54%,56%,to{opacity:1}20%,22%,24%,55%{opacity:.4}}.site-header{background-color:var(--color-surface);border-bottom:2px solid var(--color-accent);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);position:relative;overflow:hidden}.site-header:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(224,82,117,.07) 45%,rgba(224,82,117,.18) 60%,transparent 80%);pointer-events:none;animation:headerGlow 7s ease-in-out infinite alternate}.site-header:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-embers),var(--color-accent) 40%,#f07090 60%,var(--color-embers));background-size:200% 100%;animation:burnLine 5s linear infinite}.site-header h1,.site-header .site-title{font-family:var(--font-heading);line-height:var(--line-height-heading);letter-spacing:.05em;position:relative;display:inline-block;animation:glitch 9s 1.5s infinite;margin:0}.site-header nav a{color:var(--color-muted);letter-spacing:.06em;font-size:.85rem;text-transform:uppercase;margin-right:calc(var(--spacing-unit) * 1.25);border-bottom:none;transition:color .28s var(--ease-default)}.site-header nav a:hover{color:var(--color-accent);border-bottom:none}.site-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.78rem;letter-spacing:.08em;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 2);text-align:center;animation:flicker 8s 4s infinite}.site-footer a{color:var(--color-muted);border-bottom:none}.site-footer a:hover{color:var(--color-accent)}.post-list{list-style:none;margin:0;padding:0}.post-list li{border-bottom:1px solid var(--color-border);padding:calc(var(--spacing-unit) * 1.2) 0;padding-left:0;position:relative;transition:padding-left .35s var(--ease-default)}.post-list li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(to bottom,var(--color-accent),var(--color-embers));transition:width .35s var(--ease-default)}.post-list li:hover{padding-left:calc(var(--spacing-unit) * .9)}.post-list li:hover:before{width:3px}.post-list li a{color:var(--color-fg);border-bottom:none;transition:color .28s var(--ease-default)}.post-list li:hover a{color:var(--color-accent)}.post-list .post-date{color:var(--color-muted);font-size:.78rem;letter-spacing:.06em;display:block;margin-top:.2em}article.post{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:1px;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 2.5);position:relative;overflow:hidden}article.post:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--color-embers) 0%,var(--color-accent) 40%,#f07090 60%,var(--color-embers) 100%);background-size:200% 100%;animation:burnLine 6s linear infinite}article.post:after{content:"";position:absolute;top:0;right:0;width:1px;bottom:0;background:linear-gradient(to bottom,var(--color-accent),transparent 40%,transparent 60%,var(--color-embers));opacity:.35}article.post h1{font-size:1.75rem;border-bottom:1px solid var(--color-border);padding-bottom:calc(var(--spacing-unit) * .6);margin-bottom:calc(var(--spacing-unit) * 1.2)}article.post h2{border-left:3px solid var(--color-accent);padding-left:calc(var(--spacing-unit) * .7);margin-left:-3px}article.post h3{color:var(--color-muted);letter-spacing:.05em;font-size:1rem;text-transform:uppercase}article.post strong{color:var(--color-accent);font-weight:700}article.post em{color:#c0b8be}.post-header{margin-bottom:calc(var(--spacing-unit) * 2)}.post-header .post-meta{color:var(--color-muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.tag,.category{background-color:var(--color-border);border:1px solid var(--color-embers);border-radius:1px;color:var(--color-muted);display:inline-block;font-size:.72rem;letter-spacing:.08em;margin:.2em .3em .2em 0;padding:.15em .55em;text-transform:uppercase;transition:background-color .28s var(--ease-default),color .28s var(--ease-default)}.tag:hover,.category:hover{background-color:var(--color-embers);color:var(--color-fg)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-embers);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}--- **設計メモ（参考）** | 変数 | 値 | 意図 | |---|---|---| | `--color-bg` | `#0c0a0d` | 虚空に近い紫黒 — 盲目な信者の闇 | | `--color-fg` | `#dcd8da` | 焼け落ちた紙灰白 — 空のパレットの残骸 | | `--color-accent` | `#e05275` | ローズクリムゾン — 「真っ赤に染め上げて」/タグ pink(対暗背景コントラスト比 ≈5.5:1、AA ✓) | | `--color-embers` | `#7a0f28` | 深い燠火 — 誓いが呪いに変わる瞬間 | | グリッチ | `.site-header h1` | デジタル信号の乱れ = ツギハギのアイデンティティ | | スキャンライン | `body::background-image` | ローファイモニター越しに見るカルト映像 | | エンバーライン | `article.post::before` | 燃え尽きない信仰の残り火 |{}
