*,*:before,*:after{box-sizing:border-box}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}:root{--color-bg-soft: #271854;--color-fg-muted: #c9b8e6;--color-accent-2: #6be2d4;--color-approve: #4ade80;--color-revoke: #ef4f6b;--color-fg: #f6ead0;--color-bg: #1a1033;--color-accent: #ffc94a;--spacing-unit: 1.15rem;--font-heading: "Cinzel", "Trajan Pro", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", "Noto Sans JP", "Meiryo", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Consolas, "Source Han Code JP", monospace;--line-height-body: 1.85;--line-height-heading: 1.25;--ease-default: cubic-bezier(.34, 1.56, .64, 1);--ease-stamp: cubic-bezier(.2, .9, .3, 1.4);--radius-sm: .35rem;--radius-md: .8rem;color-scheme:dark}html{background:radial-gradient(ellipse at 18% 8%,rgba(255,201,74,.18) 0%,transparent 55%),radial-gradient(ellipse at 82% 92%,rgba(107,226,212,.12) 0%,transparent 60%),var(--color-bg);color:var(--color-fg);font-family:var(--font-body);line-height:var(--line-height-body);-webkit-font-smoothing:antialiased}body{max-width:44rem;margin:0 auto;padding:calc(var(--spacing-unit) * 2.5) calc(var(--spacing-unit) * 1.5);background-image:repeating-linear-gradient(135deg,rgba(255,201,74,.025) 0 2px,transparent 2px 16px)}::selection{background:var(--color-accent);color:var(--color-bg)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--line-height-heading);letter-spacing:.02em;color:var(--color-accent);text-shadow:0 0 12px rgba(255,201,74,.35)}h1{font-size:clamp(2rem,5vw,3rem);position:relative;padding-bottom:calc(var(--spacing-unit) * .6)}h1:after{content:"";position:absolute;left:0;bottom:0;width:4rem;height:2px;background:linear-gradient(90deg,var(--color-accent),transparent)}h2{font-size:1.6rem;margin-top:calc(var(--spacing-unit) * 2)}h2:before{content:"✦ ";color:var(--color-accent-2)}a{color:var(--color-accent-2);text-decoration:none;border-bottom:1px dotted currentColor;transition:color .22s var(--ease-default),background .22s var(--ease-default)}a:hover,a:focus-visible{color:var(--color-bg);background:var(--color-accent-2);outline:none;border-bottom-color:transparent;padding:0 .15em;border-radius:var(--radius-sm)}p{margin:var(--spacing-unit) 0}code,pre{font-family:var(--font-mono);background:#00000059;border:1px solid rgba(255,201,74,.2);border-radius:var(--radius-sm);padding:.1em .4em}pre{padding:var(--spacing-unit);overflow-x:auto;line-height:1.55}blockquote{border-left:3px solid var(--color-accent);margin:calc(var(--spacing-unit) * 1.2) 0;padding:.4em 1em;background:#ffc94a0f;color:var(--color-fg-muted);font-style:italic;border-radius:0 var(--radius-sm) var(--radius-sm) 0}hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);margin:calc(var(--spacing-unit) * 2) 0}.site-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--spacing-unit);padding:var(--spacing-unit) calc(var(--spacing-unit) * 1.2);margin-bottom:calc(var(--spacing-unit) * 2);background:linear-gradient(135deg,var(--color-bg-soft) 0%,rgba(39,24,84,.4) 100%);border:1px solid rgba(255,201,74,.25);border-radius:var(--radius-md);position:relative;overflow:hidden}.site-header:before{content:"APPROVED";position:absolute;top:.7rem;right:-1.2rem;font-family:var(--font-mono);font-weight:800;font-size:.7rem;letter-spacing:.3em;color:var(--color-approve);border:2px solid var(--color-approve);padding:.15em .8em;transform:rotate(14deg);opacity:.55;animation:stamp-in .7s var(--ease-stamp) .2s both}.site-header a{border-bottom:none}.site-footer{margin-top:calc(var(--spacing-unit) * 3);padding-top:var(--spacing-unit);border-top:1px dashed rgba(255,201,74,.35);color:var(--color-fg-muted);font-size:.88rem;text-align:center}.site-footer:after{content:"✧  海を越えて、どこまでも広く  ✧";display:block;margin-top:.4em;color:var(--color-accent-2);letter-spacing:.15em;font-size:.78rem;opacity:.7}.post-list{list-style:none;padding:0;display:grid;gap:var(--spacing-unit)}.post-list li{padding:var(--spacing-unit);background:#2718548c;border:1px solid rgba(107,226,212,.18);border-radius:var(--radius-md);position:relative;transition:transform .26s var(--ease-default),border-color .26s var(--ease-default),box-shadow .26s var(--ease-default)}.post-list li:before{content:"◈";color:var(--color-accent);margin-right:.5em}.post-list li:hover{transform:translateY(-2px) rotate(-.3deg);border-color:var(--color-accent);box-shadow:0 8px 24px -10px #ffc94a66}article.post{background:linear-gradient(180deg,#27185499,#1a103366);border:1px solid rgba(255,201,74,.2);border-radius:var(--radius-md);padding:calc(var(--spacing-unit) * 1.6);position:relative;animation:lamp-rise .8s var(--ease-default) both}article.post:before{content:"🪔";position:absolute;top:-.6rem;left:1.2rem;font-size:1.4rem;filter:drop-shadow(0 0 6px var(--color-accent));animation:flicker 3.2s ease-in-out infinite}article.post h1,article.post h2{margin-top:.4em}article.post time,article.post .meta{display:inline-block;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-fg-muted);padding:.2em .7em;border:1px solid rgba(201,184,230,.35);border-radius:999px}strong,b{color:var(--color-accent);font-weight:700}em,i{color:var(--color-accent-2);font-style:italic}@keyframes stamp-in{0%{opacity:0;transform:rotate(30deg) scale(2)}60%{opacity:.8;transform:rotate(12deg) scale(.92)}to{opacity:.55;transform:rotate(14deg) scale(1)}}@keyframes lamp-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes flicker{0%,to{opacity:1;filter:drop-shadow(0 0 6px var(--color-accent))}45%{opacity:.85;filter:drop-shadow(0 0 10px var(--color-accent))}55%{opacity:.95;filter:drop-shadow(0 0 4px var(--color-accent))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
