@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Noto+Sans+JP:wght@300;400;500;700&family=Outfit:wght@300;400;500;600;700&family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap";.main-header[data-astro-cid-pux6a34n]{position:fixed;top:0;left:0;right:0;height:70px;background:var(--bg);backdrop-filter:blur(12px) saturate(1.8);-webkit-backdrop-filter:blur(12px) saturate(1.8);border-bottom:1px solid var(--border);z-index:1000;transition:all .3s ease}.header-inner[data-astro-cid-pux6a34n]{height:100%;display:flex;align-items:center;justify-content:space-between}.header-logo[data-astro-cid-pux6a34n]{display:flex;align-items:center;gap:.8rem;color:var(--text);z-index:1001}.logo-text[data-astro-cid-pux6a34n]{font-size:1.1rem;letter-spacing:.05em;font-weight:600}.desktop-nav[data-astro-cid-pux6a34n]{display:flex;gap:2.5rem;position:absolute;left:50%;transform:translate(-50%)}.desktop-nav[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]{font-size:.72rem;font-weight:500;color:var(--text-subtle);letter-spacing:.15em;text-transform:uppercase;transition:all .3s ease;padding:.5rem 0;position:relative}.desktop-nav[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .3s ease}.desktop-nav[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]:hover,.desktop-nav[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n].active{color:var(--text)}.desktop-nav[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n].active:after{width:100%}.header-actions[data-astro-cid-pux6a34n]{display:flex;align-items:center;gap:1.2rem;z-index:1001}.theme-btn[data-astro-cid-pux6a34n]{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.5rem;border-radius:50%;transition:all .3s ease}.theme-btn[data-astro-cid-pux6a34n]:hover{color:var(--accent);background:rgba(var(--accent-rgb),.05)}.sun-icon[data-astro-cid-pux6a34n]{display:block}.moon-icon[data-astro-cid-pux6a34n],[data-astro-cid-pux6a34n][data-theme=dark] .sun-icon[data-astro-cid-pux6a34n]{display:none}[data-astro-cid-pux6a34n][data-theme=dark] .moon-icon[data-astro-cid-pux6a34n]{display:block}.hamburger[data-astro-cid-pux6a34n]{display:none;background:none;border:none;width:24px;height:24px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.hamburger[data-astro-cid-pux6a34n] span[data-astro-cid-pux6a34n]{display:block;width:100%;height:1.5px;background:var(--text);transition:all .3s ease}.mobile-overlay[data-astro-cid-pux6a34n]{position:fixed;inset:0;background:var(--bg);z-index:999;padding-top:100px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:all .4s cubic-bezier(.16,1,.3,1)}.mobile-overlay[data-astro-cid-pux6a34n].open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav[data-astro-cid-pux6a34n]{display:flex;flex-direction:column;gap:1.5rem}.mobile-nav[data-astro-cid-pux6a34n] a[data-astro-cid-pux6a34n]{font-family:var(--font-serif);font-size:2.2rem;color:var(--text)}@media(max-width:900px){.desktop-nav[data-astro-cid-pux6a34n]{display:none}.hamburger[data-astro-cid-pux6a34n]{display:flex}.hamburger[data-astro-cid-pux6a34n].open span[data-astro-cid-pux6a34n]:nth-child(1){transform:translateY(4px) rotate(45deg)}.hamburger[data-astro-cid-pux6a34n].open span[data-astro-cid-pux6a34n]:nth-child(2){transform:translateY(-4px) rotate(-45deg)}}:root{--bg: #ffffff;--bg2: #f5f5f5;--surface: #ffffff;--surface-hover: #fafafa;--text: #000000;--text-muted: #444444;--text-subtle: #888888;--accent: #000000;--accent-hover: #333333;--accent-rgb: 0, 0, 0;--border: #e0e0e0;--border-mid: #999999;--shadow: none;--radius: 0px;--radius-sm: 0px;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Menlo", "Monaco", "Courier New", "Zen Kaku Gothic New", "BIZ UDPGothic", monospace;--font-sans: var(--font-mono);--font-serif: var(--font-mono)}[data-theme=dark]{--bg: #000000;--bg2: #111111;--surface: #000000;--surface-hover: #111111;--text: #ffffff;--text-muted: #aaaaaa;--text-subtle: #666666;--accent: #ffffff;--accent-hover: #eeeeee;--accent-rgb: 255, 255, 255;--border: #333333;--border-mid: #666666}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-mono);background-color:var(--bg);color:var(--text);scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{min-height:100vh;line-height:1.7;font-weight:400;transition:background-color .2s ease,color .2s ease;padding-top:80px;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:color .2s cubic-bezier(.4,0,.2,1)}img{max-width:100%;height:auto;display:block;border-radius:0}.container{max-width:900px;margin:0 auto;padding:0 2rem}.container-wide{max-width:var(--max-w);margin:0 auto;padding:0 2rem}main{padding-top:3rem;padding-bottom:6rem;animation:fadeIn .6s cubic-bezier(.16,1,.3,1) both}.section-label{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:600;margin-bottom:1.8rem;display:flex;align-items:center;gap:.6rem}.section-label:before{content:"";width:4px;height:4px;background-color:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent)}.title-serif{font-family:var(--font-serif);font-weight:500}.article-body{font-size:1rem;line-height:1.9;color:var(--text-muted);letter-spacing:.01em}.article-body h1,.article-body h2,.article-body h3,.article-body h4{font-family:var(--font-serif);color:var(--text);font-weight:600;line-height:1.4;margin-top:3.5rem;margin-bottom:1.5rem}.article-body h1{font-size:1.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--border-mid);position:relative}.article-body h1:after{content:"";position:absolute;bottom:-1px;left:0;width:60px;height:2px;background:var(--accent)}.article-body h2{font-size:1.35rem;padding-left:.8rem;border-left:3px solid var(--accent)}.article-body h3{font-size:1.15rem}.article-body p{margin-bottom:1.8rem}.article-body p:last-child{margin-bottom:0}.article-body blockquote{border-left:2px solid var(--accent);background:rgba(var(--accent-rgb),.02);padding:1.5rem 2rem;color:var(--text-muted);margin:2.5rem 0;border-radius:0 var(--radius) var(--radius) 0;font-style:normal;position:relative}.article-body blockquote p{margin-bottom:0;font-style:italic;opacity:.9}.article-body code{font-family:SF Mono,Fira Code,monospace;font-size:.85em;background:var(--bg2);padding:.2em .4em;border-radius:4px;color:var(--accent);border:1px solid var(--border)}.article-body pre{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;overflow-x:auto;margin:2.5rem 0;line-height:1.6}.article-body pre code{background:none;padding:0;color:var(--text);border:none;font-size:.88em}.article-body hr{border:none;border-top:1px dashed var(--border-mid);margin:4rem 0;text-align:center}.article-body hr:after{content:"* * *";display:inline-block;position:relative;top:-12px;padding:0 1rem;background:var(--bg);color:var(--text-subtle);font-size:.8rem}.article-body ul,.article-body ol{padding-left:1.5rem;margin-bottom:2rem}.article-body li{margin-bottom:.6rem}.article-body strong{color:var(--text);font-weight:600;background:linear-gradient(transparent 70%,rgba(var(--accent-rgb),.1) 70%)}.article-body a{color:var(--accent);text-decoration:none;box-shadow:0 1px rgba(var(--accent-rgb),.2);transition:all .2s ease}.article-body a:hover{box-shadow:0 2px 0 0 var(--accent);background:rgba(var(--accent-rgb),.04)}.article-body img{margin:2.5rem auto;box-shadow:var(--shadow)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes toastSlide{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;border:0px solid transparent;transition:border-width .8s cubic-bezier(.16,1,.3,1)}body.birthday-mode:before{border:4px solid var(--accent)}@media(max-width:900px){body{padding-left:0}main{padding-top:1.5rem}}@media(max-width:640px){.container,.container-wide{padding:0 1.2rem}.title-serif{font-size:1.8rem!important}}
