@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/syne-latin-BBZcRa21.woff2) format("woff2");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}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/dm-sans-latin-normal-BNY05QUC.woff2) format("woff2");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}@font-face{font-family:DM Sans;font-style:italic;font-weight:300 400;font-display:swap;src:url(/assets/dm-sans-latin-italic-ll47TIEM.woff2) format("woff2");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-primary: #09090f;--bg-secondary: #0f0f18;--bg-card: #12121e;--bg-elevated: #1a1a2a;--text-primary: #f2f0ea;--text-secondary: #9090a8;--text-muted: #50506a;--gold: #e8b84b;--gold-light: #f5d07a;--gold-dim: #9a7830;--gold-glow: rgba(232, 184, 75, .3);--gold-glow-sm: rgba(232, 184, 75, .15);--violet: #6d28d9;--violet-mid: #7c3aed;--violet-light: #a78bfa;--violet-glow: rgba(109, 40, 217, .35);--glass-bg: rgba(255, 255, 255, .025);--glass-border: rgba(255, 255, 255, .06);--glass-gold: rgba(232, 184, 75, .12);--glass-border-gold: rgba(232, 184, 75, .2);--font-display: "Syne", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--sp-xs: .5rem;--sp-sm: 1rem;--sp-md: 2rem;--sp-lg: 4rem;--sp-xl: 8rem;--max-w: 1200px;--nav-h: 80px;--t-fast: .22s cubic-bezier(.25, .1, .25, 1);--t-mid: .4s cubic-bezier(.25, .1, .25, 1);--t-slow: .7s cubic-bezier(.16, 1, .3, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--r-sm: 6px;--r-md: 12px;--r-lg: 18px;--r-pill: 999px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-text-size-adjust:100%}body{min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:var(--t-fast)}button{cursor:pointer;border:none;outline:none;background:none;font:inherit}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 var(--sp-md)}.section{position:relative;padding:var(--sp-xl) 0;overflow:hidden}.gradient-text{background:linear-gradient(120deg,var(--gold-light) 0%,var(--gold) 50%,var(--gold-dim) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);border-radius:var(--r-lg)}.section-eyebrow{font-family:var(--font-display);font-size:.7rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;display:block}.section-heading{font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);font-weight:700;color:var(--text-primary);line-height:1.1;margin-bottom:1rem}.section-sub{color:var(--text-muted);font-size:.95rem;line-height:1.6;max-width:540px;margin-bottom:var(--sp-lg)}.tag-pill{font-size:.78rem;font-family:var(--font-display);font-weight:500;color:var(--gold-dim);background:#e8b84b12;border:1px solid rgba(232,184,75,.18);padding:5px 13px;border-radius:var(--r-pill);transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.tag-pill:hover{background:#e8b84b24;border-color:#e8b84b59;color:var(--gold)}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 100%);z-index:1001;transform-origin:left;pointer-events:none;will-change:transform,opacity}.site-footer{text-align:center;padding:2.5rem var(--sp-md);color:var(--text-muted);font-size:.78rem;font-family:var(--font-display);letter-spacing:.5px;position:relative;z-index:1;border-top:1px solid var(--glass-border)}.site-footer a{color:var(--gold-dim);transition:color var(--t-fast)}.site-footer a:hover{color:var(--gold)}.footer-links{display:flex;justify-content:center;gap:var(--sp-sm);margin-bottom:var(--sp-sm);flex-wrap:wrap}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:var(--r-pill)}.theme-transitioning,.theme-transitioning *,.theme-transitioning *:before,.theme-transitioning *:after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease,opacity .35s ease!important}.theme-transitioning .animating,.theme-transitioning .animating *{transition:none!important}[data-theme=light]{--bg-primary: #f5f3ee;--bg-secondary: #eae8e1;--bg-card: #ffffff;--bg-elevated: #f0eee7;--text-primary: #1a1a2e;--text-secondary: #52526e;--text-muted: #8888a0;--gold: #b8860b;--gold-light: #d4a017;--gold-dim: #8b6914;--gold-glow: rgba(184, 134, 11, .2);--gold-glow-sm: rgba(184, 134, 11, .1);--violet: #7c3aed;--violet-mid: #8b5cf6;--violet-light: #a78bfa;--violet-glow: rgba(124, 58, 237, .2);--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(0, 0, 0, .08);--glass-gold: rgba(184, 134, 11, .08);--glass-border-gold: rgba(184, 134, 11, .18)}[data-theme=light] .global-bg{background:radial-gradient(ellipse at 30% 20%,#e8e4d8,#f5f3ee 65%)}[data-theme=light] .blob{opacity:.1!important}[data-reduced-motion=true] *:not(.blob),[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reduced-motion=true] .reveal,[data-reduced-motion=true] .reveal.revealed{opacity:1!important;transform:none!important;animation:none!important;clip-path:none!important}[data-reduced-motion=true] .section-eyebrow,[data-reduced-motion=true] .section-heading,[data-reduced-motion=true] .section-sub{opacity:1!important;transform:none!important;clip-path:none!important}.reveal{opacity:0;clip-path:inset(18% 0% 0% 0%)}.reveal.revealed{animation:revealIn .7s var(--ease-out-expo) both}.reveal.reveal-done{animation:none;opacity:1;transform:none;clip-path:none}@keyframes revealIn{0%{opacity:0;transform:translateY(40px) scale(.97);clip-path:inset(18% 0% 0% 0%)}to{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0% 0% 0% 0%)}}#loading-screen{position:fixed;inset:0;z-index:9999;background:var(--bg-primary, #f5f3ee);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .4s ease-out}#loading-screen.fade-out{opacity:0;pointer-events:none}#loading-canvas{position:absolute;inset:0;width:100%;height:100%}.loading-info{position:absolute;bottom:48px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1}.loading-progress{width:200px;height:3px;background:var(--glass-border, rgba(0, 0, 0, .08));border-radius:2px;overflow:hidden}.loading-progress-fill{height:100%;width:0%;background:var(--gold, #e8b84b);border-radius:2px;transition:width .3s ease-out;box-shadow:0 0 12px var(--gold-glow, rgba(232, 184, 75, .3))}.loading-label{font-family:var(--font-display, "Syne", sans-serif);font-size:.65rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted, #8888a0);opacity:.7;animation:label-pulse 2s ease-in-out infinite}.loading-percent{font-family:var(--font-display, "Syne", sans-serif);font-size:.75rem;font-weight:700;color:var(--gold, #e8b84b);letter-spacing:1px;min-width:32px;text-align:center}@keyframes label-pulse{0%,to{opacity:.5}50%{opacity:.9}}.loading-fallback-crystal{width:80px;height:120px;clip-path:polygon(50% 0%,100% 35%,80% 100%,20% 100%,0% 35%);background:linear-gradient(180deg,var(--gold-glow, rgba(232, 184, 75, .15)) 0%,transparent 40%,var(--gold-glow, rgba(232, 184, 75, .1)) 60%,transparent 100%);border:none;animation:crystal-float 3s ease-in-out infinite,crystal-pulse 2s ease-in-out infinite;position:relative}.loading-fallback-crystal:before{content:"";position:absolute;inset:2px;clip-path:polygon(50% 0%,100% 35%,80% 100%,20% 100%,0% 35%);border:1.5px solid var(--gold, #e8b84b);opacity:.4}.loading-fallback-crystal:after{content:"";position:absolute;top:20%;left:25%;width:50%;height:60%;background:radial-gradient(ellipse,var(--gold-glow, rgba(232, 184, 75, .2)) 0%,transparent 70%);animation:crystal-inner 2.5s ease-in-out infinite}@keyframes crystal-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes crystal-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes crystal-inner{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.section-3d-fallback{position:absolute;pointer-events:none;opacity:0;transition:opacity 1.2s ease-out;z-index:0}.section-3d-fallback.visible{opacity:1}.fallback-shield{top:50%;right:8%;width:120px;height:140px;transform:translateY(-50%);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:linear-gradient(135deg,transparent 25%,var(--gold-glow, rgba(232, 184, 75, .12)) 45%,transparent 65%);animation:shield-float 5s ease-in-out infinite,shield-glow 3s ease-in-out infinite alternate}.fallback-shield:before{content:"";position:absolute;inset:3px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);border:1.5px solid var(--gold, #e8b84b);opacity:.4}@keyframes shield-float{0%,to{transform:translateY(-50%)}50%{transform:translateY(-53%)}}@keyframes shield-glow{0%{opacity:.3}to{opacity:.6}}.fallback-sword{top:50%;left:5%;width:20px;height:200px;transform:translateY(-50%);background:linear-gradient(180deg,transparent 0%,var(--gold, #e8b84b) 10%,var(--gold-glow, rgba(232, 184, 75, .3)) 50%,var(--gold, #e8b84b) 90%,transparent 100%);opacity:.25;border-radius:2px 2px 0 0;animation:sword-float 6s ease-in-out infinite}.fallback-sword:before{content:"";position:absolute;bottom:10px;left:50%;transform:translate(-50%);width:50px;height:6px;background:var(--gold, #e8b84b);opacity:.4;border-radius:3px}.fallback-sword:after{content:"";position:absolute;top:8%;left:50%;width:2px;height:72%;transform:translate(-50%);background:linear-gradient(180deg,var(--gold, #e8b84b) 0%,var(--gold-glow, rgba(232, 184, 75, .5)) 100%);opacity:.6;animation:ridge-pulse 3s ease-in-out infinite alternate}@keyframes sword-float{0%,to{transform:translateY(-50%)}50%{transform:translateY(-52%)}}@keyframes ridge-pulse{0%{opacity:.3;height:30%}to{opacity:.7;height:72%}}.fallback-die{top:30%;right:8%;width:100px;height:100px;opacity:.3;animation:die-tumble 12s linear infinite,die-glow 4s ease-in-out infinite alternate}.fallback-die:before{content:"";position:absolute;inset:0;clip-path:polygon(50% 0%,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);border:1.5px solid var(--gold, #e8b84b)}.fallback-die:after{content:"";position:absolute;top:25%;left:25%;width:50%;height:50%;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);border:1px solid var(--gold, #e8b84b);opacity:.5}@keyframes die-tumble{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes die-glow{0%{opacity:.2}to{opacity:.45}}.fallback-chest{top:50%;left:8%;width:100px;height:70px;transform:translateY(-50%);border:1.5px solid var(--gold, #e8b84b);border-radius:4px 4px 2px 2px;opacity:.3;animation:chest-float 5s ease-in-out infinite}.fallback-chest:before{content:"";position:absolute;top:-15px;left:-1.5px;right:-1.5px;height:15px;border:1.5px solid var(--gold, #e8b84b);border-bottom:none;border-radius:4px 4px 0 0;transform-origin:bottom left;transform:rotate(-5deg)}.fallback-chest:after{content:"";position:absolute;top:-10px;left:20%;right:20%;height:30px;background:radial-gradient(ellipse,var(--gold-glow, rgba(232, 184, 75, .15)) 0%,transparent 70%);animation:chest-glow 3s ease-in-out infinite alternate}@keyframes chest-float{0%,to{transform:translateY(-50%)}50%{transform:translateY(-53%)}}@keyframes chest-glow{0%{opacity:.3}to{opacity:.7}}.fallback-globe{top:50%;right:10%;width:100px;height:100px;transform:translateY(-50%);border:1.5px solid var(--gold, #e8b84b);border-radius:50%;opacity:.3;animation:globe-spin 15s linear infinite,globe-glow 4s ease-in-out infinite alternate}.fallback-globe:before{content:"";position:absolute;top:50%;left:-1px;right:-1px;height:0;border-top:1px solid var(--gold, #e8b84b);opacity:.5}.fallback-globe:after{content:"";position:absolute;inset:-1px;border:1.5px solid var(--gold, #e8b84b);border-radius:50%;clip-path:ellipse(35% 50% at 50% 50%);opacity:.5}@keyframes globe-spin{0%{transform:translateY(-50%) rotateY(0)}to{transform:translateY(-50%) rotateY(360deg)}}@keyframes globe-glow{0%{opacity:.2}to{opacity:.45}}@media(max-width:820px){.fallback-shield,.fallback-sword,.fallback-die,.fallback-chest,.fallback-globe{opacity:.2}.fallback-shield{right:50%;transform:translate(50%,-50%);width:80px;height:100px}.fallback-sword{left:50%;transform:translate(-50%,-50%);height:140px}.fallback-die{right:50%;transform:translate(50%);width:80px;height:80px}.fallback-chest{left:50%;transform:translate(-50%,-50%);width:80px;height:55px}.fallback-globe{right:50%;transform:translate(50%,-50%);width:80px;height:80px}}@media(prefers-reduced-motion:reduce){.section-3d-fallback,.section-3d-fallback *{animation:none!important}}[data-reduced-motion=true] .section-3d-fallback,[data-reduced-motion=true] .section-3d-fallback *{animation:none!important}.blog-index{padding-top:calc(var(--nav-h) + var(--sp-xl))}.blog-grid{display:grid;gap:var(--sp-md);max-width:720px}.blog-empty{color:var(--text-muted);font-size:.92rem}.blog-post{padding-top:calc(var(--nav-h) + var(--sp-xl))}.blog-post-container{max-width:720px}.blog-back-link{display:inline-block;font-family:var(--font-display);font-size:.82rem;font-weight:500;color:var(--gold);margin-bottom:var(--sp-lg);transition:color var(--t-fast)}.blog-back-link:hover{color:var(--gold-light)}.blog-post-header{margin-bottom:var(--sp-xl)}.blog-post-meta{display:flex;align-items:center;gap:var(--sp-sm);font-size:.78rem;color:var(--text-muted);margin-bottom:var(--sp-sm)}.blog-post-title{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;color:var(--text-primary);line-height:1.2;margin-bottom:var(--sp-sm)}.blog-post-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--sp-sm)}.blog-not-found{padding-top:calc(var(--nav-h) + var(--sp-xl));min-height:60vh;display:flex;align-items:center}.settings-wrapper{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1002}.settings-gear-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);color:var(--text-muted);cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast),transform var(--t-mid);box-shadow:0 4px 16px #0000004d}.settings-gear-btn:hover,.settings-gear-btn.active{color:var(--gold);border-color:var(--glass-border-gold);background:var(--glass-gold);transform:rotate(30deg)}.settings-panel{position:absolute;bottom:calc(100% + 12px);right:0;min-width:230px;padding:1.2rem;background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--r-lg);box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;opacity:0;transform:translateY(8px) scale(.96);pointer-events:none;transition:opacity var(--t-mid),transform var(--t-mid)}.settings-panel.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.settings-title{font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0}.settings-row+.settings-row{border-top:1px solid var(--glass-border)}.settings-label{font-family:var(--font-display);font-size:.8rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.settings-toggle-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.8px;color:var(--text-muted);padding:5px 14px;border-radius:var(--r-pill);border:1px solid var(--glass-border);background:#ffffff08;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast),background var(--t-fast);white-space:nowrap}.settings-toggle-btn:hover{color:var(--text-primary);border-color:#e8b84b4d;background:#e8b84b0d}.settings-toggle-btn.active{color:var(--gold);border-color:var(--glass-border-gold);background:var(--glass-gold)}.global-bg{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1;background:radial-gradient(ellipse at 30% 20%,#12101e,#09090f 65%);overflow:hidden;pointer-events:none;contain:strict}.blob{position:absolute;transform:translateZ(0);backface-visibility:hidden;-webkit-user-select:none;user-select:none}.blob-1{top:-10%;left:-15%;width:65vw;height:65vw;opacity:.1;animation:blobMove1 42s infinite alternate ease-in-out}.blob-2{top:20%;right:-10%;width:60vw;height:60vw;opacity:.1;animation:blobMove2 50s infinite alternate-reverse ease-in-out}.blob-3{bottom:-15%;left:30%;width:70vw;height:70vw;opacity:.1;animation:blobMove3 58s infinite alternate ease-in-out}@keyframes blobMove1{0%{transform:translateZ(0)}30%{transform:translate3d(30vw,15vh,0)}60%{transform:translate3d(-10vw,40vh,0)}to{transform:translate3d(10vw,-20vh,0)}}@keyframes blobMove2{0%{transform:translateZ(0)}35%{transform:translate3d(-40vw,-20vh,0)}70%{transform:translate3d(-15vw,25vh,0)}to{transform:translate3d(5vw,-10vh,0)}}@keyframes blobMove3{0%{transform:translateZ(0)}40%{transform:translate3d(20vw,-30vh,0)}80%{transform:translate3d(-25vw,-10vh,0)}to{transform:translate3d(5vw,10vh,0)}}.cross-site-nav{position:fixed;top:0;left:0;width:100%;height:32px;display:flex;align-items:center;background:#09090fbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--glass-border);z-index:1100}.cross-site-nav-inner{display:flex;align-items:center;gap:1.5rem}.cross-site-link{font-family:var(--font-display);font-size:.65rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color var(--t-fast)}.cross-site-link:hover{color:var(--text-primary)}.cross-site-link-active{color:var(--gold)}.blog-navbar{position:fixed;top:0;left:0;width:100%;height:var(--nav-h);display:flex;align-items:center;z-index:1000;transition:background var(--t-mid),border-color var(--t-mid)}.blog-navbar.scrolled{background:#09090feb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border)}.blog-navbar-inner{display:flex;align-items:center;justify-content:space-between;width:100%}.blog-navbar-brand{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--text-primary);letter-spacing:.3px}.blog-navbar-brand-sep{color:var(--gold);margin:0 .25rem}.blog-navbar-links{display:flex;gap:var(--sp-md);align-items:center}.blog-nav-link{font-family:var(--font-display);font-size:.82rem;font-weight:500;letter-spacing:.4px;color:var(--text-secondary);position:relative;padding-bottom:3px;white-space:nowrap;transition:color var(--t-fast)}.blog-nav-link:hover{color:var(--text-primary)}.blog-nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--gold);border-radius:var(--r-pill);transition:width var(--t-fast)}.blog-nav-link:hover:after{width:100%}.blog-nav-link.active{color:var(--text-primary)}.blog-nav-link.active:after{width:100%}[data-theme=light] .blog-navbar.scrolled{background:#f5f3eeeb}.blog-card{display:block;padding:var(--sp-lg);border-radius:var(--r-lg);background:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--glass-border);text-decoration:none;color:inherit;transition:border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}.blog-card:hover{border-color:#e8b84b4d;transform:translateY(-2px);box-shadow:0 0 28px #e8b84b0f,0 4px 16px #0000004d}.blog-card.reveal{transform:translateY(18px);transform-origin:center bottom}.blog-card.reveal.revealed{animation:blogCardIn .7s var(--ease-out-expo) both}.blog-card.reveal.reveal-done{animation:none;opacity:1;transform:none}.blog-card.reveal.has-animated:not(.revealed){animation:blogCardOut .4s ease-in both;animation-delay:0s!important}@keyframes blogCardIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes blogCardOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(18px)}}.blog-card-meta{display:flex;align-items:center;gap:var(--sp-sm);font-size:.78rem;color:var(--text-muted);margin-bottom:var(--sp-sm)}.blog-card-read:before{content:"·";margin-right:var(--sp-sm)}.blog-card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--sp-xs);line-height:1.35}.blog-card-excerpt{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--sp-sm)}.blog-card-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--sp-sm)}.prose{font-size:1rem;line-height:1.75;color:var(--text-secondary)}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);color:var(--text-primary);line-height:1.3;margin-top:2em;margin-bottom:.6em}.prose h1{font-size:1.8rem;font-weight:800}.prose h2{font-size:1.4rem;font-weight:700}.prose h3{font-size:1.15rem;font-weight:600}.prose h4{font-size:1rem;font-weight:600}.prose p{margin-bottom:1.25em}.prose a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;transition:color var(--t-fast)}.prose a:hover{color:var(--gold-light)}.prose strong{color:var(--text-primary);font-weight:600}.prose ul,.prose ol{padding-left:1.5em;margin-bottom:1.25em}.prose li{margin-bottom:.4em}.prose li::marker{color:var(--gold-dim)}.prose blockquote{border-left:3px solid var(--gold-dim);padding-left:var(--sp-md);margin:1.5em 0;color:var(--text-muted);font-style:italic}.prose code{font-size:.88em;background:var(--bg-elevated);padding:.15em .4em;border-radius:var(--r-sm);color:var(--gold)}.prose pre{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--r-md);padding:var(--sp-md);overflow-x:auto;margin:1.5em 0}.prose pre code{background:none;padding:0;font-size:.85rem;color:var(--text-secondary)}.prose img{max-width:100%;border-radius:var(--r-md);margin:1.5em 0}.prose hr{border:none;border-top:1px solid var(--glass-border);margin:2em 0}.prose table{width:100%;border-collapse:collapse;margin:1.5em 0}.prose th,.prose td{border:1px solid var(--glass-border);padding:.6em 1em;text-align:left}.prose th{background:var(--bg-elevated);font-weight:600;color:var(--text-primary)}
