*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Manrope,sans-serif;color:#26241f;background:#faf9f6;line-height:1.6}a{color:inherit}img{max-width:100%}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.home-wrap{max-width:960px;margin:0 auto;padding:0 28px}.home-header{padding:64px 0 40px;border-bottom:1px solid #e7e3da}.home-brand{font-family:Fraunces,serif;font-weight:600;font-size:2rem;letter-spacing:-.01em}.home-sub{margin-top:10px;color:#6b6656;font-size:1rem;max-width:480px}.home main{padding:48px 0 20px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:48px 0 20px}.post-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #e7e3da;border-radius:8px;padding:26px 22px;transition:transform .2s ease,box-shadow .2s ease;border-top:4px solid transparent}.post-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0000000f}.post-card--editorial{border-top-color:#b5583f}.post-card--technical{border-top-color:#2dd4bf}.post-card--playful{border-top-color:#c084fc}.theme-tag{display:inline-block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:20px;margin-bottom:14px;font-weight:600}.theme-tag--editorial{background:#f6e7df;color:#9a4830}.theme-tag--technical{background:#dcfbf6;color:#0f766e}.theme-tag--playful{background:#f3e3fd;color:#7c3aed}.post-card h2{font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;margin-bottom:10px;line-height:1.3}.post-card .excerpt{font-size:.9rem;color:#5c584c;margin-bottom:16px}.post-meta{display:flex;gap:8px;font-size:.78rem;color:#928d7c}.home-footer{padding:40px 0 70px;border-top:1px solid #e7e3da;margin-top:30px}.home-footer .home-wrap{font-size:.82rem;color:#928d7c}@media (max-width:800px){.post-grid{grid-template-columns:1fr}}.back-link{display:inline-block;text-decoration:none;font-size:.85rem;opacity:.75}.back-link:hover{opacity:1}.post-body p{margin:18px 0}.post-body ul{margin:18px 0;padding-left:22px}.post-body li{margin:6px 0}.post-body h2{margin:38px 0 14px}.post-body blockquote{margin:28px 0;padding-left:20px}.post-body code{padding:2px 6px;border-radius:3px;font-size:.88em}.post-body pre{padding:16px 18px;border-radius:6px;overflow-x:auto;margin:22px 0}.post-body pre code{padding:0;background:none}body.theme-editorial{background:#faf6ee}.post--editorial{max-width:720px;margin:0 auto;padding:56px 28px 90px;font-family:Manrope,sans-serif;color:#2b2a28}.post--editorial .back-link{color:#9a4830;margin-bottom:30px}.post--editorial .post-kicker{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#b5583f;margin-bottom:16px}.post--editorial h1{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:600;line-height:1.15;margin-bottom:16px}.post--editorial .post-byline{font-size:.88rem;color:#8a8471;margin-bottom:36px;padding-bottom:28px;border-bottom:1px solid #e7ddc9}.post--editorial .post-body{font-size:1.08rem;color:#3a372f}.post--editorial .post-body h2{font-family:Fraunces,serif;font-size:1.5rem;color:#9a4830}.post--editorial .drop-cap>p:first-of-type:first-letter{font-family:Fraunces,serif;font-size:3.6rem;float:left;line-height:.85;padding-right:10px;padding-top:6px;color:#b5583f;font-weight:600}.post--editorial .post-body blockquote{border-left:3px solid #b5583f;font-family:Fraunces,serif;font-style:italic;font-size:1.2rem;color:#5c4636}.post--editorial .post-body code{background:#f0e6d6;color:#9a4830}.post--editorial .post-body pre{background:#2b2a28;color:#f6ead9}body.theme-technical{background:#0d1117}.post--technical{max-width:920px;margin:0 auto;padding:48px 28px 90px;font-family:JetBrains Mono,monospace;color:#c9d1d9}.post--technical .back-link{color:#2dd4bf;margin-bottom:30px}.post--technical .post-shell{display:grid;grid-template-columns:180px 1fr;gap:44px}.post-sidebar{border-right:1px solid #21262d;padding-right:20px;height:fit-content;position:sticky;top:40px}.sidebar-block{display:flex;flex-direction:column;margin-bottom:22px;font-size:.8rem}.sidebar-label{color:#5c6773;text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;margin-bottom:4px}.post--technical h1{font-size:1.7rem;font-weight:700;line-height:1.3;color:#f0f6fc;margin-bottom:30px}.post--technical .post-body{font-size:.95rem}.post--technical .post-body h2{font-size:1.15rem;color:#2dd4bf;border-bottom:1px solid #21262d;padding-bottom:8px}.post--technical .post-body blockquote{border-left:3px solid #2dd4bf;color:#8b949e;background:#111820;padding:14px 18px}.post--technical .post-body code{background:#161b22;color:#79e6d4}.post--technical .post-body pre{background:#161b22;border:1px solid #21262d;color:#c9d1d9}@media (max-width:700px){.post--technical .post-shell{grid-template-columns:1fr}.post-sidebar{border-right:none;border-bottom:1px solid #21262d;padding-bottom:20px;position:static;display:flex;flex-wrap:wrap;gap:24px}}body.theme-playful{background:#fdf1fb}.post--playful{max-width:680px;margin:0 auto;padding:56px 28px 100px;font-family:"Baloo 2",sans-serif;color:#4a2e5c;position:relative;overflow:hidden}.post--playful .blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;z-index:0}.blob-a{width:220px;height:220px;background:#f5c9ec;top:-60px;right:-60px}.blob-b{width:180px;height:180px;background:#d9c8fb;bottom:60px;left:-70px}.post--playful .post-inner{position:relative;z-index:1}.post--playful .back-link{color:#7c3aed;margin-bottom:26px;font-weight:600}.post--playful .post-kicker{font-size:.85rem;color:#c026d3;margin-bottom:10px;font-weight:700}.post--playful h1{font-size:clamp(1.9rem,4vw,2.5rem);font-weight:700;line-height:1.25;margin-bottom:14px}.post--playful .post-byline{font-size:.85rem;color:#8b6fa3;margin-bottom:32px}.post--playful .post-body{font-size:1.05rem}.post--playful .post-body h2{font-size:1.35rem;color:#7c3aed}.post--playful .post-body blockquote{background:#fff;border:2px dashed #d9a9ef;border-radius:16px;padding:18px 22px;font-weight:600;color:#7c3aed;font-size:1.1rem}.post--playful .post-body code{background:#f3e3fd;color:#7c3aed}.post--playful .post-body pre{background:#4a2e5c;color:#f5e6ff;border-radius:14px}
