@import "https://fonts.googleapis.com/css2?family=Bellota+Text:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap";:root{--accent:#4cc9f0;--accent-glow:#4cc9f04d;--accent-tint:#4cc9f014;--accent-r:.298;--accent-g:.788;--accent-b:.941;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display:"Outfit", "Inter", sans-serif;--font-serif:"Playfair Display", "Georgia", serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-accent:all .6s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .2s ease;--transition-smooth:all .4s cubic-bezier(.4, 0, .2, 1);--heading-tracking:-.02em;--heading-weight:700;--body-tracking:0}[data-theme=dark]{--bg-primary:#08090f;--bg-secondary:#0f1118;--bg-tertiary:#171a25;--bg-card:#0f1118cc;--bg-card-hover:#171a25e6;--text-primary:#f0f0f5;--text-secondary:#8b92a8;--text-tertiary:#5a6180;--border-color:#ffffff0f;--border-hover:#ffffff1f;--glass-bg:#08090f73;--glass-border:#ffffff14;--shadow-card:0 4px 24px #0006;--shadow-hover:0 12px 48px #00000080}[data-theme=light]{--bg-primary:#faf9f7;--bg-secondary:#f0eeea;--bg-tertiary:#e5e3de;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--text-primary:#14141f;--text-secondary:#555770;--text-tertiary:#8b8da3;--border-color:#00000012;--border-hover:#00000024;--glass-bg:#faf9f780;--glass-border:#00000012;--shadow-card:0 2px 16px #0000000f;--shadow-hover:0 8px 32px #0000001a}[data-theme=dark] [data-discipline=dev],[data-discipline=dev]{--accent:#9ed8ff;--accent-glow:#9ed8ff33;--accent-tint:#9ed8ff0d}[data-theme=dark] [data-discipline=automation],[data-discipline=automation]{--accent:#ffd8a8;--accent-glow:#ffd8a833;--accent-tint:#ffd8a80d}[data-theme=dark] [data-discipline="3d"],[data-discipline="3d"]{--accent:#d0c4ff;--accent-glow:#d0c4ff33;--accent-tint:#d0c4ff0d}[data-theme=dark] [data-discipline="2d"],[data-discipline="2d"]{--accent:#ffc9db;--accent-glow:#ffc9db33;--accent-tint:#ffc9db0d}[data-theme=light] [data-discipline=dev]{--accent:#74c0fc}[data-theme=light] [data-discipline=automation]{--accent:#ffa94d}[data-theme=light] [data-discipline="3d"]{--accent:#9775fa}[data-theme=light] [data-discipline="2d"]{--accent:#f06595}[data-discipline=dev]{--heading-tracking:-.03em;--heading-weight:600}[data-discipline=automation]{--heading-tracking:-.01em;--heading-weight:700}[data-discipline="3d"]{--heading-tracking:.02em;--heading-weight:500}[data-discipline="2d"]{--heading-tracking:-.02em;--heading-weight:800}:root{--font-body:"Bellota Text", cursive;--font-display:"Bellota Text", cursive;--font-serif:"Bellota Text", cursive;--transition-nav:all .8s cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);letter-spacing:.02em;min-height:100vh;font-size:.95rem;line-height:1.8;transition:background-color .8s,color .4s;animation:1.5s ease-out siteFadeIn;overflow-x:hidden}@keyframes siteFadeIn{0%{opacity:0}to{opacity:1}}a{color:var(--accent);text-decoration:none;transition:all .2s}a:hover{opacity:.85}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--heading-weight,700);letter-spacing:var(--heading-tracking,-.02em);color:var(--text-primary);line-height:1.1}p{color:var(--text-secondary);letter-spacing:.02em;font-size:.95rem;line-height:1.8}.blog-nav{z-index:1000;pointer-events:none;width:auto;transition:var(--transition-nav);justify-content:center;align-items:center;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.blog-nav--post{top:24px;bottom:auto}.blog-nav__container{pointer-events:auto;-webkit-backdrop-filter:blur(28px)saturate(1.8);background:var(--glass-bg);border:1px solid var(--glass-border);white-space:nowrap;width:max-content;transition:var(--transition-nav);border-radius:999px;align-items:center;gap:12px;padding:4px 18px;animation:.8s cubic-bezier(.22,1,.36,1) navMorpIn;display:flex;box-shadow:0 4px 24px #0006}.blog-nav__morph-container{align-items:center;transition:width .8s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden}.blog-nav__morph-wrapper{opacity:0;pointer-events:none;align-items:center;max-width:0;transition:max-width .8s cubic-bezier(.22,1,.36,1),opacity .4s;display:flex;overflow:hidden}.blog-nav__morph-wrapper--visible{opacity:1;pointer-events:auto;max-width:600px}.blog-nav__morph-item{opacity:0;filter:blur(10px);transition:opacity .4s,filter .8s cubic-bezier(.22,1,.36,1),transform .6s;transform:translate(10px)}.blog-nav__morph-wrapper--visible .blog-nav__morph-item{opacity:1;filter:blur();transform:translate(0)}.blog-nav__group{align-items:center;gap:12px;display:flex}.blog-nav__label{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-size:.75rem;font-weight:700}@keyframes navMorpIn{0%{opacity:0;filter:blur(10px);transform:translateY(-10px)scale(.95)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.blog-nav__hud{pointer-events:auto;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.blog-nav__hud-pill{background:var(--glass-bg);-webkit-backdrop-filter:blur(28px)saturate(1.8);backdrop-filter:blur(28px)saturate(1.8);border:1px solid var(--glass-border);cursor:default;transition:var(--transition-nav);border-radius:999px;flex-direction:column;gap:0;width:max-content;max-width:90vw;max-height:48px;padding:6px 18px;animation:.8s cubic-bezier(.22,1,.36,1) navMorpIn;display:flex;overflow:hidden;box-shadow:0 4px 24px #00000080}.blog-nav__hud-pill.expanded{border-radius:20px;max-height:500px;padding-bottom:12px}.blog-nav__hud-header{cursor:pointer;align-items:center;gap:12px;width:100%;display:flex}.blog-nav__active-chapter{font-family:var(--font-body);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:.85rem;font-weight:700;transition:all .4s;overflow:hidden}.blog-nav__progress-ring{width:24px;height:24px;transition:transform .6s cubic-bezier(.22,1,.36,1);display:flex}.blog-nav__progress-ring circle{transform-origin:50%;transform:rotate(-90deg)}.blog-nav__arrow{color:var(--text-tertiary);transition:transform .4s cubic-bezier(.22,1,.36,1)}.blog-nav__arrow--open{transform:rotate(180deg)}.blog-nav__hud-list{border-top:1px solid var(--glass-border);opacity:0;filter:blur(10px);flex-direction:column;gap:4px;margin-top:12px;padding-top:16px;transition:all .6s cubic-bezier(.22,1,.36,1);display:flex;transform:translateY(-10px)}.blog-nav__hud-pill.expanded .blog-nav__hud-list{opacity:1;filter:blur();transform:translateY(0)}.blog-nav__hud-item{color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;transition:all .2s;display:flex}.blog-nav__hud-item:hover{background:var(--accent-tint);color:var(--text-primary)}.blog-nav__hud-item--active{color:var(--accent);font-weight:700}.blog-nav__dot{background:var(--accent);width:4px;height:4px;box-shadow:0 0 8px var(--accent);border-radius:50%}.blog-nav__logo{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);font-size:.95rem;font-weight:800}.blog-nav__link{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:.75rem;font-weight:700}.blog-nav__link:hover{color:var(--accent)}.blog-nav__sep{background:var(--glass-border);width:1px;height:14px}.blog-container{max-width:1200px;padding:40px var(--space-xl) var(--space-4xl);margin:0 auto}h1.chapter-heading{color:var(--text-primary);margin-top:3rem;margin-bottom:1.5rem;scroll-margin-top:100px;font-size:1.5rem}.post-page__body ol{counter-reset:custom-counter;margin:2rem 0;padding-left:0;list-style:none}.post-page__body ol li{counter-increment:custom-counter;color:var(--text-secondary);margin-bottom:2rem;padding-left:3.5rem;line-height:1.8;position:relative}.post-page__body ol li:before{content:counter(custom-counter) ".";font-family:var(--font-body);color:var(--accent);font-size:1.1rem;font-weight:700;position:absolute;top:-2px;left:0}.post-page__body p{color:#ffffffd6;margin-bottom:2rem;font-size:1rem;line-height:1.9}.post-page__body strong{color:var(--text-primary);font-weight:700}.post-page__body code:not(pre code){background:var(--bg-tertiary);font-family:var(--font-mono);color:var(--accent);border-radius:4px;padding:.2rem .4rem;font-size:.85em}.code-block{border:1px solid var(--glass-border);background:#0f111799;border-radius:12px;margin:2.5rem 0;overflow:hidden;box-shadow:0 20px 40px #0006}.code-block__header{border-bottom:1px solid var(--glass-border);background:#ffffff08;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.code-block__title{color:var(--text-tertiary);font-size:.8rem;font-weight:600;font-family:var(--font-body)}.code-block__pre{margin:0;padding:20px;overflow-x:auto}.code-block__code{font-family:var(--font-mono);font-size:.9rem;line-height:1.7}.discipline-filter{margin-bottom:var(--space-2xl);flex-wrap:wrap;align-items:center;gap:4px;display:flex}.discipline-filter__btn{font-family:var(--font-body);border-radius:var(--radius-full);color:var(--text-secondary);padding:8px 16px;font-size:.8rem;font-weight:600;transition:all .3s;position:relative}.discipline-filter__btn:hover,.discipline-filter__btn--active{color:var(--text-primary);background:var(--accent-tint)}.discipline-filter__btn--active:after{content:"";background:var(--accent);border-radius:var(--radius-full);height:2px;position:absolute;bottom:-4px;left:20%;right:20%}.blog-hero{width:100vw;height:90vh;margin-left:calc(50% - 50vw);margin-bottom:var(--space-4xl);position:relative;overflow:visible}.blog-hero__image{position:absolute;inset:0}.blog-hero__image img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.blog-hero:hover .blog-hero__image img{transform:scale(1.03)}.blog-hero__overlay{z-index:2;background:linear-gradient(#0000 0%,#08090f33 50%,#08090fd9 100%);position:absolute;inset:0}[data-theme=light] .blog-hero__overlay{background:linear-gradient(#0000 0%,#faf9f74d 50%,#faf9f7e6 100%)}.blog-hero__content{padding:var(--space-2xl);z-index:3;position:absolute;bottom:0;left:0;right:0}.blog-hero__tag{margin-bottom:var(--space-sm);display:inline-block}.blog-hero__title{font-size:clamp(1.8rem,4vw,3rem);font-family:var(--font-serif);margin-bottom:var(--space-sm);font-style:italic;font-weight:600}.blog-hero__excerpt{color:var(--text-secondary);max-width:600px;font-size:1rem;line-height:1.6}.post-grid{gap:var(--space-2xl);flex-direction:column;max-width:1000px;margin:0 auto;display:flex}.project-card{border-radius:var(--radius-lg);will-change:transform;transform-style:preserve-3d;cursor:pointer;aspect-ratio:3/4;background:0 0;border:none;transition:box-shadow .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 20px #00000040,0 1px 3px #00000026,inset 0 .5px #ffffff0f}.project-card--landscape{flex-direction:row;align-items:stretch;min-height:250px;display:flex}.project-card--landscape .project-card__image-fill{border-radius:var(--radius-lg) 0 0 var(--radius-lg);flex-shrink:0;width:45%;position:relative}.project-card--landscape .project-card__frost{justify-content:center;width:55%;position:relative}.project-card--landscape .project-card__frost-content{border-radius:0 var(--radius-lg) var(--radius-lg) 0}.project-card--landscape .project-card__frost-bg{opacity:1;border-radius:0 var(--radius-lg) var(--radius-lg) 0;background:linear-gradient(90deg,#08090fb3 0%,#08090f66 100%)}[data-theme=light] .project-card--landscape .project-card__frost-bg{background:linear-gradient(90deg,#faf9f7b3 0%,#faf9f766 100%)}.project-card--landscape .project-card__subtext{opacity:1;margin-top:var(--space-sm);grid-template-rows:1fr}[data-theme=light] .project-card{box-shadow:0 4px 24px #00000014,0 1px 3px #0000000d,inset 0 .5px #ffffff80}.project-card:hover{box-shadow:0 8px 32px #00000059,inset 0 .5px #ffffff14}.project-card__specular{border-radius:var(--radius-lg);pointer-events:none;z-index:10;opacity:0;background:radial-gradient(circle at var(--specular-x,50%) var(--specular-y,50%), #ffffff0d 0%, transparent 60%);transition:opacity .3s;position:absolute;inset:0}.project-card:hover .project-card__specular{opacity:1}.project-card__image-fill{border-radius:var(--radius-lg);z-index:1;position:absolute;inset:0;overflow:hidden}.project-card__image-fill img{object-fit:cover;will-change:transform;width:100%;height:100%;transition:transform .15s ease-out}.project-card__frost{z-index:5;pointer-events:none;flex-direction:column;justify-content:flex-end;height:100%;display:flex;position:absolute;inset:0}.project-card__frost-content{z-index:2;padding:var(--space-xl);border-radius:0 0 var(--radius-lg) var(--radius-lg);position:relative}.project-card__frost-bg{z-index:0;border-radius:inherit;-webkit-backdrop-filter:blur(24px)saturate(1.6);opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#08090fb3 100%);transition:opacity .8s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}[data-theme=light] .project-card__frost-bg{-webkit-backdrop-filter:blur(24px)saturate(1.4);backdrop-filter:blur(24px)saturate(1.4);background:linear-gradient(#0000 0%,#faf9f7b3 100%)}.project-card:hover .project-card__frost-bg{opacity:1}.project-card__title{font-family:var(--font-display);color:#fff;text-shadow:0 1px 4px #0000004d;margin-bottom:0;font-size:1.05rem;font-weight:700;transition:font-size .8s cubic-bezier(.22,1,.36,1),color .3s}.project-card:hover .project-card__title{font-size:1.25rem}[data-theme=light] .project-card__title{color:#14141f;text-shadow:0 1px 4px #fff6}.project-card__subtext{opacity:0;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .8s cubic-bezier(.22,1,.36,1),opacity .8s cubic-bezier(.22,1,.36,1),margin-top .8s cubic-bezier(.22,1,.36,1);display:grid}.project-card__subtext-inner{flex-direction:column;display:flex;overflow:hidden}.project-card:hover .project-card__subtext{opacity:1;margin-top:var(--space-sm);grid-template-rows:1fr}.project-card__desc{color:#ffffffbf;margin-bottom:var(--space-md);text-shadow:0 1px 3px #0003;font-size:.85rem;line-height:1.55}[data-theme=light] .project-card__desc{color:#14141fcc;text-shadow:none}.project-card__tags{gap:var(--space-sm);flex-wrap:wrap;display:flex}.project-card__tag{border-radius:var(--radius-full);color:var(--accent);font-size:.7rem;font-weight:500;font-family:var(--font-mono);letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;padding:3px 10px}[data-theme=light] .project-card__tag{background:#0000000f}.post-page{max-width:100%;overflow-x:hidden}.post-page__progress{background:var(--accent);z-index:200;border-radius:0 2px 2px 0;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.post-page__hero{width:100%;height:50vh;min-height:300px;position:relative;overflow:hidden}.post-page__hero img{object-fit:cover;width:100%;height:100%}.post-page__hero-overlay{background:linear-gradient(to top, var(--bg-primary) 0%, transparent 60%);position:absolute;inset:0}.post-page__container{max-width:900px;padding:0 var(--space-xl);gap:var(--space-3xl);z-index:2;grid-template-columns:1fr 200px;margin:-80px auto 0;display:grid;position:relative}@media (width<=900px){.post-page__container{grid-template-columns:1fr}}.post-page__byline{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.post-page__byline-item{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.03em;font-size:.75rem}.post-page__title{font-size:clamp(2rem,5vw,3.5rem);font-family:var(--font-serif);margin-bottom:var(--space-lg);font-style:italic;font-weight:600;line-height:1.15}.post-page__body{max-width:68ch;color:var(--text-secondary);font-size:1.08rem;line-height:1.8}.post-page__body p{margin-bottom:var(--space-lg)}.post-page__body h2{font-family:var(--font-serif);margin:var(--space-3xl) 0 var(--space-lg);color:var(--text-primary);font-size:1.6rem;font-style:italic}.post-page__body h3{margin:var(--space-2xl) 0 var(--space-md);color:var(--text-primary);font-size:1.2rem}.post-page__toc{align-self:start;position:sticky;top:100px}.post-page__toc-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:var(--space-md);font-size:.7rem}.post-page__toc-list{gap:var(--space-sm);flex-direction:column;padding:0;list-style:none;display:flex}.post-page__toc-item{color:var(--text-tertiary);cursor:pointer;padding:2px 0;padding-left:var(--space-sm);border-left:2px solid #0000;font-size:.78rem;transition:color .2s}.post-page__toc-item:hover{color:var(--text-primary)}.post-page__toc-item--active{color:var(--accent);border-left-color:var(--accent)}.reviews{max-width:68ch;margin:var(--space-4xl) auto;padding:0 var(--space-xl)}.reviews__header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.reviews__avg{font-family:var(--font-display);color:var(--accent);font-size:1.4rem;font-weight:700}.reviews__count{font-family:var(--font-mono);color:var(--text-tertiary);font-size:.75rem}.review-card{padding:var(--space-lg);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);margin-bottom:var(--space-md)}.review-card__meta{align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.review-card__author{color:var(--text-primary);font-size:.9rem;font-weight:600}.review-card__date{font-family:var(--font-mono);color:var(--text-tertiary);font-size:.7rem}.review-card__body{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.review-form{margin-top:var(--space-2xl);padding:var(--space-xl);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.review-form__title{margin-bottom:var(--space-lg);font-size:1.1rem;font-weight:600}.review-form__field{margin-bottom:var(--space-lg)}.review-form__label{color:var(--text-secondary);margin-bottom:var(--space-xs);font-size:.8rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;display:block}.review-form__input,.review-form__textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:.95rem;transition:border-color .3s}.review-form__input:focus,.review-form__textarea:focus{border-color:var(--accent);outline:none}.review-form__textarea{resize:vertical;min-height:100px}.review-form__submit{padding:var(--space-sm) var(--space-xl);background:var(--accent);color:var(--bg-primary);border-radius:var(--radius-full);letter-spacing:.02em;font-size:.85rem;font-weight:700;transition:all .3s}.review-form__submit:hover{opacity:.9;transform:translateY(-1px)}.review-form__success{text-align:center;padding:var(--space-xl);color:var(--accent);font-weight:600}.blog-footer{text-align:center;padding:var(--space-3xl) var(--space-md) var(--space-xl);color:var(--text-tertiary);font-size:.78rem;font-family:var(--font-mono);letter-spacing:.04em}.blog-footer a{color:var(--accent)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{border-radius:var(--radius-lg);background:linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-secondary) 50%, var(--bg-tertiary) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton--card{aspect-ratio:3/4;width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (width<=768px){.blog-container{padding:80px var(--space-md) var(--space-2xl)}.post-grid{grid-template-columns:1fr}.blog-hero{aspect-ratio:16/9;border-radius:var(--radius-lg)}.blog-nav{max-width:calc(100% - 24px);top:10px}.reviews{padding:0 var(--space-md)}}
