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}歌詞を丁寧に読みました。「食べ残す → 食べ尽くす → 私が空になる」という崩壊の弧、「錆び付いた蝶番のズレた音色」、「変な色彩 TVショー」── これらを軸にテーマを組みます。 **ムード：** 甘腐れ──カワイイの皮を被った解離と空洞。くすんだ暗闇に刺さる生肉色のピンク。錆びた蝶番のような、微かにズレた揺れ。 --- :root{--color-bg: #0d0810;--color-fg: #ece0e8;--color-accent: #e0456a;--spacing-unit: 1rem;--font-heading: "Georgia", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;--font-body: "Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Meiryo", system-ui, sans-serif;--line-height-body: 1.9;--line-height-heading: 1.15;--ease-default: cubic-bezier(.22, 1.12, .36, .96)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}*,*:before,*:after{box-sizing:border-box}html{background-color:var(--color-bg)}body{color:var(--color-fg);font-family:var(--font-body);line-height:var(--line-height-body);min-height:100vh;-webkit-font-smoothing:antialiased;background-image:radial-gradient(ellipse 100% 45% at 50% -4%,color-mix(in srgb,var(--color-accent) 11%,transparent) 0%,transparent 65%),radial-gradient(ellipse 45% 30% at 95% 105%,color-mix(in srgb,var(--color-accent) 5%,transparent) 0%,transparent 70%),repeating-linear-gradient(to bottom,transparent 0px,transparent 3px,rgba(0,0,0,.045) 3px,rgba(0,0,0,.045) 4px)}::selection{background-color:var(--color-accent);color:var(--color-bg)}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.22em;transition:opacity .35s var(--ease-default)}a:hover{opacity:.68}.site-header{padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);border-bottom:1px solid color-mix(in srgb,var(--color-accent) 28%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-accent) 7%,var(--color-bg)) 0%,transparent 100%)}.site-header a{color:var(--color-fg);text-decoration:none;font-family:var(--font-heading);letter-spacing:.1em;transition:color .5s var(--ease-default),letter-spacing .5s var(--ease-default)}.site-header a:hover{color:var(--color-accent);letter-spacing:.22em}.site-title{display:inline-block;font-family:var(--font-heading);font-size:clamp(1.3rem,3vw,1.9rem);letter-spacing:.08em;animation:flicker-wake 1.8s var(--ease-default) both}.site-footer{margin-top:calc(var(--spacing-unit) * 10);padding:calc(var(--spacing-unit) * 3);border-top:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);color:color-mix(in srgb,var(--color-fg) 42%,transparent);font-size:.82rem;text-align:center;letter-spacing:.06em}.post-list{list-style:none;padding:0;margin:calc(var(--spacing-unit) * 4) auto;max-width:68ch}.post-list li{padding-left:calc(var(--spacing-unit) * 1.8);margin-bottom:calc(var(--spacing-unit) * 2.5);border-left:2px solid color-mix(in srgb,var(--color-accent) 32%,transparent);transition:border-color .4s var(--ease-default),transform .4s var(--ease-default)}.post-list li:hover{border-left-color:var(--color-accent);transform:translate(5px) rotate(-.12deg)}.post-list a{display:block;color:var(--color-fg);text-decoration:none;font-family:var(--font-heading);font-size:1.05rem;transition:color .3s var(--ease-default)}.post-list a:hover{color:var(--color-accent)}.post-list time{display:block;font-size:.78rem;color:color-mix(in srgb,var(--color-fg) 48%,transparent);letter-spacing:.05em;margin-top:.28rem}article.post{max-width:68ch;margin:calc(var(--spacing-unit) * 5) auto;padding:0 calc(var(--spacing-unit) * 2)}article.post h1,article.post h2,article.post h3,article.post h4{font-family:var(--font-heading);line-height:var(--line-height-heading);letter-spacing:.04em;color:var(--color-fg)}article.post h1{font-size:clamp(1.7rem,5vw,2.5rem);margin-bottom:calc(var(--spacing-unit) * 2.2);animation:hinge-settle 11s ease-in-out infinite;transform-origin:left bottom}article.post h1:after{content:"";display:block;width:2.6rem;height:2px;background:var(--color-accent);margin-top:calc(var(--spacing-unit) * .7);animation:hinge-settle 11s ease-in-out infinite reverse;transform-origin:left center}article.post h2{font-size:clamp(1.2rem,3vw,1.65rem);margin-top:calc(var(--spacing-unit) * 3);margin-bottom:var(--spacing-unit);padding-bottom:calc(var(--spacing-unit) * .4);border-bottom:1px solid color-mix(in srgb,var(--color-accent) 22%,transparent)}article.post h3{font-size:clamp(1rem,2.5vw,1.3rem);margin-top:calc(var(--spacing-unit) * 2.2);margin-bottom:calc(var(--spacing-unit) * .6)}article.post p{margin-bottom:calc(var(--spacing-unit) * 1.4)}article.post a{color:var(--color-accent);text-underline-offset:.22em;transition:opacity .28s var(--ease-default)}article.post a:hover{opacity:.68}article.post blockquote{margin:calc(var(--spacing-unit) * 2.5) 0;padding:calc(var(--spacing-unit) * 1.2) calc(var(--spacing-unit) * 1.8);border-left:3px solid var(--color-accent);background-color:color-mix(in srgb,var(--color-accent) 8%,transparent);color:color-mix(in srgb,var(--color-fg) 78%,var(--color-accent));font-style:italic;border-radius:0 4px 4px 0}article.post code{background-color:color-mix(in srgb,var(--color-accent) 13%,var(--color-bg));color:color-mix(in srgb,var(--color-accent) 88%,var(--color-fg));padding:.1em .45em;border-radius:3px;font-size:.87em}article.post pre{background-color:color-mix(in srgb,var(--color-accent) 7%,var(--color-bg));border:1px solid color-mix(in srgb,var(--color-accent) 18%,transparent);border-radius:6px;padding:calc(var(--spacing-unit) * 1.5);overflow-x:auto}article.post pre code{background:none;padding:0;color:var(--color-fg);font-size:.9em}article.post hr{border:none;border-top:1px solid color-mix(in srgb,var(--color-accent) 25%,transparent);margin:calc(var(--spacing-unit) * 3.5) 0}@keyframes hinge-settle{0%,to{transform:rotate(0)}11%{transform:rotate(-.45deg)}27%{transform:rotate(.32deg)}46%{transform:rotate(-.22deg)}63%{transform:rotate(.28deg)}81%{transform:rotate(-.12deg)}}@keyframes flicker-wake{0%{opacity:0;filter:brightness(4) saturate(0)}7%{opacity:.85;filter:brightness(2.2) saturate(.25)}13%{opacity:.2;filter:brightness(1) saturate(0)}21%{opacity:1;filter:brightness(1.6) saturate(.6)}32%{opacity:.6;filter:brightness(1) saturate(.8)}44%{opacity:1;filter:brightness(1) saturate(1)}to{opacity:1;filter:brightness(1) saturate(1)}}--- **設計メモ：** | 要素 | 意図 | |---|---| | `#0d0810` (bg) | 漆黒にわずかな紫紅──乾いた血の暗さ | | `#ece0e8` (fg) | 青白い肌色のオフホワイト、コントラスト比 **≈16:1** ✓ | | `#e0456a` (accent) | 生肉色のピンク、bg対比 **≈5.1:1** で AA通過 ✓ | | `flicker-wake` | 「貴方が私じゃないみたい」── 蛍光灯が自分を見失いながら起動する | | `hinge-settle` (11s,逆位相) | 「錆び付いている蝶番がほら──私みたい！！」の微細な揺れ | | `rotate(-.12deg)` on hover | ホバーで世界が少しだけ傾く、解離の感触 | | スキャンライン (4px周期) | 「変な色彩 詰め込んだ TVショー」── 現実とスクリーンの間 | | セリフ見出し + ゴシック本文 | 堅い活字 vs. 日常語、「正しい方が分からなくなって」 |{}
