.toolbar{width:100%;background-color:var(--color-toolbar-bg);position:sticky;top:0;z-index:200}.toolbar-content{max-width:var(--max-width-wide);margin:0 auto;padding:0 var(--space-xl);display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);height:var(--toolbar-height)}.toolbar-right{display:flex;align-items:center;gap:var(--space-md)}.toolbar-logo{display:flex;align-items:center;flex-shrink:0}.logo-image{height:32px;width:auto;filter:invert(.7);transition:filter var(--transition-fast)}.toolbar-logo:hover .logo-image{filter:invert(1)}.toolbar-links{display:flex;gap:var(--space-sm);transition:transform var(--transition-fast),opacity var(--transition-fast)}.toolbar-content:has(.search-container.expanded) .toolbar-links{transform:translate(-20px);opacity:.7}.toolbar-link{color:var(--color-toolbar-text);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.toolbar-link:hover{color:var(--color-toolbar-text-active);background-color:var(--color-toolbar-hover-bg)}.toolbar-link.active{color:var(--color-toolbar-text-active);background-color:var(--color-toolbar-active-bg);font-weight:var(--font-semibold)}@media(max-width:640px){.toolbar-content{padding:0 var(--space-md)}.logo-image{height:24px}.toolbar-links{gap:var(--space-xs)}.toolbar-link{font-size:var(--text-xs);padding:.4rem .75rem}}.search-container{display:flex;align-items:center;position:relative}.search-toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-toolbar-text);padding:var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast);opacity:1;transform:scale(1)}.search-toggle:hover{color:var(--color-toolbar-text-active);background-color:var(--color-toolbar-hover-bg)}.search-container.search-open .search-toggle{opacity:0;transform:scale(.8);pointer-events:none;position:absolute;right:0}.search-input-wrapper{display:flex;align-items:center;background:var(--color-toolbar-hover-bg);border-radius:var(--radius-sm);padding:0 var(--space-sm);gap:var(--space-sm);height:36px;width:0;opacity:0;overflow:hidden;transition:width var(--transition-normal),opacity var(--transition-fast)}.search-container.search-open .search-input-wrapper{width:280px;opacity:1}.search-input-icon{color:var(--color-toolbar-text);flex-shrink:0}.search-input{flex:1;background:transparent;border:none;outline:none;color:var(--color-toolbar-text-active);font-family:var(--font-mono);font-size:var(--text-sm);min-width:0}.search-input::placeholder{color:var(--color-toolbar-text)}.search-clear{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-toolbar-text);padding:var(--space-xs);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.search-clear:hover{color:var(--color-toolbar-text-active);background-color:var(--color-toolbar-hover-bg)}.search-dropdown{position:absolute;top:calc(100% + var(--space-sm));right:0;width:350px;max-height:400px;overflow-y:auto;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md),0 10px 40px #00000026;z-index:300;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast)}.search-dropdown.visible{opacity:1;visibility:visible;transform:translateY(0)}.search-results{padding:var(--space-sm)}.search-result{display:block;padding:var(--space-sm) var(--space-md);text-decoration:none;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.search-result:hover{background:var(--color-accent-bg)}.search-result-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text);margin-bottom:var(--space-xs)}.search-result-excerpt{font-size:var(--text-xs);color:var(--color-text-muted);line-height:var(--leading-normal);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-result-excerpt mark{background:var(--color-accent-bg);color:var(--color-accent);padding:0 .15em;border-radius:2px}.search-no-results{padding:var(--space-md);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}@media(max-width:640px){.search-desktop{display:none!important}.search-container.search-open .search-toggle{opacity:1;transform:scale(1);pointer-events:auto;position:relative}}@media(min-width:641px){.search-overlay{display:none!important}}.search-overlay{position:fixed;inset:0;z-index:1000;background:var(--color-bg);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(20px);transition:all var(--transition-normal)}.search-overlay.active{opacity:1;visibility:visible;transform:translateY(0)}.search-overlay-container{display:flex;flex-direction:column;height:100%;max-width:var(--max-width-container);margin:0 auto;padding:var(--space-lg);width:100%}.search-overlay-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.search-overlay-title{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--color-text-heading);margin:0}.search-overlay-close{display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.search-overlay-close:hover{background:var(--color-border)}.search-overlay-form{margin-bottom:var(--space-lg)}.search-overlay-input-wrapper{display:flex;align-items:center;gap:var(--space-md);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);transition:all var(--transition-fast)}.search-overlay-input-wrapper:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-bg)}.search-overlay-icon{color:var(--color-text-muted);flex-shrink:0}.search-overlay-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text)}.search-overlay-input::placeholder{color:var(--color-text-subtle)}.search-overlay-results{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-sm)}.search-overlay-results .search-result{display:block;padding:var(--space-md);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast)}.search-overlay-results .search-result:hover{border-color:var(--color-accent);background:var(--color-accent-bg)}.search-overlay-results .search-result-title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-text-heading);margin-bottom:var(--space-xs)}.search-overlay-results .search-result-excerpt{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal)}.search-overlay-results .search-no-results{padding:var(--space-xl);text-align:center;color:var(--color-text-muted)}.search-overlay-hint{margin-top:auto;padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.search-overlay-hint p{font-size:var(--text-sm);color:var(--color-text-subtle);text-align:center;margin:0}.site-footer{width:100%;padding:var(--space-lg) var(--space-xl);background-color:var(--color-toolbar-bg);border-top:none}.footer-content{max-width:var(--max-width-wide);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-copyright{color:var(--color-toolbar-text);font-size:var(--text-sm)}.footer-copyright p{margin:0}.footer-social{display:flex;gap:var(--space-md)}.site-footer .social-link{color:var(--color-toolbar-text)}.site-footer .social-link svg{fill:var(--color-toolbar-text)}.site-footer .social-link:hover{color:var(--color-toolbar-text-active)}.site-footer .social-link:hover svg{fill:var(--color-toolbar-text-active)}@media(max-width:640px){.footer-content{flex-direction:column;gap:var(--space-md);text-align:center}.footer-social{order:-1}}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Regular.woff2) format("woff2"),url(/fonts/BerkeleyMono-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Italic.woff2) format("woff2"),url(/fonts/BerkeleyMono-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-Bold.woff2) format("woff2"),url(/fonts/BerkeleyMono-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Berkeley Mono;src:url(/fonts/BerkeleyMono-BoldItalic.woff2) format("woff2"),url(/fonts/BerkeleyMono-BoldItalic.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}:root{--uchu-gray-1: oklch(95.57% .003 286.35);--uchu-gray-2: oklch(92.04% .002 197.12);--uchu-gray-3: oklch(88.28% .003 286.34);--uchu-gray-4: oklch(84.68% .002 197.12);--uchu-gray-5: oklch(80.73% .002 247.84);--uchu-gray-6: oklch(75.03% .002 247.85);--uchu-gray-7: oklch(69.01% .003 286.32);--uchu-gray-8: oklch(63.12% .004 219.55);--uchu-gray-9: oklch(56.82% .004 247.89);--uchu-red-1: oklch(88.98% .052 3.28);--uchu-red-2: oklch(78.78% .109 4.54);--uchu-red-3: oklch(69.86% .162 7.82);--uchu-red-4: oklch(62.73% .209 12.37);--uchu-red-5: oklch(58.63% .231 19.6);--uchu-red-6: oklch(54.41% .214 19.06);--uchu-red-7: oklch(49.95% .195 18.34);--uchu-red-8: oklch(45.8% .177 17.7);--uchu-red-9: oklch(41.17% .157 16.58);--uchu-pink-1: oklch(95.8% .023 354.27);--uchu-pink-2: oklch(92.14% .046 352.31);--uchu-pink-3: oklch(88.9% .066 354.39);--uchu-pink-4: oklch(85.43% .09 354.1);--uchu-pink-5: oklch(82.23% .112 355.33);--uchu-pink-6: oklch(76.37% .101 355.37);--uchu-pink-7: oklch(70.23% .092 354.96);--uchu-pink-8: oklch(64.11% .084 353.91);--uchu-pink-9: oklch(57.68% .074 353.14);--uchu-purple-1: oklch(89.1% .046 305.24);--uchu-purple-2: oklch(78.68% .091 305);--uchu-purple-3: oklch(68.5% .136 303.78);--uchu-purple-4: oklch(58.47% .181 302.06);--uchu-purple-5: oklch(49.39% .215 298.31);--uchu-purple-6: oklch(46.11% .198 298.4);--uchu-purple-7: oklch(42.77% .181 298.49);--uchu-purple-8: oklch(39.46% .164 298.29);--uchu-purple-9: oklch(36.01% .145 298.35);--uchu-blue-1: oklch(89.66% .046 260.67);--uchu-blue-2: oklch(80.17% .091 258.88);--uchu-blue-3: oklch(70.94% .136 258.06);--uchu-blue-4: oklch(62.39% .181 258.33);--uchu-blue-5: oklch(54.87% .222 260.33);--uchu-blue-6: oklch(51.15% .204 260.17);--uchu-blue-7: oklch(47.36% .185 259.89);--uchu-blue-8: oklch(43.48% .17 260.2);--uchu-blue-9: oklch(39.53% .15 259.87);--uchu-green-1: oklch(93.96% .05 148.74);--uchu-green-2: oklch(88.77% .096 147.71);--uchu-green-3: oklch(83.74% .139 146.57);--uchu-green-4: oklch(79.33% .179 145.62);--uchu-green-5: oklch(75.23% .209 144.64);--uchu-green-6: oklch(70.03% .194 144.71);--uchu-green-7: oklch(64.24% .175 144.92);--uchu-green-8: oklch(58.83% .158 145.05);--uchu-green-9: oklch(52.77% .138 145.41);--uchu-yellow-1: oklch(97.05% .039 91.2);--uchu-yellow-2: oklch(95% .07 92.39);--uchu-yellow-3: oklch(92.76% .098 92.58);--uchu-yellow-4: oklch(90.92% .125 92.56);--uchu-yellow-5: oklch(89% .146 91.5);--uchu-yellow-6: oklch(82.39% .133 91.5);--uchu-yellow-7: oklch(75.84% .122 92.21);--uchu-yellow-8: oklch(69.14% .109 91.04);--uchu-yellow-9: oklch(62.29% .097 91.9);--uchu-orange-1: oklch(93.83% .037 56.93);--uchu-orange-2: oklch(88.37% .073 55.8);--uchu-orange-3: oklch(83.56% .108 56.49);--uchu-orange-4: oklch(78.75% .142 54.33);--uchu-orange-5: oklch(74.61% .171 51.56);--uchu-orange-6: oklch(69.33% .157 52.18);--uchu-orange-7: oklch(63.8% .142 52.1);--uchu-orange-8: oklch(58.28% .128 52.2);--uchu-orange-9: oklch(52.49% .113 51.98);--uchu-yin-1: oklch(91.87% .003 264.54);--uchu-yin-2: oklch(84.61% .004 286.31);--uchu-yin-3: oklch(76.89% .004 247.87);--uchu-yin-4: oklch(69.17% .004 247.88);--uchu-yin-5: oklch(61.01% .005 271.34);--uchu-yin-6: oklch(52.79% .005 271.32);--uchu-yin-7: oklch(43.87% .005 271.3);--uchu-yin-8: oklch(35.02% .005 236.66);--uchu-yin-9: oklch(25.11% .006 258.36);--uchu-yin: oklch(14.38% .007 256.88);--uchu-yang: oklch(99.4% 0 0)}:root{--font-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs: .8rem;--text-sm: .85rem;--text-base: 1rem;--text-lg: 1.1rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.75rem;--text-4xl: 2rem;--leading-tight: 1.3;--leading-normal: 1.65;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--color-bg: var(--uchu-yang);--color-bg-alt: var(--uchu-gray-1);--color-surface: var(--uchu-yang);--color-text: var(--uchu-yin-6);--color-text-heading: var(--uchu-yin);--color-text-muted: var(--uchu-yin-6);--color-text-subtle: var(--uchu-yin-7);--color-border: var(--uchu-gray-4);--color-border-dark: var(--uchu-gray-6);--color-accent: var(--uchu-blue-5);--color-accent-bg: var(--uchu-blue-1);--color-code-bg: var(--uchu-gray-2);--color-tag-bg: var(--uchu-gray-3);--color-tag-text: var(--uchu-yin-9);--color-toolbar-bg: var(--uchu-yin-9);--color-toolbar-text: var(--uchu-gray-5);--color-toolbar-text-active: var(--uchu-yang);--color-toolbar-hover-bg: var(--uchu-yin-8);--color-toolbar-active-bg: var(--uchu-yin-7);--color-dot: var(--uchu-gray-3);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--max-width-content: 750px;--max-width-container: 900px;--max-width-wide: 1200px;--toolbar-height: 50px;--toc-width: 250px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 4px oklch(0% 0 0 / .06);--shadow-md: 0 2px 8px oklch(0% 0 0 / .08);--transition-fast: .2s ease;--transition-normal: .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-mono);font-size:16px;line-height:var(--leading-normal);background-color:var(--color-bg);color:var(--color-text);scroll-behavior:smooth}html,body{min-height:100vh}body{display:flex;flex-direction:column;background-image:radial-gradient(var(--color-dot) 1px,transparent 1px);background-size:16px 16px;background-attachment:fixed}.main-content{flex:1}.container{max-width:var(--max-width-container);margin:0 auto;padding:var(--space-xl)}.container-wide{max-width:var(--max-width-wide);margin:0 auto;padding:var(--space-xl)}.section-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-heading);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.page-title{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--color-text-heading);margin-bottom:var(--space-xl);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.posts-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-md)}.post-item{padding:var(--space-lg);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.post-item:hover{border-color:var(--color-border-dark);box-shadow:var(--shadow-md)}.post-link{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);text-decoration:none;margin-bottom:var(--space-xs)}.post-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--color-text-heading);transition:color var(--transition-fast)}.post-link:hover .post-title{color:var(--color-accent)}.post-date{font-size:var(--text-sm);color:var(--color-text-subtle);white-space:nowrap}.post-description{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:var(--leading-normal)}.post-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-top:var(--space-sm)}.post-tag{display:inline-block;padding:.15rem var(--space-sm);background-color:var(--color-tag-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:none;transition:all var(--transition-fast)}.post-tag:hover{background-color:var(--color-accent-bg);border-color:var(--color-accent);color:var(--color-accent)}.post-tag.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.view-all-link{display:inline-block;margin-top:var(--space-lg);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.view-all-link:hover{color:var(--color-accent)}.social-link{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);padding:var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.social-link:hover{color:var(--color-accent);transform:rotate(8deg)}.social-link :global(svg){fill:currentColor}.card{display:block;padding:var(--space-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast)}.card:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}.card-content{display:flex;flex-direction:column;gap:var(--space-xs)}.card-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text);margin:0;transition:color var(--transition-fast)}.card:hover .card-title{color:var(--color-accent)}.card-description{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:var(--leading-normal)}.card-date{font-size:var(--text-xs);color:var(--color-text-subtle);margin-top:var(--space-xs)}@media(max-width:640px){.container,.container-wide{padding:var(--space-lg)}.post-link{flex-direction:column;gap:var(--space-xs)}.post-date{font-size:var(--text-xs)}.page-title{font-size:var(--text-2xl)}}
