.search-popup-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;opacity:0;transition:opacity .2s ease}.search-popup-overlay--open{opacity:1}.search-popup-backdrop{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}[data-theme=light] .search-popup-backdrop{background:#00000059}.search-popup-container{position:relative;z-index:1;width:100%;max-width:640px;padding:0 1rem}.search-popup-panel{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:16px;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}[data-theme=light] .search-popup-panel{box-shadow:0 25px 50px -12px #00000026}.search-popup-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.search-popup-icon{flex-shrink:0;color:var(--color-text-muted)}.search-popup-input{flex:1;border:none;background:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:1.0625rem;outline:none}.search-popup-input::placeholder{color:var(--color-text-muted)}.search-popup-clear{flex-shrink:0;width:24px;height:24px;border:none;background:var(--color-surface-elevated);color:var(--color-text-muted);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;padding:0;transition:all .2s ease}.search-popup-clear:hover{background:var(--color-border);color:var(--color-text)}.search-popup-kbd{flex-shrink:0;font-family:var(--font-mono);font-size:.6875rem;padding:.15rem .4rem;border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);background:var(--color-glass)}.search-popup-results{max-height:50vh;overflow-y:auto;display:none;padding:.5rem 0}.search-popup-results::-webkit-scrollbar{width:4px}.search-popup-results::-webkit-scrollbar-track{background:transparent}.search-popup-results::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.search-result-item{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;text-decoration:none;transition:background .15s ease;border-left:3px solid transparent}.search-result-item:hover{background:var(--color-card-bg);border-left-color:var(--color-accent)}.search-result-main{flex:1;min-width:0}.search-result-title{font-size:.9375rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem;line-height:1.4}.search-result-excerpt{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-meta{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;padding-top:.1rem}.search-result-date{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);white-space:nowrap}.search-result-source{font-size:.6875rem;color:var(--color-text-muted);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.search-highlight{background:#d4a84340;color:var(--color-accent);border-radius:2px;padding:0 .1em}[data-theme=light] .search-highlight{background:#a07c1e33}.search-no-results{padding:2.5rem 1.5rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.search-popup-stats{padding:.5rem 1.25rem .75rem;text-align:right;border-top:1px solid var(--color-border)}.stats-text{font-size:.75rem;color:var(--color-text-muted)}.post-card{transition:opacity .2s ease,transform .2s ease}@media (max-width: 640px){.search-popup-overlay{padding-top:0;align-items:flex-start}.search-popup-container{max-width:100%;padding:0;height:100%}.search-popup-panel{border-radius:0 0 16px 16px;max-height:85vh;display:flex;flex-direction:column}.search-popup-header{padding:.875rem 1rem}.search-popup-input{font-size:1rem}.search-popup-results{max-height:none;flex:1;overflow-y:auto}.search-result-item{padding:.75rem 1rem}.search-result-meta{display:none}}:root{--font-sans: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, Consolas, monospace;--color-bg: #0c0a09;--color-surface: #1c1917;--color-surface-elevated: #292524;--color-text: #e7e5e4;--color-text-secondary: #a8a29e;--color-text-muted: #78716c;--color-border: #292524;--color-accent: #d4a843;--color-accent-secondary: #c2703a;--color-accent-glow: rgba(212, 168, 67, .12);--color-accent-warm: #c2703a;--color-card-bg: rgba(28, 25, 23, .6);--color-card-border: rgba(41, 37, 36, .9);--color-glass: rgba(255, 255, 255, .03);--color-glass-border: rgba(255, 255, 255, .06);--max-width: 820px;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--gradient-accent: linear-gradient(135deg, #d4a843 0%, #c2703a 100%);--gradient-surface: linear-gradient(180deg, #1c1917 0%, #0c0a09 100%);--gradient-card: linear-gradient(135deg, rgba(212, 168, 67, .04) 0%, rgba(194, 112, 58, .04) 100%)}[data-theme=light]{--color-bg: #f5f0e8;--color-surface: #fffdf7;--color-surface-elevated: #faf6ee;--color-text: #1c1917;--color-text-secondary: #57534e;--color-text-muted: #78716c;--color-border: #d6d0c4;--color-accent: #a07c1e;--color-accent-secondary: #a85a2a;--color-accent-glow: rgba(160, 124, 30, .1);--color-accent-warm: #a85a2a;--color-card-bg: rgba(255, 253, 247, .8);--color-card-border: rgba(214, 208, 196, .9);--color-glass: rgba(0, 0, 0, .02);--color-glass-border: rgba(0, 0, 0, .06);--gradient-accent: linear-gradient(135deg, #a07c1e 0%, #a85a2a 100%);--gradient-surface: linear-gradient(180deg, #fffdf7 0%, #f5f0e8 100%);--gradient-card: linear-gradient(135deg, rgba(160, 124, 30, .04) 0%, rgba(168, 90, 42, .04) 100%)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-weight:400;line-height:1.6;color:var(--color-text);background:var(--color-bg);letter-spacing:-.01em;transition:background-color .4s ease,color .4s ease;min-height:100vh}body:before{content:"";position:fixed;top:0;left:0;right:0;height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--color-accent-glow),transparent),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(194,112,58,.04),transparent);pointer-events:none;z-index:0}[data-theme=light] body:before{background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(160,124,30,.06),transparent),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(168,90,42,.03),transparent)}a{color:inherit;text-decoration:none;transition:all .2s ease}a:hover{opacity:1}.site-header{position:relative;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0c0a09d1;border-bottom:1px solid var(--color-glass-border)}[data-theme=light] .site-header{background:#f5f0e8d9}.header-inner{max-width:var(--max-width);margin:0 auto;padding:1rem var(--space-md);display:flex;justify-content:space-between;align-items:center}.site-logo{display:flex;align-items:center;gap:.75rem}.logo-mark{width:28px;height:28px;border-radius:6px;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;letter-spacing:0}.site-logo h1{font-size:1.125rem;font-weight:600;letter-spacing:-.03em;color:var(--color-text)}.site-logo h1 a{color:var(--color-text)}.site-logo h1 a:hover{color:var(--color-accent)}.header-controls{display:flex;align-items:center;gap:.5rem}.control-btn{background:var(--color-glass);border:1px solid var(--color-glass-border);border-radius:8px;width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:.875rem;transition:all .2s ease}.control-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.search-trigger{padding:0}.search-trigger svg{display:block}.lang-switch{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary);padding:.3rem .6rem;border:1px solid var(--color-glass-border);border-radius:6px;background:var(--color-glass);transition:all .2s ease}.lang-switch:hover{border-color:var(--color-accent);color:var(--color-accent)}.site-nav{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md);display:flex;gap:0;border-bottom:1px solid var(--color-glass-border)}.nav-link{font-size:.8125rem;font-weight:500;color:var(--color-text-muted);padding:.75rem 0;margin-right:1.75rem;position:relative;letter-spacing:0;text-transform:uppercase}.nav-link:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gradient-accent);transform:scaleX(0);transition:transform .3s ease;border-radius:1px}.nav-link:hover{color:var(--color-text)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link.active{color:var(--color-accent)}main{max-width:var(--max-width);margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-2xl);position:relative;z-index:1}.site-footer{max-width:var(--max-width);margin:0 auto;padding:var(--space-lg) var(--space-md);border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);position:relative;z-index:1}.site-footer p{font-size:.8125rem;color:var(--color-text-muted);flex:1}.site-footer a{color:var(--color-text-secondary);text-decoration:underline;text-underline-offset:.15em;text-decoration-color:var(--color-border);transition:all .2s ease}.site-footer a:hover{color:var(--color-accent);text-decoration-color:var(--color-accent)}.footer-controls{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}th,td{border:1px solid var(--color-border);padding:.75rem 1rem;text-align:left}th{background:var(--color-surface-elevated);font-weight:600}tr:nth-child(2n) td{background:var(--color-glass)}.categories{display:flex;gap:.5rem;flex-wrap:wrap}.category-tag{display:inline-block;padding:.3rem .75rem;font-size:.75rem;color:var(--color-accent);border:1px solid rgba(212,168,67,.25);border-radius:9999px;background:#d4a8430f;transition:all .2s ease;font-weight:500;letter-spacing:.02em}[data-theme=light] .category-tag{border-color:#a07c1e40;background:#a07c1e0f}.category-tag:hover{background:#d4a8431f;border-color:var(--color-accent);opacity:1}[data-theme=light] .category-tag:hover{background:#a07c1e1a}.intro{margin-bottom:var(--space-xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border)}.intro h2{font-size:1.75rem;font-weight:600;line-height:1.3;margin-bottom:var(--space-sm);letter-spacing:-.03em}.intro p{font-size:1rem;color:var(--color-text-secondary);line-height:1.7}.page-title{font-size:2.5rem;font-weight:700;margin-bottom:var(--space-lg);letter-spacing:-.04em;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.article-content{font-size:1rem;line-height:1.8}.article-content h1{font-size:2.25rem;font-weight:700;margin-bottom:var(--space-sm);letter-spacing:-.03em;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.article-content h3{font-size:1.25rem;font-weight:600;margin-top:var(--space-lg);margin-bottom:var(--space-sm);color:var(--color-text)}.article-content time{display:block;font-size:.8125rem;font-family:var(--font-mono);color:var(--color-text-muted);margin-bottom:var(--space-lg)}.article-content p{font-size:1rem;line-height:1.8;margin-bottom:var(--space-md);color:var(--color-text)}.article-content a{color:var(--color-accent);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:#d4a8434d}.article-content a:hover{text-decoration-color:var(--color-accent)}.article-content ul,.article-content ol{font-size:1rem;line-height:1.8;margin-bottom:var(--space-md);margin-left:var(--space-md)}.article-content li{font-size:1rem;line-height:1.8;margin-bottom:var(--space-xs);color:var(--color-text)}.article-content pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem 1.25rem;margin:1.5rem 0;overflow-x:auto}.article-content pre code{font-family:var(--font-mono);font-size:.8125rem;line-height:1.6;color:var(--color-text);background:transparent;padding:0;border-radius:0}.article-content code{font-family:var(--font-mono);font-size:.875em;color:var(--color-accent);background:var(--color-accent-glow);padding:.15em .4em;border-radius:4px}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:var(--space-xl);font-size:.8125rem;font-weight:500;color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.back-link:hover{box-shadow:none}.filter-btn{border-color:var(--color-border);color:var(--color-text-secondary)}.filter-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.filter-btn.active{background:var(--gradient-accent);color:#fff;border-color:transparent}@media (max-width: 640px){.header-inner{padding:.75rem var(--space-sm)}.site-logo h1{font-size:1rem}.site-nav{padding:0 var(--space-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.site-nav::-webkit-scrollbar{display:none}.nav-link{margin-right:1.25rem;white-space:nowrap}main{padding:var(--space-md) var(--space-sm) var(--space-xl)}.site-footer{flex-direction:column;gap:var(--space-sm);text-align:center;padding:var(--space-lg) var(--space-sm)}.intro h2{font-size:1.5rem}.page-title{font-size:1.75rem}.back-to-top-btn{right:var(--space-sm);bottom:var(--space-sm)}}#reading-progress{position:fixed;top:0;left:0;z-index:200;height:3px;width:0%;background:var(--gradient-accent);pointer-events:none;transition:width .1s ease-out}.back-to-top-btn{position:fixed;right:var(--space-xl);bottom:var(--space-xl);z-index:9998;width:42px;height:42px;border-radius:50%;border:1px solid var(--color-card-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,color .2s ease,background .2s ease;box-shadow:0 4px 12px #0000004d}[data-theme=light] .back-to-top-btn{box-shadow:0 4px 12px #0000001f}.back-to-top-btn--visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
