@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f8fafc;--bg-gradient: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(37, 99, 235, .08), transparent);--surface: #ffffff;--surface-muted: #f1f5f9;--text: #0f172a;--text-muted: #64748b;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #eff6ff;--border: #e2e8f0;--radius: 14px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 8px 24px -12px rgba(15, 23, 42, .12);--shadow-lg: 0 4px 6px rgba(15, 23, 42, .05), 0 16px 40px -16px rgba(15, 23, 42, .2);--max-width: 1000px;--header-bg: rgba(255, 255, 255, .8);--code-bg: #0f172a;--code-text: #e2e8f0}@media(prefers-color-scheme:dark){:root{--bg: #0b1220;--bg-gradient: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(37, 99, 235, .15), transparent);--surface: #111a2c;--surface-muted: #1a2438;--text: #e2e8f0;--text-muted: #94a3b8;--primary: #60a5fa;--primary-hover: #93c5fd;--primary-soft: rgba(37, 99, 235, .15);--border: #1e293b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 1px 3px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .3), 0 16px 40px -16px rgba(0, 0, 0, .6);--header-bg: rgba(11, 18, 32, .8);--code-bg: #0a0f1c;--code-text: #cbd5e1}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter Variable,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg);background-image:var(--bg-gradient);background-attachment:fixed;color:var(--text);line-height:1.65;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--primary);text-decoration:none;transition:color .15s ease}a:hover{color:var(--primary-hover)}::selection{background:var(--primary);color:#fff}.site-header{position:sticky;top:0;z-index:10;background:var(--header-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--text);display:flex;align-items:center;gap:10px}.brand:hover{color:var(--primary)}.brand-mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--primary),#7c3aed);color:#fff;font-size:.85rem;font-weight:800;display:flex;align-items:center;justify-content:center}.nav{display:flex;gap:4px}.nav a{color:var(--text-muted);font-weight:500;font-size:.9rem;padding:8px 14px;border-radius:999px;transition:all .15s ease}.nav a:hover{color:var(--text);background:var(--surface-muted)}.nav a.active{color:var(--primary);background:var(--primary-soft);font-weight:600}main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:48px 24px}.hero{text-align:center;padding:48px 0 56px}.hero h1{font-size:clamp(2rem,5vw,2.75rem);font-weight:800;letter-spacing:-.03em;margin-bottom:16px;background:linear-gradient(135deg,var(--text) 30%,var(--primary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero p{color:var(--text-muted);font-size:1.15rem;max-width:560px;margin:0 auto}.section-title{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin-bottom:20px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.card h3{font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.card p{color:var(--text-muted);font-size:.9rem;flex:1}.card .tag{display:inline-block;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;padding:4px 10px;border-radius:999px;align-self:flex-start}.post-list{display:flex;flex-direction:column;gap:16px}.post-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.post-item:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--primary)}.post-item h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}.post-item h2 a{color:var(--text)}.post-item h2 a:hover{color:var(--primary)}.post-meta{color:var(--text-muted);font-size:.8rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;margin-bottom:10px}.post-excerpt{color:var(--text-muted);font-size:.95rem}.post-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:48px;box-shadow:var(--shadow-sm)}.post-content h1{font-size:1.9rem;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.post-content h2{font-size:1.3rem;font-weight:700;letter-spacing:-.01em;margin:32px 0 12px}.post-content h3{font-size:1.1rem;font-weight:600;margin:24px 0 8px}.post-content p{margin-bottom:16px}.post-content ul,.post-content ol{margin:0 0 16px 24px}.post-content li{margin-bottom:6px}.post-content code{background:var(--surface-muted);padding:2px 6px;border-radius:5px;font-size:.88em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.post-content pre{background:var(--code-bg);color:var(--code-text);padding:20px;border-radius:var(--radius-sm);overflow-x:auto;margin-bottom:16px;font-size:.88rem;line-height:1.6}.post-content pre code{background:none;padding:0;color:inherit}.post-content blockquote{border-left:3px solid var(--primary);padding:4px 0 4px 20px;color:var(--text-muted);margin-bottom:16px;font-style:italic}.post-content img{max-width:100%;border-radius:var(--radius-sm)}.post-cta{margin-top:40px;padding:24px;background:var(--primary-soft);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.post-cta a{font-weight:600}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow-sm);max-width:560px;margin:0 auto}.form-group{margin-bottom:20px}label{display:block;font-size:.88rem;font-weight:600;margin-bottom:8px}input,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}textarea{resize:vertical;min-height:140px}button[type=submit]{background:var(--primary);color:#fff;border:none;padding:12px 28px;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}button[type=submit]:hover{background:var(--primary-hover);transform:translateY(-1px)}button[type=submit]:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-status{margin-top:16px;padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem;display:none}.form-status.success{display:block;background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.3)}.form-status.error{display:block;background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.3)}.site-footer{border-top:1px solid var(--border);padding:28px 24px;text-align:center;color:var(--text-muted);font-size:.85rem}@media(max-width:600px){.hero h1{font-size:1.9rem}.post-content{padding:24px}.nav{gap:2px}.nav a{padding:8px 10px;font-size:.85rem}main{padding:32px 16px}}
